#include "stdio.h"
const int max=9999;
const int ax=50;
int isbest(int i,int bestpath,int p)//檢測改節點是否已經加入bestpath中
if(k!=p+1)//新測試節點在a中
return 1;
else
return 0; }
void main()
}h=min*(num-p-1);//h值
ff[i]=gg[i]+h;//第i個節點的f值
min=max;//重新賦值最大,以便下次迴圈
}for(i=0;i}
minf=max;//重新賦值最大,以便下次迴圈
g=g+mat[bestpath[p]][bestpath[p+1]];//更新g值
}printf("最優路徑為:");
for(i=0;iprintf("%c ",bestpath[i]+65);
printf("a\n");
printf("總路程為:");
int sum=0;
for(i=0;isum=sum+mat[bestpath[i]][bestpath[i+1]];
sum=sum+mat[bestpath[num-1]][0];//總路程最後乙個城市要回到a,所以加上其距離
printf("%d\n",sum);
}
TSP 旅行商問題 遺傳演算法
問題描述 對於n組城市座標,尋找最短路徑使其經過所有城市並回到起點。問題資料集 tsp.eil51問題1 37 52 2 49 49 3 52 64 4 20 26 5 40 30 6 21 47 7 17 63 8 31 62 9 52 33 10 51 21 11 42 41 12 31 32 ...
分支界限演算法 旅行商問題2
假期 2020.01 22見回溯演算法 旅行商問題1 此篇採用分支界限演算法解決該問題,相比較前一篇的回溯演算法 旅行商問題1,此處使用bfs搜尋加優先佇列的方式。注 優先佇列容器與佇列一樣,只能從隊尾插入元素,從隊首刪除元素。但是它有乙個特性,就是佇列中最大的元素總是位於隊首,所以出隊時,並非按照...
蟻群演算法 旅行商(TSP)問題詳解
蟻群演算法 ant colony optimization 最早是由marco dorigo等人在1991年提出,他們在研究新型演算法的過程中,發現蟻群在尋找食物時,通過分泌一種稱為資訊素的生物激素交流覓食資訊從而能快速的找到目標,據此提出了基於資訊正反饋原理的蟻群演算法。蟻群演算法的基本思想 於自...