分配問題指派問題與匈牙利法課件_第1頁
分配問題指派問題與匈牙利法課件_第2頁
分配問題指派問題與匈牙利法課件_第3頁
分配問題指派問題與匈牙利法課件_第4頁
分配問題指派問題與匈牙利法課件_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第5講分配問題(指派問題)與匈牙利法分配問題的提出分配問題的提出若干項工作或任務(wù)需要若干個人去完成。由于每人的知識、能力、經(jīng)驗的不同,故各人完成不同任務(wù)所需要的時間不同(或其他資源)。問:應(yīng)指派哪個人完成何項工作,可使完成所有工作所消耗的總資源最少?整體解題思路總結(jié)例題:工作者1工作者2工作者3工作者4工作者5工作14871512工作279171410工作3691287工作46714610工作56912106單位:小時標準形式的分配問題標準形式的分配問題分派方案滿足下述兩個條件:任一個工人都不能去做兩件或兩件以上的工作任一件工作都不能同時接受兩個及以上的工人去做設(shè)某公司準備派n個工人x1,x2,…,xn,去作n件工作y1,y2,…,yn。已知工人xi完成工作yj所需時間為cij(i,j=1,2,…,n)?,F(xiàn)問:如何確定一個分派工人去工作的方案,使得工人們完成工作的總時間為最少。數(shù)學(xué)模型n個人n件事cij:第i人做第j事的費用xij=1若指派第i人做第j事0若指派第i人不做第j事總費用:i,j=1,

...,

nj=1,...,ni=1,...,n每件事必有且只有一個人去做每個人必做且只做一件事時間、原料、金錢等資源數(shù)學(xué)模型j=1,...,ni=1,...,ns.t.線性規(guī)劃問題運輸問題0-1型整數(shù)規(guī)劃問題匈牙利法1955年由美國數(shù)學(xué)家W.W.kuhn(庫恩)提出,利用了匈牙利數(shù)學(xué)家D.Konig(康尼格)證明的2個定理。系數(shù)矩陣(效率矩陣)解矩陣(決策變量矩陣)n個人n件事014丙085乙210甲CBA時工作間人員004丙075乙200甲CBA時工作間人員458丙4129乙987甲CBA時工作

人員定理:若將分配問題系數(shù)矩陣的每一行及每一列分別減去各行及各列的最小元素,則新分配問題與原分配問題有相同的最優(yōu)解,只有最優(yōu)值差一常數(shù)。相關(guān)定理使每行每列都出現(xiàn)零元素步驟1:變換系數(shù)矩陣,使其每行每列都出現(xiàn)0元素把各行元素分別減去本行元素的最小值,然后在此基礎(chǔ)上再把每列元素減去本列中的最小值。此時每行及每列中肯定都有0元素步驟2:進行試分配,判斷是否存在n個獨立零元素嘗試對所有零元素做標記,確定獨立零元素。(1)逐行檢驗對只有一個未標記的零元素的行,用記號O將該零元素圈起,然后將被圈起的零元素所在列的其他未標記的零元素用記號/劃去。重復(fù)行檢驗,直到每一行都沒有未被標記的零元素或至少有兩個未被標記的零元素為止。表示此人只能做該事(此事只能由該人做)表示此事已不能由其他人來做(此人已不能做其他事)步驟2:進行試分配,判斷是否存在n個獨立零元素嘗試對所有零元素做標記,確定獨立零元素。(2)逐列檢驗與行檢驗類似:對只有一個未標記的零元素的列,用記號O將該零元素圈起,然后將被圈起的零元素所在行的其他未標記的零元素用記號/劃去。重復(fù)列檢驗,直到?jīng)]有未被標記的零元素或至少有兩個未被標記的零元素為止。圈0即獨立零元素步驟2:進行試分配,判斷是否存在n個獨立零元素嘗試對所有零元素做標記,確定獨立零元素。(2)逐列檢驗可能出現(xiàn)三種情況1.每一行均有圈0出現(xiàn),圈0的個數(shù)恰好等于n2.存在未標記過的零元素,但它們所在的行和列中,未被標記過的零元素的個數(shù)均至少有兩個。3.不存在未被標記過的零元素,但圈0的個數(shù)<n可進行分配:令圈0位置的決策變量取值為1,其他為0(3)判斷獨立零元素的個數(shù)可能出現(xiàn)三種情況3.不存在未被標記過的零元素,但圈0的個數(shù)<n(3)判斷獨立零元素的個數(shù)圈0個數(shù)4<n=5作最少直線覆蓋當前所有零元素,便于下步增加獨立零元素的個數(shù)。定理:系數(shù)矩陣C中獨立零元素的最多個數(shù)等于能覆蓋所有零元素的最少線數(shù)。由匈牙利數(shù)學(xué)家D.Konig(康尼格)所證明例:分別求下列矩陣中的獨立零元素的最多個數(shù)。44獨立零元素的個數(shù)最多:⑥找未被直線覆蓋的最小數(shù)字k;⑦對矩陣的每行:當該行有直線覆蓋時,令ui=0;當該行無直線覆蓋時,令ui=k。ui01100⑧對矩陣的每列:當該列有直線覆蓋時,令vj=-k;當該列無直線覆蓋時,令vj=0。vj-10000ui01100vj-10000⑨從原矩陣的每個元素aij中分別減去ui和vj,得到新元素對不含圈0的行打;在打的行中,對所有零元素所在列打;在所有打的列中,對圈0所在行打;重復(fù)2,3步,直到不能打為止。對未打的每一行畫一橫線,對已打的每一列畫一縱線,即得到覆蓋當前0元素的最少直線集。圈0個數(shù)4<n=5⑥找未被直線覆蓋的最小數(shù)字k;⑦對矩陣的每行:當該行有直線覆蓋時,令ui=0;當該行無直線覆蓋時,令ui=k。ui00202⑧對矩陣的每列:當該列有直線覆蓋時,令vj=-k;當該列無直線覆蓋時,令vj=0。vj-20000⑨從原矩陣的每個元素aij中分別減去ui和vj,得到新元素ui00202vj-20000⑩再次尋找獨立零元素分配方案B⑩再次尋找獨立零元素分配方案B整體解題思路總結(jié)整體解題思路總結(jié)例題:人1人2人3人4人5工作14871512工作279171410工作3691287工作46714610工作56912106單位:小時整體解題思路總結(jié)例題:步驟1:變換系數(shù)矩陣,使其每行每列都出現(xiàn)0元素把各行元素分別減去本行元素的最小值,然后在此基礎(chǔ)上再把每列元素減去本列中的最小值。此時每行及每列中肯定都有0元素圈0即獨立零元素步驟2:進行試分配,判斷是否存在n個獨立零元素嘗試對所有零元素做標記,確定獨立零元素。(2)逐行檢驗可能出現(xiàn)三種情況3.不存在未被標記過的零元素,但圈0的個數(shù)<n(3)判斷獨立零元素的個數(shù)圈0個數(shù)4<n=5作最少直線覆蓋當前所有零元素,便于下步增加獨立零元素的個數(shù)。對不含圈0的行打;在打的行中,對所有零元素所在列打;在所有打的列中,對圈0所在行打;重復(fù)2,3步,直到不能打為止。對未打的每一行畫一橫線,對已打的每一列畫一縱線,即得到覆蓋當前0元素的最少直線集。⑥找未被直線覆蓋的最小數(shù)字k;⑦對矩陣的每行:當該行有直線覆蓋時,令ui=0;當該行無直線覆蓋時,令ui=k。ui01100⑧對矩陣的每列:當該列有直線覆蓋時,令vj=-k;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論