软件下载:
链接:https://pan.baidu.com/s/1ypyIxnNngk-8XcqkcXSLQA
提取码:rpe6
复制这段内容后打开百度网盘手机App,操作更方便哦
1前言
Geodual软件包,它是由德国科隆大学的Mike Jünger研究团队开发的。该软件能够为20座城市左右规模的TSP题目,最小生成树问题和完美匹配问题给出最优解,同时还会提供一幅优美的护城河(moat)和控制区(control zone)分布图,用图的方式进行最优解证明,使用示例见图1。
2基础理论
2.1完美匹配问题
平面上有n个点的点集P(n为偶数),p,q点在笛卡尔坐标系下的坐标为(xp,yp),(xq,yq),它们之间的欧几里得距离为.
一个完美匹配问题是将n个点分割成对,使得
对点两两之间组成的路径和最小。
下面讨论6个点的完美匹配问题。
匹配问题的总路径和等于每对线段长度的总和,图2显示的是一组匹配结果,这不是最优的,因为可以给出更短的一组结果。
如图3显示了此6个点的完美匹配结果。下面对其进行证明。以点p为圆心(),
为半径,画圆,每个圆之间可以相切但不能相交,如图4。进一步扩大圆的半径,可以得到图5.
每组匹配点p和q的距离为p圆和q圆两者半径之和
。图中所有圆的半径之和就是匹配问题的总路径和。图5的解是最优解,通过图可以证明。图5中每对匹配点所产生的圆都处于相切的状态,若更换一组匹配点,得到其他解。例如将AD,BC的匹配换成AB,CD的匹配,则匹配的总结过会在原结果的基础上加上
,显然路径增加,因此可知图5的解为最优解。
然而,这种方法并不是万金油的。有另外一种情况如图6所示
图6的匹配情况确实是完美匹配,但是无法使得所有圆的半径和等于匹配值的结果,据图中观察可知,上述奇数点的子集都会有一条单独的线端伸出子集范围。引入护城河(moat)的概念。
如图7,将护城河围绕着奇数点子集向外等距延申,最终两条护城河同样会相切于一点,这样点集中所有相切圆半径加上每条护城河的宽度就仍然是完美匹配问题的最优解值。这种方式使得可以为任何完美点匹配问题的实例构造图形的最优性证明。设,
是以p为圆心的相切圆的半径,对于任意一个奇数子集
,使
为S周边的护城河宽度值。那么,找到一个可行的相切圆和护城河布局,从而得到任何完美点匹配总长度的最佳可能下界的问题可以写成线性规划问题如下:
这些限制确保相切圆具有非负半径,护城河具有非负宽度。还保证了相切圆和护城河是不重叠的,通过规定对任何点,两个相关的相切圆的半径之和加上所有的护城河的宽度之和不超过它们的距离。目标函数要求相切圆/护城河提供任何完美匹配长度的最佳可能下界。
对所有不同的pq点引入一个布尔变量,如果pq匹配,则此值为1,反之为0。则寻找完美点匹配的线性规划问题就变为了:
通过图10的观察,可以得出论证:
1.黑线显示了一个完美点匹配,因此对偶线性规划的对偶解是可行的。
2.红色的圆盘和橙色的护城河是不重叠的。在两点之间的任何直线连接上,分配给它们的两个圆盘的半径加上分隔它们的护城河的宽度加起来不超过两点的距离。因此,原线性规划的原解是可行的。
通过应用线性规划的两个基本定理中的一个来得到完美点匹配的最优性:
1.所有圆盘半径和所有护城河宽度之和等于所有黑线的长度之和。因此,我们从弱对偶性得到最优性线性规划的定理。
2.对于每条黑线,之间没有白色间隙,当=1时,相关的原始约束保持相等。