【运筹学】线性规划 单纯形法 案例二 ( 案例解析 | 标准形转化 | 查找初始基可行解 | 最优解判定 | 查找入基变量与出基变量 | 第一次迭代 )
文章目錄
- 一、線性規劃示例
- 二、轉化成標準形式
- 三、初始基可行解
- 四、列出單純形表
- 五、計算檢驗數
- 六、選擇入基變量與出基變量
- 七、第一次迭代 : 列出單純形表
一、線性規劃示例
線性規劃示例 : 使用單純形法求解下面的線性規劃 ;
maxZ=x1+2x2+x3s.t{2x1?3x2+2x3≤1513x1+x2+5x3≤20xj≥0(j=1,2,3)\begin{array}{lcl} max Z = x_1 + 2x_2 + x_3 \\ \\ s.t\begin{cases} 2 x_1 - 3x_2 + 2x_3 \leq 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 \leq 20 \\ \\x_j \geq 0 & (j = 1 , 2 , 3 ) \end{cases}\end{array}maxZ=x1?+2x2?+x3?s.t??????????????????2x1??3x2?+2x3?≤1531?x1?+x2?+5x3?≤20xj?≥0?(j=1,2,3)??
二、轉化成標準形式
首先將現行規劃轉化成標準形式 :
參考 【運籌學】線性規劃數學模型標準形式 ( 標準形式 | 目標函數轉化 | 決策變量轉化 | 約束方程轉化 | 固定轉化順序 | 標準形式轉化實例 ) 線性規劃 普通形式 -> 標準形式 轉化順序說明 博客 , 先處理變量約束 , 再將不等式轉為等式 , 最后更新目標函數 ;
1 . 處理約束變量 : 所有的約束變量都大于等于 000 , 這里無需處理 ;
2 . 將不等式轉為等式 : 兩個不等式都是小于等于不等式 , 在左側加入松弛變量即可 ;
① 添加松弛變量 : 上述兩個不等式 {2x1?3x2+2x3≤1513x1+x2+5x3≤20\begin{cases} 2 x_1 - 3x_2 + 2x_3 \leq 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 \leq 20 \end{cases}????????2x1??3x2?+2x3?≤1531?x1?+x2?+5x3?≤20? , 在左側分別添加 x4,x5x_4 , x_5x4?,x5? 松弛變量 ;
② 最終結果 : 轉化后的結果是 {2x1?3x2+2x3+x4=1513x1+x2+5x3+x5=20xj≥0(j=1,2,3,4,5)\begin{cases} 2 x_1 - 3x_2 + 2x_3 + x_4 = 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 + x_5 = 20 \\ \\x_j \geq 0 \quad (j = 1 , 2 , 3, 4, 5 ) \end{cases}??????????????????2x1??3x2?+2x3?+x4?=1531?x1?+x2?+5x3?+x5?=20xj?≥0(j=1,2,3,4,5)?
3 . 處理目標函數取最大值 : 目標函數就是取最大值 , 無需處理 ;
4 . 最終的標準形結果是 :
maxZ=x1+2x2+x3+0x4+0x5s.t{2x1?3x2+2x3+x4+0x5=1513x1+x2+5x3+0x4+x5=20xj≥0(j=1,2,3,4,5)\begin{array}{lcl} max Z = x_1 + 2x_2 + x_3 + 0x_4 + 0x_5 \\ \\ s.t\begin{cases} 2 x_1 - 3x_2 + 2x_3 + x_4 + 0x_5 = 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 + 0x_4 + x_5 = 20 \\ \\x_j \geq 0 \quad (j = 1 , 2 , 3, 4, 5 ) \end{cases}\end{array}maxZ=x1?+2x2?+x3?+0x4?+0x5?s.t??????????????????2x1??3x2?+2x3?+x4?+0x5?=1531?x1?+x2?+5x3?+0x4?+x5?=20xj?≥0(j=1,2,3,4,5)??
三、初始基可行解
找初始基可行解 :
① 查找單位陣 : 該線性規劃標準形的系數矩陣中 , x4,x5x_4 , x_5x4?,x5? 的系數矩陣是 (1001)\begin{pmatrix} \quad 1 \quad 0 \quad \\ \quad 0 \quad 1 \quad \\ \end{pmatrix}(1001?) , 該矩陣是單位陣 ;
② 可行基 : 選擇該矩陣作為可行基 ;
③ 初始基可行解 : 其對應的解是基可行解 (0001520)\begin{pmatrix} \quad 0 \quad \\ \quad 0 \quad \\ \quad 0 \quad \\ \quad 15 \quad \\ \quad 20 \quad \\ \end{pmatrix}???????0001520???????? ;
四、列出單純形表
maxZ=x1+2x2+x3+0x4+0x5s.t{2x1?3x2+2x3+x4+0x5=1513x1+x2+5x3+0x4+x5=20xj≥0(j=1,2,3,4,5)\begin{array}{lcl} max Z = x_1 + 2x_2 + x_3 + 0x_4 + 0x_5 \\ \\ s.t\begin{cases} 2 x_1 - 3x_2 + 2x_3 + x_4 + 0x_5 = 15 \\\\ \dfrac{1}{3}x_1 + x_2 + 5x_3 + 0x_4 + x_5 = 20 \\ \\x_j \geq 0 \quad (j = 1 , 2 , 3, 4, 5 ) \end{cases}\end{array}maxZ=x1?+2x2?+x3?+0x4?+0x5?s.t??????????????????2x1??3x2?+2x3?+x4?+0x5?=1531?x1?+x2?+5x3?+0x4?+x5?=20xj?≥0(j=1,2,3,4,5)??
| CBC_BCB? 基變量系數 (目標函數) | 基變量 | 常數 bbb | x1x_1x1? | x2x_2x2? | x3x_3x3? | x4x_4x4? | x5x_5x5? | θi\theta_iθi? |
| 000 ( 目標函數 x4x_4x4? 系數 c4c_4c4? ) | x4x_4x4? | 151515 | 222 | ?1-1?1 | 222 | 111 | 000 | ?-? |
| 000 ( 目標函數 x5x_5x5? 系數 c5c_5c5?) | x5x_5x5? | 202020 | 13\dfrac{1}{3}31? | 111 | 555 | 000 | 111 | 202020 |
| σj\sigma_jσj? ( 檢驗數 ) | 111 ( σ1\sigma_1σ1? ) | 222 ( σ2\sigma_2σ2? ) | 111 ( σ3\sigma_3σ3? ) | 000 | 000 |
五、計算檢驗數
計算非基變量的檢驗數 :
單個檢驗數計算公式 : σj=cj?∑ciaij\sigma_j = c_j - \sum c_i a_{ij}σj?=cj??∑ci?aij? , 其中 cjc_jcj? 是對應目標函數非基變量系數 , cic_ici? 是目標函數中基變量系數 , aija_{ij}aij? 是系數矩陣中對應的 xjx_jxj? 非基變量列向量 ;
① σ1\sigma_1σ1? 檢驗數計算 : σ1=1?(0×2+0×13)=1\sigma_1 = 1 - ( 0 \times 2 + 0 \times \dfrac{1}{3} ) = 1σ1?=1?(0×2+0×31?)=1
② σ2\sigma_2σ2? 檢驗數計算 : σ2=2?(0×(?1)+0×1)=2\sigma_2 = 2 - ( 0 \times (-1) + 0 \times 1 ) = 2σ2?=2?(0×(?1)+0×1)=2
③ σ13\sigma_13σ1?3 檢驗數計算 : σ3=1?(0×2+0×5)=1\sigma_3 = 1 - ( 0 \times 2 + 0 \times 5 ) = 1σ3?=1?(0×2+0×5)=1
六、選擇入基變量與出基變量
入基變量選擇 : 選擇檢驗數 σj\sigma_jσj? 較大的非基變量作為入基變量 , 即 x2x_2x2? ;
出基變量是根據 θ\thetaθ 值來選擇的 , 選擇 θ\thetaθ 值較小的值對應的基變量作為出基變量 ;
出基變量選擇 : 常數列 b=(1520)b =\begin{pmatrix} \quad 15 \quad \\ \quad 20 \quad \end{pmatrix}b=(1520?) , 分別除以除以入基變量 x2x_2x2? 大于 000 的系數列 (?11)\begin{pmatrix} \quad -1 \quad \\\\ \quad 1 \quad \end{pmatrix}????11???? , 計算過程如下 (系數小于0不計算201)\begin{pmatrix} \quad 系數小于0 不計算 \quad \\\\ \quad \cfrac{20}{1} \quad \end{pmatrix}?????系數小于0不計算120??????? , 得出結果是 (無效值20)\begin{pmatrix} \quad 無效值 \quad \\\\ \quad 20 \quad \end{pmatrix}???無效值20???? , 如果系數小于等于 000 , 該值就是無效值 , 默認為無窮大 , 不進行比較 , 選擇 202020 對應的基變量作為出基變量 , 查看該最小值對應的變量是 x5x_5x5? , 選擇該 x5x_5x5? 變量作為出基變量 ;
七、第一次迭代 : 列出單純形表
上述已經得到 x2x_2x2? 作為入基變量 , 由非基變量轉為基變量 , x5x_5x5? 作為出基變量 , 由基變量轉為非基變量 ; 使用 x2x_2x2? , 替換基變量中的 x5x_5x5? 的位置 ;
基變量為 x4,x2x_4 , x_2x4?,x2? , 注意順序不要寫反 ;
| CBC_BCB? 基變量系數 (目標函數) | 基變量 | 常數 bbb | x1x_1x1? | x2x_2x2? | x3x_3x3? | x4x_4x4? | x5x_5x5? | θi\theta_iθi? |
| 000 ( 目標函數 x4x_4x4? 系數 c4c_4c4? ) | x4x_4x4? | 151515 | 222 | ?1-1?1 | 222 | 111 | 000 | ?-? (θ4\theta_4θ4?) |
| 000 ( 目標函數 x5x_5x5? 系數 c5c_5c5?) | x5x_5x5? | 202020 | 13\dfrac{1}{3}31? | 111 | 555 | 000 | 111 | 202020 ( θ5\theta_5θ5? ) |
| σj\sigma_jσj? ( 檢驗數 ) | 111 ( σ1\sigma_1σ1? ) | 222 ( σ2\sigma_2σ2? ) | 111 ( σ3\sigma_3σ3? ) | 000 | 000 | |||
| 第一次迭代 | – | – | – | – | – | – | – | – |
| 000 ( 目標函數 x4x_4x4? 系數 c4c_4c4? ) | x4x_4x4? | 151515 | ??? | 111 | ??? | 111 | ??? | ??? ( θ4\theta_4θ4? ) |
| 222 ( 目標函數 x2x_2x2? 系數 c2c_2c2?) | x2x_2x2? | 202020 | ??? | 000 | ??? | 000 | ??? | ??? (θ2\theta_2θ2?) |
| σj\sigma_jσj? ( 檢驗數 ) | 111 ( σ1\sigma_1σ1? ) | 000 | 111 ( σ3\sigma_3σ3? ) | 000 | ??? ( σ2\sigma_2σ2? ) |
總結
以上是生活随笔為你收集整理的【运筹学】线性规划 单纯形法 案例二 ( 案例解析 | 标准形转化 | 查找初始基可行解 | 最优解判定 | 查找入基变量与出基变量 | 第一次迭代 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Kotlin】Kotlin 自定义组件
- 下一篇: 【运筹学】线性规划 单纯形法 案例二 (