1044 用分枝定界法求解TSP問題

2021-07-04 22:23:40 字數 693 閱讀 3486

用分枝定界法求解tsp問題

time limit:1000ms  memory limit:65536k

total submit:15 accepted:7

description

已知n個城市之間的相互距離,現有一推銷員必須遍訪這n個城市,並且每個城市只能訪問一次,最後又必須返回出發城市。如何安排他對這些城市的訪問次序,可使其旅行路線的總長度最短?

用圖論的術語來說,假設有乙個圖g = ( v , e ) ,其中v是頂點集合,e 是邊集合,設d = [ d(i,j) ]是由頂點i和頂點j之間的距離所組成的距離矩陣,旅行商問題就是求出一條通過所有頂點且每個頂點只通過一次的具有最短距離的迴路。

input

輸入資料由若干行組成;第一行為問題的規模n即城市的數目,剩下的n行為乙個n*n的距離矩陣。

output

請輸出周遊路線的最短距離。

sample input

4

0 30 6 4

30 0 5 10

6 5 0 20

4 10 20 0

sample output

25
source

分枝定界法

1定義 分支定界法 branch and bound 是一種求解整數規劃問題的最常用演算法。這種方法不但可以求解純 整數規劃 還可以求解混合整數規劃問題。設最大化的整數規劃問題為a,相應的不含整數約束的線性規劃為b,若b 的最優解不符合a 的整數條件,那麼b 的最優目標函式值必為a 的最優目標函式值...

分枝限界法求TSP問題 C C

旅行商問題 tsp 給定一系列城市和每對城市之間的距離,求解訪問每一座城市一次並回到起始城市的最短迴路。它是組合優化中的乙個np困難問題,在運籌學和理論電腦科學中非常重要。這篇文章裡介紹一下基於分支限界法的tsp演算法。對於tsp,我們需要利用上界和下界來對bfs進行剪枝,通過不斷更新上界和下界,盡...

分枝定界法的一般步驟

分枝定界法的一般步驟 設有最大化的整數規劃問題a 與它相對應的鬆弛問題為b。1 先不考慮原問題的整數約束,求解相應的鬆弛問題。用 法或單純形法求得最優解,記為 2 若求得的最優解 剛好就是整數解,則該整數解就是原整數規劃問題的最優解 否則,對原問題進行分枝尋求整數最優解。3 分枝。根據對變數重要性的...