根据许多变量优化分配

时间:2011-02-17 22:16:49

标签: optimization math

我最近在资源管理方面与某人交谈,我们讨论了在需要考虑许多变量(可能有不同的权重)时将开发人员分配给项目的问题,例如:

  1. 开发者的技能&项目的技术/领域
  2. 开发商的旅行偏好&项目的位置
  3. 开发者的兴趣和项目的性质
  4. RM人员必须定期处理的基本问题是:给定X开发人员,每个开发人员都有一组独特的属性/首选项,将它们分配给Y项目,其中每个项目都有自己的一组唯一属性/要求。

    我觉得这是一个非常数学问题;它让我想起高中时代代数和/或微积分(我不记得哪个)的老优化问题:你知道,找到一个容器的最佳尺寸来保持最大的体积材料的数量 - 那种东西。

    我的问题不在于数学,而在于是否有任何旨在解决此类问题的软件项目/库。有谁知道吗?

2 个答案:

答案 0 :(得分:1)

我的问题不在于数学,而在于是否有任何旨在解决此类问题的软件项目/库。有谁知道吗?

在我的拙见中,我认为这是把车推到马前。首先需要弄清楚要解决的问题。然后,您可以寻找解决方案。

例如,如果您通过为每个开发人员/项目对分配某种数字兼容性分数来制定问题,目标是最大化兼容性分数的总和,那么您就有一个可以解决的最大权重匹配问题使用Hungarian algorithm。方便的是,此算法是作为Google的or-tools library

的一部分实现的

另一方面,假设您发现计算兼容性分数不可行或不合理。相反,假设每个开发人员将所有项目从最佳到最差排序(例如:根据偏好),同样地,每个项目将每个开发人员从最佳到最差(例如:对项目的适用性)进行排名。在这种情况下,您有一个Stable Marriage problem的实例,它由Gale-Shapley算法解决。我没有指向已建立的G-S库的指针,但它很简单,似乎很多人只是编写自己的代码。

答案 1 :(得分:0)

是的,有一些数学方法可以解决一个问题,这个问题可以解决为。将开发人员视为“资源”的自然结果,就像机器部件一样,在很大程度上可以互换,他们的个性很容易简化为简单的数字参数。您可以制定诸如

之类的规则
The fitness value is equal to the subject skill parameter multiplied by the square root of the reliability index.

再也不用担心了。相同的规则可以应用于不同的开发人员,不同的主题,不同的项目规模(SLOC比例因子,比如1.5)。不需要洞察力或真正的领导力,方程式使一切都精确和“有把握”。关于这种方法的最好的事情是,当资源无法按照你的方程式所说的方式执行时,你可以降低它们的性能分数以使它们适合。如果有人已经编写了该工具,那么您甚至不必担心数学问题。

(有趣的是,资源管理人员似乎总是将这些指标强加给组织中的其他人 - 从而使他们自己的工作变得更容易 - 而且永远不会自己......)