簡體   English   中英

按項目分配資源的算法(裝箱?)

[英]Algorithm for resource allocation by project (Bin Packing?)

請讓我知道哪種算法適合以下問題:

在給定的3個月內,我們的項目數量有限(通常<50個)。 每個項目都有幾個小時。

在相同的3個月內,我們的資源數量有限(通常<100)。

每個資源每月可能消耗唯一的時間量(考慮假期,個人假期等-每個資源的每月這個小時數已經預先計算出來並且可用)。

可以將一種資源分配給多個項目。


我認為,如果我們將項目視為垃圾箱,將資源視為對象,將小時數視為對象量,那么這就像是一個裝箱問題。 至少有兩點使它偏離了正式的裝箱問題:

  1. 資源是流動的對象,可能會在一個容器中滴入幾個小時,而在另一個容器中滴入幾個小時。
  2. 最佳解決方案不是最小化使用的bin(項目)數量,而是最小化資源在項目之間進行自我拆分並確保使用所有項目的次數。

我覺得我可能會用垃圾箱的裝填角度追趕鵝。 有沒有更適合此的算法?

如果世界真的如您所描繪的那樣簡單,那么似乎一個簡單的隊列就可以滿足您的約束:隨着項目的到來,將它們放在隊列中。 隨着開發人員的出現,他們從隊列的頭開始。 僅當您的項目規模太大而無法通過這種方式完成時,您才需要為他們分配多個開發人員,並且您可以檢測到這一點,然后回溯並分配兩個開發人員。

但是,所有這些都忽略了開發人員之間的協調,交接,依賴關系(首先需要做的事,然后才能做其他事情),有能力的開發人員具有不同的技能和經驗,甚至是經驗豐富的開發人員,而這些人都不是無能或超級巨星的事實。速度差異高達10倍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM