7.7. 乱数ジェネレーターの設定
多くのヒューリスティックおよびメタヒューリスティックは、移動の選択、スコアの結びつきの解決、確率ベースの移動の受け入れなどを疑似乱数ジェネレーターに依存しています。解決中に、同じランダムインスタンスが再利用され、再現性、パフォーマンス、およびランダム値の均一な分布が向上します。
ランダムシードは、疑似乱数ジェネレータを初期化するために使用される番号です。
手順
オプション: ランダムインスタンスのランダムシードを変更するには、
randomSeedを指定します。<solver xmlns="https://www.optaplanner.org/xsd/solver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://www.optaplanner.org/xsd/solver https://www.optaplanner.org/xsd/solver/solver.xsd"> <randomSeed>0</randomSeed> ... </solver>オプション: 疑似乱数ジェネレーターの実装を変更するには、以下のソルバー設定ファイルにリストされている
randomTypeプロパティーの値を指定します。ここで、<RANDOM_NUMBER_GENERATOR>は疑似乱数ジェネレーターです。<solver xmlns="https://www.optaplanner.org/xsd/solver" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://www.optaplanner.org/xsd/solver https://www.optaplanner.org/xsd/solver/solver.xsd"> <randomType><RANDOM_NUMBER_GENERATOR></randomType> ... </solver>次の疑似乱数ジェネレータがサポートされています。
-
JDK(デフォルト): 標準の乱数ジェネレーターの実装 (java.util.Random) -
MERSENNE_TWISTER:コモンズ数学 によって乱数ジェネレータの実装 -
WELL512A,WELL1024A,WELL19937A,WELL19937C,WELL44497AとWELL44497B: Commons Mathによる乱数ジェネレータの実装
-
ほとんどのユースケースでは、 randomType プロパティーの値は、複数のデータセットでの最良のソリューションの平均品質に大きな影響を与えません。