中国邮递员问题的EXCEL求解
数学建模中国邮递员问题求解算法

邮递员问题求解算法
若此连通赋权图是Euler图,则可用Fleury算法求Euler回路,此回路即为所求;关于非Euler图,1973年,Edmonds和Johnson给出下边的解法:
设G是连通赋权图,则
(i)求V0
{v|v
V(G),
d(v)
1(mod2)};
(ii)对每对极点
u ,v V0,求
d(u,v)(
d
(u,v)
是
u
与v的距离,
可用
Floyd
算法求得);
iii)结构完整赋权图K|V0|,以V0为极点集,以d(u,v)为边uv的权;
iv)求K|V0|中权之和最小的完满对集M;
v)求M中边的端点之间的在G中的最短轨;
vi)在(v)中求得的每条最短轨上每条边增添一条等权的所谓“倍边”(即共端点共权的边);
vii)在(vi)中得的图G'上求Euler回路即为中国邮递员问题的解。
多邮递员问题求解
邮局有k(k2)位送达员,同时送达信函,全城街道都要送达,达成任务返回邮局,怎样分派送达路线,使得达成送达任务的时间最早?我们把这一问题记
成kPP。
KPP的数学模型以下:
G(V,E)是连通图,v0
V(G),求G的回路
C1,
,C k,
使得
(i )v0
V(C i)
,i1,2,,k,
(ii)max
(
)min,
w
e
ik e
E(C)
(ii i)
k
E
(C i)E(G)
1。
运筹学课件4.8 中国邮递员问题

哥尼斯堡七桥问题与欧拉图 中国邮递员问题 求解中国邮递员问题的奇偶点图作业法 奇偶点图作业法的改进方法
一、哥尼斯堡七桥问题与欧拉图
哥尼斯堡七桥问题 欧拉图与一笔画问题
A
A C B 哥尼斯堡七桥问题 C D
D
B
二、中国邮递员问题
1962年,管梅谷先生提出 中国邮递员问题 若图中无奇点,欧拉圈即为所求 若图中有奇点,则奇点必为偶数,在奇点间加边 (重复走),使其变为偶数而成欧拉图。 中国邮递员问题是要求所加边的权之和最小。
三、求解中国邮递员问题的奇偶点图作业法
在奇点间加边,构造初始可行方案。 寻找改进可行方案:在两奇点间检查所有链,若 某链的长度小于已加重复边的长度,则在该链的 每边加上重复边,去掉原重复边。 重复以上步骤,直到任意两奇点间加重复边的链 是最短的为止。
求解中国邮递员问题:例子
v2
1 2 3 6
v3
4 2
5 1 2 2
v1
v6
v4
3
v5
例子的初始可行解
v2
1 2 3 6
v3
v4
4 2 3
5 1 2 2
5
v1
v6
2
v5
例子的修正解
v2
1 1 2 3 6
v3
v4
4 2 3
5 1 2 2 2
v1
v6
v5Leabharlann 四、奇偶点作业法的改进方法
奇偶点作业法的瓶颈是需检查太多的链 可以首先求出任意一对奇点之间的最短路, 从中选出总路长最小的组合方案。 也可以由奇点构成偶图,求最小匹配得到 最优解。
第六节 中国邮递员问题

e4
3
4
e3
e4
e1
V4 V2
3
4
e3
2
V2
e2
2
e5
V3
1
e2
2
e5
V3
1
e1
V4
(b)
8 30(a )
V1
V1
2
e4
3
4
e3
e4
e1
V4 V2
3
4
e3
2
V2
e2
2
e5
V3
1
e2
2
e5
V3
1
e1
V4
(d )
(c )
②
赋权图G的每个闭链上,
重复边权之和不超过该闭链总权数的一半
或该闭链中非重复边权之和. 设重复边权之和为a,非重复边权之和为b:
赋权图g的每个闭链上重复边权之和不超过该闭链总权数的一半或该闭链中非重复边权之和例例8888设有图830a所示的赋权图构造总权数最小的闭的欧拉链214321v2v3v4v1e2e3e4e5e214321v2v3v4v1e2e3e4e5e214321v2v3v4v1e2e3e4e5e2v214321v3v4v1e2e3e4e5ea830bcd赋权图g的每个闭链上重复边权之和不超过该闭链总权数的一半或该闭链中非重复边权之和设重复边权之和为a非重复边权之和为b
定理 8.6
加边法化欧拉图的原则和方法是:
在赋权图G的一些边上,加且仅加一条重 复边,使图G的每个顶点成为偶次顶点 ;
①
赋权图G的每个闭链上,重复边权之和不 超过该闭链总权数的一半或该闭链中非重复 边权之和.
②
例8.8 设有图 8-30(a)所示的赋权图,构造 总权数最小的闭的欧拉链.
最新!Excel公式不精通,连送快递都干不了!

