Как использовать forall или агрегатор в целевой функции? - PullRequest
1 голос
/ 28 марта 2019

У меня есть переменная решения x [i, j], которая равна 1 или 0, где я хочу максимизировать сумму каждой строки.Я хочу использовать что-то вроде forall, но похоже, что это позволит мне использовать это только в ограничениях.Есть ли способ использовать его и для целевой функции?

1 Ответ

0 голосов
/ 28 марта 2019

Как указано в документации на https://www.ibm.com/support/knowledgecenter/SSSA5P_12.6.0/ilog.odms.ide.help/OPL_Studio/opllang_quickref/topics/tlr_opl_forall.html, forall работает только для ограничений.

Но вы можете использовать что-то вроде

dvar float obj;

maximize obj;
subject to
{
   forall (...) obj == sum(...);
}

Это позволит вам поставитьограничения на значение переменной obj, чтобы она представляла все, что вас интересует.

...