单纯形法求解思路及重要参数的推导
15单纯形法

17
定理1 对解 全 定理1:对解X(1) ,若检验数λj ( j=m+1,…,n)全 为最优解. 部≤ 0,则X(1)为最优解. 定理2:对X(1),若有某个非基变量 m+k→λm+k>0 若有某个非基变量X 定理2 且相应的P 且相应的 m+k =(a1m+k ,… ,amm+k )T ≤ 0,则原问题 无有限最优解. 无有限最优解.
2
-2 X2
(2),判定解是否最优 , Z=0+40X1+50X2 当X1从0↗或X2从0↗ ↗ ↗ Z从0↗ 从 ↗ ∴ X(1) 不是最优解
3
(3),由一个基可行解→另一个基可行解. ,由一个基可行解→另一个基可行解. ∵ 50> 40 X3 X4 选X2从0↗,X1 =0 ↗ X2 ≤ 30/2 X2 ≤ 60/2 X2 ≤ 24/2
=30-2X2 ≥0 =60-2X2 ≥0
X5 =24-2X2 ≥0
X2=min(30/2 , 60/2 , 24/2 ) =12 X2进基变量, X5出基变量. 进基变量, 出基变量.
4
B2=(P3 P4 P2)
Z=0+40X1+50X2 X3 +2X2 =30-X1 X4+2X2 =60-3X1 2X2=24-X5 ④ ① ② ③
λj>0
(2),决定换出变量: ,决定换出变量: bi -aim+kXm+k ≥0 ( i=1 ,2 ,…, m) Xm+k ≤ bi aim+k (aim+k>0 )
第三节 单纯形法

