單純形法的矩陣描述


考慮將單純形法的求解過程用矩陣進行描述,對於已經引入松弛變量的 LP 問題,其約束條件

\[BX_B+NX_N=b \tag{1} \]

目標函數

\[C_BX_B+C_NX_N=z \tag{2} \]

聯立消去 \(X_B\)

\[z=C_BB^{-1}b+(C_N-C_BB^{-1}N)X_N \tag{3} \]

其中 \(C_N-C_BB^{-1}N\) 就是所謂的檢驗數 \(\sigma\)

因此,單純形表可以描述為

基變量 \(X_B\) 非基變量 \(X_N\) 右側 RHS
系數矩陣 \(I\) \(B^{-1}N\) \(B^{-1}b\)
檢驗數 \(0\) \(C_N-C_BB^{-1}N\) \(-C_BB^{-1}b\)

任意時刻各個部分的核心是某個已知矩陣的部分左乘一個 \(B^{-1}\),因此求解的核心在於快速地維護 \(B^{-1}\)

以下我們設 \(P_k\)\(x_k\) 對應的原始系數矩陣的那一列。

我們有遞推式

\[B_{i}^{-1}=E_iB_{i-1}^{-1} \tag{4} \]

其中 \(E_i\) 是把一個單位矩陣中,第 \(j\) 列替換為 \(\xi_i\) 后的結果,其中 \(j\) 表示本次新換入的基在 \(B_i\) 中對應第 \(j\) 列,\(\xi_i\) 由本次換入變量在換入前 \(B_{i-1}^{-1}N_{i-1}\) 中對應的列 \((a_1,a_2,...,a_m)\) 變換得到,設 \(l\) 是換出變量對應的行,則

\[\xi_i = (-\frac {a_1} {a_l}, ...,\frac 1 {a_l},...,- \frac {a_m} {a_l}) \tag{5} \]

於是,

\[B_i^{-1}=(e_1,...,e_{j-1},\xi_i,e_{j+1},...,e_m)B^{-1}_{i-1} \tag{6} \]

換入變量求解根據檢驗數

\[\sigma_i = C_{N_i}-C_{B_i}B_i^{-1}N_i \tag{7} \]

中找最小值下標即可得到,換出變量根據 \(\theta\) 法則求

\[\theta = \displaystyle\min_l \{ \frac {B_i^{-1}b} {B_i^{-1}P_k} | B_i^{-1}P_k >0\} \tag{8} \]

即可得到。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM