截至目前,Opta Planner规划师为以下方面提供支持:
但是,如果我需要使用Opta Planner实现任何其他算法,例如遗传算法,那么可以在何处以及如何使用它。我有遗传算法的代码,但我不知道如何将它与Opta规划器集成。我找到了一些可能的地方。
请指导我需要进行修改的地方。
由于
答案 0 :(得分:1)
实际上,一名学生(Sam Van Malderen)已经分配了OptaPlanner并添加了遗传算法实现。我指导他的工作。
Here's the source code.它有效。他撰写了自定义SolverPhase
并重新使用Selector
,Move
,Termination
和ScoreDirector
。
基于这项工作,我们已经能够确定一些问题(here's the jira to track),以使OptaPlanner更友好地实施基于人口的元启发式。
话虽如此,在所有测试用例的所有非小数据集上,遗传算法实现的结果始终低于Tabu搜索和延迟接受。就个人而言,我不认为错误在于实施......我不是GA的忠实信徒,但OptaPlanner需要在一天之内完全支持它们(即使它只是为了证明本地搜索效果更好)。所以我非常欢迎任何将GA添加到OptaPlanner的工作。
如果您希望我让您与Sam联系以获取他的论文副本(其中描述了他实施的GA技术),请告诉我:)
答案 1 :(得分:0)
PS:另一个快速替代方案是实施 custom solver phase 。更容易,但你只能重复使用分数计算管道。