Эссе «Система для планирования рейсов, «сделанная на коленке»


Аватар пользователя Александр Степанов

Некоторое время тому назад ко мне обратился один заказчик (небольшая московская дистрибьюторская фирма по продаже импортного элитного алкоголя) с такой проблемой. Диспетчер службы доставки перестала справляться с ежедневным планированием рейсов по развозу небольших партий по точкам – специализированным магазинам и заведениям (крупный опт для сетей у них тоже есть, но это тема была вне рамок задачи). Диспетчер была опытным сотрудником, работала на фирме давно, но и уже «дамой в летах». И что-то в последнее время все шло не так. Может, что-то в личном не заладилось или стала уставать. Да и нагрузка выросла: компания теперь возила все меньшими и меньшими партиями, но чаще, и даже приходилось перебрасывать нереализованный товар с точки на точку. А может, просто руководству начинало казаться, что дама уже «не тянет» как требуется. Не знаю всей подоплеки дела, только понял одно: настал в компании момент попробовать что-то в плане автоматизации планирования рейсов, чтобы не «на глазок» разбрасывать заказы по транспортным средствам (фильтруя адреса по секторам города), а через «умную» программу; и таким образом этого диспетчера разгрузить (она еще и складом по совместительству занималась).

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

Применительно к классу задач, связанных с перевозкой грузов автотранспортом от склада ко множеству точек доставки, широко распространенный сценарий «спланируем рейсы накануне — утром погрузим — и развезем по точкам в течение дня» (в некоторых случаях «спланируем накануне» заменяется на «спланируем в начале рабочего дня»), может не только не дать удовлетворительных результатов, но и привести предприятие к экономическим потерям, дискредитировав саму идею планирования рейсов. Это касается и задач поставок – когда груз забирается у грузоотправителя и доставляется на склад.

Вполне может быть ситуация, когда оптимальный план доставки грузов перестанет быть оптимальным в процессе его выполнения. Просто могут поменяться ограничения, которые учитывались при планировании. Примеров этому масса: от изменения дорожной ситуации и задержек на погрузках / разгрузках, до поломок транспортных средств в пути и внезапных изменений требований клиентов касательно времени доставки (VIP-клиентов, например).

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

Наметили план разработки и внедрения программного решения, и приступили. Пошли от их ERP-системы. Я разработал и «прикрутил» маленькую программку, чтобы строить матрицу расстояний (матрицу маршрутов) по данным Google Карты. Все адреса в базе данных сканируются и в специальную таблицу заносятся расстояния и продолжительности переездов между всеми точками доставок. При этом можно использовать самую актуальную информацию по загруженности дорог.

После этого я настроил справочник транспортных средств, чтобы там хранилась информация о их максимально возможной загрузке – вес и объем груза. Добавил в заказы продажи два поля, чтобы определять временное окно («доставить с» и «доставить до»). Еще улыбнулась удача найти бесплатную программу, собственно, для оптимального планирования маршрутов. И все это (их ERP-систему и эту программу) связали через Microsoft Excel. Вот и вся архитектура.

Работает система просто. Строим матрицу расстояний для множества заказов доставки (матрица хранится в базе данных и дополняется, если появляются новые точки доставки). Выгружаем в файл эти данные, данные о заказах доставки (куда, когда, сколько везем) и информацию о транспортных средствах (на чем везем). Формируем план (в виде файла). И загружаем обратно в ERP-систему. В ней и контролируем его исполнение. Если какие-то сбои (см. выше – с авто, задержки, пробки и проч.), повторяем этот сценарий и получаем обновленный план (возможно, от чего-то отказываемся, если на какую-то точку успеть уже не получается, но это редко, так как первоначальный план с «запасом» строится).

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

Александр Степанов, ERPACADEMY.RU

Эссе «Система для планирования рейсов, «сделанная на коленке» (для Форума «Логист.ру/2017»)

Народ, а вы — те, кто написал эссе для участия в Форуме Логист.ру 2017, получили промокод для бесплатного участия в форуме? Я нет. Может, я чего не понял и жду напрасно? Подготовил текст выше для варианта участия «умный — бесплатное участие для авторов эссе в разделе «Статьи»» по требованиям (http://logist.ru/2016#essay) и опубликовал. Одновременно с этим отправил уведомление о публикации организатору. Мол, если что не так, то чтобы получить обратную связь. Никаких замечаний не пришло. Но и промокод не пришел. Поделитесь своим опытом, может, у вас лучше все складывается?

Все-таки сработало! Промокод пришел, я зарегистрировался на Форум!