我有这个变量:
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);
但它会抛出此错误:“>前面的操作数具有无效类型”...
我该如何解决这个问题?
由于
答案 0 :(得分:0)
AMPL支持if-then-else
语句中的变量以及涉及>
等严格关系运算符的表达式中的变量,您可以使用约束编程求解器来解决此类问题。有关详细信息,请参阅“LOGIC” AND CONSTRAINT PROGRAMMING EXTENSIONS。
至于错误,可能是由GLPK的限制引起的,GLPK只支持AMPL功能的一部分。