Как реализовать 2D-интервальное планирование в Python?

У меня есть проблема, похожая на обычный алгоритм интервального планирования, но она двумерная, поэтому мне нужно учитывать еще одну метрику (длину). Мой формат набора данных:

  • Автомобили с указанием времени начала и окончания парковки, а также их длины в метрах.
  • Общая длина улицы в метрах (500 м)
  • Количество автомобилей
  • Часы работы уличной парковки (2-22) --› Время начала и окончания указано в целых часах, а длина в целых метрах.

Я думал разделить улицу на короткие сегменты по 1 метру, но это не обеспечит наилучшего решения, поскольку я не смогу оптимизировать местоположения на основе более поздних сегментов.

Задача: поставить все машины на уличную парковку (предполагается, что это возможно). Выходом будет местонахождение автомобиля в течение заданного периода времени. Цель аналогична этому сообщению: Создать распределение доступных значений — Python, но надо учитывать длину: машину нельзя разделить.

Это видно на следующем рисунке (идентификаторы автомобилей заполнены):

1

(Я понял, что это может быть проблема линейного программирования или многоцелевой оптимизации?)


person Notme lex    schedule 29.03.2021    source источник