8.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
プロパティーの値は、複数のデータセットでの最良のソリューションの平均品質に大きな影響を与えません。