Предшествующий операнд> имеет неверный тип

У меня есть эта переменная:

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);

Но он выдает эту ошибку: "операнд, предшествующий> имеет недопустимый тип"...

Как мне это решить?

Спасибо

1 ответ

AMPL поддерживает переменные в if-then-else заявления и в выражениях, включающих строгие реляционные операторы, такие как > и вы можете решить такие проблемы с помощью решателя программирования ограничений. См. "ЛОГИКА" И ПРОДЛЕННОЕ ПРОГРАММИРОВАНИЕ ПРОДЛЕНИЙ для получения более подробной информации.

Что касается ошибки, это, вероятно, вызвано ограничениями GLPK, который поддерживает только подмножество функций AMPL.

Другие вопросы по тегам