松弛算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总结
对于某些车间调度问题,拉格朗日松弛法可以有
效的求解出目标的下界。 具有很大的局限性
目标性能不可分时,很难使用拉格朗日松弛法解决 要能分解出多项式算法的子问题,否则求解困难
不可分性能指标
时间表长( schedule length, makes pan) 最大时间延误(maximum lateness)
松弛约束的选取 现有文献中常有的松弛约束:
松弛加工能力约束
子问题: 单任务调度
松弛顺序约束
子问题: 并行机调度
同时松弛加工能力约束和顺序约束
案例应用
mod el :
能力约束单机排序问题
0, zLR ( ) zIP
9
拉格朗日分解:
T z IP min c x Ax b s.t. Bx d n x Z z IP min cT x T T min{c x ( x y )} Ax b Ax b x y s.t. By d s.t. By d n x , y Z n x, y Z z LR1 ( ) min{cT x T x} s.t. Ax b xZ
Step1: 拉格朗日次梯度法求IP下界
Step2: 对所求解按一定的规则可行化
拉格朗日松弛理论: 等号约束的松弛
将等号约束 aij x j bi写成标准形式:
j=1 n n
a x
ij j=1
n
j
bi, aij x j bi
j=1 n n n
把两个约束吸收到目标函数有:
i1 (bi aij x j ) i 2 (bi aij x j ) (i1 i 2 )(bi aij x j )
拉格朗日松弛理论:
拉格朗日松弛LR是IP问题的一个下界,但我们应该 求与IP最接近的下界,即:
即有:
( LD) z LD max{z LR ( )}
0
我们称之为拉格朗日松弛的对偶问题
拉格朗日松弛算法(求下界): 拉格朗日松弛方法对偶问题的解法
次梯度算法
STEP1: 任选初始拉格朗日乘子 , t 1
t
t t g ( ) STEP2: 对 ,从 中任选一个次梯度s , t 若s 0则停,否则 t 1 max{ t st ,0}, t : t 1 重 复STEP2.
t
拉格朗日松弛法算法框架
对于车间调度问题的拉格朗日对偶问题一般采用大系统中的 分解协调的方法进行求解,这样原来的复杂的车间调度问题转 化为两层优化问题。
拉格朗日松弛方法概述
李冬 2013.09.16
松弛方法
1:松弛方法概述 2:拉格朗日松弛法 3:松弛方法在排产调度中的应用
4:总结
松弛方法概述
线性规划松弛 对偶规划松弛方法 代理松弛法 拉格朗日松弛方法
线性规划松弛方法: 将整数约束松弛为实数 此类算法适合于整数规划问题中,决策变量为较大
整数的情形. 此类算法分两阶段: 第一阶段为求松弛后线性规划 问题的最优解; 第二阶段为将解整数化,并考虑可行 性
n
Z min iTi
i 1
x
t 1 n i 1
Ti
it
di , i 1, 2
i it
n
(1) max{Ti , i 1 (3) n} (2)
{a x
s.t
siYit } ct , t 1 xit 0 other t 1, 2,
1, if Yit 0, i 1, 2 xit 0 n;
( SUBP :)
(2) 对所有
0求
max Z ( )
0
案例应用
能力约束单机排序问题
0
Step0 : T 1, 0, Z * 为算法A求得的目标值
Step1: 解SUBP,分别求每个产品的最优值,再由 求其次梯度, k 1 max{0, k k v( X )}若不满足判定 准则,则
i 1 t 1 t 1
n
T
再记 : h(i, X , T , ) iTi t (ai xit siYit ), 则有:
t 1
T
案例应用
( LRP :)
能力约束单机排序问题
Z max Z ( ) max min g ( X , T , ) X n T min h(i, X , T , ) ct t } max{ X i 1 t 1
n
z LR 2 ( ) min{ T y} and s.t. By d
n y Z
(7.3.8) 子问题约束
(7.3.9) 子问题约束
有:z LR1 ( ) zLR 2 ( ) zIP 其对偶形式:z LD max z LR1 ( ) zLR 2 ( )
X ( xit ) nT , T max{Ti | i 1, s.t. (1) (3)
n T n
n}
记: g(X,T, )= iTi t { [ai xit siYit ] ct }
i 1 t 1 T i 1
[iTi t (ai xit siYit )] t ct }
能力约束排序问题的拉格朗日松弛算法 案例应用 能力约束单机排序问题
mod el : Z max Z ( )
0
n T n
( LRP :)
max min{ iTi t { [ai xit siYit ] ct }}
X i 1 t 1 i 1
拉格朗日松弛法算法框架
上层属于协调层,对应于对偶问题,更新拉 格朗日乘子以极大化对偶函数,并且以此来 协调子问题,尽可能满足被松弛的约束。 下层对应于松弛问题,根据初始或者对偶计 算中得到的拉格朗日乘子,分解为各个子问 题求解,来求原问题的拉格朗日松弛问题。
拉格朗日启发式算法 拉格朗日启发式算法
(1)当 k 1 (T ) 0时,k k 1, 返回step1; (2)当 k 1 (T ) 0时,T T 1, k 1 (T ) 0, k k 1, 返回step1; 若满足判停准则,则转step2.
Step2 : 若所求到的解为WCS可行解则停;否则将其 可行化.
j=1 j=1 j=1
若令i i1 i 2 , 则i 无非负约束。
松弛方法在排产调度中的应用
车间调度问题的性能指标 松弛约束的选取 车间调度问题基于拉格朗日松弛法的 算法框架
案例应用
车间调度问题的性能指标
基于拉格朗日松弛法(Lagrangian Relaxation
LR) 的车间调度问题,它求解的算法独特性
求解以上LRP问题分以下两步: (1)对给定的
0 , 求下子问题(SUBP)
T h(i, X , T , ) min{iTi t ( ai xit siYit )} min X X t 1 s.t. (1) (3) , 得 n T Z ( ) min h(i, X , T , ) ct t i 1 t 1
对偶规划松弛:
根据对偶理论,将问题转化为其对偶问题
原问题与对偶问题有相同的最优值
对偶问题并没有改变原问题的本质,在使用时应比较哪个 更简单
代理松弛法: 当问题中约束数量过多时,代理松弛一个约
束替代原问题中的K个约束,甚至全部约束
代理松弛法保证目标函数,整数规划约束不变
代理松弛法求得的解不一定可行
拉格朗日松弛法: 将目标函数中造成问题难的约束吸 收到目标函数中,
并保持目标函数的线性,使问题容易求解. 松弛原问题的难约束,得到原问题的一个下界,通
过这个下界我们可以对算法好坏进行评价
构造拉格朗日启发式算法,来寻找问题的近优解
拉格朗日松弛法
拉格朗日松弛理论
IP : Z IP min cT x s.t. Ax b, (难约束) Bx d(简单约束) , n x Z .
案例应用
能力约束单机排序问题
Ti:完成di 所需要的时段; xit:t时段产品i的产量;di : 产品i的需求; ai:产品i的单位产品所占用的生产能力; ct:t时段可提供的生产能力; si: i产品的生产准备所占用的能力。
约束条件(1): 产品需求量约束
约束条件(2): 个时段产能约束 约束条件(3): 准备时间
体现在目标函数的选择上。
拉格朗日松弛法将车间调度问题中的难约束
松弛,从而将 NP-hard 问题分解为若干多项
式时间内可解的子问题。因此目标问题的性
能可分性显的非常重要。
车间调度问题的性能指标 这里将车间调度问题的经典性能指标划分为: 可分性能指标
加权总误工(total weighted tardiness) 加权总完工时间(total weighted completion time)
原 整 数 规 划 问 题
n S {x Z | Ax b, Bx d}
LR :
n SLR {x Z | Bx d}
Z LR ( ) min{cT x T (b Ax)} Bx d(简单约束) , s.t. n x Z .
拉 格 朗 日 松 弛