我有一种情况,我需要分配给几个人的事件。如果我们只是以一个价格作为因素,那就没有问题,但是有很多因素可以进来。匈牙利算法和多种因素
首先,一些背景。这是一个非营利组织,它为因任何原因住院的儿童提供故事时间,所以他们依靠志愿工作来这样做。所以,因为它们依赖于人们的良好意愿,他们给人们尽可能多的工作,因为人们可以/想做的事,而变化,如:
- 有些人只能做早晨,和其他一些人只能做的下午;
- 有些人只能做星期一和星期四,其他人不能去八月或十二月;
- 有些人每月只能去一次,其他人可以去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