【运筹学】表上作业法 ( 最优解判别 | 初始基可行解 | 运费修改可行性方案 | 闭回路法 )
文章目錄
- 一、最優解判別
- 二、初始基可行解
- 三、運費修改可行性方案
- 四、閉回路法
一、最優解判別
在上兩篇博客 【運籌學】表上作業法 ( 求初始基可行解 | 最小元素法 ) , 【運籌學】表上作業法 ( 最小元素法分析 | Vogel 方法 ) 中 , 分別給出了表上作業法如何找初始基可行解 , 兩種方法 " 最小元素法 " 和 " Vogel 方法 ( 差額法 ) " , 其中 Vogel 方法 得到的初始基可行解更靠近最優解 ;
下面開始判斷該 初始基可行解 是否是 最優解 ;
最優解判別 : 得到一組 基可行解 之后 , 使用 檢驗數 判定該解是否是最優解 ;
檢驗數符號 : 變量 xij\rm x_{ij}xij? 的檢驗數記作 λij\rm \lambda_{ij}λij? ;
檢驗數判定原則 : 運輸規劃的 目標函數求最小值 時 , 所有的 非基變量檢驗數 λij\rm \lambda_{ij}λij? 都非負 , 該基可行解就是最優解 , 該運輸方案是最優方案 ;
求檢驗數的方法 : ① 閉回路法 , ② 位勢法 ;
二、初始基可行解
使用最小元素法求得的初始基可行解 :
| A1\rm A_1A1? | 333 | 111111 | 333 , 444 | 101010 , 333 | 777 |
| A2\rm A_2A2? | 111 , 333 | 999 | 222 , 111 | 888 | 444 |
| A3\rm A_3A3? | 777 | 444 , 666 | 101010 | 555 , 333 | 999 |
| 銷量 | 333 | 666 | 555 | 666 |
使用 最小元素法, 得到初始基可行解 : {x13=4x14=3x21=3x23=1x32=6x34=3\begin{cases} \rm x_{13} = 4 \\\\ \rm x_{14} = 3 \\\\ \rm x_{21} = 3 \\\\ \rm x_{23} = 1 \\\\ \rm x_{32} = 6 \\\\ \rm x_{34} = 3 \end{cases}????????????????????????????????????????????x13?=4x14?=3x21?=3x23?=1x32?=6x34?=3?
使用 Vogel 方法求得初始基可行解 :
| A1\rm A_1A1? | 333 , 222 | 1?1\not 11?11 | 333 , 555 | 1?0\not 10?10 | 777 | 000 |
| A2\rm A_2A2? | 1?\not 1?1 , 111 | 9?\not 9?9 | 2?\not 2?2 | 8?\not 8?8 , 333 | 444 | 1?\not 1?1 |
| A3\rm A_3A3? | 7?\not 7?7 | 4?\not 4?4 , 666 | 1?0\not 10?10 | 5?\not 5?5 , 333 | 999 | 2?\not 2?2 |
| 銷量 | 333 | 666 | 555 | 666 | ||
| 列差額 | 222 | 5?\not 5?5 | 111 | 2?\not 2?2 |
使用 Vogel 方法, 得到初始基可行解 : {x11=2x13=5x21=1x24=3x32=6x34=3\begin{cases} \rm x_{11} = 2 \\\\ \rm x_{13} = 5 \\\\ \rm x_{21} = 1 \\\\ \rm x_{24} = 3 \\\\ \rm x_{32} = 6 \\\\ \rm x_{34} = 3 \end{cases}????????????????????????????????????????????x11?=2x13?=5x21?=1x24?=3x32?=6x34?=3?
推薦使用 Vogel 方法計算初始基可行解 ;
三、運費修改可行性方案
以最小元素法獲得的初始基可行解為例 :
| A1\rm A_1A1? | 333 | 111111 | 333 , 444 | 101010 , 333 | 777 |
| A2\rm A_2A2? | 111 , 333 | 999 | 222 , 111 | 888 | 444 |
| A3\rm A_3A3? | 777 | 444 , 666 | 101010 | 555 , 333 | 999 |
| 銷量 | 333 | 666 | 555 | 666 |
當前的初始基可行解的總運費計算如下 :
(3×4)+(10×3)+(1×3)+(2×1)+(4×6)+(3×5)=86\rm ( 3 \times 4 ) + ( 10 \times 3 ) + ( 1 \times 3 ) + ( 2 \times 1 ) + ( 4 \times 6 ) + ( 3 \times 5 ) = 86(3×4)+(10×3)+(1×3)+(2×1)+(4×6)+(3×5)=86
提出問題 :
在上述運輸規劃表格中 , A2\rm A_2A2? 沒有向 B4\rm B_4B4? 運輸產品 , 如果想要增加該項的運輸 ;
A2\rm A_2A2? 的產量是固定的 , 不能憑空多出來 , 如果想要多給 B4\rm B_4B4? 運輸一部分 , 一定要減少其它銷地的運輸 ;
這里 A2\rm A_2A2? 可以減少向 B1\rm B_1B1? 或 B3\rm B_3B3? 銷地運輸產品的個數 ;
假如想要減少 A2\rm A_2A2? 產地運往 B1\rm B_1B1? 銷地的產品數量 , 但對于 B1\rm B_1B1? 銷地來說 , 從 A2\rm A_2A2? 產地獲取的產品少了 , 需要從其它產地獲取更多產品 , 而此時其它的產地的產品運輸都是飽和的 , 多不出來 ;
運量變化規則 :
單純形法中每次迭代中 , 要選出一個 出基變量 , 和一個 入基變量 , 這兩個成對出現 ;
同理在運輸規劃中 , 也有類似的概念 ; 增加某個方向的運量 , 需要立刻體現出 減少了某個方向的運量 , 增加一個 , 減少一個 ; 增加和減少交替出現 ;
不可行的修改方案 :
如果想要增加一個銷地的運量 , 就需要減少另外一個銷地的運量 , 但是注意 , 減少另外銷地的運量不能影響其它的運輸問題 , 上述情況下 增加 A2\rm A_2A2? 向 B4\rm B_4B4? 的運量 , 此時如果要 減少 A2\rm A_2A2? 對 B1\rm B_1B1? 的運量 , 會引起 B1\rm B_1B1? 銷地供貨不足 , 導致另外的連鎖反應 , 需要增加另外產地的向 B1\rm B_1B1? 供貨 , 但是 A1,A3\rm A_1 , A_3A1?,A3? 都沒有可以增加供貨的空間 ;
這樣無法形成一個閉合回路 ;
可行的修改方案 :
增加 A2\rm A_2A2? 向 B4\rm B_4B4? 的運量 , 如果 減小 A2\rm A_2A2? 向 B3\rm B_3B3? 運輸的產品數 , B3\rm B_3B3? 得到的物資從 A2\rm A_2A2? 減少 , 那么相應 A1\rm A_1A1? 向 B3\rm B_3B3? 供貨需要增加 , A2\rm A_2A2? 向 B3\rm B_3B3? 的運輸量最多減少 111 個 , 對于 A1\rm A_1A1? 來說 , 向 A3\rm A_3A3? 運輸增加了 , 一定需要減少運往某個銷地的運量 , 只能 減少 A1\rm A_1A1? 到 B4\rm B_4B4? 的運量 , 此時發現產銷又平衡了 ;
A2\rm A_2A2? 到 B4\rm B_4B4? 最多能增加 111 個單位 , 此時 A2\rm A_2A2? 到 B3\rm B_3B3? 減少 111 個單位 , A1\rm A_1A1? 到 B3\rm B_3B3? 增加 111 個單位 , A1\rm A_1A1? 到 B4\rm B_4B4? 減少 111 個單位 ;
是否采取上述可行的修改方案 , 要看修改后的總運費是否小于修改前的總運費 , 如果修改后總費用減小 , 則進行修改 , 反之則不修改 ;
經過上述計算后的運費表格如下 :
| A1\rm A_1A1? | 333 | 111111 | 333 , 555 | 101010 , 222 | 777 |
| A2\rm A_2A2? | 111 , 333 | 999 | 222 | 888 , 111 | 444 |
| A3\rm A_3A3? | 777 | 444 , 666 | 101010 | 555 , 333 | 999 |
| 銷量 | 333 | 666 | 555 | 666 |
計算當前的總運費 :
(3×5)+(10×2)+(1×3)+(8×1)+(4×6)+(3×5)=85\rm ( 3 \times 5 ) + ( 10 \times 2 ) + ( 1 \times 3 ) + ( 8 \times 1 ) + ( 4 \times 6 ) + ( 3 \times 5 ) = 85(3×5)+(10×2)+(1×3)+(8×1)+(4×6)+(3×5)=85
總費用確實減少了 , 比之前的減少了 111 的總費用 , 需要采取修改后的方案 ;
與之前的總運費表格對比 :
此時 x24\rm x_{24}x24? 是新增加的基變量 , 這是 入基變量 , 由非基變量變為基變量 ;
原來的基變量 x23\rm x_{23}x23? 變成了非基變量 , 這是 出基變量 ;
四、閉回路法
閉回路法 :
上述示例中找了一個 A2\rm A_2A2? 到 B4\rm B_4B4? 的格子對應的非基變量 x24\rm x_{24}x24? 找閉回路 , 實際上任意一個非基變量都存在一個閉回路 ;
此時找到了針對最優解的判定方案 , 是針對 非基變量 進行判斷 , 對于 任意一個非基變量 , 都可以找到這樣的閉回路 ,
出發的格子中 增加運輸量 , 然后某個格子需要 減少運輸量 , 增加 與 減少 依次交替 , 最終能回到初始的格子, 達到產銷平衡 ;
出發的格子使用加號 +++ , 第二個格子使用減號 ?-? , 之后的歌詞依次使用 加號減號交替 +?+-+? 符號 ;
讓其運費做一個 " +?+??+-+-\cdots+?+?? " 運算 , 最終看代數和 ;
如果代數和 大于等于 000 , 說明當前的非基變量格子取 000 就是 最優選擇 ;
如果代數和 小于 000 , 說明當前的非基變量格子取 000 不是最優選擇 ;
總結
以上是生活随笔為你收集整理的【运筹学】表上作业法 ( 最优解判别 | 初始基可行解 | 运费修改可行性方案 | 闭回路法 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【运筹学】表上作业法 ( 最小元素法分析
- 下一篇: 【运筹学】表上作业法 ( 闭回路示例 )