6.3.4 求解オプションdefaultConstraintWeight
求解オプションdefaultConstraint
Weightを用いると,モデルファイルで出現する制約式全てに一律に重みを設定できます.次の例では,一律に重み12のソフト制約を指定しています.
sum(a[i]*x[i], i) == 3; // 重み12のソフト制約となる options.defaultConstraintWeight = 12; sum(b[i] * x[i], i) <= 20; // 重み12のソフト制約となる sum(c[i] * x[i], i) <= 100; // 重み12のソフト制約となる sum(d[i] * x[i], i) >= 15; // 重み12のソフト制約となる
defaultConstraintWeight
に0を設定すると,ハード制約として扱われます.defaultConstraintWeight
の初期設定値は0です.
求解オプションdefaultConstraintWeight
とConstraint
関数(hardConstraint
関数,semiHardConstraint
関数,softConstraint
関数)が競合した場合,後者が優先されます.
sum(a[i] * x[i], i) == 3; // 重み12のソフト制約となる options.defaultObjectiveWeight = 12; sum(b[i] * x[i], i) <= 20; // 重み12のソフト制約となる hardConstraint(); sum(c[i] * x[i], i) <= 100; // ハード制約となる semiHardConstraint(); sum(d[i] * x[i], i) <= 100; // セミハード制約となる softConstraint(5); sum(e[i] * x[i], i) >= 15; // 重み5のソフト制約となる
上に戻る