对偶单纯形法详解
运筹学及其应用4.3 对偶单纯形法
min w= 2x1+3x2+4x3+0x4+0x5 x1+2x2+ x3-x4= 1 2x1- x2+3x3– x5=4 x1,x2,x3,x4,x5≥ 0
min w= 2x1+3x2+4x3+0x4+0x5 -x1-2x2- x3+x4= -1 -2x1+x2-3x3+x5= -4 x1,x2,x3,x4,x5≥ 0
4
234 000
0
x1 x2 x3 x4 -1 -2 -1
x4 x5 b 1 0 -1
max
2 −2
4 ,
−3
=
−1
0 x5 -2* 1 -3 0 1 -4
σ 234 000
0 x4 0 -2.5 0.5 1 -0.5 1
2 x1 1 -0.5 1.5 0 -0.5 2
σ 0 4 1 0 1 -4
步骤:(1)保持σj ≥ 0,j= 1,···,n,确定XB,建立计算表格; (2)判别XB = B-1b ≥ 0是否成立? ①若成立,XB为最优基变量; ②若不成立,转(3);
1
步骤:(1)保持σj ≥ 0,j= 1,···,n,确定XB,建立计算表格;
(2)判别XB = B-1b ≥ 0是否成立? ①若成立,XB为最优基变量; ②若不成立,转(3);
5
• 作业 • P81 1.12(1)
6
§3 对偶单纯形法
单纯形法:由 XB = B-1b ≥ 0,使σj ≥ 0,j = 1,···,m 对偶单纯形法:由σj ≥ 0(j= 1,···,n),使XB = B-1b ≥ 0 相同点:都用于求解原问题
2.4对偶单纯形法(经典运筹学)
引进人工变量 x 6,x 7 max Z ′ = −2 x1 − x 2 − Mx 6 − Mx 7 3 x1 + x 2 − x3 + x 6 = 3 4 x + 3 x − x + x = 6 2 4 7 s.t 1 x1 + 2 x 2 + x 5 = 3 x1 , x 2 , x3 , x 4 , x5 ≥ 0
ax于是nxbx若所有的检验数为最优解则存在更好的基本可行分量的列向量中至少有一个且该分量对应中至少有一个分量若检验数域内无上界则目标函数值在可行解向量中所有的分量且该分量对应的列中存在一个分量检验数持对应的基本解可行在迭代过程中始终保做换基迭代个数越来越少最终的分量常数项检验行变量否则选定入基出基对该单纯形表做行变换常数项检验行否则换基迭代对该单纯形表做行变换选定入基出基变量要条件
≤ 0 Z- CBB-1b
例:求min Z = 2x1 + x2 3x1 + x2 ≥ 3 4x + 3x ≥ 6 1 2 s.t x1 + 2x2 ≤ 3 x1 , x2 ≥ 0 检验行 ≤0 解:标准型为
max Z ′ = − 2 x 1 − x 2 3 x1 + x 2 − x 3 = 3 4x + 3x − x = 6 1 2 4 s .t 基B的典则形式 x1 + 2 x 2 + x 5 = 3 x1 , x 2 , x 3 , x 4 , x 5 ≥ 0
对偶单纯形法是求解对偶规划的一种方法 × 对偶单纯形法:利用对偶理论得到的一个 求解线性规划问题的方法
单纯形法(原始单纯形法)的两个条件:
1、问题为标准型 2、有初始基本可行解
对偶单纯形法详解
列表求解如下:
CB
XB
0
y3
0
y4
0
y5
-Z
比
cj yj b
-3 -9 0 y1 y2 y3
00 y4 y5
-2
-1 -1 1 0 0
-3
-1 -4 0 1 0
-3
-1 -7 0 0 1
0
-3 -9 0 0 0
值 -3/-1 -9/-1 --- --- ---
CB
XB
-3 y1
0
y4
0
y5
-Z
比
ቤተ መጻሕፍቲ ባይዱ
谢谢观赏
MinW 2x1 3x2 4x3
s.t.
2xx112xx223xx33
3 4
x1, x2, x3 0
化为标准型 →
MaxZ 2x1 3x2 4x3
s.t.
2xx112xx223xx33xx45
3 4
x1, x2, x3, x4, x5 0
y1 y2 2
s.t.
y1 y1
4y2 7 y2
3 3
化为
y1 y2 y3 2
标准型
→
s.t.
y1 y1
4 7
y2 y2
y4 y5
3 3
y1 0, y2 0
y1,, y5 0
将三个等式约束两边分别乘以-1,然后
3、计算步骤:
①建立初始单纯形表,计算检验数行。
解答列≥0——已得最优解; 检验数全部≤0 (非基变量检验数<0)
至少一个元素<0,转下步;
至少一个检验数>0
(完整版)对偶单纯形法详解
一、什么是对偶单纯形法?
对偶单纯形法是应用对偶原理求解原始 线性规划的一种方法——在原始问题的单 纯形表格上进行对偶处理。
注意:不是解对偶问题的单纯形法!
二、对偶单纯形法的基本思想 1、对“单纯形法”求解过程认识的提升— —
从更高的层次理解单纯形法 初始可行基(对应一个初始基本可行解)
3 4
x1, x2 , x3, x4, x5 0
以此形式进行列表求解,满足对偶单纯形 法的基本条件,具体如下:
CB
XB
0
x4
0
x5
cj -2 -3 -4 0 0
xj b
x1 x2 x3 x4 x5
-3
-1 -2 -1 1 0
-4
-2 1 -3 0 1
-Z
0
-2 -3 -4 0 0
比
值 -2/-2 --- -4/-3 --- ---
2/5
11/5
-2 -3 -4 0 0 x1 x2 x3 x4 x5
0 1 -1/5 -2/5 1/5 1 0 7/5 -1/5 -2/5
cj-zj
0
0 0 -3/5 -8/5 -1/5
最优解: X*=(11/5,2/5, 0, 0, 0)T,
最优值: minW= -maxZ* = -[11/5×(-2)+2/5×(-3)]= 28/5
将三个等式约束两边分别乘以-1,然后
列表求解如下:
CB
XB
0
y3
0
y4
0
y5
-Z
比
cj yj b
-3 -9 0 y1 y2 y3
00 y4 y5
-2
-1 -1 1 0 0
对偶单纯形法
把上述思想移植到对偶问题上。
对偶单纯形法迭代过程的实质是:保持对偶问题的可行性(只要检验数≤0即可), 通过改变对偶问题的可行基,使原问题由不可行变为可行。根据对偶理论,这两 个可行解就是原始和对偶问题的最优解。
例2.4.1 用对偶单纯形法求解下列线性规划问题。 min z = 15x1+24 x2 +5 x3
6 x2 + x3 ≥2
st.
5x1+2 x2 + x3 ≥1
x1 , x2 , x3 ≥0
解:把线性规划问题化为标准形式。
max z′ = -15x1-24 x2 - x3 +0 x4 +0 x5
-2/3是主元素, x3是换入变量。
ቤተ መጻሕፍቲ ባይዱj
-15 -24 - 5
CB
XB
b
x1
x2
x3
-24
x2 1/4
-5/4
1
0
表 11
0
0
x4
x5
-1/4 1/4
5
x3 1/2 15/2
0
1
1/2 -3/2
(cj-zj) 或 j
-15/2 0
0
-7/2 -3/2
由于原始,对偶都已经可行,所以,表11对应的解是最优解。
求极大为标准形式时
min j
c
j
arj
z
j
arj
0
cs zs ars
求极小为标准形式时
min j
z
j c arj
j
arj
0
运筹学对偶单纯形法
max z = -2x1 - 3x2 - 4x3 -x1 - 2x2 - x3 + x4 = -3 -2x1 + x2 - 3x3 + x5 = -4 xj ≥ 0,j = 1,2,3,4,5
建立这个问题的初始单纯形表
cj→
-2 -3 -4 0 0
?
(2) 先确定换出变量:若 min{(B-1b)i|(B-1b)i <0} = (B-1b)l
对应的基变量xl为换出变量。(实际上,可取任何一个取 负值的基变量作为换出变量。取最小的含义是尽快)
(3) 确定换入变量: 检查xl所在行的各系数alj(j = 1,2,…,n)。 若所有的 alj0,则无可行解,停止计算。
§6 对偶单纯形法
在 原 来 的 单 纯 形 表 中 进 行 迭 代 时 , 前 提 要 求 右 端 项 b≥ 0(基可行解),迭代过程中在b列中得到的是原问题的基可行解, 在检验数行得到的是对偶问题的基解。当检验数行也是对偶 问题的基可行解时,原问题与对偶问题都得到最优解。
对偶单纯形法原理:根据对偶问题的对称性,保持对偶问 题的解是基可行解,即cj-CBB-1Pj ≤ 0,同时取消对解答列元 素非负的限制,在原问题非可行解的基础上, 通过逐步迭代达 到基可行解,这样就得到了最优解。
1、对应基变量x1,x2,… ,xm的检验数是
σ i = ci – zi = ci - CB B-1Pi = 0,i = 1 ,2 , … ,m
2、对应非基变量xm+1,… ,xn的检验数是
σ j = cj – zj = cj - CB B-1Pj 0,j = m+1 , … ,n
16.对偶理论(三)对偶单纯形法
16.对偶理论(三)对偶单纯形法⼉童节快乐呀这⼀部分我们考虑原问题是标准型的问题,并且介绍对偶单纯形法。
在上⼀节的强对偶定理的证明中,对标准型问题使⽤单纯形法,定义了对偶变量p为p T=c T B B−1。
然后由原问题最优性条件c T−c T B B−1A≥0T得到了等价表达的对偶可⾏性条件p T A≤c T。
那么我们之前介绍的单纯形法可以看作是在保证原问题可⾏的前提下去寻找对偶可⾏的解。
那么反过来,我们也可以从对偶可⾏的前提下去寻找原问题可⾏的解,这种算法称为对偶算法。
在接下来,将介绍对偶单纯形法。
并且说明这个算法事实上求解了对偶问题,更近⼀步,它是从对偶问题的⼀个基本可⾏解移动到另⼀个。
对偶单纯形法考虑⼀个标准型的线性规划问题,假设矩阵A是⾏满秩(为什么这个假设具有⼀般性,可参考线性规划中的⼏何(三))。
记B为基本矩阵,它包含了矩阵A的m个线性⽆关的列。
考虑下表(与之前介绍的单纯形法中的表⼀样)更详细的有不过,在这⾥不再要求B−1b是⾮负的,那就说明此时的解是⼀个原问题的基本解但不⼀定是可⾏解。
但是,我们要求¯c≥0成⽴,也相当于p T A≤c T成⽴(具体见上⼀节强对偶定理证明)。
这说明现在有了⼀个对偶问题的可⾏解,并且对偶问题的⽬标函数值为p T b=c T B B−1b=c T B x B,这恰好就是上表中的左上⾓元素的相反数。
如果不等式B−1b≥0也成⽴,那么这个解也将是⼀个原问题的可⾏解,并且⽬标函数值相同,这说明我们找到了原问题和对偶问题的最优解。
如果不等式B−1b≥0并不成⽴,那么我们将寻找下⼀个基矩阵。
找到满⾜x B(l)<0的l,考虑表中的第l⾏为pivot ⾏(x B(l)),v1,⋯,v n),其中v i为B−1A i的第l个元素。
对于满⾜v i<0的所有i(如果存在的话),我们计算⽐率¯c i/|v i|,然后记j为这些⽐率中最⼩的那个的下标(为什么这么选呢,后⾯会说),也就是说v j<0且¯cj|v j|=min{i∣v i<0}¯ci|v i|.称v j为pivot 元素。
对偶单纯形法
1. 换出变量的确定原则
常数列中最小的负元素所在的行所对应的基变量为换出变量.
p11-1
§3.4 灵敏度分析
运筹学
灵敏度分析——研究系数变化对最优解的影响.
一、改变价值向量
在最终表内, cr的变化只引起检验数的变化, 需重新计算检验数.
§3.3 对偶单纯形法
运筹学
一、对偶单纯形法与单纯形法的区别
对 运用对偶单纯形法时, 不需要引入人工变量, 但必须先给 定原问题的一个对偶可行基本解.
二、对偶单纯形法的求解方法
▲ 以求解下述线性规划 问题为例
min z 2x1 3x2 4x3 s.t. x1 2x2 x3 3
二、改变资源向量
在最终表内, br的变化只引起右端项的变化, 需重新计算右端项. 利用B-1(b+b).
三、改变A中的一列
通常是非基变量所对应的列, 需重新计算检验数.
四、增加一个新的约束条件
五、增加一个新的变量
p11-2
运筹学
作业:P81第1.12题之(2); 第1.13题
p11-3
运筹学之对偶单纯形法
单 纯 形 表
x1
x4 x5
检验数
-1 -1 4
x2
-1 1 1
x3
-1 4 3
x4
1 0 0
x5
0 1 0
常数列 -5
-3 0 有负分量
0
二.对偶单纯形法的迭代步骤: 例2-8 4.确定进基变量: min Z 4 x1 x2 3 x3 在出基变量所在的行中,找出非基变 x x x x 5 1 2 3 4 量列中的负系数,用相应的检验数分 x1 x2 4 x3 x5 3 别除以这些负系数,再取绝对值,所 得正比值中最小者相应的非基变量进 x1 , x2 , x3 , x4 , x5 0
式,可 用两阶 段法求 解,麻 烦!
min Z 4 x1 x2 3 x3
x1 x2 x3 x4 5 x1 x2 4 x3 x5 3 x1 , x2 , x3 , x4 , x5 0
注:对偶单纯形法适用于目标函数系数都 0,不等 式约束都 0 的问题。
单 纯 形 表
x1
x2 x1
检验数
1 0 1 0
x2
1 0 0
x3
5/2 1 -3/2 13/ 2
x4
-1/2 -1 -1/2 5/2
x5
常数列 1/2 0 1 5
4 -17
-1/2 3/2
( 1)
0
换基运算完成。得到新的单纯形表。
二.对偶单纯形法的迭代步骤: 例2-8 min Z x 3 x3 x 2.最优性检验: min Z4 x4 1x 2x 1 2 3 3 x1 x x x x 5 2x 3x 45 若当前常数列 0,则得到最 1 2 3 x1 x x 4 x4 x 3 优表。 x x 3 2 3 5 1 2 3 x1 , xx xx xx 0 5 0 2,, 3,, 4, x
对偶单纯形法
3x2 2x2
x4 x5
x7 3
6
用单纯形 法求解
x1, x2 , x3 , x4 , x5 0
对偶单纯形法的优点:
1、不需要人工变量;
2、当变量多于约束时,用对偶单 纯形法可减少迭代次数;
3、在灵敏度分析中,有时需要用对 偶单纯形法处理简化。
注意:对偶单纯形法仅限于初始基B对应
X(0)为基本可行 解的X(条0)件为?最优解的 条件?
B-1b≥0 C CBB1 A 0
原问题最优解条件
令Y=CBB-1,代入原问题最优解条件,→YA≥C
min Yb
YA C Y无符号限制
取基本解X1 B1b,0
保证对偶问题的可行性,逐
步改进原问题的可行性,求
x1 x3 2
s.t
x2
2x3
5
x1,x2,x3 0
若取初始基B1 P4,P5
则关于B1的标准型为
max Z 4x1 3x2 8x3
不s可.t 行 x1x2
x3 2x3
x4
2 x5 5
x1,x2,x3 , x4 , x5 0
且由对偶理论知,Y0 CB B 1为(D)的最优解
对偶单纯形法步骤:
1. 列出初始单纯形表,检查b 列的数字若都为非负, 则已得到最优解,停止计算,若b列的数字中至少 有一个负分量,转第二步。
2. 确定出基变量
按 min B1b i B1b i 0 B1b l ,对应的基变量法: 求max Z x6 Mx9
2x2 x3 x4 x5
x9 1
对偶单纯形法详解课件
终止准则
算法终止的准则有多种,如达到预设的 最大迭代次数、解的变化小于预设阈值 等。
VS
终止判断
在每次迭代后,需要判断是否满足终止准 则,如果满足则算法终止,否则继续迭代 。
04 对偶单纯形法的优化策略
预处理技术
预处理技术
通过预处理,可以消除原问题中的冗 余约束,简化问题规模,提高求解效 率。
线性规划问题的转化
对偶单纯形法详解课 件
目录
CONTENTS
• 对偶单纯形法简介 • 对偶单纯形法的基本原理 • 对偶单纯形法的实现步骤 • 对偶单纯形法的优化策略 • 对偶单纯形法的案例分析 • 对偶单纯形法的展望与未来发展方向
01 对偶单纯形法简介
对偶问题的定义
对偶问题是指原问题的一个等价形式,其目标函数和约束条 件与原问题互为对偶。在优化问题中,对偶问题通常用于求 解原问题的最优解。
对偶单纯形法的应用场景
对偶单纯形法广泛应用于各种优化问题,如线性规划、整数规划、二次规划等。 它适用于求解大规模优化问题,并且具有较高的计算效率和精度。
在实际应用中,对偶单纯形法可以与其他优化算法结合使用,如梯度下降法、共 轭梯度法等,以提高求解效率和精度。同时,对偶单纯形法也可以用于解决一些 复杂的组合优化问题,如旅行商问题、背包问题等。
对偶问题的形式取决于原问题的类型和约束条件。例如,线 性规划的对偶问题就是将原问题的目标函数和约束条件进行 线性变换,得到一个新的优化问题。
对偶单纯形法的概念
对偶单纯形法是一种求解线性规划的方法,它利用对偶问 题的性质,通过迭代和交换变量的方式,逐步逼近最优解 。
在对偶单纯形法中,每次迭代都包括两个步骤:一是根据 对偶问题的最优解更新原问题的解;二是根据原问题的最 优解更新对偶问题的解。这两个步骤交替进行,直到达到 最优解或满足一定的停止准则。
对偶单纯形法(经典运筹学)
解:问题化为标准型 max Z 2 x1 x 2 5 x1 x 2 x3 2 x 2 x3 x 4 5 s.t 6x xx 9 xx 2 2 6 x3 3 5 5 9 44 x1 , x 2 , x3,x 4,x5 0
X1 X2 X3 X4 X 5
2 检 0 1 -1 1 2 -4 0 -2 1 1 -6 0 0 1 0 0 0 0 1
Z Z-10
X1 1 X4 0
5 5 -9
X5 0
4
14 13 X1 X 2 X 3
检
X1 X4
0 1 0 0 0 0 0 1
X4
X5
-1/4 Z-31/4 1/4 1/2 11/4 1/2
所在行的基变量出基 则取br
4、以ari0 为主元素进行换基迭代 ,得一新的单纯形表, 转2
例:用对偶单纯形法 求解下列问题 max Z 2 x1 x 2 x1 x 2 x3 5 2x x 5 11 9 2 3 最优解 X ( ,) s.t 4 4 4 x 6 x 9 2 3 31 x1 , x 2 ,Z x3 0 最优值
-1/2 0 -1/2 0 -2 3/2 1 0
X2
-1/4 9/4
11 9 1 最优解 X ( ,, 0, , 0 ) 4 4 2 初始基 B (P ) 1,P 4,P 5 31 最优值 Z 不是典则形式 4
注意:对偶单纯形法仅限于初始基B对应 可用对偶单 的典则形式中目标函数的系数(检 纯形法 验数)均≤0的情形。 B的典则形式
对偶单纯形法是求解对偶规划的一种方法 × 对偶单纯形法:利用对偶理论得到的一个 求解线性规划问题的方法
单纯形法(原始单纯形法)的两个条件:
对偶单纯形法
使计算简化。但在初始单纯形表中其对偶问题应是基
本可行解这点,对多数线性规划问题很难实现。因此 对偶单纯形法一般不单独使用,而主要应用于灵敏度 分析及整数规划有关章节中。
>
0
,
故
同
样
有
⎛ ⎜
c
⎜⎝
j
−
z
j
⎞′
⎟ ⎟⎠
≤
0
。
Step3 用换入变量替换换出变量,得到一个新
b 的基。用新的基再检查是否所有 i(i=1,…,m)≥ 0。
如果是,找到了问题的最优解,如果否,再回到第
1 步在重复计算。
由对偶问题的基本性质知,当对偶问题存在可
行解时,原问题可能存在可行解,也可能无可行解。
⎧
⎪⎪−2
⎪
y1
−
4
y2
+
y4
=
−2
St
⎪⎨−2
⎪
y1
−
5
y3
+
y5
=
3
⎪ ⎪ ⎪
y1,
y2,
y3,
y4,
y5
≥
0
⎩
列出单纯形表,并用单纯形法求解,计算步骤见表
2-7
cj
-12 -16 -15
cb 基 b y1
y2
y3
0 y4 -2 -2
-4
0
0 y5 -3 -20ຫໍສະໝຸດ [-5]Cj-zj
-12 -16 -15
cj-zj
0 … 0 … 0 cm+1-zm+1 … cs-zm+1 … cn-zn
对偶单纯形法的计算步骤如下: Step1 确定换出基的变量 存在小于零的 bi 时,令 br = min{bi},其对应变量 xr 为换出基的变量。 Step2 确定换入基的变量 (1) 为使迭代的表中第 r 行基变量为正值,因而只
第4章05-对偶单纯形法
第4章05对偶单纯形法同学们,大家好,今天我们来学习对偶单纯形法。
我们先看一下对偶单纯形法的原理。
前面讲单纯形法的时候,我们知道,一个基B 如果是最优基,那么它必须满足下面的三个条件:(1)B 是可逆的;(2)B -1b ≥0;(3)C−C B B -1A ≤0。
(1)B 可逆;(2)10B b -≥;(3)10B C C B A --≤我们在用单纯形法进行求解的时候,是先找到一个满足了前两个条件的可行基,然后在迭代过程中再逐步满足第三个条件,从而找到最优解。
而对偶单纯形法是先找到一个基满足第一个和第三个条件,然后在迭代过程中逐步满足第二条,最后也同样找到最优解。
我们把满足第一和第三个条件的基称为正则基。
也就是说,单纯形法是先找一个可行基,然后逐步迭代找到最优基;而对偶单纯形法是先找一个正则基,然后再逐步迭代找到最优基。
关于对偶单纯形法,我们还需要注意下面三点:首先,在判定最优解时,单纯形法中根据的是检验数行,而对偶单纯形法中根据的是检验数列,也就是单纯形表中右端项的列。
第二,对偶单纯形法是求解线性规划模型的另一种方法,而不要简单的理解为对偶单纯形法就是求解对偶线性规划模型。
第三,使用对偶单纯形法时,需要先找到正则基,但实际上找一个正则基并不容易,所以,对偶单纯形法往往不单独使用,而是与第五章的灵敏度分析配合使用。
下面我们通过例4-7来说明对偶单纯形法是如何操作的。
例4-71212121212min 233436st.22,0z x x x x x x x x x x =+--≤-⎧⎪--≤-⎪⎨--≤-⎪⎪≥⎩第一步,先把它化成标准型,写出约束矩阵A ,右端项b ,以及价值向量C ,如下所示。
1234512312412512345max 200033436st.22,,,,0z x x x x x x x x x x x x x x x x x x x =--++++-=⎧⎪+-=⎪⎨+-=⎪⎪≥⎩311004*********-⎛⎫ ⎪=- ⎪ ⎪-⎝⎭A ,362⎛⎫⎪= ⎪ ⎪⎝⎭b ,()21000=--C 第二步,找初始基。
4_4对偶单纯形法
对偶单纯形法的基本思路 对偶单纯形法的计算步骤
对偶单纯形法的基本思路
单纯形法的基本思路:
原问题基可行解
最优解判断
b~ B1b 0
j cj zj 0
对偶问题 最优解判断
对偶问题的可行解
对偶单纯形法 基本思路
对偶单纯形法的计算步骤
线性规划问题
max z CX
AX X
例、m用iny对4( 换偶2出,单换1纯)出形法2 求解线性规划问题:
cj
15 24 5 0 0
CB YB b
y1
y2 y3
y4
y5
0 y4 2 0 6 1 1 0
0 y5 1 5 2 1 0 1
c j z j 15 24 5 0 0
使022对44a1偶4yyy525224问111题,1//6/基43340变 量0050,1 可5/54行,5110004
c
j
arj
z
j
arj
0
cs zs ars
ars 为主元素,xs 为换入基变量
例、用对偶单纯形法求解线性规划问题:
min w 15 y 24 y 5y
1
2
3
s.t
6y y 2
2
3
5y 2y y 1
1
2
3
y,y ,y 0
1
2
3
对偶问题的 初初始始可可行行基基
mmaaxx ww 1155y11 24 y22 5y33 s.ts-.5t5yy11y1y6,221yyy,yy222y22,2,yyy,y333y3,5yy5y440yy0552211
15 24 5 0 0
24 y2 1/ 3 0 1 1/ 6 1/ 6 0 0 y5 1/ 3 5 0 2 / 3 1/ 3 1 c j z j 15 0 1 4 0
2-4对偶单纯形法
Max w 15 y1 24 y2 5 y3 6 y2 y3 y4 2 s.t. 5 y1 2 y2 y3 y5 1 y , y , y , y , y 0 1 2 3 4 5
则第一个基为B1=(P4,P5)=I
基变量为y4,y5
以为中心元素进行迭代Leabharlann 没 是 有 可 行 解 计算
0
以为中心元素进行迭代
单纯形法
典式对应原规划的基 本解是可行的
所有 j
对偶单纯形法
典式对应原规划的基 本解的检验数 得到 是 最优解
所有 bi 否
0
否
是
0
计算
k max j j 0
所有aik
没 有 最 优 解
停
计算
be minbi bi 0
所有 alj 否
0
否
是
计算
bi be min aik 0 aik aek
第一个对偶可行基对应的单纯形表如下
T(B1)
XB
b
Y1 -2 -1 -1
Y2 -1 -3 -1
Y3 1 0 0
Y4 0 1 0
Y5 0 1 1
Y3 -4 Y -6 4 Y -3
5
w
0
-2
-3
0
0
0
对偶单纯形法举例(例2-3) T(B1)
XB
b
Y1 -2 -1 -1 -2
Y2 -1 -3 -1 -3
解: 先将原问题化为下列形式
2 y1 y2 y3 4 y 3 y y 6 1 2 4 s.t. y1 y2 y5 3 y1 , y2 , y3 , y4 , y5 0
09-1对偶单纯形法
2013-2014(1)专业课程实践论文对偶单纯形法对偶单纯形法是解决线性规划问题的一种方法。
考虑线性规划:123231231,2,3min z=15245.. 62 5210x x x s t x x x x x x x x ++⎧⎪+≥⎪⎨++≥⎪⎪≥⎩引进剩余变量45,x x ,将其化为标准形并列成表格为0 6 1 -1 0 5 2 1 0 -1 2115 24 5 0 0 0为使中心部位具有单位子块,易想到把底线以上部分均变号,于是有0 -6 -1 1 0 - 5 -2 -1 0 1 -2-115 24 5 0 0 0可见此表以具备特点1、3、4。
当一个线性规划问题具有特点1-中心部位具有单位子块,特点3-底行相应于单位子块位置元素为0,特点4-底行其他元素非负等三个特点而同时又不具有特点2-右行列元素非负特点,即满足特点1、3、4时可使用此方法求出最优解。
此方法运用所允许的运算,始终不破坏第1、3、4三个特点,而逐步调出第2个特点的办法,以解出最优解。
其具体的步骤为:1. 从右列负元素中任选一个。
如上例选-2;2. 从所选行位于中心部位的负元素中确定一个,由于要保持第3、4的特点不被破坏,理应取相应底行的元素与该负元素之比中最大者。
如上例中由24524max ,,616⎧⎫=⎨⎬---⎩⎭所以选-6.3. 进行旋转运算。
如上例旋转以后得0 1 1/6 -1/6 0 - 5 0 -2/3 -1/3 1 1/3- 1/315 0 1 4 0 -8如此往复直至第2个特点也被满足,并得到最优解。
该matlab 程序可以解决在标准形下满足第1、3、4特点的线性规划问题。
建立函数function x=lindual(c,A,b)[n1,n2]=size(A);A=[-A,eye(n1)];c=[-c,zeros(1,n1)];x1=[zeros(1,n2),b'];lk=[n2+1:n1+n2]; b=-b;while(1)x=x1(1:n2);s1=[lk',b,A];c;x1;cc=[];ci=[];for i=1:n1if b(i)<0cc=[cc,b(i)];ci=[ci,i];endendnc=length(cc);if nc==0fprintf('达到最优解');breakendcliu=cc(1);cl=ci(1);for j=1:ncif abs(cc(j))>abs(cliu)cliu=cc(j);cl=j;endendcc1=[];ci1=[];for i=1:n1+n2if A(cl,i)<0cc1=[cc1,A(cl,i)];ci1=[ci1,i];endendnc1=length(cc1);if nc1==0fprintf('无可行解');breakendcliu=c(ci1(1))/cc1(1);cl1=ci1(1);for j=1:nc1if c(ci1(j))/cc1(j)<cliucliu=c(ci1(j))/cc1(j);cl1=ci1(j);endendb(cl)=b(cl)/A(cl,cl1);A(cl,:)=A(cl,:)/A(cl,cl1);for k=1:n1if k~=clb(k)=b(k)-b(cl)*A(k,cl1);A(k,:)=A(k,:)-A(cl,:).*A(k,cl1);endendc=c-c(cl1).*A(cl,:);x1(lk(cl))=0;lk(cl)=cl1;for kk=1:n1x1(lk(kk))=b(kk);endx=x1(1:n2);end四、算法实现例1. 用对偶单纯形法解下列线性规划123231231,2,3min z=15245.. 62 5+210x x x s t x x x x x x x x ++⎧⎪+≥⎪⎨+≥⎪⎪≥⎩解:利用matlab 数学软件的解答方法为:(1)输入题中已知条件:>>c=[15 24 5];A=[0 6 1;5 2 1];b=[2;1];(2)调用函数求出最优解:>>x=lindual(c,A,b)(3)求最优值:>>z=c*x ’运行结果如下:例2. 用对偶单纯形法解下列线性规划1212121,2min z=.. 24 +770x x s t x x x x x x +⎧⎪+≥⎪⎨≥⎪⎪≥⎩解:利用matlab 数学软件的解答方法为:(1)输入题中已知条件:>> c=[1 1];A=[2 1;1 7];b=[4;7];(2)调用函数求出最优解:>>x=lindual(c,A,b)(3)求最优值:>>z=c*x ’运行结果如下:例3. 用对偶单纯形法解下列线性规划12341234123412341,2,3,4min z=324.. 2450 372252615 0x x x x s t x x x x x x x x x x x x x x x x +++⎧⎪+++≥⎪⎪-+-≥⎨⎪+++≥⎪≥⎪⎩解:利用matlab 数学软件的解答方法为:(1)输入题中已知条件:>> c=[3 2 1 4];A=[2 4 5 1;3 -1 7 -2;5 2 1 6];b=[0;2;15];(2)调用函数求出最优解:>>x=lindual(c,A,b)(3)求最优值:>>z=c*x ’运行结果如下:例4. 用对偶单纯形法解下列线性规划1234123412341341,2,3,4min z=-235.. 246 23124 0x x x x s t x x x x x x x x x x x x x x x -+-⎧⎪++-≤⎪⎪+-+≤⎨⎪++≤⎪≥⎪⎩解:利用matlab 数学软件的解答方法为:(1)输入题中已知条件:>> c=[-2 -1 3 -5];A=[-1 -2 -4 1;-2 -3 1 -1;-1 0 -1 -1];b=[6;12;4];(2)调用函数求出最优解:>>x=lindual(c,A,b)(3)求最优值:>>z=c*x ’运行结果如下:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、举例——用对偶单纯形法求解LP:
MinW 3y1 9 y2
MaxZ 3y1 9 y2
y1 y2 2
s.t.
y1 y1
4y2 7 y2
3 3
化为
y1 y2 y3 2
标准型
→
s.t.
y1 y1
4 7
y2 y2
y4 y5
3 3
y1 0, y2 0
y1, , y5 0
XB
-3 y1
0
y4
0
y5
-Z
比
cj yj b
2 -1 -1
-3 -9 0 y1 y2 y3
1 1 -1 0 -3 -1 0 -6 -1
00 y4 y5
00 10 01
保持为基本 可行解
原问题
初始基本 可行解
始终满足解 的可行性
三、对偶单纯形法的实施
1、使用条件: ①检验数全部≤0;
②解答列至少一个元素 < 0;
2、实施对偶单纯形法的基本原则:
在保持对偶可行的前提下进行基变换——每 一次迭代过程中取出基变量中的一个负分量 作为换出变量去替换某个非基变量(作为换入 变量),使原始问题的非可行解向可行解靠近。
→迭代→另一个可行基(对应另一个基 本可行解),直至所有检验数≤0为止。
所有检验数≤0意味着
CN CB B1N 0 YA C ,
说明原始问题的最优基也是对偶问题的可行 基。换言之,当原始问题的基B既是原始可 行基又是对偶可行基时,B成为最优基。
定理2-5 B是线性规划的最优基的充要条件 是,B是可行基,同时也是对偶可行基。
3 4
x1, x2, x3 0
化为标准型 →
MaxZ 2x1 3x2 4x3
s.t.
2xx112xx223xx33xx45
3 4
x1, x2, x3, x4, x5 0
将两个等式约束两边分别乘以-1,得
MaxZ 2x1 3x2 4x3
s.t.
2xx112xx223xx33xx45
通过逐步迭代实现对偶可行(检验数行≤0)。 2、 对偶单纯形法思想:
换个角度考虑LP求解过程:保持对偶可行 的前提下(检验数行保持≤0) ,通过逐步迭 代实现原始可行(b列≥0,从非可行解变成 可行解)。
对偶单纯形法的思想(图示)
始终满 足对偶 可行性
最优解 基本可行性 对偶可行性
保持对偶可行性 初始对偶可行解
Max Z CX
LP原问题: AX b
s.t. ຫໍສະໝຸດ X0若B是A中的一个基
可行基
对偶可行基
B对应的解是基 本可行解,则B 是可行基
若单纯形乘子 Y CBB1 是对偶问题的可行解, 则B是对偶可行基
的CB可B行1 解是对偶问题
等价
检验数 N 0
YA C CBB-1A C C CBB-1A 0 N 0
即
min i
( B 1b) i
( B 1b) i
0
(B1b)l ,则选xl出基,
相应的行为主元行。
然后确定换入变量——原则是:在保持对偶 可行的前提下,减少原始问题的不可行性。
如果
min j
c
j
al'j
z
j
al'j
0
ck zk
a
' lk
(最小比值原则),则选 xk 为换入变量 , 相应 的列为主元列 , 主元行和主元列交叉处的元
3 4
x1, x2 , x3, x4, x5 0
以此形式进行列表求解,满足对偶单纯形 法的基本条件,具体如下:
CB
XB
0
x4
0
x5
cj -2 -3 -4 0 0
xj b
x1 x2 x3 x4 x5
-3
-1 -2 -1 1 0
-4
-2 1 -3 0 1
-Z
0
-2 -3 -4 0 0
比
值 -2/-2 --- -4/-3 --- ---
素
a
' lk
为主元素。
若 值吗al'j?为0 ,要什计么算?最小比
按主元素进行换基迭代(旋转运算、枢 运算),将主元素变成1,主元列变成单位向 量,得到新的单纯形表。
循环以上步骤,直至求出最优解。
3、举例——用对偶单纯形法求解LP:
MinW 2x1 3x2 4x3
s.t.
2xx112xx223xx33
2/5
11/5
-2 -3 -4 0 0 x1 x2 x3 x4 x5
0 1 -1/5 -2/5 1/5 1 0 7/5 -1/5 -2/5
cj-zj
0
0 0 -3/5 -8/5 -1/5
最优解: X*=(11/5,2/5, 0, 0, 0)T,
最优值: minW= -maxZ* = -[11/5×(-2)+2/5×(-3)]= 28/5
将三个等式约束两边分别乘以-1,然后
列表求解如下:
CB
XB
0
y3
0
y4
0
y5
-Z
比
cj yj b
-3 -9 0 y1 y2 y3
00 y4 y5
-2
-1 -1 1 0 0
-3
-1 -4 0 1 0
-3
-1 -7 0 0 1
0
-3 -9 0 0 0
值 -3/-1 -9/-1 --- --- ---
CB
证明: C CBB-1A 0
(CB MCN ) CBB-1 (BMN) 0
(CB MCN ) (CBB-1BMCBB-1N) 0 (CB CBB-1BMCN CBB-1N) 0
CB CBB-1B 0 CN CBB-1N 0
N 0
单纯形法的求解过程就是:
在保持原始可行的前提下(b列保持≥0),
2.3 对偶单纯形法
一、什么是对偶单纯形法?
对偶单纯形法是应用对偶原理求解原始 线性规划的一种方法——在原始问题的单 纯形表格上进行对偶处理。
注意:不是解对偶问题的单纯形法!
二、对偶单纯形法的基本思想 1、对“单纯形法”求解过程认识的提升— —
从更高的层次理解单纯形法 初始可行基(对应一个初始基本可行解)
3、计算步骤:
①建立初始单纯形表,计算检验数行。
解答列≥0——已得最优解; 检验数全部≤0 (非基变量检验数<0)
至少一个元素<0,转下步;
至少一个检验数>0
解答列≥0——原始单纯形法; 至少一个元素<0,另外处理;
基变换:
先 确 定 换 出 变 量 —— 解 答 列 中 的 负 元 素 (一般选最小的负元素)对应的基变量出基;
CB
XB
0
x4
-2 x1
cj xj b
-1
2
-2 -3 -4 0 0 x1 x2 x3 x4 x5
0 -5/2 1/2 1 -1/2 1 -1/2 3/2 0 -1/2
cj-zj
比
0
0 -4 -1 0 -1
值 --- -4/-5/2 --- -1/-1/2
CB
XB
-3 x2
-2 x1
cj xj b