最新!Excel公式不精通,连送快递都干不了!12月13日周日跟着卢子一起成长。
一年前卢子发了一篇计算快递的教程:Excel公式不精通,连送快递都干不了!今天刚好有学员又提到这个问题,计算规则有所不同。
其实,只要你能够灵活变通,真的不难。
不懂变通,可能你会想破脑袋。
重量计算规则跟以前不同,以前不管什么情况都向上进1,现在是按某个范围判断重量。
比如0<x<=1.09,算1。
以前的计费重量:=ROUNDUP(B2,0)现在的计费重量,只要小数部分<=0.09就舍去,>0.09就向上进位。
于是,我想到了将重量减去0.09再进位,不过有点小问题,就是当重量非常小的话,会变成-1和0这种。
=ROUNDUP(B2-0.09,0)再进行小小的改进,让重量变成>=1的值。
这种用法看起来是不是特别眼熟?没错,在设置个税公式的时候,当个税小于0,我们就是嵌套MAX处理的。
=MAX(1,ROUNDUP(B2-0.09,0))学员自己想了半天没想出这种用法,觉得MAX简单好用。
再来看运费,就是首重+续重的合计。
这里首重按1KG算,超出部分就是续重。
每个省份都有首重、续重的对应价格。
用VLOOKUP可以分别查找出首重、续重的价格。
=VLOOKUP(A2,I:K,2,0)=VLOOKUP(A2,I:K,3,0)再嵌套IF函数进行判断,就搞定了。
=VLOOKUP(A2,I:K,2,0)+IF(C2>1,VLOO KUP(A2,I:K,3,0)*(C2-1),0)这次的难点是重量计算规则,第一次遇到这种,如果脑筋转不过来,需要考虑很久。
如果能转过来,一瞬间就搞定了。
素材链接:https:///s/1Foj9JcTWh50kmiGNkMbEVQ提取码:tc8z推荐:Excel公式不精通,连送快递都干不了!上篇:没有规律,Excel就不能分离字符?错!你有没觉得学公式特别有意思,经常使用,还能防止老年痴呆。
中国邮路问题的excel解法

中国邮路问题的excel解法
中国邮路问题是一种优化问题,它描述的是在各个城市之间建立邮路时,如何使总投资最少,以便使所有城市都能够相互之间发送信件。
Excel解法是一种常用的解决中国邮路问题的方法。
它的原理是把问题转换为一个数学规划问题,然后用Excel 来求解。
具体步骤如下:
1. 确定目标函数:首先,根据问题的要求,确定目标函数,即最小化总投资。
2. 确定约束条件:其次,根据问题的要求,确定约束条件,即所有城市之间必须存在信件路径。
3. 建立Excel模型:将目标函数和约束条件建立成Excel模型,并用数学规划工具求解最优解。
4. 分析结果:最后,分析Excel求解的结果,找出最优的信件路径方案,即最少的投资实现所有城市之间的信件路径。
CH6-10 中国邮递员问题

