CPLEX:ceil()函数可以在约束中使用吗?

时间:2015-10-20 23:11:11

标签: cplex ceil

我正在尝试在CPLEX中使用ceil()函数进行约束,但不断收到“无法提取表达式”错误。这是约束:

forall(j in d, k in b, l in r){ 
    ct14: sum(l in r)(ceil((sum(k in b)X1[j][k][l])/3)); <= 10;
    }

如果在外部作为脚本进行评估,CPLEX可以评估左手术语,但在用作约束时无法执行此操作。我找不到任何使用ceil()的约束的例子,但我认为它可以做,并且我的实现有问题。

纠正此错误的任何帮助都会很棒!

1 个答案:

答案 0 :(得分:1)

不,我认为这不会起作用。您只能在约束中使用一些有限的表达式。您必须重新构建模型以使用其他变量来捕获每个变量子集的最大值。然后在这些额外变量上写下约束。