单纯形法
基本可行解的表示式(教材中称为典式) :基变量只出现在一个等式的等式约束
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UHbJsxlP-1607322076772)(最优化—线性规划.assets/image-20201207112757323.png)]
在选择保留进基变量所在行的过程中不用考虑进基变量的系数不是正数的行 ,选择进基变量系数非负的行保留进基变量
思路:①假设已知一个基本可行解➡️②选择能够使目标函数改进的进基变量➡️③判断目前的基本可行解是否最优
对于最优规划
max
z
s.t.
P
1
x
1
+
P
2
x
2
+
⋯
+
P
n
x
n
=
b
⃗
c
1
x
1
+
c
2
x
2
+
⋯
+
c
n
x
n
=
z
x
j
≥
0
,
∀
1
≤
j
≤
n
\begin{aligned} &\max z\\ &\begin{array}{ll} \text { s.t. } & P_{1} x_{1}+P_{2} x_{2}+\cdots+P_{n} x_{n}=\vec{b} \\ & c_{1} x_{1}+c_{2} x_{2}+\cdots+c_{n} x_{n}=z \\ & x_{j} \geq 0, \forall 1 \leq j \leq n \end{array} \end{aligned}
maxz s.t. P1x1+P2x2+⋯+Pnxn=bc1x1+c2x2+⋯+cnxn=zxj≥0,∀1≤j≤n
变换成单纯形表(即变换出基变量):
BV
x
1
⋯
x
k
⋯
x
n
RHS
x
j
(
1
)
p
^
11
⋯
p
^
1
k
⋯
p
^
1
n
p
^
1
n
+
1
⋮
⋮
⋯
⋮
⋯
⋮
⋮
x
j
(
m
)
p
^
m
1
⋯
p
^
m
k
⋯
p
^
m
n
p
^
m
n
+
1
σ
1
⋯
σ
k
⋯
σ
n
z
−
z
^
其中
(
P
^
j
(
1
)
,
⋯
,
P
^
j
(
m
)
)
=
I
m
,
z
^
=
C
B
T
P
^
n
+
1
=
C
B
T
B
−
1
b
⃗
σ
j
=
c
j
−
C
B
T
P
^
j
=
c
j
−
C
B
T
B
−
1
P
j
,
∀
1
≤
j
≤
n
称
σ
1
,
⋯
,
σ
n
为检验数,可看出基变量检验数等于0
\begin{aligned} &\begin{array}{c|ccccc|c} \hline \text { BV } & x_{1} & \cdots & x_{k} & \cdots & x_{n} & \text { RHS } \\ \hline x_{j(1)} & \hat{p}_{11} & \cdots & \hat{p}_{1 k} & \cdots & \hat{p}_{1 n} & \hat{p}_{1 n+1} \\ \vdots & \vdots & \cdots & \vdots & \cdots & \vdots & \vdots \\ x_{j(m)} & \hat{p}_{m 1} & \cdots & \hat{p}_{m k} & \cdots & \hat{p}_{m n} & \hat{p}_{m n+1} \\ \hline & \sigma_{1} & \cdots & \sigma_{k} & \cdots & \sigma_{n} & z-\hat{z} \\ \hline \end{array}\\ &\text { 其中 }\left(\hat{P}_{j(1)}, \cdots, \hat{P}_{j(m)}\right)=I_{m}, \hat{z}=C_{B}^{T} \hat{P}_{n+1}=C_{B}^{T} B^{-1} \vec{b}\\ &\sigma_{j}=c_{j}-C_{B}^{T} \hat{P}_{j}=c_{j}-C_{B}^{T} B^{-1} P_{j}, \quad \forall 1 \leq j \leq n\\ &\large\text { 称 } \sigma_{1}, \cdots, \sigma_{n} \text { 为检验数,可看出基变量检验数等于0 } \end{aligned}
BV xj(1)⋮xj(m)x1p^11⋮p^m1σ1⋯⋯⋯⋯⋯xkp^1k⋮p^mkσk⋯⋯⋯⋯⋯xnp^1n⋮p^mnσn RHS p^1n+1⋮p^mn+1z−z^ 其中 (P^j(1),⋯,P^j(m))=Im,z^=CBTP^n+1=CBTB−1bσj=cj−CBTP^j=cj−CBTB−1Pj,∀1≤j≤n 称 σ1,⋯,σn 为检验数,可看出基变量检验数等于0
②选择对应单纯形表中检验数大于0的变量进基,可使得目标函数改进。
③如果单纯形表中检验数全都不大于0,那么对应的基本可行解就是最优解。
退化问题:
退化问题:基本可行解对应的基变量中存在0元素。本质是多个可行基阵对应于一个基本可行解
退化问题的解决:只要设法避免回到已经搜索过的基阵,就可以保证单纯形法在有限步内停止。
检验数与退化问题:
1. 对于求max的线性规划问题 ,如果所有检验数均满足小于等于0, 而且某非基变量的检验数也等于0,则说明优化问题有无穷多最优解。