网络优化第5章最短路问题.ppt
《网络优化第5章最短路问题.ppt》由会员分享,可在线阅读,更多相关《网络优化第5章最短路问题.ppt(33页珍藏版)》请在三一办公上搜索。
1、1,网 络 优 化,Network Optimizationhttp:/,清华大学数学科学系 谢金星办公室:理科楼2206#(电话:62787812)http:/,清华大学课号:70420133,第5章 最短路问题(Shortest Path Problem),2,许多实际问题都可以转化为最短路问题,其有效算法经常在其它网络优化问题中作为子算法调用,S,T,最短路问题的例子和意义,3,例5.1(Single-level Uncapacitated Lotsizing)某工厂生产某种产品用以满足市场需求,且已知在时段t中的市场需求为dt.在某时段t,如果开工生产,则生产开工所需的生产准备费为st
2、,单件产品的生产费为ct.在某时段t期末,如果有产品库存,单件产品的库存费为ht.假设初始库存为0,不考虑能力限制,工厂应如何安排生产,可以保证按时满足生产,且使总费用最小?(Wagner Whitin,1958),最短路问题的例子-单产品、无能力限制的批量问题,假设在时段t,产品的生产量为xt,期末产品的库存为It(I0=0);用二进制变量yt表示在时段t工厂是否进行生产准备.,假设费用均非负,则在最优解中,即,可以证明:一定存在满足条件 的最优解.,可以只考虑,4,单产品、无能力限制的批量问题,记wij为第i时段生产量为 时所导致的费用(包括生产准备费、生产费和库存费),即其中,网络:从所
3、有节点i到j(i)连一条弧,弧上的权为wi,j-1,如T=4时:,5,例5.3 计划评审技术,即PERT(Project Evaluation&Review Technique),又称网络计划技术或统筹法),大型复杂工程项目(Project)往往被分成许多子项目,子项目之间有一定的先后顺序(偏序)要求,每一子项目需要一定的时间完成.PERT网络的每条弧表示一个子项目,如果以弧长表示每一子项目需要的时间,则最早完工时间对应于网络中的最长路(关键路线).工程上所谓的关键路线法(CPM:Critical Path Method)基本上也是计划评审技术的一部分.,项目网络不含圈,其最长路问题和最短路问
4、题都是可解的.,6,最短路问题,给定有向网络N,弧(i,j)对应的权又称为弧长(或费用).对于其中的两个顶点s,t,以s为起点和t为终点的有向路称为s-t有向路,其所经过的所有弧上的权(或弧长、费用)之和称为该有向路的权(或弧长、费用).所有s-t有向路中权(或弧长、费用)最小的一条称为s-t最短路.,对于有向网络中的一个圈,定义它的权为圈上所有前向弧上的权的和,减去圈上所有反向弧上的权.权为正的圈称为正圈;权为负的圈称为负圈;权为0的圈称为零圈.对一个有向圈,它的权就是圈上所有弧上的权的和.本章的圈一般都是指有向圈,我们直接将正有向圈简称为“正圈”,负有向圈简称为“负圈”,零有向圈简称为“零
5、圈”,而“无圈”指的是不存在有向圈.,s,t,7,无向网络上的最短路问题一般可以转化为有向网络上的问题.如果所有弧上的权全为非负(或非正)数,只需将无向图的一条边代之以两条对称的有向弧即可.如果弧上的权有负有正,一般来说问题要复杂得多。,最短路问题 两点说明,最长路问题可以转化为最短路问题,把弧上的费用反号即可.必须指出:目前为止,一切最短路算法都只对不含负有向圈的网络有效.对于含负有向圈的网络,最短路问题是NP困难的.因此,本章中除非特别说明,一律假定网络不包含负有向圈.,8,xij表示弧(i,j)是否位于s-t路上:当xij=1时,表示弧(i,j)位于s-t路上,当xij=0时,表示弧(i
6、,j)不在s-t路上.,关联矩阵是全么模矩阵,因此0-1变量可以松弛为区间0,1中的实数,不含负圈,变量直接松弛为所有非负实数,思考:为什么xij 可以不限定为0,1?,最短路问题的数学描述,9,5.2.1 Bellman方程,对偶问题为,根据互补松弛条件,当x和u分别为原问题和对偶问题的最优解时:,10,Bellman方程,当某弧(i,j)位于最短路上时,即变量xij0时,一定有,如果u为对偶问题最优解,易知u+c(c为任意实数)仍为最优解.不妨令 us=0,则u的具体数值就可以唯一确定了.,Bellman方程(最短路方程、动态规划基本方程),相当于对节点j赋予的一个实数值uj(通常称为“标
7、号”),在us=0时表示的正好是节点s到节点j的最短路的长度.,一般情况下直接求解最短路方程是相当困难的.,11,定理5.1 对于只含正有向圈的连通有向网络,从起点s到任一顶点j都存在最短路,它们构成以起点s为根的树形图(称为最短路树(Tree of Shortest Paths)或最短路树形图(Shortest Path Arborescence),最短路的长度可以由Bellman方程唯一确定.,前一部分实际上是Bellman最优化原理的直接结果;后一部分中Bellman方程解的唯一性可以用反证法证明(略),最短路树(树形图),12,如果将定理中的条件“只含正有向圈”改为“不含负有向圈”:上
8、述最短路仍然存在;Bellman方程的解的唯一性可能不成立.,起点s到顶点的最短路长度分别是us=u1=0,u2=10,u3=11但此时只要u3=u2+1 11(us=u1=0)就可以满足Bellman方程.如 us=u1=0,u2=8,u3=9 等,最短路树(树形图),对于一般的网络,Bellman方程只是最短路长度必须满足的必要条件,而不是充分条件;对于只含正有向圈(或无圈)的连通有向网络,它才是充要条件.,13,最短路算法-,如果采用邻接表表示法,可首先计算各节点的入度;然后找入度为零者编号;去掉已编号节点及相关弧,同时修改相邻节点入度(只需扫描该去掉的节点的出弧);依次类推。,如果采用
9、邻接矩阵表示法,可首先计算各节点的入度;然后找入度为零者编号;去掉已编号节点及相关弧,同时修改相邻节点入度(只需扫描该去掉的节点的对应行);依次类推。,5.2.2 无圈网络,引理5.1(拓扑排序,Topological Ordering)设有向图D不含有向圈,则D的顶点总可以重新编号,使得.,该算法自然可以用来判断有向图是否无圈图.,14,最短路算法-,当网络是无圈时,这一最短路算法的复杂度为,5.2.2 无圈网络,当采用递推计算求解上述方程时,每个顶点和每条弧均被考虑一次.,这是求解最短路问题可能达到的最小的复杂度,因为任何算法都至少必须对每条弧考虑一次,15,最短路算法 例,例5.4 计算
10、如下网络(图5.4(a)中从节点A到所有其它节点的最短路.,计算过程:=0,=min0+1=1,=min0+(-1)=-1,=min0+5,1+(-2),-1+3=-1,=min-1+1,-1+4=0.,16,最短路算法-,算法通过不断修改这些标号,进行迭代计算.当算法结束时,距离标号表示的是从起点到该顶点的最短路长度.,基本思想:对于V 中每一个顶点j,赋予两个数值(通常称为“标号”):一个是距离标号uj,记录的是从起点到该顶点的最短路长度的上界;另一个是前趋标号pred(j),记录的是当起点s到该顶点j 的一条路长取到该上界时,该条路中顶点j 前面的那个直接前趋(节点).,迭代进行计算的过
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 优化 短路 问题

链接地址:https://www.31ppt.com/p-6334794.html