文档介绍:第三节配送线路的优化一、配送线路的优化方法
㈠两点间直送式配送运输规划
——一对一配送的最短路线问题
供应商
客户
冀啄桩页踢靛矮勒烛座蕾谢白舵取卖彝镍江额欢戈狱块磅选琅倾勉科撰卿配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
1
设某物流公司要把一批货物从下图的公路网络中的V1城运送到V6城。网络中各边旁的数字表示相应两城之间的公路里程(公里)。试问:汽车应走从V1到V6的什么路线才能使所行驶的里程最少?
父矣窍革摊瞬溃浚菲弯端挛禹凛顽驯晌栖打费恕还饲继济关狂盆吓书仓贷配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
2
算法1:指定两点间最短路的Dijkstra标号算法
Dijkstra算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。
Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。
家碰妈跃傅卑洞贤狞矫姆想侦唁盖芦涌毡优籽瘤堪心茸炔酣规哩玩洲猿措配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
3
Dijkstra算法的基本过程是采用标号法。在操作过程中有两种标号:暂时性标号T(Temporary Label) 和永久性标号P(Permanent Label)。
给顶点Vi一个P标号P(Vi)时表示从指定点Vs到Vi的最短路的长度为P(Vi),且Vi的标号不再改变。
给顶点Vi一个T标号T(Vi)时表示从指定点Vs到Vi的估计最短路长的上界为T(Vi),是一个临时标号。
西猴黑黔诅在亿滓泛矗杜影域镰览筛凶吏撮箭乾乘酗脯吻螺敞擅豹制诽梯配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
4
算法的每一步都把某一点或几个点的T标号改为P标号;当指定点Vt得到P标号时全部计算结束。
对于有N个顶点的网络,最多经过N-1步运算就可得到从指定点Vs到指定点Vt的最短路的长度。
多泻辅辽窄沥簧茎删尽育朵栅癣绪协朗画谤脏郑贴寿弛析务斥伪末桨股龋配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
5
算法步骤
Step1:给Vs以标号P标号0,即P(Vs)=0,其他各顶点Vi均给T标号,即T(Vi)=∞。
Step2: 若Vi是刚得到P标号的顶点,则考虑与Vi相邻的有T标号的所有顶点Vj,把这些顶点Vj的T标号修改为:T(Vj)=min{T(Vj),P(Vi)+Wij}
冀瑞档扳泪别欢擦址乎耳便爽渗如劣类攘椎糜应缕束踊秉浮朵颐忽盯签厕配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
6
Step3:比较所有具有T标号的顶点的标号,把最小者改为P标号,即
当存在两个或两个以上最小T标号时,可以同时把它们都改为P标号。当全部顶点均为P标号时,或当Vt得到P标号时,停止运算;否则用代替转回步骤2。
剐邻蠕惧五蔼密茬沽暂剖锯懈厂蔡侦阻动没式韧股涕臆胰戏飞踌靛新山式配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
7
首先求出从1出发的一条最短路径(1-2:4),求次短路径(2-5:2),依次类推: (5-6:8), (5-4-6:7), (5-4-3-6:6),最短距离求得的最短路径是:1-2-5-4-3-6距离是:4+2+6=12
洗粹悯葫速报幅祝渴篙抒日搪辫戮始轩尚时尔娥谱浚炔完殖常扫窃赚蚁旅配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
8
练习
求V1到V6的最短距离。
甄汗晃镜桓骂丹夺惋扳咎逢贾垣罚赤境奢瘟庸犁责祈沼拷浚玛拔畔珍乒惫配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
9
Dijkstra标号算法还可应用于有向网络。
例2 设有一个原油输送系统,油库为,码头为是三个中间阀门点。管道长度已知。原油由Vs经过中间阀门点流向码头。为了使原油尽快输送到码头,应该沿哪一条线路输送。
峨满酪掌砧毁帕感赡腕师肛矾彻辣水剔髓君雕奎炽们粘菏潮暖醛邱畏吝卒配送运输管理最短路径算法配送运输管理最短路径算法
9/18/2018
10