☐图的存储表示;☐顶点的度数;☐图的连通性;☐顶点间的最短路径;☐欧拉图的判断,欧拉回路输出;问题描述:一个邮递员从邮局出发走遍每条街道,最后返回邮局,找到一条最短的行走线路?最短欧拉回路!问题提出:我国数学家管梅谷先生在20世纪60年代提出一笔画游戏✈✈满足“一笔画”:☐凡是由偶点组成的连通图,一定可以一笔画成.画时可以把任一偶点为起点,最后一定能以这个点为终点画完此图☐凡是只有两个奇点的连通图(其余都为偶点),一定可以一笔画成.画时必须把一个奇点为起点,另一个奇点终点☐其他情况的图都不能一笔画出实例:一个邮递员投递信件要走的街道如图所示,图中的数字表示各条街道的千米数,他从邮局出发,要走遍各街道,最后回到邮局。
怎样走才能使所走的行程最短?全程多少千米? 2 1 2111怎么样使非欧拉图变为欧拉图?除去奇点!添加边或删除边。
怎么样除去奇点?这里应该采用的办法?重复某些边(添加边)2 1 23分析:图中共有8个奇点,不可能不重复地走遍所有的路。
必须在8个奇点间添加4条线,才能消除所有奇点,从而成为能从邮局出发最后返回邮局的一笔画。
当然要在距离最近的两个奇点间添加一条连线,图中虚线所示,共添加4条连线,这4条连线表示要重复走的路,显然,这样重复走的路程最短,全程34千米。
走法不唯一邮局2 1 2111 2 1 23☐建立街区无向网的邻接矩阵;☐求各顶点的度数;☐求出所有奇度点;☐图的连通性判断;☐求出每一个奇度点到其它奇度结点的最短路径;☐根据最佳方案添加边,对图进行修改,使之满足一笔画;☐对图进行一笔画,并输出;其一:“添加”哪些边?☐“添加”的边所依附的顶点必须均是奇度顶点☐“添加”的边必须是已有的边,也就是有的边不止走一次其二:如何选择代价最小的边?☐奇数顶点之间的最短路径☐Dijstra算法☐Floyd算法其三:输出一笔画?☐FE算法(F leury E uler)V4U1U6V3U5U2V1U4V2U31111111222222533V4V3V1V241.求奇度点的最短路径2.构造奇度点间的完全加权图3.求图的最佳(总权最小)完备匹配M={1,4;2,3}4.求1和4之间的最短轨V1 U1 V4;2和3之间的最短轨V2 U4 V3;5. 加同权边即可一个实例如果一个匹配中,图中的每个顶点都和图中某条边相关联,则称此匹配为完全匹配,也称作完备匹配给定一个图G ,M 为G 边集的一个子集,如果M 满足当中的任意两条边都不依附于同一个顶点,则称M 是一个匹配1.求奇度点的最短路径2.构造奇度点间的完全加权图3.求图的最佳(总权最小)完备匹配M={1,4;2,3}4.求1和4之间的最短轨V1 U1 V4;2和3之间的最短轨V2 U4 V3;5. 加同权边即可给定一个图G,M为G边集的一个子集,如果M满足当中的任意两条边都不依附于同一个顶点,则称M是一个匹配如果一个匹配中,图中的每个顶点都和图中某条边相关联,则称此匹配为完全匹配,也称作完备匹配1.取G 中的起始顶点V 0,令P 0=V 02.假设沿着P i = v 0e 1v 1e 2v 2…e i v i 走到顶点vi ,按下面方法从E(G)-{e 1,e 2,…,e i }中选e i+1①e i+1与v i 相关联;②除非没有别的边可供选择,否则e i+1不应该是G i =G-{e 1,e 2,…,e i }中的桥3.当2不能再进行时算法停止V4V1V2V5V6V7V8V3V4V1V2V5V6V7V8V3总结步骤1.求图G中奇度结点集合V0={v};2.对V0中的每个顶点对u,v,用Dijkstra算法求距离d(u,v);3.构造加权完全图;4.求加权图的总权最小的完备匹配M;5.在G中求M中同一边的结点间的最短轨;6.把G中在上一步求得的每条最短轨之边变成同权倍边,得到欧拉图G1;7.用FE算法求G1的一条欧拉回路W,W即为解;举例:邮递员要从邮局出发,走遍左下图(单位:千米)中所有街道,最后回到邮局,怎样走路程最短?全程多少千米?其二:如何选择代价最小的边?☐奇数顶点之间的最短路径☐Dijstra算法☐Floyd算法☐最小生成树的方法☐Prim算法☐Kruskal算法奇度结点间最短路径计算➢如果只有两个奇度结点,那么最短路径就是原来每条街道代价加上两个奇度顶点之间的最短代价之和;➢如果有多个奇度结点,要进行不同的组合。
利用ExcelVba求解运输问题的计算机辅助算法

