线性规划与单纯形法-计算步骤

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
X * (15, 20, 0, 0) Z* 1350
max Z 3x1 5x2
x1
s.t.
3x1
x1 0
2x2 2 x 2 x2 0
4 12 18
第一次迭代 x2为入基, x4为出基 第二次迭代 x1为入基, x5为出基
X * (2, 6, 2, 0, 0) Z* 36
2.4 单纯形法计算步骤
3、确定进基变量(迭代的第一步)
确定进基变量对应于图解法的确定运动方向
x1
x3
8
3x1
2x2 4x2
x4
12
x5 36
3x1 5x2 0x3 0x4 0x5 Z
j
从目标函数-Z+3x1+5 x2 +0x3 +0x4+0x5 =0可知: 因为x2的系数大于x1的系数,即生产单位乙产品比甲产品利 润更高一些,故应优先多生产乙产品。即x2为进基
5 2
x4
0 x5
Z 30

x3
2 3
x4
1 3
x5
4 ①
x2
x1
1 2 x4
2 3 x4
1 3 x5
6 ② 4 ③
3x1 0x2
0 x3
5 2
x4
0 x5
Z 30 ④
④-3×③
x3
2 3
x4
1 3
x5
4 ①
x2
1 2
x4
6 ②
x1
2 3
x4
1 3
x5
4 ③
0
x1
STOP 包括三个步骤: 1、确定进基变量(进基) 2、确定出基变量(出基) 3、对新基可行解的求解(高斯消元)
x1
x3
8
x2
1 2 x4
6
3x1
2x4 x5 12
3x1
0x2
0x3
5 2
x4
0x5
Z 30
最优性检验:
由于目标函数中x1的检验数为正数(1=3 ≥0),故
X (1) (0, 6,8, 0,12)T 不是最优解,开始第二次迭代
2、表格单纯行法的计算步骤: ①将线性规划问题化成标准型。
②找出或构造一个m阶单位矩阵作为初始可行基,建立 初始单纯形表。
③计算各非基变量xj的检验数j=Cj-CBPj ′,若所有 j≤0,则问题已得到最优解,停止计算,否则转入下 步。
④在大于0的检验数中,若某个k所对应的系数列向量 Pk′≤0,则此问题是无界解,停止计算,否则转入下 步。
proper form from Gaussian elimination
2、检验其最优性
x1
x3
8
3x1
2x2 4x2
x4
12
x5 36
3x1 5x2 0x3 0x4 0x5 Z
j
从目标函数-Z+3x1+5 x2 +0x3 +0x4+0x5 =0可知:
非基变量x1和x2的检验数均为正数,生产哪种产品都会 增加利润。故该初始基可行解不是最优解。
x1
x3
8
3x1
2x2 4x2
x4
12
x5 36
3x1 5x2 0x3 0x4 0x5 Z
枢轴元素 下面是初等变换(高斯消元法)的具体步骤:
②×1/2
x1
x3
8 ①
3x1
2x2 4x2
x4
12 ②
x5 36 ③
3x1 5x2 0x3 0x4 0x5 Z ④
x1 3x1 3x1
1、确定初始基可行解
x1
1 A 0
3
max Z 3x1 5x2 0x3 0x4 0x5
x1
x3
s.t.
3x1
2 x2 4x2
x4 x5
x1, x2 , x3, x4 , x5 0
x2 x3
01
20
40
x4 x5
0 0 1 0 0 1
x3 x4 x5
1 0 0 B 0 1 0
x4
2 x4
0 x4
x5 0 x5
6
12 Z② ③ ④④-Fra bibliotek×②x1
x2
3x1
x3
1 2
x4
2x4 x5
8 ① 6 ② 12 ③
3x1
0 x2
0 x3
5 2
x4
0x5
Z 30

