6.5. 配置自定义属性
在 OptaPlanner 项目中,您可以添加自定义属性以解决实例化类并明确提及自定义属性的文档。
先决条件
- 您有一个解决者。
流程
添加自定义属性。
例如,如果您的
EasyScoreCalculator
有大量缓存的计算,并且您希望在一个基准中增加缓存大小,请添加myCacheSize
属性:<scoreDirectorFactory> <easyScoreCalculatorClass>...MyEasyScoreCalculator</easyScoreCalculatorClass> <easyScoreCalculatorCustomProperties> <property name="myCacheSize" value="1000"/><!-- Override value --> </easyScoreCalculatorCustomProperties> </scoreDirectorFactory>
为每个自定义属性添加公共 setter,该属性在构建
Solver
时调用。public class MyEasyScoreCalculator extends EasyScoreCalculator<MySolution, SimpleScore> { private int myCacheSize = 500; // Default value @SuppressWarnings("unused") public void setMyCacheSize(int myCacheSize) { this.myCacheSize = myCacheSize; } ... }
大多数值类型都支持,包括
布尔值
,int
,double
,BigDecimal
,String
和enums
。