Линейное программирование: максимизируйте использование машины

Мне нужна помощь с проблемой линейного программирования, которую я пытаюсь решить. Концепция довольно проста, у нас есть набор машин с предварительно забронированными действиями, которые мы не можем переместить. Теперь я хочу добавить дополнительное действие с заданной продолжительностью (измеряемой во временных блоках) таким образом, чтобы максимально использовать. У меня есть четыре машины на выбор (см. Рисунок ниже), и я хочу, чтобы целевая функция дала нам одну машину с максимальной загрузкой. (лучшая машина).

Пока у меня есть целевая функция, которая выражает использование и два ограничения. Первое ограничение гласит, что мы можем выбрать только одно расписание, а второе - что общее количество доступных временных блоков для машины должно быть больше или равно требуемому времени для новой операции, которую мы должны где-то разместить.

Я был бы очень признателен за некоторые отзывы о модели и особенно о том, как я могу выразить U_i и A_i соответствующим образом.

Смотрите это изображение для объективной функции, ограничений и визуализации

Изменить: Конечно, мы хотим поместить деятельность в конце M4, а не M3.

0 ответов