基於分支限界法的旅行商問題(TSP)二


和上篇一樣,考前寫寫偽代碼,考完了補上具體的解釋和代碼。

 

 

狀態{矩陣,結果集,下界}

全局結果集列表,全局上界初始為Infinite

建立一個heap,存儲狀態,出堆規則為擁有最小的下界。

利用reduced cost matrix 來把矩陣進行化簡,把化簡消耗作為下界,將初始狀態加入heap

當heap不為空時

{

  從heap中彈出一個狀態,賦值給兩個臨時狀態。

  若該狀態的下界大於等於全局上界,則return

  遍歷所有弧,選擇刪除則引起下界上升最大的弧

  若使用該弧

  {

    更新下界

    若已經遍歷所有城市並回到了起點且小於等於全局上界,記錄該狀態,更新全局上界

    否則 將該弧所對應的整行和整列賦值為Infinite,將當前的弧的反向弧賦值為Infinite,在結果集中記錄該弧,將狀態加入heap

  }

  否則 在matrix中將該弧賦值為Infinite,更新下界,將狀態加入heap

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM