旅行商问题优质PPT.ppt
《旅行商问题优质PPT.ppt》由会员分享,可在线阅读,更多相关《旅行商问题优质PPT.ppt(11页珍藏版)》请在冰豆网上搜索。
路线,使总票价尽量低。
单位:
百元单位:
百元C2C3C4C5C6C7C8C9C10C11C1C2C3C4C5C6C7C8C9C1054106.581298156107975101112表表11机动上页下页返回结束此表对应图此表对应图1的图的图G。
C1C2C3C4C5C6C7C8C9C10C115859128791012710611101546.5图图1G机动上页下页返回结束游,游,定义定义1任意连通图任意连通图G中包含中包含G的所有顶点的闭合的所有顶点的闭合对此问题最稳妥的解决办法就是找出对此问题最稳妥的解决办法就是找出G的所有的所有H环环上述问题即求图上述问题即求图1的一个最小的一个最小H环游。
环游。
途径途径(walk)称为称为G的的哈密顿环游哈密顿环游,简称简称H环游环游。
在连通在连通赋权图赋权图G中权最小的中权最小的H环游称为环游称为最小最小H环游环游。
货郎担问题货郎担问题或或旅行商问题旅行商问题,此问题称为此问题称为最小最小H环游的权重称为该环游的权重称为该该问题的该问题的最优解最优解。
优旅行路线。
算,算,题的最优解的算法复杂程度大约是题的最优解的算法复杂程度大约是O(n!
)。
比较它们的权重,权重最小的那些就是商人的最比较它们的权重,权重最小的那些就是商人的最但这是一个但这是一个N-P完全问题。
完全问题。
用枚举法求具有用枚举法求具有n个顶点的完全图个顶点的完全图Kn的旅行商问的旅行商问有人做过计有人做过计机动上页下页返回结束若用一台每秒可运算若用一台每秒可运算108次的计算机来计算,次的计算机来计算,表表22因此我们不采用枚举法这种无效算法,而采用以因此我们不采用枚举法这种无效算法,而采用以n12152050n!
4.81081.310122.4101831064运算时间运算时间5秒秒3小时小时800年年1049年年表表2提提供了一个大约的运算时间。
供了一个大约的运算时间。
下的近似算法。
机动上页下页返回结束C187C59571最优生成树法最优生成树法C2C3C4C6C7C8C9C10C11510646.5图图2本问题的一棵最优生成树如图本问题的一棵最优生成树如图2的树的树T。
它的数学模型是:
w(CH)=2w(T)
(2)往返往返T的每一边各一次,得的每一边各一次,得G的近似最小的近似最小H环环树树T
(1)用用Kruskal算法求连通算法求连通赋权图赋权图G的一棵最小生的一棵最小生成树成树T。
游游CH,CH的权重就是该问题的近似最优解。
的权重就是该问题的近似最优解。
机动上页下页返回结束显然这是相当粗略的解。
显然这是相当粗略的解。
因此商人的旅行路线可以选为因此商人的旅行路线可以选为C1C2C3C4C3C10C5C9C6C5C10C3C11C3C2C1C7C8C7C1,总票价总票价w=2w(T)=267.5=135(百元)。
百元)。
因为从图因为从图2中容易看出,中容易看出,当商人飞到当商人飞到C9后,不必沿树后,不必沿树TT返回返回C3,可以直接由可以直接由C9飞到飞到C11,再飞到再飞到C3,这样更省钱。
这样更省钱。
另外飞到另外飞到C4后,后,不必返回不必返回C3,可以直接由可以直接由C4飞到飞到C1,这样更省钱。
于是若按路线于是若按路线C1C2C3C10C5C6C9C11C3C4C1C7C8C7C1飞,飞,则有总票价则有总票价w=103.5(百元)。
虽然比刚才花费虽然比刚才花费少,但仍然是相当粗略的。
少,但仍然是相当粗略的。
机动上页下页返回结束我们注意到,图我们注意到,图G不是哈密顿图,没有哈不是哈密顿图,没有哈设设C是图是图G的子图的子图G的哈密顿圈,的哈密顿圈,2子哈密顿圈法子哈密顿圈法定义定义2任意图任意图G中包含中包含G的所有顶点的圈称为的所有顶点的圈称为G的的Hamilton圈圈,简称,简称H圈圈。
具有具有H圈的图称为圈的图称为Hamilton图图,简称简称H图图。
在在C上的顶点为上的顶点为v1,v2,vk,它们距它们距C的最短路长分的最短路长分G的的k个不个不别为别为w1,w2,wk。
则问题的较优解则问题的较优解w=w(C)+2(w1+w2+wk)这也是一种近似算法。
这也是一种近似算法。
密顿圈。
中的任意一个后,中的任意一个后,G就变成哈密顿图了。
就变成哈密顿图了。
但在去掉顶点但在去掉顶点C2,C4,C6,C7,C10,C11C78C2C5C1C3C4C6C8C9C10C1185971261146.5机动上页下页返回结束例如,考虑图例如,考虑图G=G-C10,它是它是G的一个子哈密的一个子哈密10图图3顿图,顿图,G的一个哈密顿圈的一个哈密顿圈CH=C1C7C8C11C9C6C5C2C3C4C1,如图如图33中的蓝实线。
中的蓝实线。
我们可以选择这样的飞行我们可以选择这样的飞行从从C1沿圈沿圈CH飞到飞到C5,然后飞到然后飞到C10,再沿再沿C1,这样总票价这样总票价w=91.5比原来省钱多了。
比原来省钱多了。
路线:
返回返回C5,圈圈CH飞完未经飞完未经过的城市过的城市,最后回到最后回到(百元百元),C1C2C3C4C5C6C7C8C9C10C1159871276111046.5机动上页下页返回结束图图4沿下面的图沿下面的图4飞,总票价飞,总票价w=89.5(百元百元),更省。
,更省。
C1C2C3C4C5C6C7C8C9C10C115598712761146.5机动上页下页返回结束沿下面的图沿下面的图5飞,总票价飞,总票价w=87(百元百元),更省。
图图5C1C2C3C4C5C6C7C8C9C10C1151287971061146.5机动上页下页返回结束众所周知,当一个图的顶点个数和边数都较多时,众所周知,当一个图的顶点个数和边数都较多时,要判定它是否哈密顿图是困难的。
要判定它是否哈密顿图是困难的。
也就是说,找它的也就是说,找它的最大子哈密顿圈是困难的。
最大子哈密顿圈是困难的。
但是我们即使没有找到它但是我们即使没有找到它的最大子哈密顿圈,的最大子哈密顿圈,只要找到它的极大子哈密顿圈,只要找到它的极大子哈密顿圈,也能求出该问题的一个较优解。
也能求出该问题的一个较优解。
假设我们只找到本题假设我们只找到本题图图G的一个极大子哈密顿圈如图的一个极大子哈密顿圈如图6中实线。
中实线。
图图6也可以求出本问题的也可以求出本问题的础上再继续找础上再继续找(百元百元)。
一个较优解一个较优解w=101它的更优解,它的更优解,解越小就越接近最优解解越小就越接近最优解.在此基在此基总之总之