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