实施例: 10个中的每个候选者得到2-偏好(比第二第一是更优选的)为3个可用作业,然后他们的老板必须最佳地分配(和均匀地分布)它们均匀地基于他们的喜好.显然,不需要的工作需要一些随机抽取.
如何编写自动计算此最佳分配的算法?
我环顾四周,找到了可能给我一些线索的二分图,但是我无法绕过它!
对于游戏的"运气"方面,我已经实现了一个简单的Fisher Yates Shuffle.
偏好权重: 如果有2个偏好,当分配给工人时,获得第一选择权重为+2,第二选择权重+1,不需要的选择-1(例如)."最优性"目标是最大化聚合偏好.
algorithm ×1