θi 32.5 40 25
5 7. 5
注意:单纯形法中, 注意:单纯形法中, 1.每一步运算只能用矩阵初等行 1.每一步运算只能用矩阵初等行 变换; 变换; 2.表中第3列的数总应保持非负 2.表中第 表中第3 (≥ 0); 3.当所有检验数均非正(≤ 0) 3.当所有检验数均非正 当所有检验数均非正( 得到最优单纯形表。 时,得到最优单纯形表。
8
1.初始单纯形表: 1.初始单纯形表: 初始单纯形表
CB XB b b1 b2 ┇ bm f
m
cn+1 xn+1 cn+2 xn+2 ┇ ┇ cn+m xn+m m -z
c1 x1 a11 a21 ┇ am1 σ1
… … … … ┇ … …
cn xn a1n a2n ┇ amn σn
m
cn+1 xn+1 1 0 ┇ 0 m 0
-z
15
在最优单纯形表中,非基变量的检验数不 在最优单纯形表中, 是正数,于是得到最优解为X 是正数,于是得到最优解为X*=(15,10,0,0,45)T 最优目标值为z =32500。注意到非基变量x 最优目标值为z*=32500。注意到非基变量x4 的检验数是0 如果选x 为进基变量, 的检验数是0,如果选x4为进基变量,迭代 还可以进行下去,但是最优值不会增大, 还可以进行下去,但是最优值不会增大, 而只有最优解改变,这就是多解的情况。 而只有最优解改变,这就是多解的情况。 下面再迭代一步,如表2 所示。 下面再迭代一步,如表2-9所示。
19
解:单纯形法求解过程如下表。 单纯形法求解过程如下表。
CB XB
0 0 0 -z 7 0 0 -z x1 x6 x7 x5 x6 x7
第5章-单纯形法

基。那么我们能否在求解之前,就找到一个可行基呢?也就是说我们找到的一个
基能保证在求解之后得到的解一定是基本可行解呢?由于在线性规划的标准型中
要求bj都大于等于零,如果我们能找到一个基是单位矩阵,或者说一个基是由单位 矩阵的各列向量所组成(至于各列向量的前后顺序是无关紧要的事)例如,
xm a x m ,m 1 m 1 a m ,n xn bm ,
x j 0. j 1, 2, , n
以下用 xii1,2, ,m表示基变量,用 x jj m 1 ,m 2 , ,n
表示非基变量。
§2 单纯形法的表格形式
把第i个约束方程移项,就可以用非基变量来表示基变量xi, xi bi ai,m1xm1ai,m2xm2 ai,nxn
i1
a1j
,cma2j
amj
c1,c2, ,cmpj
§2 单纯形法的表格形式
上面假设x1,x2,…xm是基变量,即第i行约束方程的基变量正好是xi,而 经过迭代后,基将发生变化,计算zj的式子也会发生变化。如果迭代后的 第i行约束方程中的基变量为xBi,与xBi相应的目标函数系数为cBi,系数列
三、 基变换 通过检验,我们知道这个初始基本可行解不是最优解。下面介绍如何进
行基变换找到一个新的可行基,具体的做法是从可行基中换一个列向量,得 到一个新的可行基,使得求解得到的新的基本可行解,其目标函数值更优。 为了换基就要确定换入变量与换出变量。 1.
从最优解判别定理知道,当某个σj>0时,非基变量xj变为基变量不取 零值可以使目标函数值增大,故我们要选基检验数大于0的非基变量换到基 变量中去(称之为入基变量)。若有两个以上的σj>0,则为了使目标函数 增加得更大些,一般选其中的σj最大者的非基变量为入基变量,在本例题 中σ2=100是检验数中最大的正数,故选x2为入基变量。
第5章_单纯形法

初始可行解:第一个找到的可行域的顶点。
三、单纯形法试算程序框图(见图5—1)
开始
转变为标准型[增加额外 变量(松弛、剩余、人工 变量)]
建立初始单纯形表
最优
是
停
否 找出“换入”“换出”变量
修正单纯形表
图5—1
5.2 线性规划模型的变换
一、线性规划模型标准型的特点 ⑴目标函数是求极大值或极小值; ⑵所有的变量都是非负的; ⑶除变量的非负约束外,其余的约束条件都
ABCD 含量(单位/千克)
最低需求量 (单位)
糖
5 2 4 2 60
蛋白质
3 2 1 4 40
脂肪
3 1 2 5 35
单价(元/千克) 1.5 0.7 0.9 1.2
例3是例2的对偶问题,例3与例2互为对偶线性规 划原规划与对偶规划具有对称性,如图所示:
食品
单一营
养成分单价
AB C D
单一营养
(x1) (x2) (x3) (x4) 成分需求量
m
c a Z j
i ij
i 1
解b
b 1
b 2
…… b
n
目标函 数
例1
求max Z=7x1+10x2 满足 7x1+7x2≤49 10x1+5x2≤50 x1,x2≥0
用单纯形法求解。
例2
第2章例1中我们得线性规划模型为: 目标函数:max Z = 50x1+100x2
满足 x1 + x2 ≤300 2x1 + x2 ≤400 x2 ≤250 x1,x2 ≥0
…… am1x1 + am2x2 + ……+ amnxn ≤(≥,=) bm x1,x2 …… xn≥ 0
单纯形法

(0)寻找初始的基本可行解 ①选取基变量: 选x3, x4为基变量 ②转换为典则形式
用非基变量表示基变量和目标函数的形式称为关于基的 典则形式 max z = 50x1 + 30x2 s.t. x3= 120 - 4x1 - 3x2 x4= 50 - 2x1 - x2 x1, x2, x3, x4 0 寻找初始基本可行解:令所有的非基变量都为零,得到
max z = 50x1 + 30x2 s.t. 4x1 + 3x2 120 2x1 + x2 50 x 1, x 2 0 将原问题先转化为标准型: max z = 50x1+ 30x2 s.t. 4x1 + 3x2 + x3 = 120 2x1 + x2 + x4 = 50 x 1, x 2, x 3, x 4 0
1.4 单纯形方法
1. 单纯形方法的推导及单纯形表 2. 如何寻找初始基本可行解
Hale Waihona Puke 1. 单纯形方法推导• 单纯形方法的基本思想 从可行域的一个基本可行解(极点)出发, 判别它是否已是最优解,如果不是,寻找 下一个基本可行解,并使目标函数得到改 进,如此迭代下去,直到找到最优解或判 定问题无界为止。
例1.1 生产计划问题
大 M 法的优缺点
• 优点:简单、直观,在单纯形表上的计算 步骤与普通单纯形方法相同; • 缺点:大 M 到底取多大值?M 取值太大将 增加数值计算的困难。
两阶段法
• 基本思想:将求解过程分为两个阶段:
– 第一阶段寻找初始可行解或判断问题无可行解; – 第二阶段寻找最优解或判断问题无界。
• (2)第二次换基迭代
选 x2进基。得到下列不等式关系: x1 = 25 - 0.5x2 - 0.5x4 0 x3 = 20 x2 + 2x4 0 简化为: 25 - 0.5x2 0 20 x2 0 X2越大Z就越大,能使上述不等式全成立的X2中, 最大的是 min(25/0.5, 20/1) = 20 ,于是迫使 x3为零; 令 x3出基。
运筹学单纯形法

单纯形表
max z=x1+2x2 s.t. x1+x23 x2 1 x1, x2 0
Cj CB XB b 0 0 Z X3 3 X4 1 0 1 2 0 0
标准化
max z=x1+2x2 s.t. x1+x2+ x3 =3 x2 +x4=1 x1, x2 ,x3, x40
X1 X2 X3 X4 1 0 1 1 1 2 1 0 0 0 1 0
Z=x1+2x2 x1+x2+ x3 =3 x2 +x4=1 单纯形表
Cj
1
2
0
0
单纯形法原理 单纯形表 CB XB b
z=x1+2x2 x3 =3-x1-x2 x4=1 -x2
x2进基,x4离基
X1 X2 X3 X4
3/1 11
0
1 0
1 1
1 1
2 2 0 1 0 2 0 1 0 0 1 0 -1 0
max z=x1+2x2 s.t. x1+x2+x3 =3 x2 +x4=1 x1, x2, x3, x40
x1=0
(x1,x2,x3,x4)= (0,1,2,0), z=2 C (x1,x2,x3,x4)= (2,1,0,0), z=4,最优解
B
x4=0 x3=0
(x1,x2,x3,x4)= (0,0,3,1), z=0
1 0
0 0
0 1
0
CB XB b 0 2 Z Cj CB XB b 1 2 Z X1 2 X2 1 4 X3 2 X2 1 2 1 1 0 0
X1 X2 X3 X4 1 0 1 1 0 0 0 -1 1 -1
第二章 单纯形法

求解线性规划: 求解线性规划: max z = 3x1 + 5x2 s.t. x1 ≤ 8 2x2 ≤ 12 3x1 + 4x2 ≤36 x1, x2 ≥ 0
解:将原问题转化为标准 型模型: 型模型:
Max z = 3 x1 + 5 x2 s.t. x1 + x3 = 8 x2 + x4 = 12 3x1+ 4x2 + x5 = 36 x1 , x2 , x3 , x4 , x5 ≥ 0
=0 =8 =12 =36
z
-3x1 x1 x2 3x1
+5/2x4 +x3 +1/2x4 -2x4 +x5
=30 =8 =6 =12
z +x3 x2 x1
+1/2x4 +x5 =42 +2/3x4 -1/3x5 =4 +1/2x4 =6 -2/3 x4 +1/3x5 =4
方程组形式的求解过程
max z = 10 x1 + 5 x2 3x1 + 4 x2 + x3 = 9 s.t 5 x1 + 2 x2 + x4 = 8 x ,x ,x ,x ≥0 1 2 3 4
4 在所有σj<0中,只要有一个σr<0说对应 中 说对应 的系数列向量a 的系数列向量 r ≤0,即一切 ir ≤0(i=1, ,即一切a ( , 2,m),则该 问题无最优解,停止计 , ),则该LP问题无最优解 ),则该 问题无最优解, 算,否则转5。 否则转 。 5 按最小检验数规则
确定进基变量x 和主列a 确定进基变量 k和主列 k;再按最小比值规 则
•转换为典则形式 转换为典则形式
线性规划(2单纯形法) (1)

