【发布时间】:2019-03-06 20:20:07
【问题描述】:
在我们当前的项目中,我们需要在每个周末为主人分配数量的家庭来做午餐。
每个主机可以服务一定数量的客人(主机容量)。 每个家庭可以有不同数量的成员。
在将家庭分配给主机之前需要应用几个规则:
- 有些家庭不想一起吃午饭(这意味着如果其他家庭已经分配给主人,则无法将其分配给主人)。
- 一个家庭不能连续 2 周分配给同一个寄宿家庭。
- 13 岁以下的儿童不得超过主机容量的 50%。
- 成员年龄超过 50 岁的家庭应不超过主机容量的 50%。
还有更多...
每条规则可以具有不同的重要性权重,即,如果第一条规则被破坏,则无法进行家庭到主机的分配,但第三条和第四条可能会放宽。
这种问题类似于婚礼计划表的布置,但要复杂得多。我研究了几天,似乎遗传算法可能是一个好的方向。但是,我对如何建模、编码输入和实现算法感到困惑。
我非常感谢任何建议。提前致谢。
【问题讨论】: