我有一种情况,我需要为几个事件分配人员。如果我们只是将价格作为一个因素,那会很好,但是有很多因素会影响。
首先,一些背景。这是一个非营利组织,该组织为因任何原因住院的儿童宣传故事时间,因此他们依靠志愿工作来做到这一点。因此,由于他们依赖于人们的善意,他们给人们尽可能多的工作,人们可以/想做的事情,变化如下:
- 有的人只能做上午,有的人只能做下午;
- 有的人只能周一、周四去,有的人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
这将是在所有人之间进行相应分配的方式,给予那些可以多次这样做的人更多的优先权。
你怎么想,你会怎么做?