-
當前位置:首頁 > 創(chuàng)意學院 > 技術 > 專題列表 > 正文
最短路徑規(guī)劃(最短路徑規(guī)劃問題)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于最短路徑規(guī)劃的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關鍵詞,就能返回你想要的內容,越精準,寫出的就越詳細,有微信小程序端、在線網頁版、PC客戶端
創(chuàng)意嶺作為行業(yè)內優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、怎樣用動態(tài)規(guī)劃法求單源最短路徑?
int[] cost=new int[n];//cost[i]存儲i到n-1的子問題的最短路徑值
int[] path=new int[n];//path[i]存儲狀態(tài),使cij+cost[i]最小的j值
//對數(shù)組cost[n]和path[n]進行初始化
for(int i=0;i<n-1;i++){
cost[i]=Integer.MAX_VALUE;
path[i]=-1;
}
cost[9]=0;
for(int i=n-2;i>=0;i--){
for(int j=n-1;j>=i;j--){
//得到i的鄰接點
if(c[i][j]<Integer.MAX_VALUE&&cost[i]>(c[i][j]+cost[j])){
cost[i]=c[i][j]+cost[j];
path[i]=j;
}
}
}
System.out.println("最短路徑為:"+cost[0]);
int i=0;
System.out.print("0");
while(i!=n-1){
System.out.print("-->"+path[i]);
i=path[i];
二、交通規(guī)劃中 用最短路徑分配法時,有多條路徑一樣短 該怎么分配?
分配的話就不一定要求是最短路徑這一個指標了,可以通過路徑各自的屬性線性組合獲得一個新的指標,這樣就可以再次排序了
你也是做交通的么? 我們可以線下交流
三、如何用粒子群算法實現(xiàn)有障礙物時的最短路徑規(guī)劃(從起點到終點路徑最短,并避開障礙物),用Matlab實現(xiàn)!
我知道的是A*算法 + 二叉堆優(yōu)化....
我做的游戲中有用到尋路,我使用上面的方式實現(xiàn)的....
地圖是10 * 20 ,怪物采用的是跟隨策略....
感覺效率還不錯
這種方法是犧牲空間換的效率
不知道地圖是否是動態(tài)改變的呢?如果是的話,要注意路徑的重復出現(xiàn)問題..
還有,看你的圖貌似可以簡化路徑的,應該是什么多邊形的凸什么理論,這個沒研究過了
希望能幫到你...
四、A*算法用于路徑規(guī)劃,有什么缺點?
缺點:A*算法通過比較當前路徑柵格的8個鄰居的啟發(fā)式函數(shù)值F來逐步確定下一個路徑柵格,當存在多個最小值時A*算法不能保證搜索的路徑最優(yōu)。
A*算法;A*(A-Star)算法是一種靜態(tài)路網中求解最短路徑最有效的直接搜索方法。估價值與實際值越接近,估價函數(shù)取得就越好。A*[1] (A-Star)算法是一種靜態(tài)路網中求解最短路最有效的直接搜索方法。注意是最有效的直接搜索算法。之后涌現(xiàn)了很多預處理算法(ALT,CH,HL等等),在線查詢效率是A*算法的數(shù)千甚至上萬倍。公式表示為: f(n)=g(n)+h(n),其中 f(n) 是從初始點經由節(jié)點n到目標點的估價函數(shù),g(n) 是在狀態(tài)空間中從初始節(jié)點到n節(jié)點的實際代價,h(n) 是從n到目標節(jié)點最佳路徑的估計代價。保證找到最短路徑(最優(yōu)解的)條件,關鍵在于估價函數(shù)f(n)的選?。汗纼r值h(n)<= n到目標節(jié)點的距離實際值,這種情況下,搜索的點數(shù)多,搜索范圍大,效率低。但能得到最優(yōu)解。并且如果h(n)=d(n),即距離估計h(n)等于最短距離,那么搜索將嚴格沿著最短路徑進行, 此時的搜索效率是最高的。如果 估價值>實際值,搜索的點數(shù)少,搜索范圍小,效率高,但不能保證得到最優(yōu)解。
以上就是關于最短路徑規(guī)劃相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內容。
推薦閱讀: