經過小編的不斷努力和修正,Column Generation + ESPPRC+ pulse algorithm的內容終于寫完了。此過程真是充滿曲折啊,希望大家看完多多支持一下。
關于這部分的代碼,我們提供兩個版本。
第一個版本來自GitHub,是一個叫Seminar的國外大神寫的。
他的子問題采用上一篇推文介紹的模型,找一條reduced cost最短的路徑,運行只需要更改下面文件中算例文件的路徑即可。
運行的中間結果如下:
- Iteration:迭代次數
- SbTime:子問題求解時間(s)
- nPaths:Master Problem中的總路徑
- MP lb:Master Problem的線性松弛最優解,這里由于建模方式的原因,該最優解把服務時間也算在路徑距離上的,最終減去9000即可得到路徑距離。
- SB lb:子問題的線性松弛最優解。
- SB int:子問題的整數最優解。
關于子問題的最大求解時間限制(s),可以在下面文件中設置:
第二個版本是小編寫的:
運行參數說明:
-in:算例文件路徑;
-out:結果文件輸出。
比如:
【-in input\Solomon\100_customer\C101.TXT -out output\】
參數設置請找到以下主運行文件:
右鍵找到運行設置里面進行配置。(默認情況下輸入上面的參數能直接運行)
中間結果:
- Iteration:迭代次數
- SbTime:子問題求解時間(s)
- nPaths:MasterProblem中的總路徑
- MP lb:Master Problem的線性松弛最優解。
- SB lb:子問題的最優解。
關于第一個版本,其子問題建模方式還是依賴主問題的對偶變量的,如下:
其中t_ij就是每條邊本來的cost,pi就是Master Problem的對偶變量。每一次迭代就是這樣更新子問題的cost,重新建模求解的。
關于小編的版本:
每次迭代的時候會更新ESPPRC問題中的cost,然后運行pulse算法重新求解。
其他的話結構和注釋都寫得非常清晰了,大家肯定能看懂的。
由于是精確算法,子問題時間沒有保障的,有時候很快能跑完,有時候一天都跑不完。和算例有很大關系的。
DeepSeek火出圈,AI和大模型將如何改變物流行業?
3489 閱讀800美元不再免稅,T86清關作廢,跨境小包何去何從?
2345 閱讀凈利潤最高增長1210%、連虧7年、暴賺暴跌……物流企業最賺錢最虧錢的都有誰
2272 閱讀浙江科聰完成數千萬元A2輪融資
2172 閱讀AI紅利來襲!你準備好成為第一批AI物流企業了嗎?
2101 閱讀供應鏈可視化:從神話到現實的轉變之路
1518 閱讀運輸管理究竟管什么?
1385 閱讀Deepseek在倉庫規劃中的局限性:基于案例研究
1410 閱讀2024中國儲能電池TOP10出爐
1298 閱讀傳化智聯集成DeepSeek,深化AI大模型物流場景應用
1289 閱讀