数理最適化セミナーのご案内

2.5 制約充足問題ソルバ(wcsp)における出力

 制約充足問題ソルバ(wcsp)を用いた場合には,[Progress]で始まるセクションに進捗が表示されます.

 まず,<preprocess begin>から<preprocess end>ではwcsp実行前の準備がおこなわれます.非常に大規模な問題でない限り,ここに要する時間は僅かです.

<preprocess begin>..........<preprocess end>
preprocessing time: 0.000465(s)

 次に,<iteration begin>から<iteration end>ではwcsp実行の進捗が表示されます.ここでは,最良解におけるハード制約のペナルティ,セミハード制約のペナルティ,ソフト制約のペナルティと最良解を見つけたときの時間及び反復回数が逐次表示されます.問題にセミハード制約が存在しない場合,セミハード制約のペナルティは表示されません.また,最良解を更新していない場合は表示が更新されませんが,計算は行われています.試行回数(TryCount)が2以上の場合は試行回数分の進捗表示が行われます.また,wcspで並列化オプションを有効にした場合はメインスレッドの進捗のみ表示されます.以下は進捗表示の一例です.

<iteration begin>
--- TryCount = 1 ---
# random seed = 1
(hard/semihard/soft) penalty= 45/12/4807, time= 0.00(s)
<greedyupdate begin>...........<greedyupdate end>
greedyupdate time= 0.00066(s)
(hard/semihard/soft) penalty= 0/8/3157, time= 0.00(s), iteration= 1
(hard/semihard/soft) penalty= 0/6/2905, time= 0.00(s), iteration= 2
(hard/semihard/soft) penalty= 0/6/2831, time= 0.00(s), iteration= 3
(hard/semihard/soft) penalty= 0/6/2783, time= 0.00(s), iteration= 4
(hard/semihard/soft) penalty= 0/6/2746, time= 0.00(s), iteration= 5
(hard/semihard/soft) penalty= 0/4/2775, time= 0.00(s), iteration= 8
(hard/semihard/soft) penalty= 0/2/3320, time= 0.00(s), iteration= 14
(hard/semihard/soft) penalty= 0/2/3283, time= 0.00(s), iteration= 15
(hard/semihard/soft) penalty= 0/0/4746, time= 0.00(s), iteration= 254
--- End Phase-I iteration ---
(hard/semihard/soft) penalty= 0/0/4094, time= 0.01(s), iteration= 368
# (hard/semihard/soft) penalty= 0/0/4094
# time = 0.01/0.02(s)
# iteration = 368/1000
<iteration end>

 各項目の意味は次の通りです.

項目 意味
TryCount 現在の試行回数
random seed 使用した乱数の種
greedyupdate time 貪欲法によって初期解を更新するのにかかった時間
(hard/semihard/soft) penalty ハード,セミハード,ソフト制約のペナルティ量
time 経過した時間
iteration 反復回数
End Phase-I iteration ハード制約とセミハード制約が0になったことを意味する
time = X/Y(s) 最良解の発見にX秒,wcspの計算開始から終了までにY秒かかったことを意味する
iteration = X/Y 最良解の発見にX回,wcspの計算開始から終了までにY回反復したことを意味する

 

 TryCountが2以上の場合は乱数の種を変えて複数回計算が行われます.全試行が終了した後にサマリが表示されます.以下はサマリの一例です.

<summary>
 trycount         hard     semihard         soft    iteration  time(s)
        1            0            0         2284         9796     0.49
        2            0            0         2160         5969     0.32
        3            0            0         2370         9760     0.50
        4            0            0         2298         4029     0.21
        5            0            0         2420         9326     0.46
        6            0            0         2422         3382     0.18
        7            0            0         2297         9574     0.47
*       8            0            0         2119         7698     0.39

 

 サマリの内容は各試行における最良解のハード,セミハード,ソフト制約のペナルティ量と最良解を見つけるのにかかった時間及び反復回数です."*"は全試行の中で最も良い解を表します.この例の場合,8回目の試行で得られた解が最も良いことを意味します.

 計算終了後,[Result]セクションに求解結果が出力されます.wcsp特有の項目は次の通りです.

項目 意味
STATUS 求解ステータス.正常終了した場合はNORMAL, 異常終了した場合はERRORが出力されます.
TERMINATE_REASON wcspの計算が終了した理由
PENALTY 総ペナルティ量.ハード,セミハード,ソフト制約のペナルティ量の総和が出力されます.
RANDOM_SEED 最良解を見つけた乱数の種

 

 

上に戻る