Ув. коллеги! Наша компания, занимающаяся в основном дистрибьюцией, по мере своего роста пришла к необходимости автоматического планирования большого количества доставок товара клиентам.

Суть задачи: необходимо спланировать оптимальные (с точки зрения затрат) маршруты доставки для каждого автомобиля, если заранее известен объем/вес/ассортимент доставки в каждую точку, объем и количество используемого транспорта, адрес доставки (расстояние до точки доставки)- все исходные данные. Примечание — доставка по городу и области в течение 1 суток. Транспорт в основном наемный. Возможна повторная загрузка в течение дня. Проще говоря — распределить полученные от клиентов заказы по машинам таким образом, чтобы уровень затрат на доставку с учетом пробега, оплаты транспорта и т.д. и т.п. — был минимальный, при этом по максимуму использовать объем и время транспортных средств.

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

Просьба — подскажите, какие алгоритмы применимы в данной ситуации, и в какой литературе с ними можно ознакомиться. Какое ПО можно применить в данной ситуации.
Если у кого либо из Вас уже имеется положительный опыт решения подобных задач - поделитесь.

Заранее спасибо.
#Практика #Транспортное_обеспечение_логистики

Комментарии (10)

Добрый день Артем! В нашей фирме планированием «развозки» занимаюсь я. По Вашему сообщению не могу качественно представить повышение обьёма «развозки», но могусказать что знаю некоторые програмные средства (на базе 1с предрпиятие) оптимизирующие машиным способом маршруты по какому-либо показателю. Недостатком таких програм является то, что машина оптимизирует затраты только по одному показателю (шаблонно) не отслеживая ситуации в целом. В своей работе я не пользуюсь оптимизаторами, у нас процес планирования просто механизирован по максимуму, но все схемы рождаются в моей голове. Очень интересно узнать какой обьём «развозки» должен перерабатывать Ваш логист.

Кирилл, добрый день.

Объем развозки — средняя (по филиалам) цифра  - ежедневно до 10 машин объемом примерно 8 паллет, на каждую машину — до 20 точек доставки (точки доставки повторяются с определенной периодичностью — есть план доставки). Т.е. заказы не большие, но их много. Обычно человек, распределяющий заказы по машинам (администратор), руководствуется «накатанными» маршрутами, но это далеко не всегда срабатывает, т.к. клиенты приходят и уходят, не всегда в плановый срок делают заказы и т.д. И тогда начинается импровизация. Можно оценить рентабельность существующих маршрутов, но оптимизировать их очень сложно, да и от администратора требуется очень хорошее знание тех районов, в которые осуществляется доставка.
Меня интересует АЛГОРИТМ, в основе которого заложены математика+экономика.
Готовые информационные системы для нас не приемлемы, т.к. существует корпоративная инф. система, в которую внедрить алгоритмы (доработать) можно, но использовать стороннее ПО — просто не позволят.


Объем развозки — средняя (по филиалам) цифра  - ежедневно до 10 машин объемом примерно 8 паллет, на каждую машину — до 20 точек доставки (точки доставки повторяются с определенной периодичностью — есть план доставки). Т.е. заказы не большие, но их много.
… … …
Меня интересует АЛГОРИТМ, в основе которого заложены математика+экономика.
Готовые информационные системы для нас не приемлемы, т.к. существует корпоративная инф. система, в которую внедрить алгоритмы (доработать) можно, но использовать стороннее ПО — просто не позволят.

Всем привет.
подобная тема уже обсуждалась.
Клуб Логистов/Практика/Транспортное обеспечение/Привет
тема от Сергея Маленкова.

там я обрисовал схему полуавтоматизированой обработки данных
к ней можно добавить спец. данные для обработки.
необходимо, чтобы можно было выгружать инф. по массе и объему груза.

Совершенно кстати рядом есть тема МАРШРУТИЗАТОР по такой же проблеме.
Что-то нас слишком много.
наверняка сможет оптимизировать решение этой проблемы.

