【运筹学】匈牙利法 ( 匈牙利法示例 )
文章目錄
- 一、使用匈牙利法求解下面的指派問題
- 二、第一步 : 變換系數矩陣 ( 每行每列都出現 0 元素 )
- 三、第二步 : 試指派 ( 找獨立 0 元素 )
一、使用匈牙利法求解下面的指派問題
四人分別完成四項工作所用時間 :
| 甲 | 222 | 151515 | 131313 | 444 |
| 乙 | 101010 | 444 | 141414 | 151515 |
| 丙 | 999 | 141414 | 161616 | 131313 |
| 丁 | 777 | 888 | 111111 | 999 |
二、第一步 : 變換系數矩陣 ( 每行每列都出現 0 元素 )
先寫出指派問題的系數矩陣 :
(cij)=[2151341041415914161378119](c_{ij}) =\begin{bmatrix} & 2 & 15 & 13 & 4 & \\\\ & 10 & 4 & 14 & 15 & \\\\ & 9 & 14 & 16 & 13 & \\\\ & 7 & 8 & 11 & 9 & \\ \end{bmatrix}(cij?)=????????????21097?154148?13141611?415139?????????????
使每行都出現 000 元素 : (cij)(c_{ij})(cij?) 系數矩陣中 , 每行都 減去該行最小元素 ;
- 第 111 行減去最小值 222 ;
- 第 222 行減去最小值 444 ;
- 第 333 行減去最小值 999 ;
- 第 444 行減去最小值 777 ;
(cij′)=[01311260101105740142](c_{ij}') =\begin{bmatrix} & 0 & 13 & 11 & 2 & \\\\ & 6 & 0 & 10 & 11 & \\\\ & 0 & 5 & 7 & 4 & \\\\ & 0 & 1 & 4 & 2 & \\ \end{bmatrix}(cij′?)=????????????0600?13051?111074?21142?????????????
此時發現有兩列 , 第 444 列 , 第 555 列 , 沒有 000 元素 , 這兩列每列都減去最小值 :
- 第 333 列減去最小值 444 ;
- 第 444 列減去最小值 222 ;
最終得到行列都有 000 元素的系數矩陣 (bij)(b_{ij})(bij?) :
(bij)=[01370606905320100](b_{ij}) =\begin{bmatrix} & 0 & 13 & 7 & 0 & \\\\ & 6 & 0 & 6 & 9 & \\\\ & 0 & 5 & 3 & 2 & \\\\ & 0 & 1 & 0 & 0 & \\ \end{bmatrix}(bij?)=????????????0600?13051?7630?0920?????????????
三、第二步 : 試指派 ( 找獨立 0 元素 )
基于上一步的行列都有 000 元素的系數矩陣 ,
(bij)=[01370606905320100](b_{ij}) =\begin{bmatrix} & 0 & 13 & 7 & 0 & \\\\ & 6 & 0 & 6 & 9 & \\\\ & 0 & 5 & 3 & 2 & \\\\ & 0 & 1 & 0 & 0 & \\ \end{bmatrix}(bij?)=????????????0600?13051?7630?0920?????????????
進行試指派 ;
找出每行的獨立 000 元素 ,
優先從唯一選擇開始 ,
第 222 行只有 111 個 000 元素 , 該元素是獨立 000 元素 ;
第 333 行只有 111 個 000 元素 , 該元素是獨立 000 元素 ( 紅色矩形框 ) , 位于第 111 列 ; 同時第 111 列中的其它 000 元素標記為 廢棄 000 元素 ( 綠色矩形框 );
第 111 行和第 444 行都有多個 000 元素 ;
然后從列里面找獨立 000 元素 , 第 111 列 和 第 222 列都已經找到了 000 元素 , 這里看 第 333 列 和 第 444 列 ;
第 333 列有 獨立 000 元素 ( 紅色矩形框 ) ; 位于第 444 行 , 將第 444 行的其它 000 元素標記為 廢棄 000 元素 ( 綠色矩形框 ) ;
第 444 列有 獨立 000 元素 ( 紅色矩形框 ) ; 位于第 111 行 , 將第 111 行的其它 000 元素標記為 廢棄 000 元素 ( 綠色矩形框 ) , 已經標記過了 , 不用再進行標記 ;
這里第一次指派就找到了最優解 ;
總結
以上是生活随笔為你收集整理的【运筹学】匈牙利法 ( 匈牙利法示例 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运筹学 美国人在计算机上实现的四,运筹学
- 下一篇: BeyondDesk 桌面小工具集合/时