假设i是一个整数,V是一个整数集合,a和s都是非负整数。 在CPLEX中可以使用逻辑约束来表示这种条件,代码示例如下:
dvar int i; //定义整数变量i range V = 1..n; //定义整数集合V,其中n是整数变量 dexpr int a = ...; //定义非负整数a,例如a=3 dexpr int s = ...; //定义非负整数s,例如s=5
subject to { i <= max(V); // i<=V的最大值 i >= min(V); // i>=V的最小值 (i - a) <= max(V); // (i-a) <= V的最大值 (i + s) >= min(V); // (i+s) >= V的最小值 }
注意,以上代码示例中的省略号需要被替换成对应的数值表达式。