Направь меня, чтобы написать ограничение мощности

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

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

1 ответ

Решение

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

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

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

а потом в тему для блокировки просто добавляешь

nbTasks<=5;

С уважением

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