AMPL语法错误 - 大于或等于问题

时间:2016-03-23 19:45:41

标签: syntax ampl

我正在为AMPL中的一种计划优化问题建模,并使用gurobi作为选项求解器。

在这个问题中,我已经宣布了一组从1到1000的计划,并将此集称为“计划”。 每个时间表都是一种层(一个名为“层”的参数已经创建),其值介于1到4之间。这是这种特定时间表所具有的日期偏好或者特殊性。

我想要几个约束来确定每个首选项的可用计划数。例如,我希望至少有170个计划的首选项层为1.我编写了以下行来执行此操作:

subject to Preference1: sum {j in Schedules: layer[j]=1} >= L1Demand;

其中L1Demand设置为170.但是,当我在放大窗口中包含模型文件时,我收到以下错误:

syntax error 

context:

 subject to Preference1: sum {j in Schedules: layer[j]=1}  >>> >= <<<  L1Demand;

我不明白为什么会抛出语法错误。我可能会遗漏一些非常基本或明显的东西,但任何人都可以告诉我为什么会发生这种情况?非常感谢你。

1 个答案:

答案 0 :(得分:1)

您应该为sum指定一个参数,例如:

sum {j in Schedules: layer[j]=1} x[j]

其中x是在Schedules上编入索引的变量。