【运筹学】线性规划数学模型 ( 单纯形法 | 第二次迭代 | 方程组同解变换 | 生成新单纯形表 | 计算检验数 | 最优解判定 | 线性规划解个数分析 )
文章目錄
- 一、第二次迭代
- 二、方程組同解變換
- 三、生成新的單純形表
- 四、計算檢驗數、最優解判定
- 五、最優解個數說明
- 1、唯一最優解
- 2、無窮最優解
- 3、無界解
- 4、總結
- 六、出基變量選擇說明
上一篇博客 【運籌學】線性規劃數學模型 ( 單純形法 | 第一次迭代 | 方程組同解變換 | 計算新單純形表 | 計算檢驗數 | 入基變量選擇 | 出基變量選擇 | 第三次迭代 | 得到最優解 ) 中進行了線性規劃的第一次迭代 , 本篇博客中進行第二次迭代 ;
一、第二次迭代
當前的方程組為 {53x1+0x2+x3?13x4=3013x1+x2+0x3+13x4=10\begin{cases} \dfrac{5}{3} x_1 + 0x_2 + x_3 - \dfrac{1}{3} x_4 = 30 \\\\ \dfrac{1}{3}x_1 + x_2 + 0x_3 + \dfrac{1}{3}x_4 = 10 \end{cases}??????????35?x1?+0x2?+x3??31?x4?=3031?x1?+x2?+0x3?+31?x4?=10? , 選擇 x1,x2x_1, x_2x1?,x2? 作為基變量 , 基矩陣為 (530131)\begin{pmatrix} \quad \dfrac{5}{3} \quad 0 \quad \\\\ \quad \dfrac{1}{3} \quad 1 \quad \end{pmatrix}?????35?031?1?????? , 進行同解變換 , 將基矩陣轉為單位陣 ;
二、方程組同解變換
方程 111 同解變換 :
將 53x1+0x2+x3?13x4=30\dfrac{5}{3} x_1 + 0x_2 + x_3 - \dfrac{1}{3} x_4 = 3035?x1?+0x2?+x3??31?x4?=30 方程中的 x1x_1x1? 的系數變為 111 , x2x_2x2? 的系數為 000 保持不變 ;
方程的左右變量乘以 35\dfrac{3}{5}53? :
53x1+0x2+x3?13x4=30(53x1+0x2+x3?13x4)×35=30×35x1+0x2+35x3?15x4=18\begin{array}{lcl} \dfrac{5}{3} x_1 + 0x_2 + x_3 - \dfrac{1}{3} x_4 &=& 30 \\\\ ( \dfrac{5}{3} x_1 + 0x_2 + x_3 - \dfrac{1}{3} x_4 ) \times \dfrac{3}{5} &=& 30 \times \dfrac{3}{5} \\\\ x_1 + 0x_2 + \dfrac{3}{5} x_3 - \dfrac{1}{5}x_4 &=& 18 \end{array}35?x1?+0x2?+x3??31?x4?(35?x1?+0x2?+x3??31?x4?)×53?x1?+0x2?+53?x3??51?x4??===?3030×53?18?
當前方程組變成 {x1+0x2+35x3?15x4=1813x1+x2+0x3+13x4=10\begin{cases} x_1 + 0x_2 + \dfrac{3}{5} x_3 - \dfrac{1}{5}x_4 = 18 \\\\ \dfrac{1}{3}x_1 + x_2 + 0x_3 + \dfrac{1}{3}x_4 = 10 \end{cases}??????????x1?+0x2?+53?x3??51?x4?=1831?x1?+x2?+0x3?+31?x4?=10?
方程 222 同解變換 : 將方程 111 乘以 ?13-\dfrac{1}{3}?31? , 與方程 222 相加 ;
① 方程 111 乘以 ?13-\dfrac{1}{3}?31? :
(x1+0x2+35x3?15x4)×?13=18×?13?13x1+0x2+?15x3+115x4=?6\begin{array}{lcl} ( x_1 + 0x_2 + \dfrac{3}{5} x_3 - \dfrac{1}{5}x_4 ) \times -\dfrac{1}{3} &=& 18 \times -\dfrac{1}{3} \\\\ -\dfrac{1}{3} x_1 + 0x_2 + -\dfrac{1}{5}x_3 + \dfrac{1}{15} x_4 &=& -6 \end{array}(x1?+0x2?+53?x3??51?x4?)×?31??31?x1?+0x2?+?51?x3?+151?x4??==?18×?31??6?
② 與方程 222 相加 :
(?13x1+0x2+?15x3+115x4)+(13x1+x2+0x3+13x4)=?6+100x1+x2?15x3+25x4=4\begin{array}{lcl} (-\dfrac{1}{3} x_1 + 0x_2 + -\dfrac{1}{5}x_3 + \dfrac{1}{15} x_4) + (\dfrac{1}{3}x_1 + x_2 + 0x_3 + \dfrac{1}{3}x_4)&=& -6 + 10 \\\\ 0x_1 + x_2 -\dfrac{1}{5}x_3 + \dfrac{2}{5} x_4 &=& 4 \end{array}(?31?x1?+0x2?+?51?x3?+151?x4?)+(31?x1?+x2?+0x3?+31?x4?)0x1?+x2??51?x3?+52?x4??==??6+104?
當前方程組變成 {x1+0x2+35x3?15x4=180x1+x2?15x3+615x4=4\begin{cases} x_1 + 0x_2 + \dfrac{3}{5} x_3 - \dfrac{1}{5}x_4 = 18 \\\\ 0x_1 + x_2 -\dfrac{1}{5}x_3 + \dfrac{6}{15} x_4 = 4 \end{cases}??????????x1?+0x2?+53?x3??51?x4?=180x1?+x2??51?x3?+156?x4?=4?
三、生成新的單純形表
更新一下單純形表 : 將第三次迭代的矩陣填入下面的單純形表中 ;
| CBC_BCB? 基變量系數 (目標函數) | 基變量 | 常數 bbb | x1x_1x1? | x2x_2x2? | x3x_3x3? | x4x_4x4? | θi\theta_iθi? |
| 000 ( 目標函數 x3x_3x3? 系數 c3c_3c3? ) | x3x_3x3? | 404040 | 222 | 111 | 111 | 000 | 404040 ( θ3\theta_3θ3? ) |
| 000 ( 目標函數 x4x_4x4? 系數 c4c_4c4?) | x4x_4x4? | 303030 | 111 | 333 | 000 | 111 | 101010 ( θ4\theta_4θ4? ) |
| σj\sigma_jσj? | 333 ( σ1\sigma_1σ1? ) | 444 ( σ2\sigma_2σ2? ) | 000 | 000 | |||
| 第一次迭代 | – | – | – | – | – | – | – |
| 000 ( 目標函數 x3x_3x3? 系數 c3c_3c3? ) | x3x_3x3? | 303030 | 53\dfrac{5}{3}35? | 000 | 111 | ?13-\dfrac{1}{3}?31? | 181818 ( θ3\theta_3θ3? ) |
| 444 ( 目標函數 x2x_2x2? 系數 c2c_2c2?) | x2x_2x2? | 101010 | 13\dfrac{1}{3}31? | 111 | 000 | 13\dfrac{1}{3}31? | 303030 ( θ2\theta_2θ2? ) |
| σj\sigma_jσj? ( 檢驗數 ) | 53\dfrac{5}{3}35? ( σ1\sigma_1σ1? ) | 000 | 000 | ?43-\dfrac{4}{3}?34? ( σ4\sigma_4σ4? ) | |||
| 第二次迭代 | – | – | – | – | – | – | – |
| 333 ( 目標函數 x1x_1x1? 系數 c1c_1c1? ) | x1x_1x1? | 181818 | 111 | 000 | 35\dfrac{3}{5}53? | ?15-\dfrac{1}{5}?51? | ??? ( θ3\theta_3θ3? ) |
| 444 ( 目標函數 x2x_2x2? 系數 c2c_2c2?) | x2x_2x2? | 444 | 000 | 111 | ?15-\dfrac{1}{5}?51? | 25\dfrac{2}{5}52? | ??? ( θ2\theta_2θ2? ) |
| σj\sigma_jσj? ( 檢驗數 ) | 000 | 000 | ??? ( σ3\sigma_3σ3? ) | ??? ( σ4\sigma_4σ4? ) |
四、計算檢驗數、最優解判定
計算檢驗數 σ\sigmaσ :
σ3=0?3×35?4×(?15)=?95+45=?1\sigma_3 = 0 - 3 \times \dfrac{3}{5} - 4 \times (-\dfrac{1}{5}) = -\dfrac{9}{5} + \dfrac{4}{5} = -1σ3?=0?3×53??4×(?51?)=?59?+54?=?1
σ4=0?3×(?15)?4×25=35?85=?1\sigma_4 = 0 - 3 \times (-\dfrac{1}{5}) - 4 \times \dfrac{2}{5} = \dfrac{3}{5} - \dfrac{8}{5} = -1σ4?=0?3×(?51?)?4×52?=53??58?=?1
兩個非基變量的檢驗數都是小于等于 000 的 , 因此該基可行解 (18400)\begin{pmatrix} \quad 18 \quad \\ \quad 4 \quad \\ \quad 0 \quad \\ \quad 0 \quad \end{pmatrix}?????18400??????是最優解 ;
五、最優解個數說明
1、唯一最優解
唯一最優解 : 上述示例中有最優解 , 兩個檢驗數全都小于 000 , 說明該線性規劃有唯一最優解 ;
如果有一個檢驗數等于 000 , 該線性規劃有無窮多最優解 ;
如果非基變量系數都是負數 , 該線性規劃有無界解
2、無窮最優解
無數最優解 : 如果線性規劃中有兩個最優解 , 那么這兩個最優解之間的連線都是最優解 , 那么該線性規劃有無數個最優解 ;
無數最優解示例 : 非基變量檢驗數為 000 , 就會產生無窮最優解 ;
-
假如計算檢驗數時 , 有一個非基變量的檢驗數小于 000 , 另外一個 檢驗數等于 000 ;
-
假設目標函數是 maxZ=b0+0x7?10x8maxZ = b^0 + 0x_7 - 10x_8maxZ=b0+0x7??10x8? 形式的 , 一個系數為 000 , 一個系數為 ?10-10?10 ;
-
此時 x7x_7x7? 不論取何值 , 都是最優解 , 該線性規劃就有無數個最優解 ;
3、無界解
無界解 :
假設線性規劃是如下方程組 {2x1?x2+x3=40x1?3x2+x4=30\begin{cases} 2x_1 - x_2 + x_3 = 40 \\\\ x_1 - 3x_2 + x_4 = 30 \end{cases}??????2x1??x2?+x3?=40x1??3x2?+x4?=30? , 該線性規劃一定沒有最優解 ;
構造一個解 (0k40+k30+3k)\begin{pmatrix} \quad 0 \quad \\ \quad k \quad \\ \quad 40 + k \quad \\ \quad 30 + 3k \quad \end{pmatrix}?????0k40+k30+3k?????? , 其中 kkk 是任意一個大于 000 的正數 , ?k>0\forall k >0?k>0 ;
當 kkk 大于等于 000 時 , 該解是線性規劃的解 , 將上述解代入目標函數中 , 目標函數可以取值到正無窮 , 該解是無界解 ;
無界解的情況總結 ( 找不到出基變量 ) :
- 找不到出基變量 : 找到初始基可行解 , 其檢驗數大于 0 , 但是找不到出基變量 ;
- 出基變量選擇 : 出基變量是需要常數項除以對應非基變量系數中大于 000 的數 , 取較小的那個系數對應的基變量 ;
- 這里兩個系數都小于 000 , 找不到出基變量 , 此時無法繼續進行迭代 , 這種情況下目標函數取不到最大值 , 目標函數可以取值無限大 ;
4、總結
根據檢驗數判定 :
- 唯一最優解 : 檢驗數全部小于 000 ;
- 無窮最優解 : 檢驗數有一個等于 000 ;
- 無界解: 能根據檢驗數找到入基變量 , 假如某個非基變量的系數全部小于 000 , 無法找到出擊變量 , 此時是無界解 ;
線性規劃無解的情況 : 線性規劃中 , 假設是有初始基可行解的 , 如果沒有解 , 初始基可行解也不存在 ;
六、出基變量選擇說明
每次迭代時 , 先找到入基變量 ( 換入變量 ) , 然后根據換入變量計算 θ\thetaθ 值 , 找到出基變量 ( 換出變量 ) ;
出基變量查找方法 : 使用 常數項 , 與 入基變量中大于 000 的系數 做除法 , 如果有小于 000 的系數 , 那么不進行計算 , 該值沒有任何參考價值 ;
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的【运筹学】线性规划数学模型 ( 单纯形法 | 第二次迭代 | 方程组同解变换 | 生成新单纯形表 | 计算检验数 | 最优解判定 | 线性规划解个数分析 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【运筹学】线性规划数学模型 ( 单纯形法
- 下一篇: 【运筹学】线性规划 单纯形法 阶段总结