http://en.wikipedia.org/wiki/Assignment_problem賦值算法:我該如何克服這種情況?
我將要描述的是從下講的情況:http://www.youtube.com/watch?v=BUGIhEecipE在32:00 教授解釋了這個問題,但是他並沒有提出任何解決方案,它
假設我們具有下表。該行表示,工人,列中的分配和值的時候一個工人需要完成的任務
3 1 1 4
4 2 2 5
5 3 4 8
4 2 5 9
起初,我發現每行的最小值,並從所有其他值減去它的量同一行。我做同樣的列和我得到以下結果
0 0 0 0
0 0 0 0
0 0 1 2
0 0 3 4
現在,一個顯而易見的解決方案是工人1取任務4,工人2的任務3,工人3任務2,工人1任務1
但是,使用編程語言,您無法真正找到它。如果讓我選擇的任意我可以選擇例如
工人1,任務1名 工人2,任務2 ,然後我不能選擇任何東西,因爲剩餘的費用大於零。
如果我做滴答過程,我基本上必須勾選所有行和所有列,所以表的值不會真正改變。
我的問題是,如何克服這個問題?有什麼方法可以幫助我實現這個目標嗎?
另外,你能推薦一些更簡單的方法來解決分配問題嗎?這整個滴答過程和減去最小/最大聽起來像不是低時間複雜性的東西
我想實現一個算法,但因爲我可能不得不處理這種情況,我沒有看到實施的東西會變成是錯誤到底
在此先感謝
mcdowella:我覺得你是一個分配/匹配算法的專家。我以爲你可能會幫助我[我的老問題](http://stackoverflow.com/questions/6870551/need-pairing-algorithm-based-on-hungarian?rq=1),但沒有得到滿意的回答。 – ttnphns 2012-07-11 17:46:28
我並不是說在這個主題上有豐富的經驗,但是我已經記下了一些與你的問題有關的想法供你思考。 – mcdowella 2012-07-11 18:41:43