x1
x3
8
x2
1 2
x4
6
3x1
2x4 x5 12
5
3x1 0x2 0x3 2 x4 0x5 Z 30
x3
2 3
x4
1 3
x5
4
x2
1 2
x4
6
x1
2 3
x4
1 3
x5
4
0
x1
0x2
0x3
1 2 x4
x5
Z 42
最优性检验:
在目标函数中所有检验数非正( σj ≤ 0),可以判定该 解为最优解。即
X * (4, 6, 4, 0, 0)T Z * 42
单纯形法的几何意义
x2
9
X1=(0,6,8,0,12)T 6D
线性规划及单纯形法
线性规划问题及其数学模型 图解法 单纯形法迭代原理 单纯形法的计算步骤 单纯形法的进一步讨论
2.4 单纯形法计算步骤
一、代数解法 二、表格单纯行法
2.4 单纯形法计算步骤
一、代数解法 二、表格单纯行法
例:用代数解法求解下面LP问题
max Z 3x1 5x2
x1
令x1,x2等于0, x3,x4,x5的值可立即从上式读出 初始基可行解为: X 0 (0, 0, 8, 12, 36)T
一个可行解就是一个生产方案,在上述方案中两种产品都不 生产,利润Z=0 。
Notice: max Z 3x1 5x2 0x3 0x4 0x5
x1
x3
8
s.t.
3x1
0x2
0x3
1 2 x4
x5

Z 42
x3
2 3
x4
1 3
x5
4
x2
1 2
x4
6
x1
2 3
x4
1 3
x5
4
0
x1
0x2
0x3
1 2 x4
x5
Z 42
由于x4、x5为非基变量,令x4=0,x5=0 x1, x2,x3的值能从上式直接读出,于是得到新的基可行解:
X (2) (4, 6, 4, 0, 0)T Z 42
5
0
00
检验行说明 单纯形表对应的代数式子:
x1
x3
8
3x1
2x2 4x2
x4
12
x5 36
3x1 5x2 0x3 0x4 0x5 Z
x1
x3
8
2x2 3x1 4x2
x4
12
x5 36
Z 3x1 5x2 0x3 0x4 0x5 0
Cj
3 50 0 0比
CB
XB
b
x1
x1
x3
8
s.t.
3x1
2x2 4x2
x4
12
x5 36
x1, x2 , x3, x4 , x5 0
Cj
3 5 0 0 0比
CB XB
b
x1
x2
x3
x4
x5

0 x3 8 1 0 1 0 0
-
0 x4 12 0
2
0
1
0 12/2=6
0 x5 36 3
4
0
0
1
36/4=9
检验数j 0
3
x3 8 0
x4 12 2x2 0
x2 ≤12/2
x5 36 4x2 0
x2 ≤36/4
即x2
min{
, 12 2
,
36} 4
12 2
6
X4为出基变量
x1
x3
8
3x1
2x2 4x2
x4
12
x5 36
3x1 5x2 0x3 0x4 0x5 Z
出基变量的标识
5、对新基可行解的求解(迭代的第三步)
2x2 4x2
x4
12
x5 36
x1, x2 , x3, x4 , x5 0
为什么基变量的值能如此方便的读出?
因为每个等式只有一个系数为1的基变量,并且这个基变量只 出现在这个等式。
在后面的过程中,当基变量成员发生变化时,我们将对其系数 矩阵做初等变换(高斯消元法Gaussian elimination),将其转 化为这种方便的形式。这种形式被称为
初始化
小结
初始基可行解的确定
最优性检验
当前的基可行解是否最优?
yes 最优?
no
迭代 (Iteration)
STOP 包括三个步骤: 1、确定进基变量(进基) 2、确定出基变量(出基) 3、对新基可行解的求解(高斯消元)
3、表格单纯行法举例:
max Z 3x1 5x2 0x3 0x4 0x5
x2
x3
x4
x5

