中国邮递员问题的EXCEL求解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国邮递员问题的EXCEL求解
发表时间:2010-04-01T21:54:24.467Z 来源:《中小企业管理与科技》2010年2月下旬刊供稿作者:邱家学[导读] 借助EXCEL规划求解的功能完成了中国邮递员问题的求解,实现的方法原理简单、操作方便、快捷易行、结果可靠、扩展性强邱家学(中国药科大学商学院)
摘要:借助EXCEL规划求解的功能完成了中国邮递员问题的求解,实现的方法原理简单、操作方便、快捷易行、结果可靠、扩展性强。关键词:EXCEL 规划求解中国邮递员问题
0 引言
1962年中国组合数学家管梅谷教授提出了著名的“中国邮递员问题”:一个邮递员从邮局出发,要走完他所管辖的每一条街道,然后返回邮局,那么如何选择一条尽可能短的路线?
人们对这个问题进行了深入的探讨,提出了许多解决的算法和思路,如文献[1]中的奇偶点图上作业法、文献[2]的DNA计算模型、文献[3]的遗传算法等。EXCEL的规划求解以其特有的功能和特性可以被用来进行中国邮递员问题的求解。
1 EXCEL规划求解的准备工作
假设图1就是邮递员需行走的路线图,A结点为邮局,各路径长度标记在相应路径上。
通过对图2所示的EXCEL工作表各单元格内容及其作用的介绍,来分析采用规划求解的基本思路。
1.1 单元格A
2~C16中存放的是各路径的始点、终及长度,如A2:C2为A、B、6即指A到B路径长6,余类推。由于邮递员可能从两个不同方向行走同一条路,故还要构造如图2单元格A17:C31所示的反方向路径,如A17:C17即为A2:C2所表示路径的反向路径。
1.2 单元格D
2~D31为相应路径行走次数且为可变单元格,取值要大于等于0;如果等于0即表示相应路径未被行走,大于0即表示该路径行走一次乃至更多次。单元格E2:E31为相应可变单元格与路径长度乘积,E32为所行走路径的总长度并作为取值“最小”的目标单元格(希望行走路线尽量短)。
1.3 定义每个结点的流入量、流出量和净流出量。结点流入量就是各路径终点为该结点的路径数,结点流出量就是各路径始点为该结点的路径数,结点净流出量为该结点流出量与该结点流入量之差。在实际找寻最短行走路线时,有些路径被选中,有些路径没有被选中,则选中的路径才可以计量其对相应结点的流入量、流出量。以结点C为例,与结点C有关的路径共有12条,而路径CB、AC、CD、CF、CE 被选中,则其流入量为1,流出量为4,净流出量为3。由于邮递员不可以在任何一个结点处停下不走,必须回到邮局,所以各结点A~H净流出量(G2~G9)必须为0,这一要求将作为求解约束。
1.4 实际上,任何一次不计方向在某路的行走均为对该路行走过一次,任何一条路行走次数就等于方向相反的两条路径行走次数之和,如路AB的行走次数等于路径AB和BA行走次数之和即等于图2中D2与D17之和。对各条路行走次数应至少一次(这是邮递员问题的原始要求),对这些路的行走次数要求即大于等于1将作为求解约束。
2 规划求解计算结果与分析
通过以上规划求解的工作,调用规划求解功能,输入有关参数如目标单元格及最小化要求、可变单元格、约束等,就可以进行规划求解了。
在点击“求解”后有时会告知“不存在最优解”,即没有求得所要结果,尤其是涉及的结点和路径较多时。其原因是,对于中国邮递员问题的规划求解所需要的计算时间可能比较长(与所使用的计算机等有关)、迭代次数较多,在规定的时间和次数内无法求得结果。规划求解默认的“最长运算时间”为100秒、“迭代次数”为100次。在这样比较有限的时间和次数限制下,可能还不能计算出最优结果。为此,在“规划求解参数”对话框中选择“选项”进行有关选项的设置,如选中“假定非负”、“采用线性模型”可以提高计算速度,把“最长运算时间”改设为600秒或更大,把“迭代次数”改设为600次或更大,然后进行求解,就可以得到最优解于图2所示的相应单元格中。
在图2可变单元格列中不为0的单元格所对应的路径即为邮递员行走的最短路线,该路线为:A-B-E-H-F-G-D-A-D-C-B-E-H-G-C-F-E-C-A,总长度为75。
如果规定某条路必须按照一定的方向行走,则可以在求解时对这条路径增加一条约束,即相应可变单元格的值要求必须为1。如规定必须行走从B到A方向的路径,则只要在约束中增加D17=1即可,规划求解的计算结果即邮递员行走的最短路线为:A-C-B-E-H-F-E-H-G-F-C-E-B-A-D-C-G-D-A,总长度为75。比较上面两个结果,发现这是两条线路总长度一样的行走线路,也就是存在着多个最优解。
还可以同时规定两条乃至更多必须行走的路线及方向,用规划求解在这样的要求下进行最短路线找寻。
由于图1中各条路径的权即长度相差不大,这个问题的最优解可能有很多;当然,这个方法是没有办法求出所有最优解的。 EXCEL的规划求解较好地完成了中国邮递员问题的求解。从中可以看到,这个方法原理简单、操作方便、快捷易行、结果可靠、扩展性强。
参考文献:
[1]李德,钱颂迪.运筹学[M].北京.清华大学出版社.1982.313-316.
[2]韩爱丽,朱大铭.基于一种新的边权编码方案的中国邮递员问题的DNA计算模型[J].计算机研究与发展.2007.44(6).1053~1062.
[3]曹鱼,陈传波.遗传算法求解邮递员问题的探讨[J].计算机与数字工程. 2000.28(3).28-30.