X1 X 2 0 3
X4 -15 X3 9
作主元运算, 得到新的基础可行解: X(2)=(0,0,9,1,0)t S= 35
C CB -1 4 σ XB 10 3 4 X3 0 1 -1 X4 1 0 1 X5 -2 1 1 9 35 b Θ
X1 X 2 0 3
X4 -15 X3 9
判断是否最优解:X(2)=(0,0,9,1,0)T S= 35 计算检验数,所有检验数全小于零,达到最优解, X*=(0,0,9,1,0)T S = 35
=
CB B-1b
0 CN-CB B-1N
二、判别
•若检验数全小于等于零,则基B所对应 的基础可行解X就是最优解,终止。 •若存在检验数大于零,但所对应的进 基变量XS的系数向量PS小于等于零,则 原问题无最优解,终止。
•若存在检验数大于零,且对应的常数 项大于零,则需要换基迭代。
三、换基迭代 •确定进基变量XS,其中 max( Ơj | Ơj > 0 ) = Ơs
•继续寻找更优的基础可行解,进一步改进目 标函数值。当某一个基础可行解不能再改善 时,该解就是最优解。
一、已知初始可行基求最优解
线性规划标准型的矩阵形式(3):
Max S = CX
(1-17)
s.t. AX=b
X0
(1-18)
(1-19)
a11 a12 …. a1n
b1
A=
a21 a22 …. a2n
第一行加上第二行的(-6)倍
C CB -1 1 σ XB 10 X1 3 X2 0 1 6 4 X3 0 1/3 5 -1 X4 1 0 0 1 X5 -2 1/3 0 1 3 -10 b Θ
X4 -15 X5 3 4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单纯形法求解线性规划的思路及重要参数的推导在求解线性规划问题的算法中,单纯形法是一种成熟、简便、有效的算法,在目前应用最为广泛。
因此,我们组通过查阅资料以及小组讨论的形式,分工合作,共同探讨出单纯形法求解线性规划的思路。
一般线性规划问题有时具有线性方程组的变量数大于方程个数的情况, 这时就使得方程有不定的解。
这时就可以使用单纯形法来求解,从线性方程组中找出一个个的单纯形, 每一个单纯形可以求得一组解, 然后再判断该解使目标函数值是增大还是变小, 决定下一步选择的单纯形。
在这其中每一个单纯形所对应的解其实都相当于n维空间图形中的一个顶点,我们就是要一个顶点,一个顶点的找到使目标函数值更好的顶点, 直到目标函数实现最大值或最小值为止。
这样问题就得到了最优解。
具体的求解步骤来说有6步:1:建立基本可行解。
2:计算变量的检验数。
3:判断是否最优。
4:若不是最优解,则换基。
5:计算新的基本可行解。
6:迭代计算直到求的最优解或者可判断无最优解为止。
接下来,我们通过具体的事例来详细介绍具体的求解步骤,并列出重要参数以及定理的推导过程。
某工厂在计划期内要安排生产Ⅰ、Ⅱ两种产品, 已知生产单位产品所需的设备台时及A、B 两种原材料的消耗, 如下表所示。
该工厂每生产一件产品Ⅰ可获利2 元, 每生产一件产品Ⅱ可获利3元, 问应如何安排计划使该工厂获利最多?解:根据题意建立其标准型:max z = 2x1 + 3x2 + 0x3 + 0x4 + 0x5 (1)x1 +2x2 +x3 = 84x1 + x4 = 16 (2)4x2 +x5 = 12x j ≥0 , j = 1 , 2 , ⋯ , 5 一、建立基本可行解在标准型中x3 , x4 , x5为转化为标准型时加入的松弛变量,从(2)式中可以看到x3, x4 , x5的系数列向量1 0 0P3 = 0 , P4 = 1 , P5 = 00 0 1而这些列向量就可以看做一个初始可行基1 0 0B = ( P3 , P4 , P5 ) = 0 1 00 0 1B 的变量x 3 , x 4 , x 5 为基变量, 从(2)式中可以得到 x 3 = 8 -x 1 - 2x 2x 4= 16 - 4x 1 (3) x 5= 12 - 4x 2二、计算变量的检验数将(3)式代入目标函数(1)式得到z = 0 + 2x 1 + 3x 2 (4)当令非基变量x 1 = x 2 = 0 , 便得到z = 0。
这时得到一个基可行解X (0),X (0)= ( 0 , 0 , 8 , 16 , 12) T这个基可行解表示: 工厂没有安排生产产品Ⅰ、Ⅱ ; 资源都没有被利用, 所以工厂的利润指标z = 0。
三、判断是否最优(最优解的检验和解的判别)线性规划问题的求解结果可能出现唯一最优解,无穷多最优解,无界解和无可行解四种情况,为此需要建立对解的判别准则。
下面我们来讨论怎样判别解属于那一种情况。
''1ni i ij j j m x b a x =+=-∑(i=1,2,…,m ) (1-1)将(1-1)式代入目标函数 目标函数式为(1-2)''111m nmi i j i ij j i j m i z c b c c a x ==+=⎡⎤=+-⎢⎥⎣⎦∑∑∑ (1-3)令''011,,1,...,m mi i j i ij i i z c b z c a j m n =====+∑∑于是01()njj jj m z z cz x =+=+-∑ (1-4)再令j j j c z σ=- (j=m+1,…,n )则01njj j m z z x σ=+=+∑ (1-5)1. 最优解的判别定理若(0)'''12(,,...,,0,...,0)T m X b b b =为对应基B 的一个基可行解,且对于一切J=m+1,…,n,有0j σ≤,则为(0)X 最优解。
称j σ为检验数。
2. 无穷多最优解判别定理 若(0)'''12(,,...,,0,...,0)Tm X b b b =为一个基可行解, 对于一切j = m+ 1 ,⋯, n, 有σj ≤0 ,又存在某个非基变量的检验数σm + k = 0 ,则线性规划问题有无穷多最优解。
证只需将非基变量m k x +换入基变量中, 找到一个新基可行解。
因σm + k = 0, 由(1 -2 )知, 0z z = 故(0)X 也是最优解。
由前面提到的定理,即,若可行域有界,线性规划问题的目标函数一定可以在其可行域的顶点上达到最优,可知, (0)X ,(1)X 连线上所有点都是最优解 3. 无界解判别定理若(0)'''12(,,...,,0,...,0)Tm X b b b =为一基可行解, 有一个σm + k > 0 ,并且对i = 1 , 2 , ⋯, m ,有,0i m k a +≤, 那么该线性规划问题具有无界解(或称无最优解)。
证构造一个新的解(1)X ,它的分量为(1)'',(0)i i i m k x b a λλ+=->(1)m k x λ+=(1)0,jx =j = 0 , j = m + 1 , ⋯ , n , 且j ≠m + k因,0i m k a +≤ , 所以对任意的λ> 0 都是可行解, 把x ( 1 ) 代入目标函数内得0m k z z λσ+=+因σm + k > 0 , 故当λ→ + ∞ , 则z → + ∞ , 故该问题目标函数无界。
以上讨论都是针对标准型,即求目标函数极大化时的情况。
当求目标函数极小化时,一种情况如前所述, 将其化为标准型。
如果不化为标准型, 只需在上述1 , 2 点中把σj ≤0改为σj ≥0 , 第3 点中将m k σ+>0改写为σm + k < 0 即可。
对于本例来说,由(4)得到非基变量x 1 , x 2的检验数为正数,因此X(0)还不是目标函数的最优解,将非基变量x1 , x2变换为基变量,则目标函数的值就可能增大。
工厂只有生产了产品后才有可能收益,所以只要在目标函数(4)的表达式中还存在有非负的检验数,就表示目标函数值还有增加的可能。
四、换基(入基、出基)对某些情况来说,通过检验,初始可行解可能不是最优解。
这是,我们需要通过基变换得到一个新的可行基。
具体做法是从可行基中换一个列向量,得到一个新的可行基,使得求解得到新的基本可行解,使目标函数值更优。
为了换基就要确定换入变量与换出变量。
(1)入基变量的确定δ>时,非基变量j x不取零值从最优解判别定理知道,当某个0j可以使目标函数值增大,故我们要选基检验数大于0的非基变量换到基变量中去。
若有两个以上的,则为了是目标函数增加的更大一些,一般选jδ最大者的非基变量为入变量。
(2)出变量的确定确定出基变量的方法如下。
把已确定的入基变量在各约束方程中的系数除其所在约束方程中的常数项的值,把其中最小比值所在的约束方程中的原基变量确定为出基变量。
下面再进行检验其最优性,如果不是最优解还要继续进行基变换,直至找到最优解,或者能够判断出线性规划无最优解为止。
p p p是一组线性独立的向量组,它们对应的基可行解是设1,2,....m(0)X 。
将它代入约束方程组中1nj jj p x b==∑,0,1,2,...,j x j n ≥=中得到(0)1mi i i x P b ==∑ (1)其他的向量12,,...,...,m m m t n P P P P +++都可以用12,,...,m P P P 线性表示,若确定非基变量m t p +为换入变量,必然可以找到一组不全为0的数(1,2,...,i m =)使得,1mm t i m t ii P P β++==∑或,1mm t i m t i i P P β+-+==∑ (2)在(2)式两边同乘一个正数θ,然后将它加到(1)式上,得到(0),11mmi i m t i m t i i i x P P P b θβ+-+==⎛⎫+= ⎪⎝⎭∑∑或(0),1()mi i i m t m t i x P P b θβθ++=-+=∑ (3)当θ取适当值时,就能得到满足约束条件的一个可行解(即非零分量的数目不大于m 个)。
就应使(0),()(1,2,...,)m t i i x i m θβ+-=中的某一个为零,并保证其余的分量为非负。
这个要求可以用以下的办法达到:比较各比值(0),(1,2,...,)ii m txi m β+=。
又因θ必须是正数,所以只选择(0),0(1,2,...,)i i m tx i m β+⎛⎫>= ⎪ ⎪⎝⎭中比值最小的等于θ。
以上描述用数学使表述为:(0)(0),,,min |0i i i m t i i m t i m t x x θβββ+++⎛⎫=>=⎪ ⎪⎝⎭这时i x 为换出变量。
按最小比值确定θ值,称为最小比值规则。
将(0),i i m tx θβ+=带入X 中,便得到新的基可行解。
(0)(0)(0)(0)(0)(0)111,,,,,(,...,0,...,,0,...,,0...,)i i i m t m m m t l m tl m tl m tx x x X x x βββββ+++++=--↑ ↑ 第l 个分量 第m+t 分量 由此得到由(0)X 转换到(1)X 的各分量的转换公式()(0)0,(0)1,,(1),l i i m t lm tx x i l ix i lXββ++-≠=⎧⎪=⎨⎪⎩这里(0)i x 是原基可行解 (0)X 的各分量;(1)i X 是新基可行解 (1)X 的各分量;,i m tβ+ 是换入向量m t P +的对应原来一组基向量的坐标。
现在的问题是,这个新解(1)X 的m 个非零分量对应的列向量是否线性独立?事实上,因(0)X 的第l 个分量对应于(1)X 的相应分量是零,即(0),0l l m t X θβ+-=其中(0)l X ,θ均不为零,根据θ规则(最小比值),,0l m t β+≠。
(1)X 中的m个非零分量对应的m 个列向量是(1,2,...,,)j P j m j l =≠和m t P +。
若这组向量不是线性独立,则一定可以找到不全为零的数jα,使1,mm t j j j P P j lα+==≠∑ (4)成立。
又因,1mm t j m t jj P P β++==∑ (5)将(5)式减(1)式得到,,1,1()0mj m t j j l m t l j j P P βαβ++=≠-+=∑由于上式中至少有,0l m t β+≠,所以上式表明12,,...,m P P P 是线性相关,这与假设相矛盾。