最適化セミナーのご案内

13.6 解ファイルのハード制約,セミハード制約およびソフト制約表示部

 アルゴリズムとして制約充足問題ソルバwcspを用いている場合,解ファイルには,最終的に満たすことのできていないハード制約,ソフト制約が出力されます.次が出力サンプルです.

 解ファイル出力

%%
%% WCSP_PENALTY
%%
           NAME                 TYPE    VALUE   BOUND    AMOUNT WEIGHT PENALTY
F#   246   model.smp:83[6]      HARD    0    >=    1       1
F#   432   model.smp:91[13]     S.HARD  0    >=    1       1
F#   946   model.smp:119[17,E]  S.HARD  7    <=    6       1
F#  7080   model.smp:152[1](u)  SOFT    3    <=    2       1      100    100
F#  7586   model.smp:156[7,3]   SOFT    5    <=    2       3       10     30
F#  7675   model.smp:156[21,6]  SOFT    3    <=    2       1       10     10
F#  7756   model.smp:156[2,10]  SOFT    4    <=    2       2       10     20
F#  7780   model.smp:156[1,11]  SOFT    3    <=    2       1       10     10
F#  8293   model.smp:162[19,25] SOFT    0    ==    5       5        1      5
                                . . .

 上記のように,ハード制約,ソフト制約で満たされていないもののみがハード制約,セミハード制約,ソフト制約の順に表示されます.各行は,制約式の名前,タイプ(ハード:HARD,セミハード:S.HARD,ソフト:SOFT),現在の値と制約,違反量,ウエイト(ソフト制約のみ),ペナルティ量(ソフト制約のみ)を示しています.

 この出力例ではハード制約である246番目の制約(model.smp:83[6])が0ですが,本来1以上とならねばならないので,ハード制約違反の違反量が1であることなどがわかります.

 上記で上から4つめの制約(model.smp:152[1])の名前の後に(u)とあるのは,この制約が上下限制約であり,違反しているのは制約の上限であることを示しています(2という上限に対して3という値を取っています).上下限制約の下限に違反しているのであれば制約の名前の後に(l)と表示されます.ソフト制約については,違反量に設定されたウエイトを掛けた値である「ペナルティ」があわせて表示されます.制約充足問題ソルバwcspは,ハード制約,セミハード制約の違反量,ソフトペナルティのペナルティの合計値を最小化します.


 

 

上に戻る