6.5. カスタムプロパティーの設定
OptaPlanner プロジェクトでは、クラスをインスタンス化し、カスタムプロパティーに明示的に言及するドキュメントを持つソルバー設定要素にカスタムプロパティーを追加できます。
前提条件
- ソルバーがあること。
手順
カスタムプロパティーを追加します。
たとえば、
Easy ScoreCalculatorにキャッシュされる大きな計算があり、1 つのベンチマークでキャッシュサイズを増やす場合は、myCacheSizeプロパティーを追加します。<scoreDirectorFactory> <easyScoreCalculatorClass>...MyEasyScoreCalculator</easyScoreCalculatorClass> <easyScoreCalculatorCustomProperties> <property name="myCacheSize" value="1000"/><!-- Override value --> </easyScoreCalculatorCustomProperties> </scoreDirectorFactory>カスタムプロパティーごとにパブリックセッターを追加します。これは、
ソルバーのビルド時に呼び出されます。public class MyEasyScoreCalculator extends EasyScoreCalculator<MySolution, SimpleScore> { private int myCacheSize = 500; // Default value @SuppressWarnings("unused") public void setMyCacheSize(int myCacheSize) { this.myCacheSize = myCacheSize; } ... }boolean、int、double、BigDecimal、String、enumsなど、ほとんどの値型がサポートされています。