0
x3
8
1
0
1
0
0
-
0
x4
12
0
2
0
1
0 12/2=6
0
x5
36
3
4
0
0
1 36/4=9
检验数j 0
3
5
0
0
0
0
x3
8
1
0
1
0
0
8
5
x2
6
0
1
0
1/2
0
-
0
x5
12
3
0
0
-2
1
s.t.
3x1
x1,
2 x2 4 x2 x2 0
8 12 36
解:由于该LP问题不是标准形式,故应先将其转换为标准式
max Z 3x1 5x2 0x3 0x4 0x5
x1
x3
8
s.t.
3x1
2 x2 4x2
x4
12
x5 36
x1, x2 , x3, x4 , x5 0
x1
x3
8
3x1
2x2 4x2
x4
12
x5 36
3x1 5x2 0x3 0x4 0x5 Z
进基变量的标识
4、确定出基变量(迭代的第二步) 确定出基变量对应于图解法的确定在那里停下来
基变量由非基变量线性表示:
x3 8 x4 12 2x2 x5 36 4x2
保持原非基变量x1=0, x2逐渐增大时应保证:
1、单纯形表的格式:
Cj
C1 C2 … Cn
CB XB b x1 x2 …. xn
θi
C1
x1 b 1 a11 a12 …
a1n
θ1
C2
x2 b2 a21 a22 … a2n
θ2
… … …… …
……
Cm
xm bm am1 am2…
amn
θm
σj
σ1 σ2 … σn
迭代计算中每找出一个新的基可行解时,就重画一张单纯行 表。含初始基可行解的单纯行表称初始单纯形表,含最优解的 单纯形表称最终单纯形表。
由于x1,x4是非基变量,令x1,x4等于0。
x2,x3,x5的值能够直接从上式读出,于是得到新的基可行解:
X (1) (0, 6,8, 0,12)T
目标函数值Z=30 重复上述步骤,直到获得最优解
初始化
小结
初始基可行解的确定
最优性检验
当前的基可行解是否最优?
yes 最优?
no
迭代 (Iteration)
对新基可行解的求解(迭代的第三步):
使用高斯消元法
1x1 3x1 3x1
x2 0 x2
x3 0 x3
1 2 x4
2 x4
5 2
x4
x5 0x5
8 6 12 Z 30
③×1/3
1x1
x1
3x1
x2 0 x2
x3 0 x3
1 2 x4
2 3 x4
5 2
x4
1 3 x5 0x5
一、代数解法 二、表格单纯行法
二、表格单纯行法
上节介绍的单纯行法的代数形式也许是了解单纯行法最好 的形式。但是,它不是最方便的计算形式,特别是需要手 工求解问题的时候。
表格形式的单纯行法仅记录本质的信息: 决策变量的系数(包括约束条件和目标函数) 等式右边的常数 基变量(每次迭代时)
表格单纯行法强调了运算涉及的数字并且将计算紧凑的 记录下来
x2
4 x2 5x2
x3 0 x3
1 2
x4
0x4
x5 0x5
8 ①
6 ② 36 ③ Z ④
③-4×②
x1
x3
8 ①
3x1 3x1
x2 5x2
0 x3
1 2 x4 2 x4 0 x4
x5 0 x5
6
12 Z
② ③ ④
x1
x3
8 ①
3x1 3x1
x2 5x2
0 x3
1 2
0 0 1
8 12 36
非奇异子阵,做 为一个基
基变量 x3, x4, x5
非基变量 x1, x2
在确定基变量后,可立即求得基可行解:
max Z 3x1 5x2 0x3 0x4 0x5
x1
x3
8
s.t.
3x1
2x2 4x2
x4
12
x5 36
x1, x2 , x3, x4 , x5 0
⑤根据max{j|j>0}=k原则,确定xk为换入变量(进基变
量)(进基)
再按规则计算: 令
min{ bi aik
| aik
0}
bL aL K
确定xL为换出变量。建立新的单纯形表,此时基变量
中xk取代了xL的位置。(出基)
⑥以aLk′为枢轴元素进行迭代,把xk所对应的列向量变为 单位列向量,即aLk′变为1,同列中其它元素为0,(高 斯消元),转第③ 步。
3
0
X0=(0,0,8,12,36)T
X1=(4,6,4x,01,=0)8T C(4,6)
2x2 =12
B
4
A
8
12
x1
3x1 +4 x2 =36
课堂练习
max Z 50x1 30x2
st. 42x1x13xx22
120 50
x1 0, x2 0
第一次迭代 x1为入基, x4为出基 第二次迭代 x2为入基, x3为出基
8 6 4 Z 30
① ② ③ ④
① ② ③ ④
①-③
1x1
x3
8 ①
x2
1 2
x4
6 ②
x1
2 3
x4
1 3
x5
4
3x1
0 x2
0 x3
5 2
x4
0x5
Z 30
③ ④
2
1
x3 3 x4 3 x5
4
相关文档
最新文档