您現(xiàn)在的位置:機(jī)床商務(wù)網(wǎng)>技術(shù)中心>分析標(biāo)準(zhǔn)
開學(xué)季 | 第一課《車輛路徑問(wèn)題與算法》
請(qǐng)問(wèn)膜拜技術(shù)大牛除了獻(xiàn)上膝蓋還有什么更好的方式?答:可以把大家的膝蓋一起獻(xiàn)上,又或者好好學(xué)習(xí)天天向上,利用碎片化時(shí)間多為自己充電,一起參與技術(shù)的交流與探討。——四月,我們迎來(lái)了藍(lán)芯科技的開學(xué)季,我們將在此分享機(jī)器人相關(guān)技術(shù)知識(shí)。今天是開學(xué)第一課《車輛路徑問(wèn)題與算法》,歡迎大家留言一起探討。
一 、車輛路徑問(wèn)題
在介紹 (Vehicle Routing Problem,VRP)問(wèn)題前,先介紹它的一個(gè)特例,旅行商問(wèn)題(Traveling Salesman Problem, TSP):有一個(gè)旅行商人,要拜訪n個(gè)城市,每個(gè)城市只能訪問(wèn)一次,后返回到原來(lái)出發(fā)的城市。該商人要選擇一條路徑,路徑的選擇目標(biāo)是旅程短。
圖1 TSP問(wèn)題
車輛路徑問(wèn)題(Vehicle Routing Problem,VRP)早是由Dantzig和Ramser于1959年*提出,它是指一定數(shù)量有一定數(shù)量(n個(gè))的客戶,各自有不同數(shù)量的貨物需求(qi),配送中心或車場(chǎng)(depot)向客戶提供貨物,由一個(gè)車隊(duì)(m輛車)負(fù)責(zé)分送貨物,組織適當(dāng)?shù)男熊嚶肪€,目標(biāo)是使得客戶的需求得到滿足,并能在一定的約束下(例如車輛存在載荷上限Q、里程長(zhǎng)度上限L),達(dá)到總旅行成本小、耗費(fèi)時(shí)間少等目的[1, 2]。
圖 2 VRP問(wèn)題
在理解了車輛路徑問(wèn)題后,接下來(lái)介紹幾個(gè)常用的路徑搜索算法。
二、路徑搜索算法
在路徑搜索算法中,常用的算法用Dijkstra算法和 A*算法。這里不對(duì)算法原理進(jìn)行詳細(xì)介紹,僅簡(jiǎn)單給出相應(yīng)的使用示例。給出一個(gè)網(wǎng)格圖,如圖3所示。在該網(wǎng)格圖中,僅橫、縱向相鄰網(wǎng)格可以通過(guò),其中黑色背景網(wǎng)格不可通過(guò)。在網(wǎng)各圖中,每移動(dòng)一格會(huì)增加一個(gè)單位成本。現(xiàn)給定一個(gè)起點(diǎn)(46)和終點(diǎn)(49),通過(guò)Dijkstra算法和A*算法分別求解短路徑。
圖 3網(wǎng)格圖示例
2.1 Dijkstra算法
該算法的思想是從起點(diǎn)開始,每次新擴(kuò)展一個(gè)距離短的點(diǎn),并更新從起點(diǎn)到該點(diǎn)的距離與路線。直到拓展到終點(diǎn),并且往其他方向拓展點(diǎn)的距離不比該點(diǎn)的距離更近時(shí)停止。對(duì)圖 3 的求解過(guò)程如圖4所示。終的路線是。
圖 4 Dijkstra算法拓展過(guò)程
2.2 A*算法在Dijkstra中,當(dāng)前拓展到的點(diǎn)的距離為從起點(diǎn)到當(dāng)前點(diǎn)的實(shí)際短距離。而A* 算法與 Dijkstra相比增加了一個(gè)啟發(fā)項(xiàng),即在計(jì)算當(dāng)前點(diǎn)的路線距離時(shí),使用從起點(diǎn)到當(dāng)前點(diǎn)的實(shí)際短距離加上從當(dāng)前拓展的點(diǎn)到終點(diǎn)的估計(jì)距離。因此,在實(shí)際距離相同時(shí),估計(jì)距離近的點(diǎn)優(yōu)先繼續(xù)拓展。使用A*算法對(duì)圖3 的求解結(jié)果如圖5 所示。終的路線是
圖 5 A*算法拓展過(guò)程示例
2.3 多訪問(wèn)點(diǎn)的路徑搜索算法
前面提到的Dijkstra和 A*算法主要是針對(duì)兩個(gè)點(diǎn)(起點(diǎn)、終點(diǎn))尋找一條短路徑,但是對(duì)于多訪問(wèn)點(diǎn)找短路的問(wèn)題,比如在文初提到的TSP問(wèn)題,就不適用了。我們開發(fā)了一個(gè)快速求解的算法。
我們首先使用 Dijkstra算法找出所有兩點(diǎn)之間的短路并存儲(chǔ)相應(yīng)的路線信息。然后針對(duì)多訪問(wèn)點(diǎn)尋短路問(wèn)題,分兩個(gè)階段進(jìn)行搜索。
第一階段:基于動(dòng)態(tài)規(guī)劃(DP)求解 TSP的框架,控制初始搜索步長(zhǎng)快速得出初始解。
第二階段:對(duì)第一階段得到的初始解使用變鄰域搜索(VND)進(jìn)行優(yōu)化。
假設(shè)我們有1個(gè)出發(fā)點(diǎn)(編號(hào)為)和6個(gè)訪問(wèn)點(diǎn)(編號(hào)為),車輛從出發(fā),需要完成對(duì)所有訪問(wèn)點(diǎn)的訪問(wèn)。如果終讓車輛停留在zui后一個(gè)訪問(wèn)點(diǎn)的訪問(wèn)點(diǎn),這就是一個(gè)開環(huán)的路徑,如果要求車輛必須返回出發(fā)地,則是閉環(huán)的路徑。這里假設(shè)為開環(huán)路徑,即認(rèn)為路徑結(jié)束的標(biāo)志是完成所有任務(wù)中所有訪問(wèn)點(diǎn)的配貨。
因?yàn)橐还灿?個(gè)點(diǎn)(1個(gè)出發(fā)點(diǎn)加6個(gè)訪問(wèn)點(diǎn)),所以搜索劃分為6個(gè)step,方向?yàn)閺挠抑磷螅◤慕K點(diǎn)至起點(diǎn)),如圖6所示。
圖 6基于 DP框架的step示例
計(jì)算過(guò)程為,以zui后一列的點(diǎn)為終點(diǎn),搜索第一個(gè)弧(arc),即step(1)的路徑,然后再增加一個(gè) arc,即在step(1)的基礎(chǔ)上搜索step(2)的路徑,以此類推。假設(shè)以為終點(diǎn)進(jìn)行搜索,搜索中的部分過(guò)程如圖7所示。終搜索完step(6) 時(shí)會(huì)搜索出完整的路線。需要注意的一點(diǎn)是,一旦發(fā)現(xiàn)某條路線不是可行解時(shí)(比如一個(gè)訪問(wèn)點(diǎn)在路線中多次出現(xiàn)),后面可以不再基于此結(jié)果進(jìn)行搜索。
圖7基于 DP框架的部分搜索過(guò)程示例
我們這里控制了初始搜索步長(zhǎng)len,意為從step(1) 到step(len) 搜索出的路徑是按照 DP的方式搜索到的當(dāng)前精確合適的路線,而從step(len+1)開始,只記錄該step下的n條路徑中合適的結(jié)果。因此,當(dāng)len的值越大,終搜索的結(jié)果越接近精確合適解,但是相應(yīng)的求解時(shí)間也會(huì)越長(zhǎng)。假設(shè)通過(guò)該階段終搜索出的合適結(jié)果為,接下來(lái)將基于此結(jié)果執(zhí)行變鄰域搜索操作。由于是規(guī)定的出發(fā)點(diǎn)需要保持在輸出路徑的首先位置,因此我們對(duì)序列{2,6,1,5,4,3}進(jìn)行鄰域搜索。VND的框架如圖8 所示。
圖 8 VND算法框架
在鄰域搜索中,常用的變換策略有Reinsert、Exchange和Reverse,如圖9所示。
圖 9 三種常見(jiàn)的鄰域變換策略
使用VND不斷地對(duì)序列變換得到新的序列,并求新序列的路徑成本。需要注意的是,求路徑成本時(shí)要將出發(fā)點(diǎn)考慮在內(nèi),即將出發(fā)點(diǎn)添加到序列前,求該完整路徑的旅行成本。經(jīng)過(guò)VND過(guò)程的處理,輸出的路線即作為終規(guī)劃的路線,例如一個(gè)可能的終輸出路徑果是,需要注意的是,這里的節(jié)點(diǎn)相當(dāng)于是“關(guān)鍵節(jié)點(diǎn)”,即只包含的出發(fā)點(diǎn)和需要進(jìn)行配貨操作的訪問(wèn)點(diǎn)。而相鄰“關(guān)鍵節(jié)點(diǎn)”之間的路線,則是根據(jù)前述的 Dijkstra計(jì)算的兩點(diǎn)之間的路線進(jìn)行行駛。今天的介紹就到這里,希望小伙伴們能對(duì)路徑規(guī)劃問(wèn)題和算法有所了解和收獲!
本文為杭州藍(lán)芯科技有限公司原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處
- 凡本網(wǎng)注明"來(lái)源:機(jī)床商務(wù)網(wǎng)"的所有作品,版權(quán)均屬于機(jī)床商務(wù)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明機(jī)床商務(wù)網(wǎng),//www.467cc.cn/。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 2024年1-11月我國(guó)鑄件出口情況
- 攜手并進(jìn) 共創(chuàng)輝煌丨大族激光與歐姆龍開啟戰(zhàn)略合作新篇章
- 通用技術(shù)機(jī)床研究院項(xiàng)目榮獲生產(chǎn)力促進(jìn)(創(chuàng)新發(fā)展)獎(jiǎng)一等獎(jiǎng)
- 2025年部分在華外資企業(yè)及駐華機(jī)構(gòu)領(lǐng)導(dǎo)人聯(lián)席會(huì)在京召開
- 2025MTM金屬世界博覽會(huì)·上海 MTM EXPO 2025
- 2025第二十一屆上海國(guó)際鑄造展覽會(huì)
- 2025第22屆越南國(guó)際工業(yè)制造及材料技術(shù)展覽會(huì)VINAMAC2025
- 2025中國(guó)鹽城第十屆國(guó)際工業(yè)博覽會(huì)暨鹽城機(jī)床展覽會(huì)
- 智能搬運(yùn)機(jī)器人
- 新能源行業(yè)AGV 全向車型搬運(yùn)機(jī)器人 潛入式AGV 自主移動(dòng)式搬運(yùn)機(jī)器人 工廠無(wú)人搬運(yùn)機(jī)器人 倉(cāng)儲(chǔ)自動(dòng)搬運(yùn)機(jī)器人 倉(cāng)儲(chǔ)AGV小車 工業(yè)自主搬運(yùn)機(jī)器人 柔性物流搬運(yùn)機(jī)器人 工廠柔性搬運(yùn)機(jī)器人 智能柔性搬運(yùn)機(jī)器人 無(wú)標(biāo)記視覺(jué)導(dǎo)航機(jī)器人 柔性化機(jī)器人 貨物運(yùn)輸機(jī)器人 料車搬運(yùn)機(jī)器人 車間貨物搬運(yùn)機(jī)器人 滾筒對(duì)接機(jī)器人 背負(fù)式移動(dòng)機(jī)器人 潛入頂升搬運(yùn)機(jī)器人 自然無(wú)軌搬運(yùn)機(jī)器人 輥筒對(duì)接機(jī)器人 視覺(jué)引導(dǎo)式AGV AGV無(wú)人搬運(yùn)車 AGV智能機(jī)器人 智能無(wú)人搬運(yùn)機(jī)器人 自動(dòng)化搬運(yùn)機(jī)器人 倉(cāng)庫(kù)智能搬運(yùn)機(jī)器人 自主機(jī)器人搬運(yùn)系統(tǒng) 智能倉(cāng)儲(chǔ)搬運(yùn)車 無(wú)標(biāo)識(shí)搬運(yùn)機(jī)器人 無(wú)軌智能搬運(yùn)機(jī)器人 智能自主搬運(yùn)機(jī)器人 無(wú)軌導(dǎo)引AGV小車 工廠物料搬運(yùn)機(jī)器人 背負(fù)自主搬運(yùn)機(jī)器人 視覺(jué)移動(dòng)AGV機(jī)器人 車間物料搬運(yùn)機(jī)器人 倉(cāng)庫(kù)搬運(yùn)機(jī)器人 潛入頂升式機(jī)器人 智能調(diào)度系統(tǒng) 智能自主移動(dòng)搬運(yùn)機(jī)器人 電商物流搬運(yùn)機(jī)器人 頂升式自主移動(dòng)搬運(yùn)機(jī)器人 智能AGV機(jī)器人 智能物料搬運(yùn)機(jī)器人 AGV自主移動(dòng)搬運(yùn)機(jī)器人 配件 呼叫器 載具-協(xié)作機(jī)器人 視覺(jué)導(dǎo)航無(wú)人托盤車 多機(jī)調(diào)度智能化生產(chǎn)線 3C電子制造業(yè)物料搬運(yùn) 3C行業(yè)移動(dòng)機(jī)器人 電商自主移動(dòng)搬運(yùn)機(jī)器人 電商行業(yè)自主搬運(yùn)機(jī)器人 頂升搬運(yùn)智能機(jī)器人 物流搬運(yùn)小車 電商倉(cāng)儲(chǔ)搬運(yùn)智能小車 電商倉(cāng)儲(chǔ)機(jī)器人 智能移動(dòng)搬運(yùn)機(jī)器人 智能移動(dòng)搬運(yùn)小車 頂升搬運(yùn)小車 自然導(dǎo)航小車 智能倉(cāng)儲(chǔ)搬運(yùn)機(jī)器人 倉(cāng)儲(chǔ)機(jī)器人廠家 自主移動(dòng)機(jī)器人 VR全景直播搬運(yùn)機(jī)器人 無(wú)軌導(dǎo)航機(jī)器人 滾筒搬運(yùn)AGV 無(wú)標(biāo)識(shí)AGV
- 3D視覺(jué)傳感器
- 機(jī)器視覺(jué)外觀檢測(cè)系統(tǒng) 機(jī)器視覺(jué)識(shí)別系統(tǒng) 深度視覺(jué)抓取系統(tǒng) 三維立體視覺(jué)系統(tǒng) 三維視覺(jué)相機(jī) 立體相機(jī) TOF相機(jī) 3D深度相機(jī) 高精度3D視覺(jué)相機(jī) 3D視覺(jué)上料系統(tǒng) 工業(yè)機(jī)器人視覺(jué)定位系統(tǒng) 高精度3D相機(jī) 機(jī)器人視覺(jué)定位系統(tǒng) 深度視覺(jué)感知系統(tǒng) 機(jī)器人視覺(jué)導(dǎo)航系統(tǒng) Eagle3D傳感器 工業(yè)級(jí)3D相機(jī) 深度視覺(jué)傳感器 視覺(jué)導(dǎo)航模塊 混雜多貨品分揀系統(tǒng) 3D視覺(jué)引導(dǎo)定位系統(tǒng) 3D視覺(jué)拆垛系統(tǒng) 雙目視覺(jué)傳感器 雙目3D視覺(jué)定位系統(tǒng) 工業(yè)機(jī)器人3D視覺(jué)系統(tǒng) Eagle 3D相機(jī) 機(jī)器人3D視覺(jué)引導(dǎo) 3D機(jī)器視覺(jué)相機(jī) 自動(dòng)拆垛系統(tǒng) 3D視覺(jué)識(shí)別系統(tǒng) 3D智能抓取系統(tǒng) 3D視覺(jué)解決方案 機(jī)器視覺(jué)拆垛系統(tǒng) 3D拆垛系統(tǒng) 3D分揀系統(tǒng) 機(jī)器人視覺(jué)引導(dǎo)系統(tǒng) 機(jī)器人視覺(jué)拆垛 視覺(jué)引導(dǎo)定位系統(tǒng) 3D視覺(jué)快遞分揀 工業(yè)3D視覺(jué)系統(tǒng) 3D視覺(jué)系統(tǒng) 3D相機(jī)無(wú)序分揀 機(jī)器人視覺(jué)系統(tǒng) 3D視覺(jué)技術(shù) 高精度悟空3D相機(jī) 機(jī)器視覺(jué)3D引導(dǎo)系統(tǒng) 機(jī)器人3D混合無(wú)序抓取 3D抓取系統(tǒng) 3D視覺(jué)分揀系統(tǒng) 機(jī)器人智能無(wú)序分揀系統(tǒng) 激光3D機(jī)器視覺(jué) 機(jī)器人3D定位系統(tǒng) 機(jī)器視覺(jué) 3D成像系統(tǒng)
- 3D視覺(jué)傳感器解決方案
- 視覺(jué)引導(dǎo)碼垛 3D視覺(jué)工業(yè)案例 藥瓶分揀 獨(dú)立工件定位 視覺(jué)引導(dǎo)產(chǎn)線 3D機(jī)器視覺(jué)檢測(cè)零件 機(jī)器人3D視覺(jué)方案 3D視覺(jué)拆垛方案 3D視覺(jué)分揀方案 麻袋拆垛 3D視覺(jué)零件上料系統(tǒng) 視覺(jué)引導(dǎo)紙箱拆垛 3D視覺(jué)電商快遞分揀 3D視覺(jué)機(jī)械上下料 3D視覺(jué)零件揀選 混合物流包裹分揀 3D相機(jī)零部件上料 物流快遞包裹分揀 3D視覺(jué)系統(tǒng)糖垛拆垛上料 快遞供包 電商倉(cāng)儲(chǔ)訂單分揀 貨品分揀 混合碼垛 包裹體積動(dòng)態(tài)測(cè)量 動(dòng)態(tài)高速分揀 快遞包裹無(wú)序混合分揀 零食無(wú)序分揀裝箱 無(wú)人碼垛 機(jī)械零件自動(dòng)上下料 混雜分揀解決方案 視覺(jué)引導(dǎo)拆垛解決方案 工業(yè)機(jī)器人上料解決方案 貨品揀選解決方案 藥品包裝無(wú)人碼垛 藥品包裝無(wú)人拆垛 輸送帶模型分揀 洗衣機(jī)裝配 快遞包裹體積測(cè)量 超市物流配貨混合碼垛
- 無(wú)人叉車系列
- 智能無(wú)人叉車機(jī)器人 車間叉車AGV 智能搬運(yùn)無(wú)人叉車 電動(dòng)堆高無(wú)人叉車 智能無(wú)人托盤搬運(yùn)叉車 AGV無(wú)人化叉車 托盤電動(dòng)搬運(yùn)叉車 智能升降叉車 自主無(wú)人叉車 托盤式堆高叉車 托盤式搬運(yùn)叉車 堆高叉車式AGV 無(wú)人搬運(yùn)AGV叉車 智能倉(cāng)儲(chǔ)無(wú)人叉車 工業(yè)無(wú)人搬運(yùn)叉車 倉(cāng)庫(kù)無(wú)人叉車 自主無(wú)人搬運(yùn)叉車 倉(cāng)庫(kù)搬運(yùn)無(wú)人叉車 自動(dòng)叉車機(jī)器人 智能叉車機(jī)器人 電動(dòng)叉車機(jī)器人 AGV叉車機(jī)器人 無(wú)人智能駕駛叉車 智能AGV叉車 智能無(wú)人搬運(yùn)叉車 無(wú)人叉車式AGV 托盤搬運(yùn)叉車AGV 堆垛式叉車 電動(dòng)托盤搬運(yùn)叉車 電動(dòng)堆高式叉車 無(wú)人電動(dòng)叉車 無(wú)人AGV叉車 工業(yè)叉車AGV 全自動(dòng)電動(dòng)叉車 自動(dòng)AGV叉車 無(wú)人駕駛叉車 叉車AGV 無(wú)軌叉車 視覺(jué)導(dǎo)航叉車 無(wú)人叉車LXLR-FR2100