посоветуйте мне написать ограничение емкости

Я пытаюсь добавить еще несколько ограничений с существующей проблемой планирования проекта ограничения ресурсов, доступной примерами OPL. Прилагаю файлы примеров проблемы RCPSP. В настоящее время в этом примере задачи я могу запустить как можно больше задач в зависимости от емкости ресурсов. Я хочу добавить дополнительное ограничение на максимальное количество задач, выполняемых в переменной интервала, должно быть меньше или равно 5. Другими словами, одновременно я не могу выполнять более 5 задач за раз.

Пример проблемы можно найти в OPL по адресу examples / opl / sched_rcpsp.


person Kumar J    schedule 30.01.2019    source источник


Ответы (1)


Вы можете использовать функцию cumul.

Перед тем, как блокировать тему, можно написать:

cumulFunction nbTasks = 
   sum(t in Tasks) pulse(itvs[t],1);

А потом в теме для блокировки просто добавляете:

nbTasks<=5;
person Alex Fleischer    schedule 30.01.2019
comment
Спасибо, Алекс, это действительно помогло. - person Kumar J; 01.02.2019