Составление маршрутов движения транспорта (алгоритм Свира)

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

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

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

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

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

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