最短路算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(5.5)
根据互补松弛条件, 当x和u分别为原问题和对偶问题的最优解
时:
xij (u j ui wij ) 0, (i, j) A.
(5.6) 8
Bellman方程
当某弧(i,j)位于最短路上时, 即变量xij>0时, 一定有 u j ui wij
如果u为对偶问题最优解,易知u+c (c为任意实数)仍为最优解. 不妨令 us=0 ,则u的具体数值就可以唯一确定了. 相当于对节点j赋予的一个实数值uj(通常称为 “标号”),在 us=0时表示的正好是节点s到节点j的最短路的长度.
6
最短路问题的数学描述
xij表示弧(i,j)是否位于s-t路上:当xij =1时,表示弧(i,j) 位于s-t路上,当xij =0时,表示弧(i,j)不在s-t路上.
min wij xij (i, j )A
(5.1)
1, i s,
s.t.
xij
x ji


ຫໍສະໝຸດ Baidu1,
i t,
最短路问题的例子和意义
S
T
✓ 许多实际问题都可以转化为最短路问题
✓ 其有效算法经常在其它网络优化问题中作为子算 法调用
1
最短路问题的例子 - 单产品、无能力限制的批量问题
例5.1 (Single-level Uncapacitated Lotsizing)
某工厂生产某种产品用以满足市场需求,且已知在时段t中的市 场需求为dt . 在某时段t, 如果开工生产, 则生产开工所需的生 产准备费为st , 单件产品的生产费为ct .在某时段t期末, 如果有
一般都是指有向圈, 我们直接将正有向圈简称为“正圈”, 负
有向圈简称为“负圈”, 零有向圈简称为“零圈”, 而“无圈”
指的是不存在有向圈.
5
最短路问题 – 两点说明
最长路问题可以转化为最短路问题,把弧上的费用反号即可. ➢必须指出:目前为止,一切最短路算法都只对不含负有向圈 的网络有效. 对于含负有向圈的网络,最短路问题是NP困难的. ➢因此,本章中除非特别说明,一律假定网络不包含负有向圈. 无向网络上的最短路问题一般可以转化为有向网络上的问题. ➢如果所有弧上的权全为非负(或非正)数,只需将无向图的 一条边代之以两条对称的有向弧即可. ➢如果弧上的权有负有正,一般来说问题要复杂得多。
产品库存, 单件产品的库存费为ht . 假设初始库存为0, 不考虑 能力限制, 工厂应如何安排生产, 可以保证按时满足生产, 且
使总费用最小? (Wagner – Whitin,1958)
假设在时段t, 产品的生产量为xt , 期末产品的库存为It (I0 =0);
用二进制变量yt表示在时段t工厂是否进行生产准备.
Bellman方程(最短路方程、动态规划基本方程 )
us 0,
u j

min i j
{ui
wij }.
一般情况下直接求解最短路方程是相当困难的.
(5.7) (5.8)
9
最短路树(树形图)
定理5.1 对于只含正有向圈的连通有向网络,从起点s到任一顶 点j都存在最短路,它们构成以起点s为根的树形图(称为最短 路树(Tree of Shortest Paths)或最短路树形图(Shortest Path Arborescence)),最短路的长度可以由Bellman方程唯一确定.
w12
w23
w34
1
w11 2 w22
3 w33 4 w44
5
w13 w14
w24
3
例5.3 计划评审技术, 即PERT(Project Evaluation & Review Technique), 又称网络计划技术或统筹法)
大型复杂工程项目(Project)往往被分成许多子项目,子项目之 间有一定的先后顺序(偏序)要求, 每一子项目需要一定的时间 完成. PERT网络的每条弧表示一个子项目,如果以弧长表示每 一子项目需要的时间,则最早完工时间对应于网络中的最长路 (关键路线). 工程上所谓的关键路线法(CPM: Critical Path Method)基本上也是计划评审技术的一部分.
5
B6D
(开始) A
4 4
7
5
C 3E
6
F (结束) 1
项目网络不含圈, 其最长路问题和最短路问题都是可解的. 4
最短路问题
s
t
给定有向网络N,弧(i,j)对应的权又称为弧长(或费用).
对于其中的两个顶点s,t,以s为起点和t为终点的有向路称为 s-t有向路,其所经过的所有弧上的权(或弧长、费用)之和
称为该有向路的权(或弧长、费用).
所有s-t有向路中权(或弧长、费用)最小的一条称为s-t最短路.
对于有向网络中的一个圈,定义它的权为圈上所有前向弧上的 权的和, 减去圈上所有反向弧上的权. 权为正的圈称为正圈; 权 为负的圈称为负圈; 权为0的圈称为零圈.
对一个有向圈, 它的权就是圈上所有弧上的权的和. 本章的圈
j:(i, j )A
j:( j,i)A
0,
i s,t,
(5.2)
xij 0.
(5.3)
思考:为什么xij 可以不限定为{0,1}?
关联矩阵是全么模矩阵,因此0-1变量可以松弛为 区间[0,1]中的实数
不含负圈,变量直接松弛为所有非负实数 7
5.2.1 Bellman方程
min wij xij (i, j )A
T
T
假设费用均非负,则在最优解中 I0 IT 0 ,即 xt dt
t 1
t 1
可以证明:一定存在满足条件 It1xt 0(1 t T ) 的最优解.
可以只考虑 xt 0, dt , dt dt1, , dt dt1 dT 2
单产品、无能力限制的批量问题
记wij为第i时段生产量为 xi di di1 d j 时所导致的费用
(包括生产准备费、生产费和库存费), 即 wij si ci xi
其中 I t dt1 di2 d j (i t j 1)
h I j1
ti t t
网络:从所有节点i到j (> i)连一条弧, 弧上的权为wi,j-1 , 如T=4时:
1, i s,
s.t.

xij
x ji


1,
i t,
j:(i, j )A
j:( j,i)A
0,
i s,t,
xij 0.
(5.1) (5.2' ) (5.3)
对偶问题为
max(ut us )
(5.4)
s.t. u j ui wij ,(i, j) A.
相关文档
最新文档