TSSPA算法痛過(guò)設定目標函數值持續未改善次數或運算達到預先設定的最 大選代次數來(lái)中止運算。 綜上所述,求辯立MP五M”的啟發(fā)式TSSPA算法的具體計算步驟如下。
步驟1應用上述初始解的構造方法產(chǎn)生初始解,并設為當前解和當前最
步驟2依次將(加二P)個(gè)輪輻機場(chǎng)與當前樞組集中的力個(gè)樞組作單一交換: 產(chǎn)生p(m一力)個(gè)候選解集,可見(jiàn)個(gè)數小于枚舉法的I1個(gè)解;
步驟3從候選解集中選擇最好的候選解,此解若優(yōu)于當前最好解,轉步驟6, 否則執行步驟4。
步驟4判斷此解是否為禁忌,若是則轉步驟5,否則轉步驟7。
步驟5若所有候選解都禁忌,將最好候選解作為當前解,轉步驟8,否則把非 禁忌的最好候選解作為當前解,轉步驟8。
步驟6更新當前最好解。
步驟7更新當前解。
步驟8更新禁忌名單。
步驟9是否達到停止條件,若是則輸出結果,計算結束;否則轉步驟2。
例3-7在例3-6的15個(gè)城市中再增加5個(gè)城市,共20個(gè)城市。在20個(gè)城 市的基礎上構建樞紐航線(xiàn)網(wǎng)絡(luò )。城市編號如表3-7所示。在本例中同樣把距離直 接作為成本來(lái)看待。城市間距離數據和航空運輸流量數據參見(jiàn)附表3-5和附表3- 6。折扣系數a分別取0.4、0.6、0.8,樞紐數目p分別取23、4 解利用上述TSSPA算法求解,用Matlab編程計算,算法的禁忌長(cháng)度TL= 7,算法終止規則是:連續5次保持相同最好解或最大迭代次數達到30次即終止運 算。具體運算結果如 計算結果可以得出以下結論。
(1)利用啟發(fā)式TSSPA算法均可在0.09s內求得所有問(wèn)題的最優(yōu)解,而利用 ILOG優(yōu)化軟件則計算時(shí)間較長(cháng)。需要注意的是,由于計算機更新?lián)Q代很快,這里 的計算時(shí)間本身已經(jīng)沒(méi)有參考價(jià)值,但用于比較計算效率還是有意義的。
(2)利用ILOG優(yōu)化軟件的求解時(shí)間隨著(zhù)問(wèn)題規模的變大而快速增長(cháng),而利 用TSSPA算法的求解時(shí)間隨著(zhù)問(wèn)題規模的變大增長(cháng)較慢,因此TSSPA算法可用 來(lái)解決大型問(wèn)題。
(3)TSSPA算法給出了與ILOG同樣的最優(yōu)解(除個(gè)別樞紐城市外,此時(shí)有 多個(gè)最優(yōu)解,兩種方法各獲得了一個(gè))。 由于算例是無(wú)容量限制的嚴格的樞紐航線(xiàn)網(wǎng)絡(luò )優(yōu)化問(wèn)題,且算例的規模相對 較小,就這樣ILOG的精確算法的運算時(shí)間也是禁忌搜索算法TSSPA的100倍 以上。對于大規模的網(wǎng)絡(luò )優(yōu)化問(wèn)題,TSSPA算法的速度優(yōu)勢更明顯,但不一定保 證能獲得最優(yōu)解。