1 / 29

洒水车问题

洒水车问题. —— 理论解决实际问题的例子 指导老师 : 窦霁虹 报告人 : 林小围 黄志华 张宁辉. 一、问题提出. 西北大学的洒水车要给主要路面洒水,该如何确定行车路线?. 二、问题分析. 我们首先根据西北大学的实际情况确定需要洒水的路段。从网址 [1] 处得到校园的平面图,并进行的细化,绘制出在尺度上大致准确的示意图(图 1 )。

khanh
Télécharger la présentation

洒水车问题

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 洒水车问题 ——理论解决实际问题的例子 指导老师: 窦霁虹 • 报告人: 林小围 黄志华 张宁辉

  2. 一、问题提出 西北大学的洒水车要给主要路面洒水,该如何确定行车路线?

  3. 二、问题分析 我们首先根据西北大学的实际情况确定需要洒水的路段。从网址[1]处得到校园的平面图,并进行的细化,绘制出在尺度上大致准确的示意图(图 1)。 [1] http://202.117.105.63/jxyd/plab/campus.htm

  4. 洒水车要给主要路面洒水,也就意味着行车路线必需经过图示所有的路面至少一次。这类似于图论中一个典型的问题:中国邮路问题[2]。中国邮路问题说的是:一个邮递员从邮局出发,到所辖街道投递邮件,最后返回邮局,如果他必须走遍所辖的每条街道至少一次,那么该如何选择投递路线,使所走的路程最短。洒水车要给主要路面洒水,也就意味着行车路线必需经过图示所有的路面至少一次。这类似于图论中一个典型的问题:中国邮路问题[2]。中国邮路问题说的是:一个邮递员从邮局出发,到所辖街道投递邮件,最后返回邮局,如果他必须走遍所辖的每条街道至少一次,那么该如何选择投递路线,使所走的路程最短。 [2] 肖位枢,图论及其算法,航空工业出版社,1993

  5. 三、假设与符号约定 假设: (1)洒水车行驶过一次即能满足路面的洒水要求; (2)洒水车一次加水,即有足够水量给图示所有路面洒水,或者用完水后能在可以忽略路程内加水;

  6. 符号约定: :图的第 个节点; :图中连接第个 顶点与第 个节点的 边; :边 上的权; :以为 节点集,以 为边集的图; :以 为起点 为终点的路;

  7. :图的第 个节点的度数; :图的一个附加边子集; :边集 的总权; :经过边 的次数; :最短路矩阵

  8. 四、一些基本概念、算法和定理 • 欧拉回路:设G(V,E)为一个图,若存在一条回路,使它经过图中的每条边且只经过一次又回到起始节点,就称这种回路为欧拉回路,并称图G为欧拉图。 • 节点的度数:连接节点 的边数为此节点的度数 。当 为奇数时,称 为奇节点;否则,称 为偶节点。 • 附加边子集:将图 的奇节点配对,每对节点之间在图中有相应的最短路,连接这些最短路即构成一个附加边子集 。

  9. 佛罗莱算法(Fleury Algorithm): Step 1:任取起始节点 ,取连接这起始节点的任一边 为初始路,即 ; Step 2:设路 已经选出,则从 中选出边,使 与 相连,除非没有其他选择。 不应为 的断边,即仍为连通图; Step 3:重复Step 2直到不能进行下去为止。

  10. 定理(证明从略): 设为一个连通的赋权图,则使附加边子集的权数为最小的充要条件是中任意边至多重复一次,且中的任意回路中重复边的权数之和不大于该回路总和的一半。

  11. 奇偶点作业法: Step 1:任给初始方案,使图的各节点的度数为偶数,图成为边权的欧拉图; Step 2:检查每一回路中重复边的长度和是否超过回路长度的一半,如是,则现行方案即为最优解,否则进行下一步; Step 3:调整重复边,即将回路中重复的边改为不重复,不重复的边改为重复,返回Step 2。

  12. 五、一个趣题 有一有意思的问题:要经过一个边长为单位长度 的 网格每一条边,那么你必须走多少个单位的路程? 的网格呢?

  13. 由上面的定理和算法可以得到 和 的添加附边子集后的图如(a)和(b),然后只要根据寻欧拉回路的佛罗莱算法找出回路即可。可以知道它们的路线长度分别为W=12+4=16和W=24+4=28. (a) 六、趣题的求解 (b)

  14. 的网格添加附加边子集后的图如下(c): 它的路线长度W=31+7=38 (c)

  15. 依此类推得: (1)若m,n均为奇数,路程为 否则 (2)路程 。

  16. 七、模型的建立与求解 根据前面的假设与示意图,我们建立如下的图论模型: Min S.T

  17. 3图注:为使图看起来简洁,节点和边的编号未在图上标出,只是标出边上的权(单位为m),即边上的长度。

  18. 图 4 进行求解即在图中寻找最优的邮递员路线:Step 1:找具有奇度数的节点并进行标号,依次为:A1,B1,A2,B2,A3,B3。不妨按(Ai,Bi),i=1,2,3进行配对,如图 4。求其最短路,添加重复边,如图 4上的曲线。

  19. Step 2:在图 4中可以找到一个包含A1,B1,A2,B2回路使得其不满足邮路问题的最优解的充要条件即A1到B1的最短路长180 m加上A2到B2的路长150为330 m大于包含A1,B1,A2,B2的最小回路的路长100+40+30+120+30+40+40+100+80=580 m的一半290 m。于是按奇偶点作业法调整重复边如图 5; Step 3:对图 5进行检查,发现已经满足定理的充要条件。Step 4:按佛罗莱算法在图 5寻找得到一条欧拉回路为如图 6示。

  20. 图 5

  21. 图 6

  22. 这条路线的总长度为:2390 m,其中重复走的路长为400 m。由前面的定理即可验证这是一条最优路线。

  23. 八、模型求解的改进 在上面的算法中当找完具有奇度数节点后,我们依次编号,然后在调整。另外可以建立0-1规划模型,然后用lingo软件直接求解得到奇度数节点的最优配对。这样可以省去大量的寻找回路的工作量(特别是当图的规模很大时),而查找最短路径相对来说工作量更小。首先,确立奇度数节点间的最短路矩阵。寻找图中最短路矩阵有佛洛伊德算法(R.W.Floyd)及狄克斯特拉算法(Dijkstra)等。图 4中六个具有奇度数节点(A1,B1,A2,B2,A3,B3)的最短路矩阵为:

  24. 然后,建立0-1规划模型如下: Min :

  25. S.T :

  26. 九、模型评价与改进 我们提出的问题切合实际,然后利用现成完整的理论将问题比较完满解决。并且建立0-1规划模型用软件求解,比较快捷的找到具有奇度数节点的最优配对而省去大量且易出错的寻找包含奇度数节点回路的工作。我们的模型及求解改进的方法可以推广到如城市街道洒水问题,公安人员巡逻路线等等。 参考文献: [1] http://202.117.105.63/jxyd/plab/campus.htm [2] 肖位枢,图论及其算法,航空工业出版社,1993 [3] 寿纪麟,数学建模—方法与范例,西安交通大学出版社,1993

  27. 附 1 程序: Min =180*X12+260*X13+170*X14+310*X15+360*X16 +80*X23+150*X24+290*X25+340*X26 +150*X34+290*X35+340*X36 +140*X45+250*X46 +150*X56; X12+X13+X14+X15+X16=1; X12+X23+X24+X25+X26=1; X13+X23+X34+X35+X36=1; X14+X24+X34+X45+X46=1; X15+X25+X35+X45+X56=1; X16+X26+X36+X46+X56=1; @bin(X12);@bin(X13);@bin(X14);@bin(X15);@bin(X16); @bin(X23);@bin(X24);@bin(X25);@bin(X26);@bin(X34); @bin(X35);@bin(X36);@bin(X45);@bin(X46);@bin(X56);

  28. 附 2 结果: Global optimal solution found at iteration: 0 Objective value: 400.0000 Variable Value Reduced Cost X12 0.000000 180.0000 X13 0.000000 260.0000 X14 1.000000 170.0000 X15 0.000000 310.0000 X16 0.000000 360.0000 X23 1.000000 80.00000 X24 0.000000 150.0000 X25 0.000000 290.0000 X26 0.000000 340.0000 X34 0.000000 150.0000 X35 0.000000 290.0000 X36 0.000000 340.0000 X45 0.000000 140.0000 X46 0.000000 250.0000 X56 1.000000 150.0000 Row Slack or Surplus Dual Price 1 400.0000 -1.000000 2 0.000000 0.000000 3 0.000000 0.000000 4 0.000000 0.000000 5 0.000000 0.000000 6 0.000000 0.000000 7 0.000000 0.000000

More Related