我有一種情況,我需要分配給幾個人的事件。如果我們只是以一個價格作爲因素,那就沒有問題,但是有很多因素可以進來。匈牙利算法和多種因素
首先,一些背景。這是一個非營利組織,它爲因任何原因住院的兒童提供故事時間,所以他們依靠志願工作來這樣做。所以,因爲它們依賴於人們的良好意願,他們給人們儘可能多的工作,因爲人們可以/想做的事,而變化,如:
- 有些人只能做早晨,和其他一些人只能做的下午;
- 有些人只能做星期一和星期四,其他人不能去八月或十二月;
- 有些人每月只能去一次,其他人可以去4次(甚至其他人在這些行動中被賦予「優先權」,因爲他們更有經驗並且可以每月可以做10次)
所以,我有點想出了前兩個。由於匈牙利算法是關於價格的,所以我會給他們一個愚蠢的高價格,因爲他們不能去的時間。但是,你會怎麼做其他人?
我想過給他們一些分數。大致有以下幾點:一個人一個月可以做到這一點的成本大約是1000分。如果某人可以每月去10次,那麼這個人的成本是100點(1000除以10)。此外,分發這種方式是增加每當一個單獨的行動將完成,像這樣(被選擇的人對他們的相關成本。*)的價格:
第一次迭代
| August 1st 2009
Person A | 1000
Person B | 500 *
第二次迭代
| August 8th 2009
Person A | 1000 *
Person B | 1000
這將是在所有人之間進行相應分配的方式,給予多次優先處理的人。
你覺得怎麼樣?你會怎麼做?
很好的研究和回答。非常感謝反饋。 – changelog 2009-08-03 13:59:02