7.5. カスタムプロパティーの設定

OptaPlanner プロジェクトでは、クラスをインスタンス化し、カスタムプロパティーに明示的に言及するドキュメントを持つソルバー設定要素にカスタムプロパティーを追加できます。

前提条件

  • ソルバーがあること。

手順

  1. カスタムプロパティーを追加します。

    たとえば、Easy ScoreCalculator にキャッシュされる大きな計算があり、1 つのベンチマークでキャッシュサイズを増やす場合は、myCacheSize プロパティーを追加します。

      <scoreDirectorFactory>
        <easyScoreCalculatorClass>...MyEasyScoreCalculator</easyScoreCalculatorClass>
        <easyScoreCalculatorCustomProperties>
          <property name="myCacheSize" value="1000"/><!-- Override value -->
        </easyScoreCalculatorCustomProperties>
      </scoreDirectorFactory>
  2. カスタムプロパティーごとにパブリックセッターを追加します。これは、ソルバーの ビルド時に呼び出されます。

    public class MyEasyScoreCalculator extends EasyScoreCalculator<MySolution, SimpleScore> {
    
            private int myCacheSize = 500; // Default value
    
            @SuppressWarnings("unused")
            public void setMyCacheSize(int myCacheSize) {
                this.myCacheSize = myCacheSize;
            }
    
        ...
    }

    booleanintdoubleBigDecimalStringenums など、ほとんどの値型がサポートされています。