指派問題演算法
㈠ 指派問題的匈牙利演算法,由B2得出最優指派這一步是怎麼算的
這是看對應的列向量最小值(即0)。第一列的最小量0在第2行,代表著第一個人對應第二個任務,第二列最小量0在第一行,代表著第二個人對應第一個任務,第三列的在第三行,第四列只能分配第四個,所以就有圖中的最優指派。
㈡ 濡備綍鏈夊垎鏋濆畾鐣屾硶瑙f寚媧鵑棶棰
鍒嗘灊瀹氱晫娉曪紙branch and bound錛夋槸涓縐嶆眰瑙i潪綰挎ф暣鏁拌勫垝闂棰樼殑甯哥敤綆楁硶銆傝繖縐嶆柟娉曚笉浣嗗彲浠ユ眰瑙g函鏁存暟瑙勫垝錛岃繕鍙浠ユ眰瑙f販鍚堟暣鏁拌勫垝闂棰樸
鍒嗘灊瀹氱晫娉曠殑姝ラゅ備笅錛
Step 1 鏀懼芥垨鍙栨秷鍘熼棶棰樼殑鏌愪簺綰︽潫鏉′歡錛屽傛眰鏁存暟瑙g殑鏉′歡銆傚傛灉榪欐槸奼傚嚭鐨勬渶浼樿В鏄鍘熼棶棰樼殑鍙琛岃В錛岄偅涔堣繖涓瑙e氨鏄鍘熼棶棰樼殑鏈浼樿В錛岃$畻緇撴潫銆傚惁鍒欒繖涓瑙g殑鐩鏍囧嚱鏁板兼槸鍘熼棶棰樼殑鏈浼樿В鐨勪笂鐣岋紙奼傛瀬澶у兼椂錛夈
Step 2 灝嗘斁瀹戒簡鏌愪簺綰︽潫鏉′歡鐨勬浛浠i棶棰樺垎鎴愯嫢騫插瓙闂棰橈紝瑕佹眰鍚勫瓙闂棰樼殑瑙i泦鍚堢殑騫墮泦瑕佸寘鍚鍘熼棶棰樼殑鎵鏈夊彲琛岃В錛岀劧鍚庡規瘡涓瀛愰棶棰樻眰鏈浼樿В銆傝繖浜涘瓙闂棰樼殑鏈浼樿В涓鐨勬渶浼樿呰嫢鏄鍘熼棶棰樼殑鍙琛岃В錛屽垯瀹冨氨鏄鍘熼棶棰樼殑鏈浼樿В錛岃$畻緇撴潫銆傚惁鍒欏畠鐨勭洰鏍囧嚱鏁板煎氨鏄鍘熼棶棰樼殑涓涓鏂扮殑涓婄晫銆傚彟澶栵紝鍚勫瓙闂棰樼殑鏈浼樿В涓錛岃嫢鏈変負鍘熼棶棰樼殑鍙琛岃В鐨勶紝閫夎繖浜涘彲琛岃В鐨勬渶澶х殑鐩鏍囧嚱鏁板礆紝瀹冨氨鏄鍘熼棶棰樻渶浼樿В鐨勪竴涓涓嬬晫銆
Step 3 瀵規渶浼樿В鐨勭洰鏍囧嚱鏁板煎凡灝忎簬榪欎釜涓嬬晫鐨勯棶棰橈紝鍏跺彲琛岃В涓蹇呮棤鍘熼棶棰樼殑鏈浼樿В錛屽彲浠ユ斁寮冦傚規渶浼樿В鐨勭洰鏍囧嚱鏁板煎ぇ浜庤繖涓涓嬬晫鐨勫瓙闂棰橈紝閮藉厛淇濈暀涓嬫潵錛岃繘鍏Step 4 銆
Step 4 鍦ㄤ繚鐣欎笅鐨勬墍鏈夊瓙闂棰樹腑錛岄夊嚭鏈浼樿В鐨勭洰鏍囧嚱鏁板兼渶澶х殑涓涓錛岄噸澶峉tep 1 鍜孲tep 2 銆傚傛灉宸茬粡鎵懼埌璇ュ瓙闂棰樼殑鏈浼樺彲琛岃В錛岄偅涔堢敤鍏剁洰鏍囧嚱鏁板間笌鍓嶉潰淇濈暀鐨勫叾浠栭棶棰樺湪鍐呯殑鎵鏈夊瓙闂棰樼殑鍙琛岃В涓鐩鏍囧嚱鏁板兼渶澶ц咃紝灝嗗畠浣滀負鏂扮殑涓嬬晫錛岄噸澶峉tep 3 錛岀洿鍒版眰鍑烘渶浼樿В銆
浠ヤ笂灝辨槸鍒嗘敮瀹氱晫娉曠殑涓昏佹ラゃ
㈢ 匈牙利演算法求系數矩陣的最優指派是怎麼算出來的
從解的形式上看,指派問題是一種整數規劃問題,但從演算法思想看,把它歸為運輸問題的一種特殊形式更為合適。指派問題是運籌學中一個具有理論意義又很有實用價值的問題,其一般提法是:設有n個人,需要分派他們去做n件工作,由於每個人的專長不同,各人做任一種工作的效率可能不同,因而創造的價值也不同,應如何安排,才能使創造的總價值最大?