Приветствую коллеги!
Юрий, в теме «привет» вы описали алгоритм, в которм основой расчёта оптимальности доставки служит субьективное мнение человека (логиста, администратора и т.д.) т.е. «на глазок». Если я правильно понял Артем хочет найти алгоритм «сухо» оптимизирующий маршруты по экономическим и математическим показателям. Следовательно выглядеть это должно так: на каждый день есть определённый набор точек доставки и т.д., машина (эвм) должна подумать ивыдать n количество маршрутов оптимизированых по:
1.расстоянию
2.времени
3.дорожной обстановке (ремонты, перекрытия и т.д.)
4.и чтобы все эти математические подсчеты были оптимизированы с экономической стороны.
Артём, я Вас правильно понял? Я искал такое обеспечение,но не нашел, думаю что это очень дорогая штучка, если она существует, найдёте скажите где.
В ручную составить 10 маршрутов по 20 точек сложно, прибегнув к полуавтоматическому методу задача упростится в 2-3 раза, время и трудозатраты уменьшатся. Думаю что один человек максимум за час решит этузадачку. Что же касаемо человеческого фактора, то оптимизированый машиной маршрут не застрахован от человеческого фактора во время исполнения.

Я все таки уточню — меня интересует АЛГОРИМ (его описание, и мат. обоснование), а не  готовая реализация.
Полагаю, что алгоритмы решения транспортных задач все таки в природе существуют.

Я все таки уточню — меня интересует АЛГОРИМ (его описание, и мат. обоснование).

                        /=======\
                       ! начало !
                        \=======/
                            !
                     ===============
                     ! ввод данных !
                     ! (накладные) !
                     ===============    
                          !
                     /=============/
                    / составление /
                   / мазаики из  /
                  / полученных  /
                 / результатов /
                /=============/
                          !
                          !––––—
                          !             !
                     /        \         !
                    /результат \        !
                   /  соотв-т   \ нет   !
                   \   норме?   /––—
                    \          /
                         ! да
                ====================
                ! готовые маршруты !
                ====================  
                         !
                    /=========\                    
                    !  конец  !
                    \=========/
основание — БД, включающая:
МГХ товара (объем, вес каждого артикула)
ограничения по вместимости машин (грузовместимость по объему и массе, максимальная работоспособность — сколько точек делает по статистике)
клиенты (точный адрес доставки, опасность клиента — как долго держит машину, до какого часа можно вести товар))
ограничения по зонам обката (расписание «пробок», заторы — рем работы на дорогах)

Мат обоснование = плюс минус плюс минус
ни каких интегралов
ни каких корней в лохматой степени
Это не насмешка — это алгоритм по которому я сам работаю.

если хочется выдумать что-либо по изощреннее, есть задачи «курьера» и многие другие.
Вот.

ЗЫ народ, посмотрите тему «Перевезти рицеп, как изделие» — меня интересуют документационные заморочки.
Буду очень признателен за помощь.

Артем!
Здравствуй, тут поползал по сайту и обнаружил интересную ссылку: транспортное обеспечение логистики / 4 стр. / расчёт оптимального маршрута / Дмитрий Боровинский. Залез я в неё посмотрел очень похожа на «Ингит»,которая совместима с 1с. Почитал описание алгоритм ясен, но как она в работе не знаю. Удачи!

Если вас, интересуют способы и методы по маршрутизации, обратитесь в МАДИ(ТУ) на кафедру: Автомобильные перевозки. Там издается масса литературы по маршрутизации, там занимаютя этими проблемами. Обратитесь к доценту Просову С.Н., он занимается маршрутизацией и оптимизацией транспортной работы с помощью  различных математических методов и эвристических моделей, может быть поможет.
 


Пожалуйста, войдите или зарегистрируйтесь, чтобы комментировать.