Для расчёта необходимо ещё как минимум располагать временем проезда из каждой точки в каждую другую точку (и желательно по времени), расстояние по городу уходит на второй план. Совсем идеальный вариант — это учёт пробок (которые тот же яндекс тоже сообщает). И во избежание нереальных условий доставки (одному исполнителю 2 заявки на 1 время) клиенту предлагают временные окна не произвольно, а из учёта уже имеющихся заявок (просто как надевать диски на шпиль). По крайней мере так было везде, где я работал (разговор примерно так складывается "добрый день, вы оставляли заявку, Вас устроит приезд специалиста завтра в первую половину дня?" и далее клиент называет конкретный час).
В общем в первую очередь нужно озадачиться способом анализа времени проезда из точки в точку, а далее уже можно дорабатывать какой-либо из алгоритмов (я бы работал с принятием решений (точно не помню название), довольно прост и разумен, там всё сводится как обычно к поиску минимальной стоимости, но он довольно универсален).
Сама же задача коммивояжёра для реальных условий не применима, если мне не изменяет память, то там одной из целей было не попасть дважды в одну точку, даже если стоимость выходит ниже. Да и вообще как-то не очень разумно смотрится одна матрица смежности для реальных условий, тут вообще с ГИС бы поработать, тут даже проезд из точки в точку не единственный (где утром 10 минут — там вечером час. Каждый перекрёсток сама по себе точка, но проезд через каждый перекрёсток — не цель, если проезд через 2 пути занимает равное время, то нужно ехать по кратчайшему по географическому расстоянию и т.д, как-то так).
1Steps писал(а):Если взять опыт местных компаний, сразу будет заметно как они работают.
Есть способ доставки, срочный и стандартный(соответсвенно и цена).
У нас чаще иное: работнику выдают "разбег" (разбегайка — список заявок) и работник сам крутится как хочет. Кто-то из клиентов пожелал конкретное время, к кому-то нужно предварительно позвонить (в примечаниях указано за сколько, на цену не сказывается). Обычно на одного исполнителя вешают 1-2 кампуса, но бывают и исключения (с 10 до 11 в одном краю города, с 11 до 12 в другом и т.п). Как-то справляются работники сами. Пришёл на работу пораньше — схватил самый удачный разбег, опоздал — бегай по всему городу и работай с повторками (самые неадекватные клиенты, палата номер шесть). Список формирует ИС, однако её главная задача — удовлетворить клиента, а не сделать работникам комфортно (так же как на шпиль одевают цветные диски — так в реальном времени по ходу появления заявок онные помещаются в списки. Только при наличии 2 и более свободных исполнителей заявка вешается на находящегося до этого момента ближе).