最短路徑動態規劃問題及其程式設計

2021-03-04 08:12:09 字數 965 閱讀 4443

[摘要]**以最短路徑問題為例,在給出佛洛伊德演算法的基礎上,設計了求解該演算法的計算程式,這樣可大大提高最短路徑計算的效率。

[關鍵字]最短路徑,動態規劃,程式設計

1佛洛伊德演算法

2.動態規劃求解的佛洛伊德演算法程式設計

如下圖所示:給定乙個線路網路,兩點之間連線上的數字表示兩點間的距離,求一條從a到e的路線,使總距離為最短。

為了減少上述問題的計算工作量,我們編制求解動態規劃演算法的vba程式如下:

sub js()

dim n, i, j, k as integer

n = 9

dim d(9, 9), p(9, 9), path(9), distance as integer

rem 將資料存於陣列d(i,j)中

for i = 1 to n

for j = 1 to n

d(i, j) = cells(i, j)

next j

next i

for i = 1 to n

for j = i + 1 to n

if d(i, j) j then

if d(i, k) + d(k, j) 1

path(i) = p(1, count)

i = i + 1

count = p(1, count)

wend

cells(20, 1) = distance

for i = 1 to n

cells(21, i) = path(i)

next i

end sub

主要參考文獻

[1]朱順泉.管理科學研究方法[m].北京:清華大學出版社,2007

[2]運籌學編寫組.運籌學[m].清華大學出版社,1992

[3]丁以中等.管理科學[m].清華大學出版社,2003

[4]楊世勝.計算機在企業管理中應用[m].上海交通大學出版社,1985

動態規劃最短路徑問題

首先,我們來觀察上述演算法。在求b1到e的最短路徑的時候,先求出從c2到e的最短路徑 而在求從b2剄e的最短路徑的時候,又求了一遍從c2剄e的最短路徑。也就是說,從c2到e的最短路徑求了兩遍。同樣可以發現,在求從cl c2剄e的最短路徑的過程中,從dl到e的最短路徑也被求了兩遍。而在整個程式中,從d...

例動態規劃解最短路徑問題

步驟 1 2 已實現。最優子結構 從起點到終點的最短路徑包含了該路徑上各點到終點的最短路徑。遞迴公式 設v為圖中乙個頂點,v1,v2,vm為v的直接後繼,cost v 表示v到終點的最短路徑長度,c u,w 表示邊上的權,t為終點,則cost滿足如下遞迴公式 步驟 3 計算最優值 求最短路徑長度 設...

最短路徑問題 專題

初中數學中最短路徑問題雖然只是乙個課題學習,但它在中學數學中的地位很重要,是大考 小考 競賽中經常涉及的乙個考點。所以我們要對它有足夠的重視。初中最短路徑問題主要針對軸對稱圖形考慮的。那麼只要涉及軸對稱圖形就有可能產生最短路徑問題。在此之前,我們接觸過的最短距離問題是 1 兩點間直線段最短 2 點到...