2

我有这个变量:

var produced{L, M} >= 0;

我试图找出里面有多少值produced大于 0:

subject to fee_calc {m in M} :
    fee[m] = sum {l in L} (if produced[l,m] > 0 then 1 else 0);

但它会抛出这个错误:“前面的操作数 > 具有无效类型”...

我该如何解决这个问题?

谢谢

4

1 回答 1

0

AMPL 支持if-then-else语句和涉及严格关系运算符的表达式中的变量,>您可以使用约束规划求解器解决此类问题。有关详细信息,请参阅“逻辑”和约束编程扩展

至于这个错误,很可能是由于GLPK的限制,它只支持AMPL特性的一个子集。

于 2014-03-26T18:11:35.670 回答