Процитировано сообщение: Валерий Суханов от 09.10.2004 :: 03:24:01:
Могли бы Вы подробнее рассказать нам принцип разбиения заявок.
Если принцип окажется эффективен, а там недалеко и до задачи коммивожера.
правильное решение проблемы
Vehicle Routing Problem (VRP)
иммитация колоний морских животных
( вроде антов, точно не помню )
если надо могу кинуть PDF файл по email
все это легко ищется через google
кода я решал эту проблему я об этом не знал
суть такова
существует один склад откуда идет развозка
город разбит на сектора
каждый покупатель привязывается к одному сектору
сектора объединены в районы
хотя как теперь мне кажется наличие районов
может быть не обязательно
сектора внутри района нумеруются ( 1,2 .. )
их нумерация соответсвует последовательности
их прохождения ( сильно зависит от расположения склада )
в качестве исходных данных имеем таблицу
сектор - число заявок
+ задаем число заявок на маршрут (8-10)
+ максимальное превышение (1-2)
специфика была в том что товар был
дорогой, но не тяжелый и не объемный
и ограничений на возможности Газелей не быдо
расчет начинался с района который с
одной стороны не контактировал с
другим районом
делался обход секторов в районе
потом переход к соседенму району ( против
часовой стрелки )
и снова обход секторов
новый маршрут начинался
если число заявок доходило до
заданного значения . Если в секторе
или в районе оставалось 1-2 заявки,
то дополнительно рассматривался вариант доп заявки
в итоге получалось не так много вариантов
для сравнения важно было чтобы последний
не был перегружен или недогружен +
одним из требований было чтобы один маршрут был не более
чем в двух районах