单纯形法-人工变量法
3.12 4单纯形法(人工变量法)3.12
一个x12方x程12把中x第去2x二2个x方5x程3直接x加4
4 6
x1 , x一2个, 变x3量,(人x4工, 变x量5 ) 0
规范化
考虑一般问题:
bi > 0 , i = 1 , … , m
Max Z = c1 x1 + c2 x2 + … + cn xn a11 x1 + a12 x2 + …+ a1n xn = b1 a21 x1 + a22 x2 + …+ a2n xn = b2 … am1 x1+ am2 x2+…+ amn xn = bm
jm 1 j j
i1 i
i
j m 1 ij j
m
n
m
c b (c c a )x
i1 n i i
jm 1
j
i 1 i ij
j
n
Z (c z )x
0
j 1
j
j
j
n
Z C jx
0
j 1
j
其 Z m c 中 b ,C j c z ,z m c a
一、单纯形法的基本原理
(一)基本变量: 如果变量xj在某一方程中系数为1,而在其它一切方
程中的系数为零,则称xj为该方程中的基本变量。否则 为非基本变量。 (二)基本解:
在典型方程中,设非基本变量为零,求解基本变量 得到的解,称为基本解 。 (三)基本可行解:
基本变量为非负的一组基本解称为基本可行解 。
(2)最优解判别 如果任何一个非基变量的值增加都不能
使目标函数值增加,即所有检验数非正,则 当前的基本可行解就是最优解,计算结束。
单纯形法
cj 基 解
3 5 000 x1 x2 x3 x4 x5
0 x3 8 1 0
5 x2 6 0 1
第 0 x5 12 3 0
二
次
30 -3 0
迭 代
0
x3
4
5 x2 6
00 01
3 x1 4
10
1 00 0 1/2 0 0 -2 1
0 5/2 0 1 2/3 -1/3 0 1/2 0 0 -2/3 1/3
Simplex Method 第二章 单纯形法
SM
第2章 单纯形法
2.1 单纯形法的基本思想 2.2 单纯形法的计算过程 2.3 人工变量法 2.4 单纯形法补遗
2
第2章 单纯形法
2.1 单纯形法的基本思想
单纯形法有三种形式: ① 方程组形式 ② 表格形式 ③ 矩阵形式
2.1.1 方程组形式的单纯形法
2x2 0 +1x4 0 = 12 ②
3x1 + 4x2 0 0 +1x5 = 36 ③
条典
⑴ 当前基:m阶排列阵 ⑵ 目标方程中:一切基变量
的系数 σj = 0
满足条典的方程组称为典式(方程组)。 初始基本可行解
排列阵:
每行每列有且仅有一个元素 为1,其余元素全为0 的方阵。
X0 = (0, 0, 8, 12, 36)T z0 = 0
2.3 人工变量法
考虑标准型 (M): 分别给每个约束方程硬性加入一个非负变量
a11x1 +a12x2+…+a1nxn +xn+1
a12x1 +a22x2+…+a2nxn
+xn+2
… … ………
单纯形法-人工变量法
max z=3x1+4x2 x1 +x2 40
2x1+x260 x1-x2 =0 x1 ,x2 0
cj →
CB XB b 0 x3 40 0 x4 60 -M x5 0
cj- zj
0 x3 40 0 x4 60 3 x1 0
cj- zj 4 x2 20 0 x4 0 3 x1 20
3 40
x1 x2 x3 1 11 2 10 [1] -1 0
例 max z=3x1+5x2 3x1 +5x2 15 2x1 + x2 5 2x1+2x2 11 x1 ,x2 0
CB XB b
0 x3 15 0 x4 5
0 x5 11
cj-zj
5 x2 3 0 x4 2 0 x5 5
cj-zj
3 50 00 x1 x2 x3 x4 x5 3 [5 ] 1 0 0 2 1010 2 2001 3 5000 3/5 1 1/5 0 0 7/5 0 -1/5 1 0 4/5 0 -2/5 0 1
4 2
x1 x1
x2
2
x3 x3
x5 x6 3 x7 1
x1 , , x7 0
这时,初始基和初始基可行解很明显。X(0)=(0,0,0, 11,0,3,1)T不满足原来的约束条件。如何使得可从 X(0)开始,经迭代逐步得到x6=0,x7=0 的基可行解, 从而求得问题的最优解,有两种方法:
• 两种方法
– 大M法 – 二阶段法
约束方程为“>=”或“=”的情形(加人工变量)
标准型:
min z =-3x1+x2+x3
x1 2 x2 x3 11
1-5 单纯形法的进一步讨论
大M法
在一个线性规划问题的约束条件中加入人 工变量后, 工变量后 , 要求人工变量对目标函数的取 值无影响, 为此可取人工变量在目标函数 值无影响 , 中的系数为-M(M为非常大的正数 ,这样目 为非常大的正数), 中的系数为 为非常大的正数 标函数要实现最大化, 人工变量只能取零, 标函数要实现最大化 , 人工变量只能取零 , 因此必须把人工变量从基变量中换出, 因此必须把人工变量从基变量中换出 , 否 则目标函数就不可能实现最大化。 则目标函数就不可能实现最大化。
两阶段法的算法流程图
MaxZ=-3x1+x3 x1+ x2+ x3≤4 -2x1+ x2- x3≥1 3x2+x3=9 xi ≥0,j=1,2,3
求解辅助问题,得到辅助 问题的最优解 引进人工变量x6,x7,构造辅助 问题,辅助问题的目标函数为 所有人工变量之和的极小化
MaxW=-x6-x7 x1+ x2+ x3+x4 =4 -2x1+ x2-x3 -x5+x6 =1 3x2+x3 +x7=9 xi ≥0,j=1,…,7
X B X = 同理将 写成分块矩阵 同理将C写成分块矩阵 (CB,CN), 写成分块矩阵C=( X N
CB=(C1,C2,…,Cm), CN=(Cm+1Cm+2,…,cn) 则AX=b可写成 , 可写成
X B (B, ) = BX B + NXN = b N X N
CB 0 0 -3 0 0 1
bi 0 3 1 0 5/2 3/2
θ 9 3/2
3/2 x3入,x1出 -1/2 -1/4 3/4 -3/4
所以:X*=(x2,x3,x4)T=(5/2,3/2,0)T Z*=3/2 所以:
1-5 单纯形法的进一步讨论
B 1b B 1NX N
令非基变量XN=0,XB=B—1b,由 B是 可行基的假设,则得到
基本可行解
X=(B-1b,0)T
将目标函数写成
Z
(CB
,
CN
)
X X
B N
CB X B
CN X N
CB (B1b B1NX N ) CN X N
CBB1b (CN CBB1N )) X N
MaxZ=-3x1+x3 x1+ x2+ x3≤4
-2x1+ x2- x3≥1 3x2+x3=9
xi ≥0,j=1,2,3
求解辅助问题,得到辅助 问题的最优解
引进人工变量x6,x7,构造辅助 问题,辅助问题的目标函数为
所有人工变量之和的极小化
MaxW=-x6-x7
x1+ x2+ x3+x4
=4
-2x1+ x2-x3 -x5+x6 =1
z zσ
XB … 0T …
xj cj - zj
… RHS … z0
XB xB I …
Yj
…b
基变量在目标函数中的系数等于0, 基变量在约束条件中的系数是一个单位矩阵
单纯形表的结构
注意: Z行中有m 个0,它们与基变量相对应。一般情况下,这m 个0分散在Z行的各列中,并与基变量相对应。
其余m行中有一个m阶单位矩阵I,其各列与基变量相对应。 一般情况下,组成I的各列分散在表的各列中,它们与基变 量相对应。
X1 1
0
a1
0
a2 a6
X2 0
1
1
0
-2
§43 人工变量法
0
0
LPⅡ min z 3 x1 2 x2 x3 Mx6 Mx7
2 2 1 0 0 0 1
4 x1 3 x2 x3 x4 x6 4
x1
x2
2 x3
x5
10
2
x1
2 x2
x3
x.7
1
x j 0, j 1, , 7
3
2
0
0
1 2
3
得 LPⅠ 的基础可行解:
2 x 0
0
可行基: B1 ( p1 , p2 , p5 )
3 2
计算 :b00 和 b0i 的数据.
建立 LPⅠ对应基 B1 的单纯形表。
例2
用两阶段法解线性规划问题:
min S 4x1 3x3
0
LPⅡ
x1
x2 x4 3
x1
,
x2 ,
x3 ,
x4
0
min z x1 2x2 Mx5
1 2 1 0 1
A
1
0
0
1
0
x1 2x2 x3 x5 4
x1
x2
x4 1
x1
,
x2 ,
x3 ,
x4 ,
取初始可行基
B (P6 , P5 , P7 ) E cB (c6 , c5 , c7 ) ( M , 0, M ),
计算: CBb CB A C
两阶段单纯形法例题详解
两阶段单纯形法引言在线性规划中,两阶段单纯形法是一种常用的求解方法。
它通过两个阶段的迭代,逐步优化目标函数值,从而找到最优解。
本文将详细介绍两阶段单纯形法的步骤和原理。
步骤两阶段单纯形法主要分为两个阶段:人工变量法和单纯形法。
人工变量法•将目标函数按照线性规划的标准形式化简。
•引入人工变量(artificial variables)来转换非标准化的约束条件为等式形式。
•新增的人工变量构成的目标函数为目标是最小化的。
•利用单纯形法求解这个新增的最小化目标函数,得到一个初始可行解。
•如果初始可行解的目标函数值为0,说明原问题有解;如果目标函数值不为0,则原问题无解。
单纯形法•判断初始基本可行解是否是最优解,如果不是,则进行下面的优化步骤。
•选择一个入基变量(entering variable),即将要进入基本解的变量。
•选择一个出基变量(leaving variable),即将要离开基本解的变量。
•使用基本变量和非基本变量之间的约束方程来计算新的基本解。
•迭代以上步骤,直到找到满足优化条件的最优解。
示例假设有一个线性规划问题如下:max Z = 5x1 + 3x2subject tox1 + 2x2 <= 62x1 + x2 >= 4x1, x2 >= 0首先,将目标函数和约束条件标准化,得到以下形式:max Z = 5x1 + 3x2subject to-x1 - 2x2 <= -62x1 + x2 >= 4x1, x2 >= 0然后,采用人工变量法引入人工变量(s1和s2),得到以下形式:max Z = 5x1 + 3x2subject to-x1 - 2x2 + s1 = -62x1 + x2 - s2 = 4x1, x2, s1, s2 >= 0接下来,我们利用单纯形法求解最小化目标函数s1 + s2的初始可行解。
根据单纯形表格的形式,我们可以得到初始表格如下:Cj | -1 | -1 | 0 | 0 |------- |----|----|----|----|Cb | 0 | 0 | 1 | 1 |------- |----|----|----|----|Var. |x1 |x2 |s1 |s2 |------- |----|----|----|----|-1 | -1 | -2 | 1 | 0 |------- |----|----|----|----|0 | 2 | 1 | 0 | -1 |按照单纯形法的步骤,我们选取入基变量s1和出基变量x2,进行迭代计算,得到新的表格:Cj | -1 | -4 | 1 | -3 |------- |----|----|----|----|Cb | 0 | 2 | -1 | 2 |------- |----|----|----|----|Var. |x1 |s2 |s1 |x2 |------- |----|----|----|----|-1 | -1 | 0 | 1 | 2 |------- |----|----|----|----|2 | 2 | 0 | 0 | -1 |继续迭代,直到得到满足优化条件的最优解。
单纯形法
-M X6 0 1 0 0 0 1
-M X7 0 0 1 0 -1 -2 1 θ 11 3/2 1
-1
X3 cj-zj
1
-2 -1
0 -1+M
0 1 0 0
1 0
0 0 1 0
0 0
1 0 0 0
0 -M
-2 -1 0 -1
0 0
2 1 0 -M+1
1 1-3M
-5 -2 1 -M-1
-
0 -1 -1
人工变量
第2页
cj CB 0 -M -M XB X4 X6 X7 cj-zj b 11 3 1
3 X1 1 -4 -2 3-6M
-1 X2 -2 1 0 -1+M
-1 X3 1 2 1 -1+3M
0 X4 1 0 0 0
0 X5 0 -1 0 -M
-M X6 0 1 0 0
-M X7 0 0 1 0 θ
2 1 0 -M+1
1 1-3M
-5 -2 1 -M-1
-
0 -1 -1
X4 X2 X3 cj-zj
12 1 1
3 0 -2 1
4 -
第14页
cj CB 0 -1 -1 XB X4 X2 X3 cj-zj 3 X1 4 b 12 1 1
3 X1 3 0 -2 1 1
-1 X2 0 1 0 0 0
-1 X3 0 0 1 0 0
-1 X3 1 2 1 -1+3M 0 0 1 0 0 0
0 X4 1 0 0 0 1 0 0 0 1 0
0 X5 0 -1 0 -M 0 -1 0 -M -2 -1
-M X6 0 1 0 0 0 1 0 0 2 1
3线性规划人工变量法解析
1
0 0 0 1 0 0 2 5/3 2/3 -25/3
0
0 0
8/3
—— —— 31/3 ——
j
x2 x5 x3 x2 x1 x3
x3
→
j
j
单纯形法的进一步讨论-两阶段法
用计算机处理数据时,只能用很大的数代替M,可能造成 计算机上的错误,故多采用两阶段法。 第一阶段: 在原线性规划问题中加入人工变量,构造如下模型:
-M
-M Z 0
x6
x7
3
1 -4M
-4
-2 3-6M 3
1
0 -1+M -2
2
1 -1+3M 0
0
0 0 1
-1
0 -M 0
1
0 0 0
0
1 0 -1
3/2
1
→ →
x4
10
-
-M
-1 Z
x6
x3
1
1 -M-1
0
-2 1
1
0 -1+M
0
1 0
0
0 0
-1
0 -M
1
0 0
-2
1 -3M+1
1
-
单纯形法的进一步讨论-人工变量法
单纯形法的进一步讨论-人工变量法
故人为地添加两个单位向量x6和x7 ,得到含人工变量的单纯形 法数学模型:
max Z 3x1 x2 x3 +0x4 +0x5-Mx6 Mx7
3 x1 x2 x3 x4 4x x 2 x 1 2 3 x3 2 x1 x j 0, j 1, 2, L , 7
-
线性规划 第五讲 单纯形法的进一步讲解(大M法)
人工变量法
令:xn 1 , xn 2 ,..., xn m为基变量, x1 , x2 ,..., xn为非基变量, 则:X
(0)
(0,0,...0, b1 , b2 ,...bm )
T
是一初始基可行解。
约束条件已改变, 目标函数如何调整?
上页 下页 返回
“惩罚” 人工变量!
下页 返回
M -1 3M-1
表1(初始单纯形表)
一、大 M 法(单纯形法求解)
Cj CB XB 0 x4 10 -M x 6 1 -1 x3 1
σj
3
-1
-1
0
0 -M-M x6 x7
b x1 x2 x3 3 0 -2 1 -2 1 0 0 0 1
x4 x5 1 0 0 -1 0 0 0 -M
上页
ik
无界解
无可行解
N
某非基变量 检验数为零
无穷多最优解
N
唯一最优解
上页 下页 返回
x4 12 x2 1 x3 1
2 -5 4 1 -2 0 1
1-M -1 -M
表3
上页 下页 返回
一、大 M 法(单纯形法求解)
Cj
CB XB
最优解为 -1 3 -1
b
xx1 x4 x3 1 2
0
0 -M-M
3 -1 -1
x1 x2 x3
4 1 9
2
1 0 x3 9 0 1 目标函数 0 0 值 z=2 0 0
(1)大M法
上页
下页
返回
一、大 M 法
• 人工变量在目标函数中的系数为 -M, 其中,M 为任意大的正数。
目标函数中添加“罚因子” -M(M是任意大的正数) 为人工变量系数,只要人 工变量>0,则目标函数 不可能实现最优。
第五章 单纯形法
➢ 解决办法:保证右端项非负,找到一个 单位矩阵,必定是一个可行基。
二、单纯形法的基本思路和原理
➢ 如范例系数阵:
右端项非负
1 1 1 0 0 300 2 1 0 1 0 400 0 1 0 0 1 250
存在3阶单位阵 (初始可行基)
二、单纯形法的基本思路和原理
➢ 如令x1=0,x2=0,则 ➢ x3=300,x4=400,x5=250 ➢ 可得到解(0,0,300,400,250)
一、问题的提出
➢ 又如:令x3=0,x5=0, ➢ 由约束条件: ➢ x1+x2+x3=300 ➢ 2x1+x2+x4=400 ➢ x2+x5=250 ➢ 可得到解(50,250,0,50,0)
27500-50x3-50x5
二、单纯形法的基本思路和原理
➢ 典式Z= 27500-50x3-50x5
➢ 如果x3增加1,Z会怎样? ➢ 答案:Z减少50。 ➢ 如果x5的值增加1,Z会怎样? ➢ 答案:Z减少50 。 ➢ 可见要使Z增加,只有使x3和x5减少。
二、单纯形法的基本思路和原理
➢ x3,x5的取值是否有减少的可能? ➢ 分析:该解中非基变量 x1,x2的取值为
一、问题的提出
❖ 线性规划解的集合关系:
基
可
本最
基
行
可优
本
解
行解
解
解
一、问题的提出
❖显然,将搜索范围控制在基本可行 解内,将大大减少搜索工作量。
❖但是,即使取得一个基,得到的解 还不一定可行。
❖如何才能保证取得一个可行基呢?
一、问题的提出
§4.3 人工变量法
1 1 − 1 0 0 1 0 AII = −1 1 0 − 1 0 0 1 0 1 0 0 1 0 0
max z = − x1 + 2 x2
例1
用两阶段法解线性规划问题 用两阶段法解线性规划问题:
x1 + x 2 − x3 = 2 − x + x − x = 1 1 2 4 x2 + x5 = 3 x j ≥ 0, j = 1,...,5
LPⅠ min z ′ = x1 − 2 x2 Ⅰ
4 10 1
-4 1 2
3 -1 -2
0 1 0
1 0 0
0 0 1
−r3
−2r3
Q λ2 = M + 2 > 0
λ3 = 2 M − 1 > 0
定 x3 进基 x1 x2
5M
4 10 1 1 Q min , , = 1 2 1 1
定 x7 出基 x6
0
x3
0
x4
-M
x5
0
x7
1-2M
与大M法同样引入人工变量,分两阶段做: 与大 法同样引入人工变量,分两阶段做: 法同样引入人工变量 个人工变量, 第一阶段: 引入m个人工变量 第一阶段: 引入 个人工变量,建立辅助问题并求解 目标函数是: 目标函数是: min w = ∑ Ri 全体人工变量之和. i 约束条件是: 约束条件是: 加入人工变量后的约束方程.
使人工变量对应的系数列向量与其他变量的系数列向量 共同构成一个单位矩阵.作为初始基 作为初始基。 共同构成一个单位矩阵 作为初始基。 出基 为了求得原问题的初始基础可行解, 为了求得原问题的初始基础可行解, 通过迭代过程把人工变量从基变量中替换为非基变量. 必须尽快通过迭代过程把人工变量从基变量中替换为非基变量 为此,可以在目标函数中赋予人工变量一个任意大的正系数M. 为此,可以在目标函数中赋予人工变量一个任意大的正系数 任意大的正系数 写出LPⅡ 用表格单纯形法解, 人工变量换出基。 写出 Ⅱ,用表格单纯形法解,将人工变量换出基。 只要基变量中还存在人工变量,目标函数就不可能实现极小化. 人工变量, 原问题没有可行解。 若LPⅡ的最优解中仍有人工变量,则说明原问题没有可行解。 Ⅱ的最优解中仍有人工变量 则说明原问题没有可行解 原方程组 Ax=b 不成立 人工变量, 若LPⅡ的最优解中没有人工变量, Ⅱ的最优解中没有人工变量 LPⅠ Ⅰ 则去除人工变量即为原问题的基础可行解 继续求最优。 原问题的基础可行解。 则去除人工变量即为原问题的基础可行解。继续求最优。
3.3 人工变量法
x2 x3
2x3 1
x5
3
x1, x2 , x3, x4 , x5 0
若A中不存在m阶单位矩阵,为了形成一个m阶单位矩阵,可给每个约束 方程人为地加上一个人工变量。
5
OR:SM
分牛的故事
老大:1/2 老二:1/4 老三:1/5
牛在印度被视为 神物,不能宰杀, 问如何按老父亲
的遗愿分?
6
OR:SM
MaxW=0?
是
否 原问题没有可行解
13
引进人工变量x6,x7,构造辅助
问题,辅助问题的目标函数为
所有人工变量之和的极小化
MaxZ x6 x7
x1 2x2 x3 x4
11
4x1 2x1
x2 x3
2x3
x5
x6 3 x7 1
x1, x2,..., x7 0
把辅助问题的最优解作为原问 题的初始基础可行解
运筹学--管理科学方法
李军
桂林电子科技大学商学院
1、何为单纯形法?
1. 如 何 得到?
对于典式,选标 准型中的松弛变量为 初始基变量,因为其 系数组成单位阵,解 必可行!
计 算 σj=cjcBpj’, ≤ 0 则 通 过 , 否 则下一步?
找出一个初始可行解
2、如何 判断?
是否最优?
4. 是 否
通过四个定理 判断解是其中哪 一个情况?
22
8.在两阶段法中,如果第一阶段最 优解的目标函数值不为0,表明原 线性规划问题无可行解。
OR:SM
2. 从 求 得 的 基可行解出 发,对原问 题继续迭代, 求最优解。
12
OR:SM
二、两阶段法—原理
MaxZ 3x1 x2 x3
运筹学复习资料(1)
运筹学复习一、单纯形方法(表格、人工变量、基础知识)线性规划解的情况:唯一最优解、多重最优解、无界解、无解。
其中,可行域无界,并不意味着目标函数值无界。
无界可行域对应着解的情况有:唯一最优解、多重最优解、无界解。
有界可行域对应唯一最优解和多重最优解两种情况。
线性规划解得基本性质有:满足线性规划约束条件的可行解集(可行域)构成一个凸多边形;凸多边形的顶点(极点)与基本可行解一一对应(即一个基本可行解对应一个顶点);线性规划问题若有最优解,则最优解一定在凸多边形的某个顶点上取得。
单纯形法解决线性规划问题时,在换基迭代过程中,进基的非基变量的选择要利用比值法,这个方法是保证进基后的单纯型依然在解上可行。
换基迭代要求除了进基的非基变量外,其余非基变量全为零。
检验最优性的一个方法是在目标函数中,用非基变量表示基变量。
要求检验数全部小于等于零。
“当x1由0变到45/2时,x3首先变为0,故x3为退出基变量。
”这句话是最小比值法的一种通俗的说法,但是很有意义。
这里,x1为进基变量,x3为出基变量。
将约束方程化为每个方程只含一个基变量,目标函数表示成非基变量的函数。
单纯型原理的矩阵描述。
在单纯型原理的表格解法中,有一个有趣的现象就是,单纯型表中的某一列的组成的列向量等于它所在的单纯型矩阵的最初的基矩阵的m*m矩阵与其最初的那一列向量的乘积。
最初基变量对应的基矩阵的逆矩阵。
这个样子:'1222 1 0 -32580 1 010 0 158P B P -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦51=5所有的检验数均小于或等于零,有最优解。
但是如果出现非基变量的检验数为0,则有无穷多的最优解,这时应该继续迭代。
解的结果应该是:X *= a X 1*+(1-a)X 2* (0<=a<=1)说明:最优解有时不唯一,但最优值唯一;在实际应用中,有多种方案可供选择;当问题有两个不同的最优解时,问题有无穷多个最优解。
106人工变量法
x3 x4 y1 y2
将第3行及第4行的-M倍加到检验数行,便得到初始单纯形表: 6+M 4+M
x3 x4 y1 y2
2 3 1 0 x1
3 2 0 1
100 120 14 22
换基迭代:得下一张单纯形表
信息系
原 问 x3 题 x4 中 的 x1 变 y2 量 0 4+M
刘康泽 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0
刘康泽 0 0 3 3M 0 3 0 0 1 3M 0 3
x2 y
信息系
刘康泽
因为检验数都≤0,所以此表对应的基为最优基, 其中人工变量 y = 3M ≠ 0 , 人工变量 y 仍留在基中, 于是原线性规划问题无可行解。 一般地,设问题为:
min f cx Ax b (b …0) s.t. x …0 (1)
信息系
0 0
刘康泽 0 1 0 0 0 0 0 1 0 0
-4 -172
x3 x4 x1 x2
0 0 0
0 0 0 1
3 2 0 -1
72 54 14 22
这已经是原问题的最优表,
最优解为: x1 =14 , x2 =22。
最优值为: f = 172。
信息系
例: 用大M方法求解线性规划问题
刘康泽
【注1 】 问题(2)的约束中增加条件
c1x1 c2 x2
cn xn 0
其目的在于:在第一阶段的迭代中记录原问题目标函数的非 基变量表示,从而在第一阶段结束时直接得到原问题初始单纯形 表中的检验数。 【注2】 为得到第一阶段的初始单纯形表,往往先写出问题 (2)的原始数据表,然后将原始数据表中对应人工变量的行加到 首行(检验数行)即可。
单纯形法
x6
x7
14
22
1
0
0
1
0
0
0
0
0
-1
1
0
0
1
σj=cj-zj
6.3 人工变量法
Cj CB xB b -6 x1
2
4 1
-4 x2
列新单纯形表
Cj CB 0 5 xB x5 x2 b 23 12 3 x1
-4 5
5 x2
0 1
0 x3
1 0
1 x4
1 -1
0 x5
1 0
0 x6
-1 1
0 x7
0 0
θ
23 -
0
x7
5
0
-22
0
0
-1
0
σj=cj-zj
1 1 6 6
0
0
0
-5
1
0
5
6.2 单纯形法计算步骤
列新单纯形表
Cj CB 0 5 xB x5 x2 b
0
…
0
…
c j ci aij
i 1
m
cn ci ain
i 1
m
6.2 单纯形法计算步骤
2) 检验 j c j ci ai , j
i 1 m
若 j 0
j m 1,..., n 得到最优解,停止。
否则,转入下一步。 否则,转入下一步。
3) 若 k ,
... am , j
... am ,n
6.1 单纯形法迭代原理
m Pj= aij Pi Pj- aij Pi=0 i=1 i=1 m θ (Pj- aij Pi)=0 两边乘上一个正数θ>0,得 i=1 m m 同 Pixi0 =b 相加整理得: ( xi0 aij ) Pi Pj b i 1 i=1 m
线性规划中的单纯形法求解问题
线性规划中的单纯形法求解问题线性规划是运筹学中的一个重要分支,它的应用范围非常广泛,包括经济、工程、网络、交通等领域。
在实际问题中,我们通常会需要求解一个线性规划问题,而单纯形法是解决线性规划问题的一种常用方法。
1. 线性规划线性规划是一类优化问题,通常在最小化或最大化某个线性函数的同时,满足一组线性约束条件。
一个线性规划问题可以表示为:$$\begin{array}{lll}\textrm{min/max} & c^Tx & \\ \textrm{s.t.} & Ax &\leq b \\ & x &\geq 0\end{array}$$其中,$c$ 是一个 $n$ 维列向量,$A$ 是一个 $m\times n$ 的矩阵,$b$ 是一个 $m$ 维列向量,$x$ 是一个 $n$ 维列向量,代表问题的决策变量。
我们称 $Ax\leq b$ 是问题的约束条件,称 $x\geq0$ 是问题的非负性条件。
线性规划问题的求解可以分为两种基本方法,分别为单纯形法和内点法。
其中,单纯形法是一种经典的方法,应用广泛,是大多数线性规划软件的基础算法之一。
2. 单纯形法基本思想单纯形法的基本思想是通过对问题中的决策变量进行调整,使得目标函数值不断减小(最小化问题)或增大(最大化问题),并且在满足约束条件的前提下,最终找到最优解。
单纯形法的具体步骤如下:步骤1:初始化。
我们从一组基本解开始,即 $m$ 个基本变量和 $n-m$ 个非基本变量构成的向量 $x$。
在最初的阶段,我们需要选择一组基变量,并计算出它们的取值。
这个基变量集合构成了问题的起始基。
步骤2:检查最优性。
首先,我们需要对当前解进行检验,判断它是否为最优解。
如果是最优解,则停止算法;否则,进行下一步。
步骤3:选择进入变量。
我们需要选择一个非基变量,使得将它加入到基变量集合后,目标函数值有最大的增长量。
如果这个增长量为负数,则问题无界。
运筹学
运筹学第2章单纯形法 2.1 单纯形法的基本思想该方法简捷、规范,是举世公认的解决LP问,题行之有效单纯形法(Simplex Method)是美国著名运筹学家丹捷格(Dantzig)1947年首先提出的通用方法。
单纯形法不仅是解决LP问题的最基本的算法之一,而且成为解决整数规划和非线性规划某些算法的基础。
2、单纯形法的3种形式——方程组形式(代数形式)、表格形式、矩阵形式3、单纯形法的基本思路——基于LP问题的标准形,先设法找到某个基本可行解(称为初始基本可行解);开始实施从这个基本可行解向另一个基本可行解的转换,要求这种转换不仅容易实现,而且能改善(至少保持)目标函数值;继续寻找更优的基本可行解,进一步改进目标函数值。
当某一个基本可行解不能再改善时,该解就是最优解。
(或者是出现无可行解、无最优解、无穷多最优解的情况)2.1.1 方程组形式的单纯形法例1 一个企业需要同一种原材料生产甲、乙两种产品,它们的单位产品所需要的原材料的数量及所耗费的加工时间各不相同,获得的利润也不相同(如下表)。
请问,该企业应如何安排生产计划,才能使获得的利润达到最大?解:该问题的LP模型为:将该问题的LP模型化为标准形⎪⎩⎪⎨⎧≥≤+≤++=,1202410032..4621212121xxxxxxt sxxzm ax函数约束的增广矩阵为:很显然 R (A ) = R (A ,b )= 2 < 5,即该方程组有无穷多组解。
系数矩阵为:决策变量向量为:选取 为基,则 为基变量, 为非基变量令非基变量 ,则可以得到一基本 可行解为: 下面的计算都是以它为初始点逐次实施转换,故将其称为初始基本可行解。
此时,Z=0,其经济含义为:该企业没 有安排甲、乙两种产品的生产,当然也就没有利润可言。
条典☐ 初始基本可行解所对应的可行基是一个m 阶的单位阵; ☐ 目标函数表达式中所有的基变量的系数全部为0。
☐ 这是单纯形法所必需的!!! ☐ 分析目标函数表达式☐ 非基变量的系数都是正数,若将它们转换为基变量,目标函数值则就会可能增加。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
θ
11 3/2 1
第一阶段求得的结果是ω = 0,最优解是(0,1,1,12,0,0,0)T 一阶段求得的结果是ω 0,最优解是 最优解是( 12, 一阶段求得的结果是 是原线性规划问题的基可行解。 因人工变量 x6= x7=0,所以 ,所以(0,1,1,12,0)T 是原线性规划问题的基可行解。
第二阶段运算:
例:
max z=3x1+4x2 x1 +x2 ≤40 2x1+x2≤60 x1-x2 =0 x1 ,x2 ≥0
cj→ CB XB b x 3 40 0 x 4 60 0 0 -M x 5 cj - zj 0 0 3 4 0 3 x3 x4 x1 40 60 0 3 x1 1 2 [1] 0 0 1 0 0 0 1 0 0 0 1 0 4 x2 1 1 -1 [2] 3 -1 0 x3 1 0 0 0 1 0 0 0 x4 0 1 0 0 0 1 0 0 0 1 0 0 -1/3 1/3 1/3 -7/3 -M x5 0 -1 1 0
大M法 法
在目标函数中加上惩罚项。 在目标函数中加上惩罚项。
max =3x1-x2-x3-Mx6-Mx7 3 其中M为充分大的正数 为充分大的正数。 其中 为充分大的正数。 = 11 x1 − 2 x2 + x3 + x4 − 4 x + x + 2 x − x5 + x6 =3 1 2 3 x3 + x7 = 1 − 2 x1 + x1 ,L , x7 ≥ 0 只要原问题有可行解, 只要原问题有可行解,随着目标函数向最大化方向的改善 人工变量一定会逐步换出基,从而得到原问题的基可行解, ,人工变量一定会逐步换出基,从而得到原问题的基可行解, 进而得到基最优解。 进而得到基最优解。 反之, 反之,若加了人工变量的问题解后最优解中仍含人工变量 为基变量,便说明原问题无可行解。 的单纯形表格为: 为基变量,便说明原问题无可行解。例8的单纯形表格为: 的单纯形表格为
3-6M 3 0 -2 1 [ 3] 0 -2 1 1 0 0 0
M-1 -2 [ 1] 0 -1+M 0 1 0 0 0 1 0 0
3M-1 0 0 1 0 0 0 1 0 0 0 1 0
0
-M
0 0 1 0 0
0 -1 -2 1 -3M+1 1
1 0 0 -1 0 0 0 -M 1 -2 0 -1 0 0 0 -1 1/3 -2/3 0 -1 2/3 -4/3 -1/3 -1/3
cj CB 0 1 1 XB x4 x2 x3 b 12 1 1 4 1 9 2 -3 x1 [3] 0 -2 -1 x1 x2 x3 1 0 0 0 1 x2 0 1 0 0 0 1 0 0 1 x3 0 0 1 0 0 0 1 0 0 x4 1 0 0 0 1/3 0 2/3 1/3 0 x5 -2 -1 0 1 -2/3 -1 -4/3 1/3
0 -1
x1 x5
人工变量不能从基底 换出, 换出,此时原线性规 划问题无可行解。 划问题无可行解。
cj-zj
二、 退化问题 基可行解的正分量个数小于约束条件个数 m。 。 右侧常数中有零时,初始解就是退化解。 右侧常数中有零时,初始解就是退化解。单纯形法 计算中, 值时有两个以上比值同为最小, 计算中,计算θ 值时有两个以上比值同为最小,这样在 下一次迭代中就会出现零值的基变量,出现退化解。 下一次迭代中就会出现零值的基变量,出现退化解。 一般,出现退化情况时,不必特殊处理, 一般,出现退化情况时,不必特殊处理,一般不会 出现由于死循环得不到最优解的情况。 出现由于死循环得不到最优解的情况。 勃兰特规则(P48)可避免死循环。 可避免死循环。 勃兰特规则 可避免死循环
x2
例 max z=3x1+5x2 3x1 +5x2 ≤15 2x1 + x2 ≤5 2x1+2x2 ≤11 x1 ,x2 ≥0
CB XB b
0 0 0
x3 x4 x5
x1
3 x1 3 2 2 3 3/5 7/5 4/5 0
5 x2 [5 ] 1 2 5 1 0 0 0
0 x3 1 0 0 0 -1/5 -2/5 -1
0 x4 0 1 0 0 1 0 0
0 x5 0 0 1 0 0 0 1 0
θ
3 5 11/2
Z0=0
15 5 11 3 2 5
cj-zj 5 0 0
第一阶段的单纯形表如下: 第一阶段的单纯形表如下:
cj CB 0 1 1 0 1 0 0 0 0 XB x4 x6 x7 x4 x6 x3 x4 x2 x3 b 11 3 1 10 1 1 12 1 1 0 0 x1 1 -4 -2 6 3 0 -2 0 3 0 -2 0 0 x2 -2 1 0 -1 -2 [1] 0 -1 0 1 0 0 0 x3 1 2 [1] -3 0 0 1 0 0 0 1 0 0 x4 1 0 0 0 1 0 0 0 1 0 0 0 0 x5 0 -1 0 1 0 -1 0 1 -2 -1 0 1 1 x6 0 1 0 0 0 1 0 0 2 1 0 1 1 x7 0 0 1 0 -1 -2 1 3 -5 -2 0 1 — 1 — 4 — —
0 4 3
x3 0 x 2 20 x 1 20 cj - zj
三、 有无穷多最优解的情况 最优解中有非基变量的检验数等于零 的 最优解中有 非基变量的检验数等于零的 非基变量的检验数等于零 情况。以这种非基变量作为换入变量, 情况。以这种非基变量作为换入变量,迭代可 求得另一基最优解。 求得另一基最优解。 任一最优解可表示为所有基最优解的凸 组合。 组合。
x2
θ
x1
3+M 4-M
cj - zj x 2 20 x4 0 x 1 20 cj - zj
7 0 1 1/2 0 -3/2 0 1/2 0 0 1 0 0 -3.5 1 0 0 0
此题初始解是退化的。 此题初始解是退化的。 最优解也是退化解。 最优解也是退化解。 退化解迭代中,当换入 退化解迭代中, 变量取零值时目标函数 值没有改进, 值没有改进,
约束方程为“ 二、 约束方程为“>=”或“=”的情形(加人工变量) 或 的情形
例8 min z =-3x1+x2+x3 -
标准型: 标准型:
max z’ =3x1- x2- x3 3
x1 − 2 x2 + x3 ≤ 11 − 4 x + x + 2 x ≥ 3 1 2 3 s.t. + x3 = 1 − 2 x1 x1 , x2 , x 3 ≥ 0
4
X* = (4,1,9,0,0)T , z* = 2
5.3 两阶段法
第一阶段: 人工变量之和最小化为目标函数。 第一阶段:以人工变量之和最小化为目标函数。 最小化为目标函数 min ω = x6+x7
只要原问题有可行解, 该最小化问题的最优目标函数值就 只要原问题有可行解, 是 0,解得的最优解 x6=0,x7=0,对应原问题一个基可行解。 , , ,对应原问题一个基可行解。 反之若该问题的最优解目标函数值大于零, 反之若该问题的最优解目标函数值大于零, 则说明原问题无可 行解。 行解。
s.t.
= 11 x1 − 2 x2 + x3 + x4 − 4 x + x + 2 x − x5 = 3 1 2 3 + x3 =1 − 2 x1 x1 ,L , x5 ≥ 0
其中第2、 个约束方程中无明显基变量 分别加上人工变量x 个约束方程中无明显基变量, 其中第 、3个约束方程中无明显基变量,分别加上人工变量 6, x7,
用两阶段法求下面线性规划问题的解 Max Z=2x1+ x 2+ x 3 s.t. 4x1+2x2+ 2x 3≥4 2x1+4x2 ≤20 4x1+8x2+ 2x 3≤16 x1,x2,x 3≥0
5. 4 线性规划问题解的讨论
一、无可行解 max z=2x1+4x2 x1 +x2 ≤10 2x1 +x2 ≥ 40 两阶段法 x1 ,x2 ≥0
θ
4 — —
σj
-3 1 1
σj
约束方程为“ 约束方程为“>=”或“=”的情形(加人工变量) 或 的情形 人工变量法(确定初始可行基): 原约束方程:AX=b 加入人工变量:xn+1,…,xn+m
a1n xn + xn +1 a11 x1 + a x + a2 n xn + xn + 2 21 1 L a m1 x1 + a mn xn + x1 , L , xn ≥ 0, xn +1 , L , xn + m ≥ 0 = b1 = b2 xn + m = bm
单纯形法的进一步讨论
几种情况
目标函数为Min的情形 一、 目标函数为 的情形 三种处理方法: 三种处理方法: 1 令Z’= -Z ===> Max Z’= -CX ; 2 求Min Z, 当所有检验数 时为最优, , 当所有检验数cj-zj>=0 时为最优,否则要 迭代,换入检验数最小的那个变量, 迭代,换入检验数最小的那个变量,确定换出变量的方 法和前面Max的情形一样; 的情形一样; 法和前面 的情形一样 3 规定检验数为 - cj, 其余过程和前面 规定检验数为zj 的情形一样。 , 其余过程和前面Max的情形一样。 的情形一样
第二阶段:以第一阶段的最优解 不含人工变量 为初始解, 不含人工变量)为初始解 第二阶段:以第一阶段的最优解(不含人工变量 为初始解, 以原目标函数为目标函数。 以原目标函数为目标函数。
例8 试用两阶段法求解线性规划问题 min z =-3x1+x2+x3 s.t.