当前位置:文档之家› 1.线性规划及单纯形法(第二部分)

1.线性规划及单纯形法(第二部分)

MinZ = CX AX = b s.t. X ≥ 0 C = (3,1,1,0,0), X = ( x1 , x2 , x3 , x4 , x5 )T 1 2 1 1 0 11 A = 4 1 2 0 1, b = 3 2 0 1 1 0 0
添加人工变量x6, x8—大M法
凸集
极点
凸集
不是凸集
3.2 几个基本定理
定理1 若线性规划问题存在可行解,则问题的可行域 是凸集. 引理 线性规划问题的可行解X=(x1, … , x1)T为基可行 解的充要条件是X的正分量所对应的系数列向量是线 性独立的. 定理2 线性规划总理的基可行解X对应线性规划问题 可行域(凸集)的顶点. 定理3 若线性规划问题有最优解,一定存在一个解是 最优解.
MinZ = 3 x1 + x2 + x3 + 0 × ( x4 + x5 ) + M ( x6 + x8 ) x1 2 x2 + x3 + x4 = 11 4 x + x + 2 x x + x = 3 1 2 3 5 6 s.t. 2 x1 + x3 + x8 = 1 x j ≥ 0 M 可以理解为一个量级很大的正数( + ∞)
初始表—阶段1
C→ 0 0 x2 -2 1 0 -1 0 x3 1 2 1 -3 0 x4 1 0 0 0 0 x5 0 -1 0 1 1 x6 0 1 0 0 1 x8 0 0 1 0 θj 11/1 3/2 1/1 CB XB B-1b x1 0 1 1 x4 x6 x8 σj 11 3 1 Z0= 4 1 -4 -2 6
B
可行域OABCD
C:最优解
2 x2 1 0
0 4 8
-1
O
-2 -3
D
x1
单纯形法的基本步骤
第一步:求出线性规划的初始基可行解 第二步:进行最优性检验--如果表中所有检验数 σk ≤ 0 则为最优解,否则继续. 第三步:从一个基可行解转换到另一个目标函数值更大的基可 行解,列出新的单纯形表. 确定换入基的变量 σ k = max{σ j σ j > 0} 确定换出基的变量 用换入的变量替换基变量中的掏出变量,得到一个新的基 第四步:……
第一阶段求解的两种可能结果
1.
2.
最优时,还有人工变量在最优基变量中:原问题 无可行解 最优时,所有人工变量都是非基变量:进入求解 的第二阶段
第二阶段:目标函数换回原来的目标函数, 在第一阶段得到的最优基基础上,继续求解 (检验数,基转换)
初始表—阶段2
C→ -3 1 x2 0 1 0 0 1 x3 0 0 1 0 0 x4 1 0 0 0 0 x5 -2 -1 0 1 0 x6 2 1 0 -1 0 x8 -5 -2 1 1 θj 12/3 — — CB XB B-1b x1 0 1 1 x4 x2 x3 σj 12 1 1 Z0= 2 3 0 -2 -1
迭代2—阶段1
C→ 0 0 x2 0 1 0 0 0 x3 0 0 1 0 0 x4 1 0 0 0 0 x5 -2 -1 0 0 1 x6 2 1 0 1 1 x8 -5 -2 1 1 θj CB XB B-1b x1 0 0 0 x4 x2 x3 σj 12 1 1 Z0= 0 3 0 -2 0
出基变量选择:最小比值法(保证新的基解还 是可行的)
单纯形表
C→ CB c1 c2 … cm XB x1 x2 … xm σj B-1b b1 b2 … bm Z0 c1 x1 a11 a21 … am1 σ1 c2 x2 a12 a22 … am2 σ2 … … … … … … … cn xn a1n a2n … amn σn θj θ1
3.1 凸集和顶点 凸集:如果集合C中任意两个点x1, x2,其连线上 的点也都是集合C中的点,称C为为凸集. 顶点:如果集合C中不存在任意两个不同的点 x1, x2的点,使x成为其连线上的点.
可行域的性质
● ●
线性规划的可行域是凸集 线性规划的最优解在极点上
σj Z0=2
添加人工变量x6, x8—两阶段法
第一阶段:构筑所有人工变量之和最小化的目标 函数,用单纯形法求解
Minω = x6 + x8 x1 2 x2 + x3 + x4 = 11 4 x + x + 2 x x + x = 3 1 2 3 5 6 s.t. 2 x1 + x3 + x8 = 1 x j ≥ 0
初始表
C→ -3 1 x2 -2 1 0 1 x3 1 2 1 0 x4 1 0 0 0 0 x5 0 -1 0 M M x6 0 1 0 0 M x8 0 0 1 0 θj 11/1 3/2 1/1 CB XB B-1b x1 0 M M x4 x6 x8 σj 11 3 1 Z0= 4M 1 -4 -2
θ = min{ bi b a j > 0} = l a ik a lk
基本结论
线性规划问题的可行域(如果存在)是一个凸 集 该凸集有有限个顶点(基可行解) 线性规划问题的最优解(如果存在),一定在 某个顶点(基可行解)达到
求解的可能结果
唯一最优解 多最优解,即无穷多最优解 无界解,即目标函数值趋近无穷(通常是遗漏 了约束) 无可行解(通常是存在矛盾的约束)
B 可行基 BX B + NX N = b X B = B 1b B 1 N 代入目标函数 Z = C B X B + C N X N = C B B 1b + (C N C B B 1 N ) X N
σ N = C N C B B 1 N = (σ m +1 , σ m + 2 ,..., σ n ) σ j = c j C B B 1 Pj
4.5 4 3.5 3 2.5 x2 2 1.5 1 0.5 0
0 4 8
(4,2)
x1
欲速则不达 进基变量选择讨论
例1种,经过三次顶点转换才达到最优点;从 图示看出,实际可以二次转换就达到 没有更好的指导标准
初始基可行解的确定 人工变量法
对于任意一个线性规划问题,通常难以确定初 始顶点 思路:强行添加人工变量,使得这些人工变量 与模型中原有的某些变量(如松弛变量)的系 数矩阵,能够构成一个单位矩阵 求解:对含有人工变量的模型进行求解,在求 解过程中,逐渐用非人工变量替代基变量中的 人工变量,当人工变量全部出基后,得到的就 是原问题的初始基可行解
迭代2
C→ -3 1 x2 0 1 0 0 1 x3 0 0 1 0 0 x4 1 0 0 0 0 x5 -2 -1 0 1 M x6 2 1 0 M x8 -5 -2 1 θj 12/3 — — CB XB B-1b x1 0 1 1 x4 x2 x3 σj 12 1 1 Z0= 2 3 0 -2 -1
-3 1 1 + - - 6M M 3M
迭代1
C→ -3 1 x2 -2 1 0 1 - M 1 x3 0 0 1 0 0 x4 1 0 0 0 0 x5 0 -1 0 M M x6 0 1 0 0 M x8 -1 -2 1 3M - 1 θj — 1/1 — CB XB B-1b x1 0 M 1 x4 x6 x3 σj 10 1 1 Z0= M +1 3 0 -2 -1
如何让人工变量尽快出基?
大M法
MAX:给每个人工变量一个量级很小的系数(-M) MIN:给每个人工变量一个量级很大的系数(M)
两阶段法
第一阶段:MIN Z =∑人工变量 第二阶段:原来的目标函数
示例
MinZ= 3x1 + x2 + x3 x1 2x2 + x3 ≤ 11 4x + x + 2x ≥ 3 1 2 3 s.t. 2x1 + x3 = 1 x j ≥ 0
0 4 8
(0,0)
x1
最小比值法
2 x2 + x3 = 8 x3 = 8 2 x2 s.t 0 x2 + x4 = 16 x4 = 16 0 x2 4 x + x = 12 x = 12 4 x 2 2 5 5
迭代1
C→ CB 0 0 3 XB x3 x4 x2 σj B-1b 2 16 3 Z0=9 2 x1 1 4 0 2↑ 3 x2 0 0 1 0 0 x3 1 0 0 0 0 x4 0 1 0 0 0 x5 -1/2 0 1/4 -3/4 θj 2/1 → 16/4 —
基可行解
基:Am×n的非奇异子阵Bm×m 基变量与非基变量: Bm×m各列对应的变量为 基变量XB,其余变量为非基变量XN 基解:X=(XB,XN),XB=B-1b, XN =0 基可行解:基解中,XB=B-1b≥0 目标函数值Z0=CBB-1b 可行基:基可行解对应的基
最优性判断—非基变量检验数
迭代1—阶段1
C→ 0 0 x2 -2 1 0 -1 0 x3 0 0 1 0 0 x4 1 0 0 0 0 x5 0 -1 0 1 1 x6 0 1 0 0 1 x8 -1 -2 1 3 θj — 1/1 — CB XB B-1b x1 0 1 0 x4 x6 x3 σj 10 1 1 Z0= 1 3 0 -2 0
初始表
C→ CB 0 0 0 XB x3 x4 x5 σj B-1b 8 16 12 Z0=0 2 x1 1 4 0 2 3 x2 2 0 4 3↑ 0 x3 1 0 0 0 0 x4 0 1 0 0 0 x5 0 0 1 0 θj 8/2 — 12/4 →
4.5 4 3.5 3 2.5 x2 2 1.5 1 0.5 0
M M -1 +1
迭代3
C→ -3 1 x2 0 1 0 0 1 x3 0 0 1 0 0 x4 0 x5 M x6 M x8 θj CB XB B-1b x1 -3 1 1 x1 x2 x3 4 1 9 1 0 0 0
相关主题