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

12.8 両辺が定数で満たされない制約式

 添字を伴う制約式を展開したときに,添字が空集合の場合,制約式は定数となります.以下のような例を考えます.

Set S;
S = "1 2 3";
Element i(set=S);
Parameter a(index=i);
IntegerVariable x(type=binary, index=i);
Expression e;
e = sum(a[i]*x[i], i);
e >= 1;

 上記の場合,定数 a は 0 のため e は 0 となります.したがって,0 >= 1 という必ず満たされない制約式になります.このため以下のようなエラー出力がされます.

(SIMPLE 215) 制約式1 は以下の式に等価です "0 >= 1" (常に満たされない).

 定数となる制約式がソフト制約あるいはセミハード制約で,解法が制約充足ソルバ wcsp の場合,該当の制約式は無視されます.具体的には以下のようなモデルを考えます.

Set S;
S = "1 2 3";
Element i(set=S);
Parameter a(index=i);
IntegerVariable x(type=binary, index=i);
Expression e;
softConstraint(1);
e = sum(a[i]*x[i], i);
e >= 1;
options.method = "wcsp";

 このようなモデルの場合,e >= 1 は無視されます.


 

 

上に戻る