我正在为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;
我不明白为什么会抛出语法错误。我可能会遗漏一些非常基本或明显的东西,但任何人都可以告诉我为什么会发生这种情况?非常感谢你。
答案 0 :(得分:1)
您应该为sum
指定一个参数,例如:
sum {j in Schedules: layer[j]=1} x[j]
其中x
是在Schedules
上编入索引的变量。