a u x i l i a r y a l g o r i t h m a n d t h e c a l c u l a t i o n lo f w a r e i n t r o d u c e d.S e c o nd l y,t h e t h r e e k e y t e c hn i q ue s o f t h e a u x i l i a y r a l g o it r h m
曾 强 邓敬源 袁明明
( 河南理 工大学能源科学与工程学 院 河南 焦作 4 5 4 0 0 0 )
摘
要
针对运 输 问题 求解 过程 的复杂 性 , 基 于表 上 作 业原 理 , 提 出一种 利用 E x c e l V b a求解 运 输 问题 的计 算
机辅 助算 法 。首 先 , 介 绍 了辅 助算 法原 理及 计 算流 程 ; 其次, 详细描 述 了辅助 算 法 的三个 关键 技术 , 即用 最 小元 素
a r e d e s c ib r e d i n d e t a i l ,n a me l y t h e t e c h n i q u e o f o b t a i n i n g t h e i n i t i a l f e a s i b l e s o l u t i o n b y t h e mi n i mu m e l e me n t me t h o d, t h e t e c h n i q u e o f c a l c u l a t i n g t h e n u mb e r o f n o n ・ b a s i c v a r i a b l e b y t h e p o t e n t i a l me t h o d a n d t h e t e c h n i q u e o f a u t o ma t i c a l l y
关于中国邮递员问题和欧拉图应用

1如果G的基图连通且所有顶点的入、出度均不为0,转2,否则返回无解并结束;
2计算所有顶点v的d’(v)值;
3构造网络N;
4在网络N中求最小费用最大流;
5对N中每一条流量f(u,v)的边(u,v),在图G中增加f(u,v)次得到G’;
6在G’中求欧拉回路,即为所求的最优路线。
NPC问题:
if(in[i] +1 == out[i]) ...{
spos = i;
break;
}
}
}
else ...{
for(i=0;i<30;i++) ...{
if(f[i] != -1) ...{
spos = i;
break;
}
}
}
for(i=0;i<30;i++) sort(words[i].begin(), words[i].end());
如果部分街道能够双向通行,部分街道只能单向通行。这个问题已被证明是NPC的。[5]
--------------------------------------------------------------------------------
[1]大城市邮政投递问题及其算法研讨
[2]忽略有向图所有边的方向,得到的无向图称为该有向图的基图。
step = 0;
memset(vis, 0, sizeof(vis));
find_euler(spos);
//memset(vis, 0, sizeof(vis));
for(i=step-1;i>0;i--) ...{
spos = seq[i];
string snext;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国邮递员问题的EXCEL求解
邱家学(中国药科大学商学院)
摘要:借助EXCEL规划求解的功能完成了中国邮递员问题的求解,实现的方法原理简单、操作方便、快捷易行、结果可靠、扩展性强。
关键词:EXCEL规划求解中国邮递员问题
0引言
1962年中国组合数学家管梅谷教授提出了著名的“中国邮递员问题”:一个邮递员从邮局出发,要走完他所管辖的每一条街道,然后返回邮局,那么如何选择一条尽可能短的路线?
人们对这个问题进行了深入的探讨,提出了许多解决的算法和思路,如文献[1]中的奇偶点图上作业法、文献[2]的DNA计算模型、文献[3]的遗传算法等。
EXCEL的规划求解以其特有的功能和特性可以被用来进行中国邮递员问题的求解。
1EXCEL规划求解的准备工作
假设图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.
与,使节能成为广大居民的自觉行动,推动全社会节能。
参考文献:
[1]武云甫,张雷,景洪兰等.城市热网失水率达标措施[J].节能.2002.240 (7).30-33.
[2]丁亦如,孙杰.谈目前供暖系统中常见的几个技术问题[J].区域供热. 2001(4).1-6.
[3]张宝林,闫横,刘志勇.浅析城镇供热系统节能[J].节能.2006.289(8).62-63.
[4]刘杨.锅炉供热系统节能技术在供热管理中的应用[J].记者摇篮.2004(8).64.
科学实践
(上接第215页)
216。