Вопрос

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

Каждый день у нас есть 80–100 остановок, по 10 или около того на каждую технику, и эти остановки можно, по большей части, перемещать на 7 дней в месяц в любом направлении для повышения эффективности.

Игнорируя стопы, которые нельзя переместить, что было бы хорошей отправной точкой, чтобы организовать клиентов в дни, когда технические специалисты проводят кратчайшие расстояния?

У нас есть широта и долгота на каждой остановке. На данный момент нас не беспокоят географические барьеры, такие как мосты, реки и т. Д. Мы могли бы заняться этим позже, но на данный момент этого достаточно. Есть идеи?

РЕДАКТИРОВАТЬ:

У нас также есть «сетки карт» для каждого клиента. Каждая сетка карты составляет квадрат в полмили и находится в идеальной сетке по всей территории нашего обслуживания. Их можно использовать для группировки и хранения маршрутов. Обычно наши маршруты содержат около 100 сеток в полу-плотной группе.

Это было полезно?

Решение

Аналогично этому .

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

Сделайте это примерно тысячу раз, и поездка станет разумной.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top