optaplanner - 如何在 Optaplanner 中实现多目标优化?
问题描述
我想用Optaplanner实现一个多目标优化,我已经阅读了文档中的“Pareto Scoring”章节。了解optaplanner中多目标规划的原理,但不知道具体如何实现,有如下疑问:
如何设计一个自定义的分数定义类,它应该从哪个类扩展,它应该具有什么文件?
作为一个多目标规划,我必须为用户提供多种解决方案。但最好的解决方案只有一个,如何在规划时保留多个解决方案?这是否意味着,在 bestScoreChange 事件中,我必须计算分数,为每个目标找到并保留最佳解决方案?
解决方案
如果你真的只有 2 个目标,你也可以通过在 @ConstraintConfiguration 类的 @ConstraintWeights 中运行两次具有不同分数级别的 Solver 来伪造它。
真正的帕累托求解要复杂得多,需要对 BestScolutionRecaller 进行调整,这只是冰山一角。
推荐阅读
- ionic3 - Ionic 3 inappbrowser 下载文件
- c# - 如何在同一个 url 上使用 [FromBody] 和 [FromForm]?
- linux - while 语句的奇怪差异(Bash 与 sh)
- mysql - 在 where 子句中的 mysql select 语句中使用 jtable 值
- python - Python pandas 绘图和 groupby
- html - 如何水平添加 div 直到宽度大小超过?
- ios - IOS ApiManager 调用每次调用都返回不同的顺序
- java - Android 安装应用程序:SecurityException: content://.fileprovider///Android/data/PK/files/Download/apk
- powershell - 当应该为真时输出返回假
- angular - 补丁值角度 6 不起作用