最优化——单纯形法,单纯形表的求取
最優化——單純形法
一般性線性規劃標準型為對象總結其基本步驟
max?zs.t.?P1x1+P2x2+?+Pnxn=b????(1)c1x1+c2x2+?+cnxn=z???(2)xj≥0,?1≤j≤n\begin{array}{ll} \max & z \\ \text { s.t. } & P_{1} x_{1}+P_{2} x_{2}+\cdots+P_{n} x_{n}=\vec{b}---(1) \\ & c_{1} x_{1}+c_{2} x_{2}+\cdots+c_{n} x_{n}=z ---(2)\\ & x_{j} \geq 0, \forall 1 \leq j \leq n \end{array} max?s.t.??zP1?x1?+P2?x2?+?+Pn?xn?=b???(1)c1?x1?+c2?x2?+?+cn?xn?=z???(2)xj?≥0,?1≤j≤n?
步驟一:求廣義基本可行解
已知一個可逆方陣 B=(Pj(1),Pj(2),?,Pj(m))B=\left(P_{j(1)}, P_{j(2)}, \cdots, P_{j(m)}\right)B=(Pj(1)?,Pj(2)?,?,Pj(m)?) 滿足
B?1b?≥0B^{-1} \vec{b} \geq 0 B?1b≥0
其中 1≤j(i)≤n,?1≤i≤m,1 \leq j(i) \leq n, \forall 1 \leq i \leq m,1≤j(i)≤n,?1≤i≤m, 即 BBB 是線性規劃標準型 的可行基陣
由BBB可以把線性約束(1)P1x1+P2x2+?+Pnxn=b?P_{1} x_{1}+P_{2} x_{2}+\cdots+P_{n} x_{n}=\vec{b}P1?x1?+P2?x2?+?+Pn?xn?=b改寫為
?(Pj(1),?,Pj(m))(xj(1)?xj(m))+Pj(m+1)xj(m+1)+?+Pj(n)xj(n)=b??(xj(1)?xj(m))+(B?1Pj(m+1))xj(m+1)+?+(B?1Pj(n))xj(n)=B?1b?\begin{array}{l} \Leftrightarrow\left(P_{j(1)}, \cdots, P_{j(m)}\right)\left(\begin{array}{c} x_{j(1)} \\ \vdots \\ x_{j(m)} \end{array}\right)+P_{j(m+1)} x_{j(m+1)}+\cdots+P_{j(n)} x_{j(n)}=\vec{b} \\ \Leftrightarrow \quad\left(\begin{array}{c} x_{j(1)} \\ \vdots \\ x_{j(m)} \end{array}\right)+\left(B^{-1} P_{j(m+1)}\right) x_{j(m+1)}+\cdots+\left(B^{-1} P_{j(n)}\right) x_{j(n)}=B^{-1} \vec{b} \end{array} ?(Pj(1)?,?,Pj(m)?)????xj(1)??xj(m)??????+Pj(m+1)?xj(m+1)?+?+Pj(n)?xj(n)?=b?????xj(1)??xj(m)??????+(B?1Pj(m+1)?)xj(m+1)?+?+(B?1Pj(n)?)xj(n)?=B?1b?
可以得到一個基本可行解X=(x1...xn)TX=(x_1...x_n)^TX=(x1?...xn?)T的表達式:
XB=(xj(1)?xj(m)),(xj(m+1)...xj(n))=0X_{B}=\left(\begin{array}{c}x_{j(1)} \\ \vdots \\ x_{j(m)}\end{array}\right),(x_{j(m+1)}...x_{j(n)})=0XB?=????xj(1)??xj(m)??????,(xj(m+1)?...xj(n)?)=0
對應線性約束的表達式變為如下:
XB+P^j(m+1)xj(m+1)+?+P^j(n)xj(n)=P^n+1???(3)X_{B}+\hat{P}_{j(m+1)} x_{j(m+1)}+\cdots+\hat{P}_{j(n)} x_{j(n)}=\hat{P}_{n+1}---(3) XB?+P^j(m+1)?xj(m+1)?+?+P^j(n)?xj(n)?=P^n+1????(3)
其中P^j=B?1Pj=(p^1j?p^mj),?1≤j≤n,P^n+1=B?1b?\hat P_j=B^{-1}P_j=\left(\begin{array}{c}\hat{p}_{1 j} \\ \vdots \\ \hat{p}_{m j}\end{array}\right), \forall 1 \leq j \leq n,\hat{P}_{n+1}=B^{-1} \vec{b}P^j?=B?1Pj?=????p^?1j??p^?mj??????,?1≤j≤n,P^n+1?=B?1b
步驟二:求檢驗數
記 CB=(cj(1),?,cj(m))T,C_{B}=\left(c_{j(1)}, \cdots, c_{j(m)}\right)^{T},CB?=(cj(1)?,?,cj(m)?)T,
用CBC_{B}CB?左乘(3) 得 CBTXB+CBTP^j(m+1)xj(m+1)+?+CBTP^j(n)xj(n)=CBTP^n+1???(4)C_{B}^{T} X_{B}+C_{B}^{T} \hat{P}_{j(m+1)} x_{j(m+1)}+\cdots+C_{B}^{T} \hat{P}_{j(n)} x_{j(n)}=C_{B}^{T} \hat{P}_{n+1}---(4)CBT?XB?+CBT?P^j(m+1)?xj(m+1)?+?+CBT?P^j(n)?xj(n)?=CBT?P^n+1????(4)
目標函數(2)用CBC_{B}CB?可以寫成: CBTXB+cj(m+1)xj(m+1)+?+cj(n)xj(n)=z???(5)C_{B}^{T} X_{B}+c_{j(m+1)} x_{j(m+1)}+\cdots+c_{j(n)} x_{j(n)}=z---(5)CBT?XB?+cj(m+1)?xj(m+1)?+?+cj(n)?xj(n)?=z???(5)
用(5)-(4)得:
z?CBTP^n+1=(cj(m+1)?CBTP^j(m+1))xj(m+1)+?+(cj(n)?CBTP^j(n))xj(n)???(6)z?z^=σj(m+1)xj(m+1)+?+σj(n)xj(n)???(7)\begin{array}{c} z-C_{B}^{T} \hat{P}_{n+1}=\left(c_{j(m+1)}-C_{B}^{T} \hat{P}_{j(m+1)}\right) x_{j(m+1)}+\cdots+\left(c_{j(n)}-C_{B}^{T} \hat{P}_{j(n)}\right) x_{j(n)}---(6) \\ z-\hat{z}=\sigma_{j(m+1)} x_{j(m+1)}+\cdots+\sigma_{j(n)} x_{j(n)}---(7) \end{array}z?CBT?P^n+1?=(cj(m+1)??CBT?P^j(m+1)?)xj(m+1)?+?+(cj(n)??CBT?P^j(n)?)xj(n)????(6)z?z^=σj(m+1)?xj(m+1)?+?+σj(n)?xj(n)????(7)?
CBTP^n+1C_{B}^{T} \hat{P}_{n+1}CBT?P^n+1?就是第一步中XXX所求得的一個可行基本解的目標函數值z^\hat{z}z^,這個可以把XB=(xj(1)?xj(m)),(xj(m+1)...xj(n))=0X_{B}=\left(\begin{array}{c}x_{j(1)} \\ \vdots \\ x_{j(m)}\end{array}\right),(x_{j(m+1)}...x_{j(n)})=0XB?=????xj(1)??xj(m)??????,(xj(m+1)?...xj(n)?)=0帶入(4)和(5)就可以看出來。
步驟三:得到單純形表
其中 (P^j(1),?,P^j(m))=Im,z^=CBTP^n+1=CBTB?1b?\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}(P^j(1)?,?,P^j(m)?)=Im?,z^=CBT?P^n+1?=CBT?B?1b
σj=cj?CBTP^j=cj?CBTB?1Pj,?1≤j≤n\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σj?=cj??CBT?P^j?=cj??CBT?B?1Pj?,?1≤j≤n
稱 σ1,?,σn\sigma_{1}, \cdots, \sigma_{n}σ1?,?,σn? 為檢驗數,可看出基變量檢驗數等于0
總結
以上是生活随笔為你收集整理的最优化——单纯形法,单纯形表的求取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最优化——线性规划中最大规划和最小规划之
- 下一篇: 强化学习4——无模型预测(蒙特卡洛法和T