- 3
- 0
- 约9.56千字
- 约 44页
- 2022-04-30 发布于安徽
- 举报
* 3. 深度优先搜索及剪枝函数 如果从根结点到当前扩展结点处的部分周游路线的费用已经超过当前找到的最好的周游路线费用,则可以判断以该结点为根的子树中不含最优解,因此可以将该子树剪去。 * 4. 算法描述 旅行商问题的解空间是一棵排列树。对于排列树的回溯搜索与生成1,2,…,n的所有排列的递归算法类似。 * 5.算法实现 Backtrack(a,X,i) if (i = n) then if (a[x[n-1]][x[n]] != NoEdge a[x[n]][1] != NoEdge (cc + a[x[n-1]][x[n]] + a[x[n]][1] bestc || bestc == NoEdge)) { for (int j = 1; j = n; j++) bestx[j] = x[j]; bestc = cc + a[x[n-1]][x[n]] + a[x[n]][1];} } else { for (int j = i; j = n; j++) // 是否可进入x[j]子树? if (a[x[i-1]][x[j]] != NoEdge (cc + a[x[i-1]
原创力文档

文档评论(0)