单纯形法
单纯形法新版
1 2
2 1
1 0
10,A 中的2阶可逆子阵有
1
B 1
0
10,其相应的基向量为P3
,
P 4
,
基变量为x
3
,
x
,X
4
B1
x 3 ; x 4
1
B 2
2
2 1
,
其相应的基向量为P 1
,
P 2
,
基变量为x
1
,
x
2
,
X
B2
x 1 。 x 2
问题:本例旳A中一共有几种基? —— 6个。
一般地,m×n 阶矩阵A中基旳个数最多有多少个? — —C m 个。 n
p 1
7
(0 0
0) 4
7;
3
360 90
3
4
[ ] 中表达进基列与出基行旳交叉元,下一张表将实 施以它为主元旳初等行变换(称高斯消去)。措施是: 先将主元消成1,再用此1将其所在列旳其他元消成0。
C X B b1
B
B
0
x 3
360
0
x 4
200
0
x 5
300
0
x 3
240
0
x 4
50
(1)先将模型化为原则型
Maxz 7 x1 12x2
9x 1 4x 2 x 3
5x 2 10 x
2
x 4
200
x 300 5
x
1, x
2, x , x , x
3
4
5
0
(2) 拟定初始基可行解、检验
1
B 0
1
,
B
b1
单纯形法
单纯形法simplex method求解线性规划问题的通用方法。
单纯形是美国数学家G.B.丹齐克于1947年首先提出来的。
它的理论根据是:线性规划问题的可行域是n维向量空间Rn中的多面凸集,其最优值如果存在必在该凸集的某顶点处达到。
顶点所对应的可行解称为基本可行解。
单纯形法的基本思想是:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。
因基本可行解的个数有限,故经有限次转换必能得出问题的最优解。
如果问题无最优解也可用此法判别。
根据单纯形法的原理,在线性规划问题中,决策变量(控制变量)x1,x2,…x n的值称为一个解,满足所有的约束条件的解称为可行解。
使目标函数达到最大值(或最小值)的可行解称为最优解。
这样,一个最优解能在整个由约束条件所确定的可行区域内使目标函数达到最大值(或最小值)。
求解线性规划问题的目的就是要找出最优解。
最优解可能出现下列情况之一:①存在着一个最优解;②存在着无穷多个最优解;③不存在最优解,这只在两种情况下发生,即没有可行解或各项约束条件不阻止目标函数的值无限增大(或向负的方向无限增大)。
单纯形法的一般解题步骤可归纳如下:①把线性规划问题的约束方程组表达成典范型方程组,找出基本可行解作为初始基本可行解。
②若基本可行解不存在,即约束条件有矛盾,则问题无解。
③若基本可行解存在,从初始基本可行解作为起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标函数值更优的另一基本可行解。
④按步骤3进行迭代,直到对应检验数满足最优性条件(这时目标函数值不能再改善),即得到问题的最优解。
⑤若迭代过程中发现问题的目标函数值无界,则终止迭代。
用单纯形法求解线性规划问题所需的迭代次数主要取决于约束条件的个数。
现在一般的线性规划问题都是应用单纯形法标准软件在计算机上求解,对于具有106个决策变量和104个约束条件的线性规划问题已能在计算机上解得。
第三节 单纯形法
θ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
单纯形法
定理2.2 定理
在已知一个基本可行 初始基本可行解)的前提下, 解(初始基本可行解)的前提下, 使用单纯形法求解线性规划时, 使用单纯形法求解线性规划时,若 每次迭代得出的基本可行解的基变 量均大于零(称为非退化), ),则算 量均大于零(称为非退化),则算 法必有限步终止。 法必有限步终止。
P22
min z = 9 10 x1 +27 x3 s.t. x2 = 5 + x1 3x3 x4 = 6 2 x1 + 4 x3 x1 , x2 , x3 , x4 ≥ 0 T 是否为(2.9)的最优解 判断 (0,5,0,6) 是否为(2.9)的最优解
1 0 0 0 1 0
T
(2.9)
-2 1 7
0 0 1 0 -1/5 2/5 3/5 1/5
4 2 5 16 3 4 3 17
从表中知( , , , , ) 从表中知(4,3,3,0,0)T为最优 略去松弛变量, 解,略去松弛变量,得:
x = (4,3)
T
——最优解 最优解Fra bibliotekz = 17
——最优值 最优值
§2.5
大M法 法
引入:问题提出, 引入:问题提出,当初始 基本可行解不知道时, 基本可行解不知道时,如何 求解? 求解? 先利用容许的运算使右列 为非负, 为非负,然后在中心部位人 工地添加一个单位子块。 工地添加一个单位子块。
最优解的读法: 最优解的读法: 单位子块中1所对应的变量取相应右列的值, 单位子块中 所对应的变量取相应右列的值,不在 所对应的变量取相应右列的值 单位子块位置中的变量取值为0。 单位子块位置中的变量取值为 。而右下端元素变号 即为LP的最优值 的最优值。 即为 的最优值。 单纯形法的步骤: 单纯形法的步骤:
运筹学第5章 单纯形法
0 0 1
在第一次找可行基时,所找到的基或为单位矩阵或为由单位矩阵的 各列向量所组成,称之为初始可行基,其相应的基本可行解叫初始基 本可行解。如果找不到单位矩阵或由单位矩阵的各列向量组成的基作 为初始可行基,我们将构造初始可行基,具体做法在以后详细讲述。
8Leabharlann §1 单纯形法的基本思路和原理
二、 最优性检验 所谓最优性检验就是判断已求得的基本可行解是否是最优解。
5
§1 单纯形法的基本思路和原理
线性规划解之间的关系:
1.可行解与最优解: 最优解一定是可行解,但可行解不一定是最优解。
2. 可行解与基本解: 基本解不一定是可行解,可行解也不一定是基本解。
3. 可行解与基本可行解: 基本可行解一定是可行解,但可行解不一定是基本可行解。
4. 基本解与基本可行解: 基本可行解一定是基本解, 但基本解不一定是基本可行解。
9
§1 单纯形法的基本思路和原理
2.最优解判别定理
对于求最大目标函数的问题中,对于某个基本可行解,如
果所有检验数 j≤0,则这个基本可行解是最优解。 下面我
们用通俗的说法来解释最优解判别定理。设用非基变量表示
的目标函数为: z z0 j xj jJ 由于所有的xj的取值范围为大于等于零,当所有的 j都小
由线性代数的知识知道,如果我们在约束方程组系数矩阵中找
到一个基,令这个基的非基变量为零,再求解这个m元线性方程组就
可得到唯一的解了,这个解我们称之为线性规划的基本解。
在此例中我们不妨找到
1 1 0 B3 1 0 0
为A的一个基,令这个基的非
1 0 1
基变量x1,s2为零。这时约束方程就变为基变量的约束方程:
第五章 单 纯 形 法
运筹学单纯形法
单纯形表
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
运筹学单纯形法
16
三、其他解旳情况 1、无穷多种解 例2 解LP问题:
min Z x1 2 x2 x3 0 x4 0 x5
xx51
1 2c 5 3c
其中c是满足非负性旳任意常数。
21
再由
x1,
x5
旳非负性,知:
x1 x2
1 2c c
0 0
x5 5 3c 0
解出 0 c 5 3
最优解为:
(2c 1, c,0,0,5 3c)T (其中0 c 5 )
3
最优值为:max S 1.
22
2、无最优解旳两种情况:
相应地,将 X 0代入目的函数得 Z ( X 0 ) 0
从数学角度看,若让非基变量 x1, x2 取值从零增长,
6
min Z 2x1 x2 0x3 0x4 0x5
相应旳目旳函数值Z也将随之降低。所以有可能找到一种 新旳基本可行解,使其目旳函数值有所改善。即进行基变
换,换一种与它相邻旳基。再注意到 x1 前旳系数-2比 x2
x3
6 x1 x1
2x2 x2
x4 x5
xi 0
i 1,,5
15 24 5
目前可行基{ x3, x4 , x5 }所相应旳基本可行解
X 0 (0,0,15,24,5)T
(相应可行域旳 o(0,0) )
显然不是最优。 因为从经济意义上讲, x1 0, x2 0
意味着该厂不安排生产,所以没有利润。
2
单纯形法
基可行解单纯形法是针对标准形式的线性规划问题进行演算的,任何线性规划问题都可以化为标准形式。
min cx f = (1) s.tb Ax =(2) 0≥x (3)其中Tmmn m m n n Tn n b b b b a a a a a a a a a A x x x x c c c c )...,(,..................,),...,,(),,...,(212122221112112121=⎪⎪⎭⎪⎪⎬⎫⎪⎪⎩⎪⎪⎨⎧===假设1≥≥m n ,并设系数矩阵A 的秩为m ,即设约束方程(2)中没有多余的方程,用jp 表示A 的第j 列,于是(2可写成bp xmk j j=∑=1(4)矩阵A 的任意一个m 阶非奇异子方阵为LP 的一个基(或基阵),若),...,(21jm j j p p p B = (5)是一个基,则对应变量jm j j x x x ,...,,21,称关于B 的基变量,其余变量成为关于B 的非基变量,若令非基变量都取零值,则(4)变为bp xmk jk jk=∑=1(6)由于此方程组的系数矩阵B 是满秩方阵,故知(6)有唯一解,记为Tjnj j x x x ),...,,()0()0(2)0(1于是按分量{}{}),...,,\,...2,1(0),....3,2,1(21)0(m j jkjk j j j n j x m k x x ∈===所构成的向量)0(x 是约束方程组b Ax =的一个解,称此)0(x 为LP 的对应于基B 的基解(或基本解),也可称为方程组b Ax =的一个基解,如果)0(x 为一基解,且满足0)0(≥x 即它的所有分量都非负,则称此)0(x 是LP 的一个基可行解,基可行解对应的基称为可行基。
设对应基阵),...,(21m p p p B =,即m x x x ,...,,21为基变量,n m m x x x ,...,,21++ 是非基变量,记),...,,(),...,,(),...,,(212121n m m Tn m m n Tm B p p p N x x x x x x x x ++++===从而A=(B,N ),相应地分划),(N B c c c =,约束方程(2)可以写成b x x N B n B =⎪⎪⎭⎫⎝⎛),( 即b Nx Bx N B =+由此解得N B Nx B b B x 11---= (7)这是用非基变量表达基变量的公式 在(7)中令 0=N x 而知()TmB x x x x b B ),...,,()0()0(2)0(101==-如记则(7)相当于将(7)代入目标函数公式中所得非基变量表达目标函数式为或者目标函数在即则目标函数的表达式写成求解线性规划问题 min 4212x x x f +-=t s .223531=++x x x22432=+-x x x5532=++x x x)5,4,3,2,1(0 =≥j x j已知初始可行基,其对应典式为于是可列出0B 对应的单纯形表)(0B T ,如表所示从表可以看出,检验数中仅有02≥ λ,故取2x 为进基变量,由于最小比值12200min2=⎭⎬⎫⎩⎨⎧>i i b b b i在第2行取得,故取第2行对应的基变量4x 为离基变量,于是元素122=b 是上表的枢元 为求出新基()3211p p p B =对应的单纯形表,对)(0B T 作初等形变换,使2x 对应的列变为单位列向量。
单纯形法
单纯形法(SM ,simplex method)首先在n 维欧氏空间n E 中构造一个包含1n +顶点的凸多面体,求出各顶点的函数值并确定其中的最大值,次大值和最小值。
然后通过反射、扩张、内缩、缩边等求出一个较好解,用之取代最差点,从而构成新的多面体。
如此迭代可求得一个极小点。
具体步骤如下:①、 确定初始点。
②、 反射操作:求出1n +个顶点的函数值,确定其中最大值G f ,次大值H f 和最小值L f 。
除去最大值点G X ,计算剩余n 个点的形心X ,然后求出G X 关于X的对称点(2)n X +,计算(2)()n f X +。
若(2)()n L f X f +<,则令(3)(2)()n n X X X X γ++=+-,其中1γ>,取2γ=,并计算(3)()n f X +,若(3)(2)()()n n f X f X++<则用(3)n X +取代G X 转步骤⑤,否则用(2)n X +取代G X 转步骤⑤。
③、 若(2)()n L H f f X f +≤≤,则用(2)n X +取代G X 步骤⑤。
④、 若(2)()n H f X f +≥,则需要内缩,(2)(')min{(),()}n H f X f X f X +=,令(4)(')n X X X X β+=+-,其中0.5β=,计算(4)()n f X +,若(4)()(')n f X f X +≤,则用(4)n X +取代G X ,并转步骤⑤。
若(4)()(')n f X f X +>则缩边,即()/2i i L X X X =+,(1,2,,1)i n =+ ,转步骤⑤。
⑤、 若120.511{[()()]}1n i i f X f X n ε+=-<+∑,则停止,否则转②。
SM 简单,计算量小,优化快速,不需要函数可导。
但对初始值依赖性强,容易陷入局部极小,而且优化效果随函数维数增加明显下降。
§13 单纯形法
单纯形法举例(续)
以上数学描述说明了每生产一件产品Ⅱ,需要 用掉各种资源数为(2,0,4),由这些资源中的薄弱 环节,就确定了产品Ⅱ的产量。
这里就是由原材料B的数量确定了产品Ⅱ的产量 x2=12/4=3件。
14
Operational Research
单纯形法举例(续)
为了求得以x3, x4, x2为基变量的一个基可行解和
x1, x2, …, xm 为松弛变量
28
Operational Research
初始基可行解的确定(续)
于是含有m×m单位矩阵,以B 作为可行基。
1
B P1, P2 ,
Pm
1
1
29
Operational Research
初始基可行解的确定(续)
将(*)式每个等式移项得
单纯形法的表现形式: 代数法 表格法 矩阵法
2
Operational Research
单纯形法的基本原理
一般线性规划问题具有线性方程组的变量数大 于方程个数,这时有不定的解。但可以从线性方程 组中找出一个个的单纯形,每一个单纯形可以求得 一组解,然后再判断该解使目标函数值是增大还是 变小,决定下一步选择的单纯形。这就是迭代,直 到目标函数实现最大值或最小值为止,这样问题就 得到了最优解。
单纯形法举例(续)
将(1-7)式代入目标函数(1-1)式得到
z
9
2x1
3 4
x5
(1 8)
令非基变量x1=x5=0,得到z=9,并得到另一个
基可行解X(1)。
X (1) (0, 3, 2,16, 0)T
单纯形法
四、单纯形法的实现——单纯形表
例1:煤电油例 Max Z=7 x1 +12x2 9 x1 +4x2≤360 化为标准型 s.t. 4x1 +5x2 ≤200 3 x1 +10x2 ≤300 x1 , x2≥0 s.t. Max Z=7 x1 +12x2 9 x1 +4x2 +x3 4x1 +5x2 3 x1 +10x2 x1 ,…,x5≥0 +x4 =360 = 200
•
“≥”型约束,减松弛变量;
练习1.3 请将例1.1的约束化为标准型
Maxz = 7 x1 + 12 x 2 ⎧9 x1 + 4 x 2 ≤ 360 ⎪4 x1 + 5 x 2 ≤ 200 s.t.⎨ 3x1 + 10 x 2 ≤ 300 ⎪x , x ≥ 0 ⎩ 1 2
则约束化为
= 360 ⎧9 x1 + 4 x 2 + x3 ⎪4 x + 5 x 2 + x4 = 200 s.t.⎨ 1 3 x1 + 10 x 2 + x5 = 300 ⎪x , x , x , x , x ≥ 0 ⎩ 1 2 3 4 5
例4 下面为某线性规划的约束
=1 ⎧ x1 + 2 x2 + x3 ⎪ + x4 = 3 ⎨2 x1 − x2 ⎪ x1 , , x4 ≥ 0 ⎩ 请例举出其基矩阵和相应的基向量、基变量。
解:
本例中, A = ⎡1 2 1 0⎤,A中的2阶可逆子阵有 ⎢ 2 − 1 0 1⎥ ⎦ ⎣
问题:本例的A中一共有几个基?—— 6个。
易见,增加的松弛变量的系数恰构成一个单位阵I。
一般地,记松弛变量的向量为 X s,则
运筹学02-单纯形法
反之,若经过迭代,不能把人工变量都变
为非基变量,则表明原LP问题无可行解。
19
第2章
单纯形法
2.3 人工变量法
2.3.1 大M法
在原问题的目标函数中添上全部人工变量,并令其系数 都为-M,
而M是一个充分大的正数。即
max z = c1x1 + c2x2 + c3x3 + … + cnxn – M( xn+1 + xn+2 +…+ xn+m )
思路:由一个基本可行解转化为另一个基本可行解。 等价改写为 目标方程 max z max z = 3x1+5x2 z -3x1 -5x2 = 0 z -3x1 -5x2 x1 +x3 x1 +x3 = 8 2x2 +x4 2x2 +x4 = 12 s.t. s.t. 3x1+4x2 +x5 3x1 + 4x2 +x5 = 36 x1 , x2 ,x3,x4,x5 x1 , x2 ,x3,x4,x5 ≥ 0
以主列中正值元素为分母,同行右端常数为分子,求比值;
6
第2章
单纯形法
2.1 单纯形法的基本思想
(Ⅰ)
用换基运算 将X0 转化为 另一个基本 可行解 X1。
z- 3x1 -5x2 = 0 0 换基运算—— x1 +x3 = 8 ① 方程组的初等变换 目的是把主列变为 22x2 +x4 = 12 ② 单位向量:主元变 3x1 + 4x2 +x5 = 36 ③ 为1,其余变为0。 X0 = ( 0, 0, 8, 12, 36 )T z0 = 0
⑴ 当前基:m阶排列阵
运筹学第2章单纯形法
① ② ③
-2X4+X5 =12
得到新的基本可行解 X1 =(0,6,8,0,12)T
(1)、决定进基变量:1=--3, X1进基 (2)、决定离基变量:最小比值规则来确定主 元与离基变量.
则Xl为进基变量。 MIN(8/1,-,12/3)=12/3 此时可以确定X5为离基变量
Z
X(0) =(0, 0, 10, 15 )T
Z0 =0
Z-30X1-20X2 =0 选中X1从0↗,X2 =0 X3=10-(-X1 )0
X4=15-(-3X1 )0 求X1, X1→+ ,Z→+
2.2.3 单纯形法计算之例
2-3 人工变量法 (Artificial Variable)
+1/2X4
+X5 =42 =6
X3 +2/3X4 -1/3X5 =4
X2 +1/2X4
X1 -2/3X4+1/3X5=4 令X4 =X5 =0 X =(4, 6, 4, 0, 0)T Z =42
。此时4=1/2,
Z值不 再增大了,X值是最优基本解
5
=1,
* T * 即:X =(4,6) ,Z =42
检验数
当目标方程中基变量系数全为0时,非基 变量的系数可以作为检验当前的基本可 行解是否最优的标志,称之为检验数。
(2)、判定解是否最优 Z-3X1-5X2 =0 当X1从0↗或X2从0↗ Z从0↗ ∴ X0 不是最优解
(3)、由一个基可行解→另一个基可行解。 ∵ -5<-3 选X2从0↗,X1 =0 X3 =8 X4 =12-2X2 0 X2 12/2
N
沿边界找新 的基本可行解
结束
第五章 单纯形法
➢ 解决办法:保证右端项非负,找到一个 单位矩阵,必定是一个可行基。
二、单纯形法的基本思路和原理
➢ 如范例系数阵:
右端项非负
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的取值为
一、问题的提出
❖ 线性规划解的集合关系:
基
可
本最
基
行
可优
本
解
行解
解
解
一、问题的提出
❖显然,将搜索范围控制在基本可行 解内,将大大减少搜索工作量。
❖但是,即使取得一个基,得到的解 还不一定可行。
❖如何才能保证取得一个可行基呢?
一、问题的提出
单纯形法
XB =B-1b-B-1NX N 代入目标函数,使目标函数用非基变量
表示,即:
Z=cT X=(cTB
cTN) XB XN =cTBXB +cTN XN =cTB (B-1b-B-1NXN )+cTN XN
=cTBB-1b+(cTN -cTBB-1N)XN cBT B-1b+σNXN cBT B-1b+(σm+1,σm+1,
Z=CTBB-1b+(σm+1 ,
σm+k ,
xm+1
σ
n
)
CTB B-1b+σ m+k
xn
因为 m+k 0, 故当λ→+∞时,Z→-∞。
18
表格单纯形法
B
N
b
CBT
CNT
I
B-1N
B-1b
0
CNT -CBT B-1N
19
可将这些重要结论的计算设计成如下一个简单的表格, 即单纯形表来完成:
min z=-6x1-4x2
x3 =100-2x1-3x2
+x4 =120-4x1-2x2
令 有 则有:
XN=(0,0)T XB=(100,120)T X(1)=(0,0,100,120)T为对应于基B1的基可行解。
问:
X(1)是否最优呢?——否
因为: x1和x2在目标函数中的系数为正,当x1↑,z ;x2↑,z 。
础上寻找一个新的基本可行解,并使目标函数值有所改善。
具体做法是:
先从检验数为负的非基变量中确定一个换入变量,使它从非基
第五章 单纯形法
3.人工变量法
用单纯形法求最小值问题,与求最大值问题 类似,其区别在于判别数为零或者正值,即
Cj-Zj≥0时得到最优解,在决定“换入”及“换 时得到最优解,在决定“换入” 时得到最优解 变量时, 出”变量时,取Cj-Zj为负且绝对值最大者为主 为负且绝对值最大者为主 元列,其余步骤同求最大值问题。 元列,其余步骤同求最大值问题。 这种求线性规划的方法,称为“人工变量法” 这种求线性规划的方法,称为“人工变量法”或 称为“ 称为“大M”法,这就是当一个 线性规划问题在 法 仍不能提供基本可行解时, 增加了松弛变量后 仍不能提供基本可行解时, 需要采用“人工变量” 需要采用“人工变量”来获得一个初始的基本可 行解。 行解。
将线性规划问题转化为标准型 编制初始单纯行表 判别基本可行解是否为最优 找出“换入” 换出”变量, 找出“换入”或“换出”变量,以便进行换基
对于求最大值问 题,全部判别数 为零与负数时, 为零与负数时, ≤0, 即Cj-Zj ≤0,得最 优解
先找出主元行与主元列:对于求极大值问题, 先找出主元行与主元列:对于求极大值问题,取Cj-Zj 为正数且最大者所在的列为主元列, 为正数且最大者所在的列为主元列,取bi/aij为正数且最 大者所在的行为主元行, 大者所在的行为主元行,主元行与主元列之交点元素称 为主元素,在右上方记“ ” 为主元素,在右上方记“*”主元素正上方对应的变量 换入”变量,主元素左边对应的基变量为“换出” 为“换入”变量,主元素左边对应的基变量为“换出” 变量。 变量。
第五章
单纯形法
5.1 线性规划求解的相关概念
一、相关定理 定理1 线性规划问题的可行解集S是凸集。 定理1 线性规划问题的可行解集S是凸集。 定理2 线性规划问题的基本可行解X 定理2 线性规划问题的基本可行解X对应于可 行域S的顶点。也就是说, 行域S的顶点。也就是说,可行域的顶点就 是线性规划问题的基本可行解。 是线性规划问题的基本可行解。 定理3 若线性规划问题有最优解, 定理3 若线性规划问题有最优解,它一定在 其可行域的顶点上达到。 其可行域的顶点上达到。
单纯形法
单纯形法(不可以解空集问题,无初始解)一、单纯形法的基本思想1、顶点的逐步转移即从可行域的一个顶点(基本可行解)开始,转移到另一个顶点(另一个基本可行解)的迭代过程,转移的条件是使目标函数值得到改善(逐步变优),当目标函数达到最优值时,问题也就得到了最优解。
2.需要解决的问题:(1)为了使目标函数逐步变优,怎麽转移?(2)目标函数何时达到最优——判断标准是什么?(3)初始解的寻找二、单纯形法原理(用代数方法求解LP)第一步:引入非负的松弛变量(x3 x4 x5)和剩余变量(算完后剩余的资源)x3,x4,x5, 将该LP化为标准型第二步:寻求初始可行基(单位阵对应的),确定基变量第三步:写出初始基本可行解(很多之中找一个,必令原x为0)和相应的目标函数值两个关键的基本表达式:① 用非基变量表示基变量的表达式② 用非基变量表示目标函数的表达式第四步:分析两个基本表达式,看看目标函数是否可以改善?① 分析用非基变量表示目标函数的表达式非基变量前面的系数均为正数(必为负数才可以),所以任何一个非基变量进基都能使Z值增加通常把非基变量前面的系数叫“检验数”②选哪一个非基变量进基?排在最前面的负检验数对应的非基变量③确定出基变量“最小比值原则”(或θ原则)见本如果x2≤0,会出现什麽问题?最小比值原则会失效!基变换新的基变量——x2, x3,x4;新的非基变量x1, x5;写出用非基变量表示基变量的表达式:可得新的基本可行解X(1)=(0,3,2,16,0)T⑤写出用非基变量表示目标函数的表达式:检验数仍有正的第五步:上述过程何时停止?当用非基变量表示目标函数的表达式中,非基变量的系数(检验数)全部非正(0时表无穷解,负时表唯一解)时,当前的基本可行解就是最优解!为什麽?分析用非基变量表示目标函数的表达式,如果让负检验数所对应的变量进基,目标函数值将下降!(2)表格设计依据:将-Z 看作不参与基变换的基变量,把目标函数表达式改写成方程的形式,和原有的m 个约束方程组成一个具有n+m+1个变量、m+1个方程的方程组:取出系数写成增广矩阵的形式:⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛+++01100001000010212121222221111211mn n n n m mn m m nnc c c c c c b a a a b a a a b a a a-Z ,X n+1,…,X n+m 所对应的系数列向量构成一个基用矩阵的初等行变换将该基变成单位阵,这时 变成0,相应的增广矩阵变成如下形式:⎪⎪⎪⎩⎪⎪⎪⎨⎧=+++++-=++++=++++=+++++++++++01122112211222222121111212111m n m n n n n n mm n n mn m m n n n n n n x c x c x c x c x c Z bx x a x a x a b x x a x a x a b x x a x a x a其中, , j=1,2,…,n ;增广矩阵的最后一行就是用非基变量表示目标函数的表达式, (j=1,2,…,n)就是非基变量的检验数。
§2.2单纯形法
Maxz 7 x 12 x
1
Maxz 7 x1 12x2 0x3 0x4 0x5
3) 当模型中有某变量 xk 没有非负要求, 称为自由变量, 则可令 x x x ,x ,x 0
/ // / // k k k k k
化为标准型。 4) 若某个bi<0,两边乘(-1) 5) 对负变量 x j 0 ,换元设 xj x j 0
2. 最优性检验
问题:用什么检验? —— 目标。
1 1
X 而目标z CX (C C ) C (B b B N X ) C X X C B b (C C B N ) X
记 C C B N,则当 0 时,当前基可行解为最 优。
1
方法:计算每个变量 x 的检验数 c C B P ,
1
若 0, 则当前解为最优;否则 非最优。
问题:非最优的特征为何?
至少有某个检验数 0。
3. 寻找更好的基可行解(换基迭代) (基变换)
由于基可行解与基对应,即寻找一个新的基可行 解,相当于从上一个基B0变换为下一个新的基B1,因此, 本步骤也称为基变换。 进基
1 1 1 1
360 90 4
[ ] 中表示进基列与出基行的交叉元,下一张表将实行以它为主 元的初等行变换(称高斯消去)。方法是:先将主元消成1,再用此1将 其所在列的其余元消成0。
特点: (1) 目标函数求最大值 (2) 约束条件都为等式方程; (3) 非负约束:决策变量xj为非负; 右端常数项bi非负。
标准型的矩阵表示:
Maxz CX AX b s.t. X 0
其中,A 的秩为m(m n) , b 0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.2 单纯形法
考虑标准最大化线性规划问题的)15.1(
max ∑=n j j j
x c 1
..t s ⎪⎩⎪⎨⎧=≥=≤∑=n j x m i b x a j i n j j ij ,...,2,10,...,2,11
我们首先对它的第i 个约束条件引入松弛变量i s ,m i ,...,2,1=,并且以η表示目标函数值,则获得标准型)15.1(的等价线性规划,也称为标准型)15.1(的标准格式:
max ∑==n j j j x c
1η
..t s ⎪⎪⎩
⎪⎪⎨⎧=≥=≥=-=∑=m i s n j x m
i x a b s i j n j j ij i i ,...,2,1,0,...,2,1,0,...,2,1,1 )10.2(
从例1.2线性规划问题的求解过程中可以看到,随着迭代的继续,决策变量和松弛变量相互交织,成为一体,所以为了便于分析,令i i n s x =+m i ,...,2,1=,并引入以下标记:
),...,,,...,(),...,,,,...,,(1212121m n n n m n x x x x x s s s x x x ++=
那么,我们将)10.2(改写为:
max ∑==n
j j j x c 1η
..t s ⎪⎩
⎪⎨⎧++=≥=-=∑=+m n n n j x m i x a b x j n j j ij i i
n ,...,1,,...,2,1,0,...,2,1,1 )11.2( 式)11.2(就是标准型线性规划问题)15.1(的标准格式或初始单纯形,显然若令0=j x ,n j ,...,2,1=,则有i i n b x =+,m i ,...,2,1=,则),...,,,0,...,0(210m b b b x =构成了标准型线性规划问题)15.1(的初始基可行解。
随着搜索最优解过程的继续,单纯形迭代算法将从
单纯形的一个顶点转移到另一个顶点上,或是从一个基可行解到另一个基可行解。
但是对于任何一个单纯形来说,它都具有m 个基变量和n 个非基变量。
为了便于分析,我们以B 记录基变量下标集合,以N 记录非基变量下标集合。
对应于初始单纯形,决策变量和松弛变量的下标集合为:
},...,1,,...,2,1{m n n n ++
所以,初始单纯形的基变量的下标集合为:
},...,1{m n n B ++=
非基变量的下标集合为:
},...,2,1{n N =
在这之后,B 和N 随单纯形的迭代发生变化,假设,经过若干次迭代之后,最新单纯形具有如下形式:
∑∈+=N
j j j x c ηη
∑∈-=N
j j ij i i x a b x B i ∈,N j ∈ )12.2(
我们注意到,在单纯形法的每一步迭代中,都一定出现某一个基变量变为非基变量,同时某一个非基变量变为基变量。
如果一个变量是从非基变量进入到基变量中,则称它为换入基变量,或换入变量;另一方面,如果一个变量是从基变量转换到非基变量,则称它为换出基变量或换出变量。
1.2.2换入变量和换出变量的确定准则
为了能够进行下一步迭代,单纯形法要求从非基变量N j x j ∈,中选择某个决策或松弛变量作为换入变量,选择换入变量的基本条件是增加换入变量的值能够保证增加目标函数值,这就要求换入变量在目标函数中的系数N j c j ∈,为正数。
以E 表示目标函数系数为正数的非基变量下标集合,即
},0:{N j c j E j ∈>=
对于单纯形)12.2(来说,如果E 是空集合,那么对应的基可行解就是最优解。
如果E 含有多个
0>j c ,我们通常选择绝对值最大的j c ,即选择k 使其满足}:max{
E j c c j k ∈=,非基变量k x 就是换入变量。
另一方面,在选定了换入变量之后,单纯形法还需要从基变量B i x i ∈,中选择一个换出变量,挑选换出变量的基本准则是必须保持当前所有基变量的取值大于等于零,即B i x i ∈≥,0。
在确定了某个非基变量k x 作为换入变量之后,增加k x 的值将会同时影响所有
基变量的取值。
根据单纯形)12.2(,如果令N j k j x j ∈≠=,,0,则有:
k ik i i x a x -= B i ∈
由于变量的非负符号限制,有0≥i x ,B i ∈,那么有:
0≥-k ik i x a b B i ∈ )13.2( 我们首先假设0>i b ,0≥ik a ,B i ∈,当k x 取值不断增大时,为使基变量i x ,B i ∈保持非负符号限制,k x 取值的范围必须符合下述条件:
ik
i k a x ≤≤0 B i ∈ 所有ik
i a b ,B i ∈都是换入变量k x 取值的上限,因为这样的上限有m 个,所以k x 必须小于},{B i a b ik
i ∈当中最小的一个,即: }{
min 0;ik
i a B i k a b x ik >∈≤ )14.2( 以L 表示满足}:0{B i a ik ∈>的下标集合,那么,选择换出变量的规则是选择L l ∈,满足下述等式:
}{min ik i L
l lk l a a ∈=。
那么对应下标l 的基变量l x 就是换出变量,称lk a 为单纯形迭代的主元素。
如果出现0<ik a ,B i ∈,我们需要从另一个角度来研究如何确定换出变量的方法,为此我们首先将)7.2(式改写为:
i
ik k b a x ≥1 B i ∈ 在这种情况下,我们没有要求ik a 必须大于0,换入变量k x 的倒数的取值范围为:
∞≤≤k i
ik x b a B i ∈
确定换出变量的方法是在基变量下标集合中选择l 使得下面等式成立:
}{max i ik B
i l lk b a b a ∈= )15.2( 对应下标l 的基变量l x 就是换出变量。
我们注意到上述两种确定换出变量方法之间的差异:在第二种方法下,没有0>ik a ,B i ∈的要求。
在选定了换入变量k x 和换出变量l x 之后,就唯一确定了本次迭代的主元素lk a ,并可以利用它对单纯形进行高斯变换,在完成高斯变换之后,就可得到一个新的单纯形,通常我们把整个高斯变换称为主元素消元法。
2.2.2单纯型法的最优性检验与解的判别
从线性规划的几何解法中,我们通过图型直观了解到对于两个决策变量的线性规划问题,其求解结果可能出现唯一最优解,多重最优解,无界解,以及无可行解等情况。
这些结论也同样适合具有多个决策变量的线性规划问题。
为了方便分析,我们利用单纯形)12.2(来建立标准型线性规划问题)5.1(解的判别准则:
设非基变量为零,即:N j x j ∈=,0,则可获得基解:B i x i i ∈=,,那么基可行解为:),...,,,0,...,0(21m b b b x =,目标函数值为:ηη=,那么:
)1(唯一最优解的判别准则:如果对于任意N j ∈都有0<j c ,则问题)5.1(具有唯一最优解x ,最优目标函数值为η。
)2(多重最优解的判别方法:如果对于任意N j ∈都有0≤j c ,并且又存在某个N k ∈使得0=k c ,则问题)5.1(具有多重或无穷多最优解,最优目标函数值为η。
)3(无界解的判别方法:如果存在某个N k ∈使0>k c ,并且对任意B i ∈,都有0≤ik a ,那么,线性规划问题)5.1(的最优解无界,或具有无界解。