实验一 用贪心算法解决TSP问题
1.实验内容
TSP问题:有一个售货员要到n个城市去销售他的产品,n个城市每两个城市之间有一条路径,要求这个售货员遍历n个城市后回到原城市的最小路径。
请用贪心算法解决这个问题。
2.实验设计分析
2.1 实验设计思路
首先选择第一个城市作为出发点,从当前节点出发遍历所有能达到的下一节点后,选择距离最近的点作为下一节点,然后把当前节点标记为已走过,下一节点作为当前节点,重复贪心策略,以此类推直至所有节点都标记为已走节点,最后回到出发点结束。
2.2 实验算法
从问题的某一初始解出发;
while (能朝给定总目标前进一步)
{
利用可行的决策,求出可行解的一个解元素;
}
由所有解元素组合成问题的一个可行解;
伪码表示如下:
CostTypeTray_Greedy (int n,CostType **w,int *path)
{for(i=1;i<=n;i++) visit[i]=0; cost=0; //初始化
path[1]=1;p=1;visit[1]=1; //从节点1出发
for(i=2;i<=n;i++)
{min=inf;
for(j=1;j<=n;j++)