У меня возникли проблемы с формулировкой ограничения в GAMS.
Мое ограничение таково:
x_ {a, i, v + 1, l} - x_ {a, i, v, l} \ leq y_ {a, i, v, l}
и сумма (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;
немного дополнительной информации:
i «сотрудники» / i1 * i11 /
l «дни» / l1 * l31 /
a «проекты, зависящие от полетной программы» / a1 /
v «час» / v1 * v18 /
В ограничении con15 я говорю, что он должен работать только для ord (v), меньшего или равного 17, потому что у нас есть v1 до v18.
Также x и y двоичны.
Когда я запускаю GAMS, я получаю нормальную компиляцию и решение. Проблема в том, что решение нарушает мои ограничения con16 и con15.
Я использую ord и $ right?
Лучший хаски