簡體   English   中英

有兩個目標的最短路徑

[英]Shortest path with two objectives

我對編寫一種算法可以找到具有兩個目標(例如時間和安全性)的最短路徑感興趣。 例如,在下圖中,黑色數字是旅行時間,紅色數字是用戶發生事件的概率。 目標是找到具有最佳總體成本的最佳路徑。

總成本=時間+(此路線中事件的概率)*(事件的時間成本)

這是什么類型的問題? 這是一個NP難題嗎? 例

首先 ,如果可以通過兼容單位通過卷積,縮放或其他導致形成新的有序半環的方法合並邊緣權重,則Dijkstra的算法將在該半環上按預期工作。

其次 ,如果您的邊緣權重根本不同,則可以選擇帕累托最優路徑。 也就是說,您不能改善一個標准而又不惡化另一個標准的路徑。 通常,這是您可以做的最好的事情。 可能感興趣的兩篇論文是:

Climacao和Martins的雙准則最短路徑算法

Tung和Chew的雙標准Pareto最優路徑算法

在您的情況下 ,如果您對“事件”的事件做出一些強有力的假設(即它們是互斥的),則可以將time + expected time due to an incident權重替換為time + expected time due to an incident

這是因為如果X_e是在邊沿e上發生事件的事件,則P(X_e1 or X_e2) = P(X_e1) + P(X_e2) - P(X_e1 and X_e2) = P(X_e1) + P(X_e2)他們相互排斥。 那么,任何路徑e1 ... eN的預期成本為cost(e1) + ... + cost(eN) + incident cost * P(X_e1 or ... or. X_eN) = cost(e1) + ... + cost(eN) + incident cost * (P(X_e1) + ... + P(X_eN)) = (cost(e1) + incident cost * P(X_e1)) + ... + (cost(eN) + incident cost * P(X_eN)) = E(cost of e1) + ... + E(cost of eN)只是彼此獨立的每個邊的預期成本之和。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM