请让我知道哪种算法适合以下问题:
在给定的 3 个月期间,我们有有限数量的项目(通常 < 50 个)。每个项目都有几个小时。
在同一个 3 个月期间,我们有有限数量的资源(通常 < 100)。
每个资源每月可以消耗唯一数量的小时数(考虑假期、个人假期等 - 每月这个小时数已经为每个资源预先计算并且可用)。
可以将一种资源分配给多个项目。
我认为,如果我们将项目视为垃圾箱,将资源视为对象,将小时视为对象体积,这就像一个装箱问题。至少有两件事使它偏离了正式的装箱问题:
- 资源是流动的物体,可以在一个容器中滴几个小时,在另一个容器中滴几个小时。
- 最佳解决方案不是尽量减少使用的箱(项目)的数量,而是尽量减少资源在项目之间拆分的次数,并确保所有项目都被使用。
我觉得我可能正在用垃圾箱包装角度追逐鹅。有没有更适合这个的算法?