中国邮递员问题的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;
中国邮递员问题的EXCEL求解
~≮ 一 ~ ~ \
/ 求 解 约 束。 , /
2 规划求解计算结果与分析 通过以上规划求解的工作 , 调用规划求解功能, 输入有关参数如目 标单元格及最小化要求、 可变单元格、 约束等 , 就可以进行规划求解了。 在点 击“ 求解” 后有时会告知“ 不存在最 优解” 即没有求得所要 , 结果, 尤其 是涉及 的结点和路径较 多时。其原因是 , 对于中国邮递员 问题 的规划求解所 需要的计算时间可能比较长 ( 与所 使用 的计算机 2 C 6中 存放 的是  ̄ 1 图1 邮递员行走 街区路线 图 、 在 规划 各 路径的 始点、 囊 终 麴 童 蔓 I蔓 一 - ~ t. 等有 关 )迭代次数较多 , 规定 的时间和次数 内无法求得结果。 L 最长运算 时间” 1 0秒、 迭代次数” 1 0次。在这 为 0 “ 为 0 及长度 ,如 A : 2 2 C j … 睦 意终童长皮■变碍变长度辖点漉出路经谀薰 求解默认 的“ 样 比较有 限的时间和次数限制下,可能还不能计算出最优结果。为 为 A. B 此, “ 在 规划求解参数 ” 对话框 中选择 “ 选项 ” 进行有关选项的设置 , 如
c 矗 3 i , 3
姐1
如果规定某条路必须按 照一定的方向行走,则可 以在求解 时对 这条路径增加一条约束 , 即相应可变单 元格的值要求必须为 1 。如规 定必须行走从 B到 A 方向的路径 ,则只要在约束中增加 D 7 1即 1= 可, 规划求解的计 算结果 即邮递员行走 的最短路线为: C B E H A— — — ~ F E H G F C E B A D C G— — 总长度为 7 。比较上面 — — — — — — — — — — — D A, 5
中国邮递员 问题 的 E CE X L求解
中国邮递员数学问题
中国邮递员数学问题
中国邮递员数学问题是一个著名的数学问题,也称为"中国邮递员问题"。
这个问题源于邮递员在担任邮递员工作时,需要沿着不同的街道进行投递。
邮递员必须走遍每一条街道至少一次,然后回到出发地点。
问题的目标是寻找一条最短的路径,使得邮递员能够满足投递的要求。
具体问题描述如下:给定一个城市的街道网络图,每条街道上都有一个正整数表示街道的长度。
邮递员需要从一个特定地点出发,沿着街道网络进行投递,然后回到出发地点。
要求邮递员经过的路径总长度最短。
这个问题属于旅行商问题的变种,是一个NP-完全问题。
因为问题规模较大,难以找到一个最优解。
因此,通常采用近似算法进行求解,如TSP(Traveling Salesman Problem)等。
邮递员问题在实际中有很多应用,比如快递员的路线规划、物流配送等。
解决这个问题可以提高物流效率,减少成本。
中国邮递员问题
h
5
v1 a
b
c
v2
v3
v4
图1
图2
图1和图2当中哪一个图满足:从图中任何一点出 发,途径每条边,最终还能回到出发点?
试想:一个图应该满足什么条件才能达到上面要
求呢?
h
6
一笔画问题
凡是能一笔画出的图,奇点的个数最多 有两个。始点与终点重合的一笔画问题, 奇点的个数必是0。
求解。
推广的中国邮递员问题: 混合图的中国邮递员问题,有各种限制
的中国邮递员问题,动态网络的中国邮 递员问题。 其他相关问题-旅行售货员(TSP)问题, 灾清巡视路线。
谢谢!
上述两算法都是在连通欧拉图中求欧拉 回路的算法.
h
11
中国邮递员问题
一个邮递员送信,要走完他负责投递的 全部街道,投完后回到邮局,应该怎样 走,使所走的路程最短?
这个问题是我国管梅谷同志1960年首先 求出来的,因此在国际上通称为中国邮 递员问题。在物流活动中,经常会遇到 这样的问题,如:每天在大街小巷行驶 的垃圾车、洒水车、各售货点的送货车 等都需要解决一个行走的最短路程问题。
h
15
求解中国邮递员问题的算法
管梅谷教授首先提出的方法是奇偶点图上作业 法(1962年)
Edmonds,Johnson(1973年)给出有效算法。
复杂度为 O(|V(G)|2|E(G)|)
h
16
求解中国邮递员问题的算法(例)
h
17
求解中国邮递员问题的算法(例)
h
18
解决这样的问题,可以采用奇偶 点图上作业法:如果在配送范围 内,街道中没有奇点,那么他就 可以从配送中心出发,走过每条 街道一次,且仅一次,最后回到 配送中心,这样他所走的路程也
匹配,邮递员问题
邮政局
2 相关概念及定理
定义 设G=(V,E)是连通无向图;
(1)经过G的每边正好一次的通路称为欧拉通路,图称 为半欧拉图;
(2)经过G的每边正好一次且回到出发点的回路称为欧 拉回路,此时图称为欧拉图;
定理 对于非空连通图G是欧拉图的充要条件是G中无 奇次顶点。 推论 非空连通图G是半欧拉图的充要条件是G中只有 两个奇度顶点。 上述邮递员问题分三种情况讨论: (1)G是欧拉图 此时G得任何一个欧拉回路都是最佳巡回,欧拉回路由 Fleury算法可求出。
0, 不选运第i种物品时
ห้องสมุดไป่ตู้
8 x1 13 x2 6 x3 9 x4 5 x5 7 x6 24 s.t. x1 , x2 , x3 , x4 , x5 , x6 =0或1
Lingo程序为:
max=3*x1+5*x2+2*x3+4*x4+2*x5+3*x6; 8*x1+13*x2+6*x3+9*x4+5*x5+7*x6<=24; @bin(x1); @bin(x2); @bin(x3); @bin(x4); @bin(x5); @bin(x6);
算法: (1)用Floyd算法求出所有奇次顶点之间的最短路径 和最短距离; (2)将2n个奇次顶点两两配对添加n条边(该边即为 上述求出的最短距离),将这n条边添加到G中得新 * * 图 G ,则 G 为欧拉图,其任一欧拉回路即为G的最佳 巡回; * (3)用Fleury算法求出 G 的欧拉回路,即G的最佳 巡回。 注:添加的n条配对边有什么要求? * G的最佳巡回(即 G 的欧拉回路)是在原图G中 所有的边经过一次且仅一次,又在新添加的n条新边 中经过一次且仅一次。原图G中所有边的权重和是固 定不变的,可变的是添加的n条新边的权重之和,所 以我们需要找出哪一种配对边其权重之和最小 (可穷举)。
中国邮递员问题解法
中国邮递员问题解法中国邮递员问题是一个著名的组合优化问题,实际上是一个旅行商问题(Traveling Salesman Problem,TSP)的变种。
问题描述:给定一个城市集合和城市之间的距离矩阵,求解一个最短的邮递员路径,使邮递员能够从出发城市出发,经过每个城市恰好一次,最后回到出发城市。
解法:1.暴力搜索暴力搜索是最简单直观的解法。
遍历所有可能的路径,计算每个路径的总距离,最后选择最短的路径。
这种解法的时间复杂度为O(n!),随着城市数量的增加而急剧增加,效率非常低,只适用于小规模问题。
2.动态规划动态规划是一个更高效的解法。
使用一个二维数组dp[i][j]表示从城市i出发经过城市集合j的最短路径长度,其中j是一个二进制数,表示哪些城市已经访问过。
动态规划的转移方程为:dp[i][j] = min{dp[k][j XOR (1 << k)] + distance[i][k]},其中k表示已经访问的最后一个城市。
利用这个递推关系,可以逐步计算出dp[0][1<<n-1],即从城市0出发经过所有城市的最短路径。
最后,将此路径与每个城市的距离相加,得到最终的最短路径长度。
3.贪心算法贪心算法是一种更简单的解法。
首先选择一个起始城市,然后每次选择距离最近且未被访问过的城市,将其加入路径中。
重复此过程,直到访问完所有城市,然后回到起始城市。
这种解法的时间复杂度为O(n^2),但由于贪心策略的局限性(可能会出现回头或死胡同),所以得到的解并不一定是最优解。
以上是三种常用的解决中国邮递员问题的方法,具体可以根据实际情况选择合适的算法进行求解。
Excel求解运输问题的方法
各供应地到各需求地的运输成本。
运输问题的求解目标
最小化总运输成本
在满足供需平衡的条件下,寻找总运 输成本最小的运输方案。
最大化总利润
在满足供需平衡的条件下,寻找总利 润最大的运输方案。
03
Excel求解运输问题的方法
建立运输问题模型
确定供应量和需求
量
根据实际情况,确定各个供应点 和需求点的供应量(产量)和需 求量(销量)。
实例三:多目标运输问题求解
总结词
采用多目标决策分析方法,解决多个目标之间难以权衡的运输问题。
详细描述
适用于需要考虑多个相互矛盾的目标(如成本与时间)的运输问题。通过Excel的多种分析工具(如数据透视表、 模拟运算表等),比较不同方案在不同目标下的权衡效果,选择最优方案。
05
结论
Excel求解运输问题的优势与局限性
Excel求解运输问题的方 法
• 引言 • 运输问题概述 • Excel求解运输问题的方法 • 实例演示 • 结论
01
引言
运输问题的定义与重要性
运输问题是指在一定约束条件下,如何将货物从起始地点运 输到目标地点,以最小化运输成本的问题。这类问题在物流 、供应链管理等领域具有广泛的应用,对于优化资源配置、 降低成本和提高效率具有重要意义。
确定运输成本
根据运输距离、运输方式等因素, 确定各个供应点到需求点的运输 成本。
建立数学模型
使用Excel的公式和函数,建立数 学模型,表示供应量、需求量和 运输成本之间的关系。
使用Excel的规划求解工具
打开Excel的“数据 ”选项卡,选择“规 划求解”。
点击“求解”按钮, Excel将自动求解运 输问题,并给出最优 解。
中国邮递员问题算法
G-E(C)仍然无奇数度结点。
?
由于G是连通的,C中应至少存在一点v,使G-
E(C)中有一条包含v的回路C′。(见示意图)
2019/7/8
计算机学院
7
C
v
C'
这样,就可以构造出一条由C和C′组成的 G的回路,其包含的边数比C多,与假设矛盾。 因此,C必是Euler回路,结论成立。
2019/7/8
计算机学院
类似于无向图的讨论,对有向图我们有以下 结论: 定理13-1.2 ⅰ)有向连通图G含有有向欧拉道路,当且仅当
除了两个结点以外,其余结点的入度等于出度, 而这两个例外的结点中,一个结点的入度比出 度大1,另一个结点的出度比入度大1。 ⅱ)有向连通图G含有有向欧拉回路,当且仅当G 中的所有结点的入度等于出度。
计算机学院
16
显然,当这个图是欧拉图时,任何一条欧拉回路都 符合要求;当这个图不是欧拉图时,所求回路必然要重复 通过某些边。
对此,管梅谷曾证明,若图的边数为m,则所求回 路的长度最小是m,最多不超过2m,并且每条边在其中 最多出现两次。中国邮递员问题,一般为在带权连通图 中找一条包括全部边的且权最小的关回键路是。:复制哪些边?
V6
d(V2,V5)=3, d(V3,V5)=4
G
各路径:V1V2(3),V3V5(4)—7
V1V3(5),V2V5(3)—8
V1
V1V5(4),V2V3(2)—6
∴两条长度最短P1=V1V7V5,P2=V2V3
3.构造G’的任一E图就是中国邮递员 V6
问题的解。
G′
V2
3
2
1 3
3 6
V3
3
V7
7
中国邮递员问题的求解实例
中国邮递员问题的求解实例前面已经讲过,对于欧拉图,可以直接用Fleury算法找出一条欧拉巡回路线;对于半欧拉图,可以先求出奇点u和v之间的最短路径P,令G =G P,贝U G *为欧拉图,然后用Fleury算法来确定一个G *的欧拉巡回,它就是G的最优巡回。
当G有2n个奇点(n>1),可以用Edmonds算法解决,步骤如下:(1) 用Floyd算法求出所有奇点之间的最短路径和距离矩阵。
(2) 用匈牙利法或0-1规划法求出所有奇点之间的最佳配对。
(3) 在原图上添加最佳配对所包含的两两顶点之间的最短路得到欧拉图G *。
⑷用Fleury算法确定一个G *的欧拉巡回,这就是G的最优巡回。
以上步骤的关键是找出2n个奇点的最佳配对,举例如下。
例图3是某区街道示意图,各边的长度数据如下表所示。
现在需要对每条街道找最优巡回,需要先求26个奇点的最佳配对。
先用Floyd算法求出所有42个顶点之间的最短路距离和路径。
程序如下:E=[1 2 10261 4 402........ 注:每一行代表一条边(两个顶点和边长),此处省略59行40 39 198];for i=1:42for j=1:42if j==ia(i,j)=0; elsea(i,j)=inf; end end endfor k=1:62 i=E(k,1);j=E(k,2);a(i,j)=E(k,3);a(j,i)=E(k,3); end[D,R]=floyd(a);图3某区街道示意图然后求26个奇点的最优配对,这可以用Lin go 求解,编写程序如下:MODEL: SETS:4U12°26"30 O3539 40413*27 21 4128* 3338仆2934O114251015• 1724,25201922 23 32313637dot/2,4,5,6,8,9,10,11,12,13,14,15,17,18,19,20,22,24,25,26,28,29,30,36,40,41/;LINKS(dot,dot)| &2 # GT # & 1:C,X;ENDSETSDATA:C=1319 1065 651 650 939 1228 1463 1500 1213 617 895 1590 1709 1377 1033 1112 1652 1761 1853 1418 1832 2124 2151 2479 1687254 668 1173 1462 1751 198 181 402 1140 1418 2113 453 601 945 1635 2175 2284 597 1941 2355 868 1463 1498 2104414 919 1208 1497 1732 435 148 886 1164 1859 679 347 691 1381 1921 2030 823 1687 2101 1094 1689 1724 1850505 794 1083 1318 849 562 472 750 1445 1058 726 382 967 1507 1616 1202 1273 1687 1473 2005 2103 1541289 578 813 1354 1067 471 245 940 1563 1231 887 462 1002 1111 1707 768 1182 1978 2005 2333 1541 289 524 1643 1356 760 534 651 1852 1520 1176 504 828 886 1996 594 1008 2267 2197 2525 1733235 1932 1645 1049 823 362 2141 1809 1465 793 706 597 2285 883 890 2556 2486 2814 20222167 1880 1284 1058 163 2376 2044 1700 1028 507 398 2520 1105 691 2766 2658 2986 2194306 1321 1599 2294 272 505 849 1571 2111 2220 416 1877 2291 687 1282 1317 20081034 1312 2007 531 199 543 1265 1805 1914 675 1571 1985 946 1541 1576 1702360 1411 1203 871 527 577 1117 1226 1347 883 1297 1618 1534 1862 10701101 1563 1231 887 217 757 866 1707 523 937 1978 1894 2222 14302282 1950 1606 884 344 235 2426 942 528 2603 2495 2823 2031332 676 1398 1938 2047 144 1704 2118 415 1010 1045 1824344 1066 1606 1715 476 1372 1786 747 1342 1377 1503722 1262 1371 820 1028 1442 1091 1623 1721 1159540 649 1542 306 720 1813 1729 2057 1265109 2082 598 184 **** **** 2479 16872191 707 293 2368 2260 2588 17961848 2262 271 866 901 1680414 1711 1603 1931 11392075 1967 2295 1503595 630 1409360 832792;ENDDATA图4 26个奇点的最优配对MIN=@SUM(LINKS:C *X);@FOR(LINKS:@BIN(X));@FOR(dot(l):@SUM(LINKS(J,K)| J #EQ# I #OR# K #EQ# I:X(J,K))=1);END运行以上程序,得到最优配对结果为:2与6、4与12、5与13、8与9、10与11、14 与15、17 与25、18 与26、19 与20、22 与28、24 与29、30 与36、40 与41。
实验二用ExcelSolver解运输问题
实验二用Excel Solver 解运输问题1.实验目的(1)掌握运输问题及运输问题化为线性规划的方法;(2)复习Excel中的Solver,掌握运输问题的的线性规划解法;2.实验任务(1)熟练掌握运输问题的模型建立;(2)将运输问题模型转化为线性规划模型(3)求解运输问题;3.实验内容与步骤3.1 实验内容:运输问题是一个比较经典的问题,可以被看作供应链问题的原型。
求解下列运输问题:Pear磁盘驱动器公司生产个人电脑上面使用的几种容量的硬盘。
在2010年,Pear生产容量为80G到420G的硬盘驱动器,尺寸为3.5英寸。
最受欢迎的产品是160GB的磁盘,销售给几个计算机制造商。
Pear在三个工厂生产这些驱动器,工厂坐落在Sunnyvale. California;Dublin. Ireland;和Bangkok. Thailand。
每隔一定时间,这三个工厂生产的产品被运送到四个仓库,分别位于Texas的Amarillo,New Jersey的Teaneck,Illinois的Chicago和South Dakota 的Sioux Falls。
下个月开始,这四个仓库需要接受如下比例的160GB硬盘的产品。
仓库接受产品的百分比Amarillo 31Teaneck 30Chicago 18Sioux Falls 21下个月开始,这些工厂的产量(千个/单位)工厂产量(单位)Sunnyvale 45Dublin 120Bangkok 95这三个工厂的总产量是260个单位,所以运输到每个仓库的数目应该是(取舍到最近的单位)仓库运输的产品数量(千个)Amarillo 80Teaneck 78Chicago 47Sioux Falls 55为使工厂和配送中心的运输成本较低,Pear需要确定每个工厂和仓库之间的运输路线。
对于一些不可预见的问题,比如工厂的被迫停工,没有预见的区域需求的波动,或者运输过程中恶劣的天气情况等先不予考虑。
中国邮递员问题——欧拉巡回
案例1 案例1:双车道公路扫雪模型
深度优先搜索法遍历求解 威廉王迷宫
c b l d j e x h k a f g i
案例1 案例1:双车道公路扫雪模型
深度优先搜索法遍历求解 要求1 要求1)的解法2(续)
扫雪车行驶规则: 扫雪车行驶规则: 1. 从起点出发,优先选择未作业过的路段; 从起点出发,优先选择未作业过的路段; 2. 到达交差路口时,若身后路面的两个车道都已 到达交差路口时, 铲且前面还有未作业过的路段, 铲且前面还有未作业过的路段,或前方路段都 未作业过,则驶入最靠右边的路段继续作业; 未作业过,则驶入最靠右边的路段继续作业; 否则,身后路面只铲了一个车道, 否则,身后路面只铲了一个车道,应掉头铲另 一个车道。 一个车道。 3. 行驶到一头不通的道路尽头应掉头,在反向车 行驶到一头不通的道路尽头应掉头, 道上作业。 道上作业。
中国邮递员问题 ——欧拉巡回 ——欧拉巡回
重庆大学 龚劬
主要内容
原始模型 基本概念与基本结论 求欧拉图欧拉巡回的算法 求解中国邮递员问题的算法 案例:铲雪车的行驶路线问题 布置实验
原始模型
问题:一位邮递员从邮局选好邮件去投递,他必须经过 他所管辖的每条街至少一次,然后回到邮局,如何选择 一条总行程最短的路线? v2 10 6 v3 v1 v4 5 3 6 v5 5 8 2 7 4 v6 v8 v9 v7 1 v10 9 5 3 4 v11 2 3 1 1 6 v12 v13 v14 v15
案例1 案例1:双车道公路扫雪模型
深度优先搜索法遍历求解
要求1 要求1)的解法2 还可用深度优先搜索法(迷宫法则),遍历所有边, ),遍历所有边 还可用深度优先搜索法(迷宫法则),遍历所有边,且 每边正好来回各走一次。 每边正好来回各走一次。 迷宫任务:从迷宫入口处出发,每个走廊都要搜索,最后 迷宫任务:从迷宫入口处出发,每个走廊都要搜索, 再从入口出来. 再从入口出来.
- 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。