Originally posted by: rdumeur
Dear Shadi,
If you want to be sure that all variables in tripClass are either in {0,1} or in {0,2}
You can write:
using CP;
int nClasses = 10;
range ClassRange = 1..nClasses;
dvar int tripClass[ClassRange] in 0..2;
dvar int allIn01;
dvar int allIn02;
int tripSeq[ClassRange] = [1,10,2,9,3,8,4,7,5,6];
subject to {
allIn01 == sum(c in ClassRange) (tripClass[tripSeq[c]] in {0,1});
allIn02 == sum(c in ClassRange) (tripClass[tripSeq[c]] in {0,2});
allIn01 == nClasses|| allIn02 == nClasses;
}
I hope this helps.
#ConstraintProgramming-General#DecisionOptimization