Astar算法求解旅行商问题一、问题描述一共有n个城市,某推销员从其中的一个城市A出发经过每个城市一次且仅一次后回到A,求代价最小的路径。二、知识表示1、状态表示初始状态,目标状态。初始状态:A(出发城市)目标状态:A,(n-1)个城市),A2、算法描述(1)设城市结点的个数为n,获取开始结点,计算所有成员变量的值,将开始结点放入open表(open表用队列实现);(2)如果 open表不为空,转(3),否则转(7);(3)将open表中的首元素放入close表,并将该首元素从open表中删除。(4)获取已访问结点的个数num,如果num n+1,则找到最佳路径,转(7);(5)如果num=n,还访问一个结点到达目标结点,设置初始结点的访问状态isVisited0的值为false,表示初始结点没有被访问,即可以回到出发点;(6)如果numn,将从当前结点出发可访问的结点和open表中剩余的结点放入一个向量vector中,根据每个结点的fvalue值按升序排列,排列的结果按升序放入open表,转(2);