Google OR-Tools для организации посещений одного работника и групп в зависимости от сайта

Как лучше всего использовать Google OR-Tools для решения проблемы маршрутизации транспортных средств в сочетании с планированием ресурсов?

Дело в том, что некоторым сайтам нужен 1 работник, а другим - много работников. Например, для одного посещения объекта требуется 1 полевой техник со навыком А. В то время как некоторым другим требуется: 2 полевых техника, один со навыком А, а другой со навыком B. На третьем участке требуется 1 полевой техник со навыком B.

Я не хочу распределять работников по группам; Потому что в некоторых случаях это приведет к потере времени.

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

2 ответа

Вам нужно будет значительно упростить это, прежде чем вы сможете решить это.

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

Также наличие работы иногда требует одного специалиста, а иногда - двух, это сложно, если вы не можете упростить дальнейшее. Если вы не можете упростить, то у вас есть "синхронизированная" проблема маршрутизации транспортных средств (этот термин используется в исследовательской литературе), которую, я подозреваю, вы, вероятно, не сможете решить, просто используя OR Tools. Возможные способы упрощения:

  • Можете ли вы предположить, что команда из 2 техников работает вместе целый день, поэтому вы просто смоделируете их как единый маршрут? Итак, у вас есть несколько маршрутов, в которых участвует один техник, и несколько маршрутов, в которых участвуют 2 специалиста, НО 2 отдельных маршрута по 1 технику каждый НИКОГДА не собираются вместе, чтобы выполнять работу из двух техников?

  • Работы, требующие 2 техников, длятся целый день, поэтому вам не нужно моделировать независимость между маршрутами 2х1 техников, работающих вместе на работе 2 техников? Т.е. вам не нужно моделировать задержку для технического специалиста Б, если технический специалист А выполняет другую работу, прежде чем выполнять совместную работу?

  • Достаточно ли редки задания для 2 техников, чтобы вы могли автоматически планировать задания для 1 специалиста, а затем поручить планировщику вручную распределить задания для 2 техников вокруг них?

Навыки должны быть относительно простыми. Другие вещи, которые вы, возможно, должны рассмотреть:

  • Вам нужно моделировать несколько дней одновременно?

  • Это проблема маршрутизации транспортного средства в режиме реального времени / динамическая или статическая? Наше видео дает простое объяснение разницы. Если у вас есть рабочие места, которые забронированы в тот же день, когда они были обработаны, или продолжительность рабочих мест не определена (то есть вы не знаете, сколько времени они будут занимать), то у вас есть проблема маршрутизации в реальном времени, которую необходимо устранить / решается по-разному в статическом случае.

Насколько велика ваша проблема? (количество посещений, количество работников, количество навыков)

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