首页 > 解决方案 > Optaplanner:给定 MoveSelectors 的自己的可行方法

问题描述

我的任务是创建家具的加工顺序。在要生产的家具中,单个家具可能会出现多次。如果 OptaPlanner 在计划中交换了两件彼此相同的家具,这不会改变 Makespan 以最小化。因此,我想编写自己的 isdoable 方法来防止此类移动。但是在文档中我没有找到如何在此处进行。我已经调整了 eqauls 和 hash 方法来识别两件相同的家具。然而,OptaPlanner 执行了这样的动作。也许你们中的一个人知道如何解决这个问题

标签: optaplanner

解决方案


在实施自定义移动之前,我建议找出哪种移动会产生这种不需要的结果。请参阅日志记录配置以将日志记录级别切换为“跟踪”,以使 OptaPlanner 打印有关每次移动的信息。

两者都只允许改变(或交换)不同值的移动ChangeMoveSwapMove


推荐阅读