Линейное программирование: максимизируйте использование машины
Мне нужна помощь с проблемой линейного программирования, которую я пытаюсь решить. Концепция довольно проста, у нас есть набор машин с предварительно забронированными действиями, которые мы не можем переместить. Теперь я хочу добавить дополнительное действие с заданной продолжительностью (измеряемой во временных блоках) таким образом, чтобы максимально использовать. У меня есть четыре машины на выбор (см. Рисунок ниже), и я хочу, чтобы целевая функция дала нам одну машину с максимальной загрузкой. (лучшая машина).
Пока у меня есть целевая функция, которая выражает использование и два ограничения. Первое ограничение гласит, что мы можем выбрать только одно расписание, а второе - что общее количество доступных временных блоков для машины должно быть больше или равно требуемому времени для новой операции, которую мы должны где-то разместить.
Я был бы очень признателен за некоторые отзывы о модели и особенно о том, как я могу выразить U_i и A_i соответствующим образом.
Смотрите это изображение для объективной функции, ограничений и визуализации
Изменить: Конечно, мы хотим поместить деятельность в конце M4, а не M3.