【发布时间】:2010-11-16 08:35:57
【问题描述】:
我有一种情况,我需要为几个事件分配人员。如果我们只是将价格作为一个因素,那很好,但有很多因素会影响。
首先,一些背景。这是一个非营利组织,该组织为因任何原因住院的儿童宣传故事时间,因此他们依靠志愿工作来做到这一点。因此,由于他们依赖于人们的善意,所以他们给人们尽可能多的工作,人们可以/想做的事情,变化如下:
- 有些人只能做上午,有些人只能做下午;
- 有些人只能周一、周四去,有些人不能在 8 月或 12 月去;
- 有些人一个月只能去一次,其他人可以去 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
这将是在所有人之间进行相应分配的方式,优先考虑那些可以多次执行此操作的人。
你有什么想法,你会怎么做?
【问题讨论】:
标签: algorithm language-agnostic scheduling graph-theory matching