【问题标题】:Tabu search : how to implement "employee working in pairs" constraint禁忌搜索:如何实现“员工结对工作”约束
【发布时间】:2017-07-02 08:04:26
【问题描述】:

我正在开发一个自动化的员工调度应用程序,使用带有约束的禁忌搜索。

我已经受到了很多工作限制(员工的最短工作时间、每班所需的员工人数、不得一起工作的员工……)。

自动规划器在每次迭代中尝试不同的移动(添加/删除/交换员工),评估所有生成的解决方案的约束(每次移动 1 个解决方案)并选择惩罚最小的解决方案。

我现在正在尝试实施一个约束,例如“如果员工 A 被安排在轮班,那么员工 B 也必须被安排在同一个轮班”。

我的问题是我不知道如何实现它。

假设当前的举措是将员工 A 安排在无人值班的班次 S。如果我试图创建的约束被评估,那么该解决方案将立即受到惩罚,因为员工 A 被安排在没有员工 B 的 S 上。因此,即使这个解决方案很好,而且员工 A 或 B 都不会开始工作,也可能永远不会被选中。

有人知道吗?

谢谢

【问题讨论】:

    标签: algorithm tabu-search


    【解决方案1】:

    一些建议:

    无人值班的惩罚应该比未配对朋友的惩罚更大。

    您可以进行模拟退火 - 这样有时会接受惩罚的瞬时增加。

    您可以采用不同的移动方式 - 一种添加/删除更多人的移动方式,并且更喜欢将“朋友”移动到一起。

    【讨论】:

    • 谢谢,我已经考虑过选项 1 和 3,但如果我能提供帮助,我真的很想避免修改规划器的核心。我会先尝试其他1和2,它不起作用我必须添加新的动作。
    猜你喜欢
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多