Направь меня, чтобы написать ограничение мощности
Я пытаюсь добавить еще несколько ограничений с существующей проблемой планирования проекта с ограничением ресурсов, доступными примерами OPL. Здесь я прилагаю файлы примеров проблемы RCPSP. В настоящее время в этом примере задачи я могу запустить как можно больше задач в зависимости от емкости ресурса. Я хочу добавить дополнительное ограничение на максимальное количество задач, выполняемых в переменной интервала, должно быть меньше или равно 5. Другими словами, одновременно я не могу выполнять более 5 задач одновременно.
Проблема с примером может быть найдена в OPL в examples/opl/sched_rcpsp
1 ответ
Решение
Вы можете использовать кумулятивную функцию:
Перед тем как блокировать можно написать
cumulFunction nbTasks =
sum(t in Tasks) pulse(itvs[t],1);
а потом в тему для блокировки просто добавляешь
nbTasks<=5;
С уважением