我在 GAMS 中制定约束时遇到问题。
我的约束如下:
x_{a,i,v+1,l} - x_{a,i,v,l} \leq y_{a,i,v,l}
和 sum(v,y_{a,i,v,l}) \leq 1。
我曾多次尝试制定它,但我认为(我知道)我做错了。
我在游戏中将其写为:
con15(a,i,v,l)$(ord(v) lt 17).. x(a,i,v,l)$(ord(v) eq ord(v)+1) - x(a, i,v,l) =l= u(a,i,v,l);
con16(a,i,l).. sum(v, u(a,i,v,l)) =l= 1;
一些额外的信息:
我“员工”/i1*i11/
l “天” /l1*l31/
一个“依赖于飞行计划的项目”/a1/
v “小时” /v1*v18/
在约束 con15 中,我说它只适用于小于或等于 17 的 ord(v),这是因为我们有 v1 到 v18。
x 和 y 也是二进制的。
当我运行 GAMS 时,我得到了正常的编译和解决方案。问题是该解决方案违反了我的约束 con16 和 con15。
我使用 ord 和 $ 正确吗?
最好的哈士奇