最適化セミナーのご案内

6.2 目的関数クラスObjective

 wcsp利用時にも目的関数クラスObjectiveを用いますが,引数targetで終了条件を指定する必要があります.目的関数がtargetで指定された値を下回った場合(最大化問題の場合は上回った場合),wcspは求解動作を終了します.次の例では,targetに10を設定しています.

Objective f(type=minimize, target=10);

 targetの初期設定は0で,明示的にtargetを指定しない場合はtarget0であると解釈されます.すなわち,次の二つは同じ意味です.

Objective f(type=minimize, target=0);
Objective f(type=minimize);

 targetの値は,定数Parameterから設定する事もできます.

Parameter p;
p = 10;
Objective f(type=minimize, target=p);

 targetの値は,パラメータdefaultObjectiveTargetで指定することもできます.

options.defaultObjectiveTarget = 5;

 Objectiveの引数でのtarget値と,パラメータdefaultObjectiveTargetの値が競合した場合は,Objectiveの引数の値の方が優先されます.

 目的関数の重みはパラメータdefaultObjectiveWeightで指定します.次の例では,目的関数の重みに5を指定しています.

options.defaultObjectiveWeight = 5;

 パラメータdefaultObjectiveWeightの初期値は1です.


 

 

上に戻る