optaplanner - Optaplanner:给定 MoveSelectors 的自己的可行方法
问题描述
我的任务是创建家具的加工顺序。在要生产的家具中,单个家具可能会出现多次。如果 OptaPlanner 在计划中交换了两件彼此相同的家具,这不会改变 Makespan 以最小化。因此,我想编写自己的 isdoable 方法来防止此类移动。但是在文档中我没有找到如何在此处进行。我已经调整了 eqauls 和 hash 方法来识别两件相同的家具。然而,OptaPlanner 执行了这样的动作。也许你们中的一个人知道如何解决这个问题
解决方案
在实施自定义移动之前,我建议找出哪种移动会产生这种不需要的结果。请参阅日志记录配置以将日志记录级别切换为“跟踪”,以使 OptaPlanner 打印有关每次移动的信息。
两者都只允许改变(或交换)不同值的移动ChangeMove
。SwapMove
推荐阅读
- c - 在c中获取n个元素的Char数组
- javascript - 如何将javascript代码函数转换为飞镖?
- deep-fake - Deepface/faceswap 替换面部表情而不是替换面部?
- hangouts-chat - Google Chat API 的速率限制
- java - 尝试创建 Maven 项目时如何解决“加载程序约束冲突”?
- javascript - 如何在不使用任何正则表达式/内置函数(如 split、join、indexOf 等)的情况下将大写字母移到前面
- reactjs - React Native ScrollView中状态更新后如何保持滚动位置
- asp.net-mvc - 在 Kendo UI 中防止 NumericTextBoxFor 的跨站点脚本
- c# - 使用 ASP.NET Core 5 使用 oauth2 和 ASP.NET Identity 进行身份验证后声明丢失
- reactjs - 忽略警告消息“VirtualizedLists 永远不应该嵌套在普通的 ScrollViews 中”是个好主意吗?