介绍旅行商问题的队列式分支限界法、优先队列式分支限界法及其改进、改进算法的Python编程实战。
01、旅行商问题
旅行商问题的解空间和解空间组织结构已在5.5节中详细分析过。在此基础上,讨论如何用分支限界法进行搜索。
图6-7无向连通图
考虑n=4的实例,如图6-7所示,城市1为售货员所在的住地城市。
对于该实例,简单做如下分析:
(1) 问题的解空间(x1,x2,x3,x4),其中令S={1,2,3,4},x1=1,x2∈S-{x1},x3∈S-{x1,x2},x4∈S-{x1,x2,x3}。
(2) 解空间的组织结构是一棵深度为4的排列树。
(3) 搜索:设置约束条件g[i][j]!=∞,其中1≤i≤4,1≤j≤4,g是该图的邻接矩阵;设置限界条件:cl<bestl,其中cl表示当前已经走的路径长度,初始值为0;bestl表示当前最短路径长度,初始值为∞。
1●队列式分支限界法