Технические статьи

Стандартная модель процесса доставки

Безопасность SaaS

Учет дорожной обстановки при расчете маршрутов транспорта

Согласование целей водителя и компании при решении задачи доставки товаров

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

Клиент-серверная архитектура в задаче составления маршрутов

Переход к ДубльГис 3.0

Стандартная модель процесса доставки

"Логистика:Транспорт позволяет максимально учесть процесс доставки продукции Вашего предприятия. Это можно сделать настройками стандартной модели - а если их окажется недостаточно, ее расширением и дополнительной параметризацией.

Настройки узла доставки стандартной модели

Каждая точка доставки может быть задана следующими параметрами

  • demand - количество продукции, доставляемой на точку

  • min_entry_t - время открытия точки для въезда машин

  • max_entry_t - время закрытия точки для въезда машин

  • min_leave_t - время открытия точки для выезда машин

  • max_leave_t - время закрытия точки для выезда машин

  • service_time - время работы машины на точке

  • wait_time - время простоя машины в очереди на точку

  • category - категория обслуживания (например, только Газели)

  • group - группа (район) обслуживания

Настройки автомашины стандартной модели

  • workday_start - время выхода машины на маршрут

  • workday_end - рекомендуемое время схода с маршрута

  • workday_limit - предельное время схода с маршрута

  • reis_load - время загрузки машины при втором и последующих рейсах

  • capacity - вместимость

  • speed - средняя скорость в нормальных условиях по городу (автоматически корректируется в зависимости от класса дороги и других факторов)

  • price_fix - фиксированная составляющая стоимости

  • price_km - стоимость 1 км пробега

  • price_hr - стоимость 1 часа работы

  • km_prepaid, hr_prepaid - количество километров и часов работы, включенных в фикстрованную составляющую стоимости

  • exhr_price - стоимость 1 часа переработки после конца нормального рабочего дня

  • reis_price - доп. оплата за второй и последующие рейсы

  • km_limit - предел пробега в сутки (обычно, по техсостоянию)

  • category - категория обслуживания

  • group - предпочтительная группа (район) обслуживания

  • pkm_load_factor - поправочный коэффициент на увеличение расхода топлива груженой машиной

Безопасность SaaS

Рассматривая возможность внедрения по модели SaaS, клиенты часто интересуются - не может ли информация о клиентской базе и отгрузках товаров утечь к конкурентам или контролирующим органам ?

Отвечаем: утечка конфиденциальных данных при расчетах по принципу SaaS принципиально невозможна !

Сохранение конфиденциальной информации клиентов обеспечивается тремя (!) независимыми барьерами: юридическим, техническим, и информационным.

Юридический барьер

В типовом договоре на расчеты по системе SaaS содержится пункт, гарантирующий конфиденциальность предоставленных клиентом расчетных данных. Это юридически обязывает сотрудников ООО "БИТ-Интеграция" (аналогичная формулировка включена в трудовые договора с последними) принимать все меры для предотвращения утечки клиентских данных третьим лицам. В соответствие с ГК РФ, нанесенный таким разглашением вред подлежит полному возмещению в денежном эквиваленте.

Технический барьер

Для соединения с сервером БИТ-Интеграция используется соединение типа VPN. Все данные, передаваемые между сервером и компьютером логиста надежно шифруются с использованием ключей и сертификатов. Сторонний наблюдатель не может перехватить или исказить передаваемые данные. Для создания соединения VPN мы используем программное обеспечение OpenVPN. Особенностью этого программного продукта является поставка в открытых кодах. Надежность и правильность используемых криптографических алгоритмов подтверждается независимыми экспертами, а при необходимости, может быть оценена ИТ службой или службой безопасности клиента.

Информационный барьер

Наиболее чувствительная часть клиентской информации: названия и адреса клиентов - вообще никогда не передается на сервер. Передаваемый на сервер транспортный план формулируется в виде координат дорожной сети (перекрестков дорог) и условий доставки. Поскольку к одному и тому же перекрестку относятся 5 и более строений - даже имея полный доступ к серверу расчетов, невозможно понять, по какому адресу будет осуществляться доставка. Тем более, по координатам перекрестка невозможно восстановить наименование клиента.

Можно, также, скрыть объемы перевозимой продукции. Для этого достаточно при выгрузке информации передать количество товаров к доставке не в килограммах (тоннах, штуках), а в условных единицах. В тех же единицах можно оценить грузоподъемность машин. Поскольку никто (в том числе сотрудники ООО "БИТ-Интеграция") не знают соотношения между условной единицей и натуральным объемом перевозки - невозможно установить реальные объемы перевозимых грузов даже с точностью до перекрестка.

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

Учет дорожной обстановки при расчете маршрутов транспорта

Логистика:Транспорт существенно отличается от конкурирующих продуктов возможностями описания дорожных условий на карте города

Учет особенностей маршрутизации

При решении задачи маршрутизации автотранспорта на цифровой (векторной) карте приходится сталкиваться с необходимостью описания особенностей маршрутизации транспорта на отдельных ее участках. К таким особенностям относятся:

  • Ограничения скоростного режима транспорта
  • Ограничения на проезд определенных категорий машин
  • Светофоры, запреты поворотов
  • Участки дорог, склонные к образованию пробок

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

Роутинговая информация в общедоступных картах

Большинство карт, свободно доступных в сети Интернет выполнены в т.н. польском (MP) формате для загрузки в навигаторы GPS. Другие форматы (rus,ntm) более эффективно сжимают географическую информацию для получения меньших размеров файла карты, однако логически полностью повторяют структуру карты польского формата.

Польский формат имеет достаточно развитые средства для описания условий движения транспорта по дорогам:

  • Имеется разделение дорог на категории (трассы, проспекты, проезды, грунтовки, и т.д.). Возможно указание ограничения скорости на дороге (фиксированные значения в милях/час). Имеется признак одностороннего движения.
  • Можно указывать типы автотранспорта, запрещенные к движению на данном участке, а также запрещенные повороты

Однако, на практике, возможностей польского формата для описания дорожной обстановки оказывается совершенно недостаточно:

  • Запрет поворотов легко обходится алгоритмом маршрутизации с использованием дворов и второстепенных проездов, либо требует показывать на дорогах не только точки поворотов, но и разрешенных разворотов автотранспорта.
  • Ограничение скорости в милях в час неприемлемо, т.к. не укладывается в принятые километровые диапазоны
  • Нет возможности отражать пробки на дорогах

Язык RHDL

Для максимальной точности маршрутизации, при создании комплекса "Логистика:Транспорт" был разработан язык описания особенностей маршрутизации RHDL (Route Hint Description Language). Данный язык дополняет встроенные средства описания польского формата карт, и позволяет существенно улучшить качество маршрутизации на транспортной сети населенного пункта.

Метки языка RHDL

Любой объект транспортной карты может быть отмечен текстовой меткой. Как правило, метка - это большая латинская буква (A,B,C, и т.д.). Метки применяются для обозначения направлений, по которому транспортное средство попадает или выезжает с перекрестка.

Выражения языка RHDL

Любой объект транспортной карты может быть отмечен при помощи выражения RHDL. Выражения RHDL позволяют описать особенности проезда в данной точке карты, и имеют вид:

{МЕТКА ОТКУДА}{МЕТКА КУДА}(признак:значение признак:значение...)

Например:

XY(t:5m s:300) - означает, что при попытке въехать на перекресток с направления X и выехать в направлении Y, потребуется потратить дополнительно 5 минут и проехать дополнительно 300 метров.

В ряде случаев бывает удобно опустить метку "откуда" или "куда", заменив ее символом точки: X.(t:30s) - при въезде с направления X и выезде в любом направлении, дополнительно затрачивается 30 секунд.

Специальное значение имеют направления "any" и "default". Направление "any" выбирается в любом случае, а направление "default" - в том случае, если не нашлось никакого другого, более специфичного направления проезда.

Признаки языка RHDL

Язык RHDL сам по себе не накладывает ограничений на признаки, используемые для описания дорожной обстановки. Однако, практика работы с программным продуктом "Логистика-Транспорт" показала целесообразность ввода следующей системы признаков:

  • t,s - дополнительное время и расстояние на проезд точки на карте (применяется, например, чтобы показать запрещенный поворот - дается расстояние и оценка времени на проезд перекрестка в разрешенном направлении до ближайшей точки разворота, разворот и возврат к перекрестку). Эти параметры доступны модулю оптимизации маршрута автомашины - то есть алгоритм оптимизации нижнего уровня может объезжать указанные точки, например, по второстепенным дорогам и дворовым проездам.
  • T,S - те же параметры, но невидимые для нижнего уровня маршрутизации. Алгоритм оптимизации маршрута машины не видит их и не предпринимает попыток объезжать указанные точки. Это удобно для обозначения напряженных перекрестков и улиц в центре города, так как все показанные на карте маршруты объезда или заблокированы жителями окрестных домов, или также заняты транспортом.
  • P - наличие пробки в часы пик. Указанный признак не отрабатывается нижним уровнем маршрутизации, однако используется верхним уровнем для оценки времени поездки машины из одной точки в другую. Чем больше значение P-признака, тем больше время простоя в пробке.

Синтез методов описания обстановки

Программный продукт "Логистика:Транспорт" максимально использует как информацию, как доступную из карты польского формата, так и дополнения языка RHDL:

  • Отрабатываются ограничения скорости на дорогах разных категорий
  • Учитываются правые и левые повороты, а также попытки пересечения дорог более высокой категории
  • Учитываются светофоры (даже без разметки RHDL)
  • Учитываются запреты поворотов (в виде увеличения пробега и времени поездки через выражения RHDL)
  • Учитывается загруженность магистралей и мест с постоянными пробками
  • Учитывается наличие пробок в часы пик

Комплексный подход к описанию дорожной обстановки в продукте "Логистика:Транспорт" является уникальным - он позволяет максимально точно оценивать пробег и время работы транспортных средств предприятия, и экономит дополнительно 5-7% стоимости доставки грузов по маршрутам в населенных пунктах.

Согласование целей водителя и компании при решении задачи доставки товаров

Введение

Задача оптимизации

В классической постановке, задача оптимизации процесса доставки описывается следующим образом:

  • Пусть дано множество Z={z1...zn} заявок на доставку и множество A={a1...am} транспортных средств;
  • Необходимо найти такое разбиение множества Z на непересекающиеся подмножества Z1...Zm и в каждом подмножестве Zi такой порядок следования узлов Zi=[zi1...z1k], чтобы целевая функция на этом разбиении S(Z1...Zm) была бы минимальна.

Таким образом, фактически при маршрутизации транспорта одновременно решаются две задачи оптимизации:

  • Задача "Set partitioning" - распределение заявок по машинам
  • Задача коммивояжера - определение оптимального порядка объезда торговых точек каждой машиной

Первую задачу мы называем макро-, а вторую задачу - микроуровнем оптимизации.

Несогласованность целей по уровням

В большинстве теоретических разработок (и программных продуктов на рынке) предполагается, что целевая функция S - едина для обоих уровней оптимизации. Как правило, в качестве функции S выступает стоимость поездки автомашины по заданному маршруту (обычно, сводимая к пробегу машины или прогнозному расходу топлива).

На самом деле, это утверждение является ложным!

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

В противоположность этому, микроуровень оптимизации - это уровень водителя отдельной машины. И, соответственно, оптимизация маршрута водителем ведется не исходя из минимальной стоимости поездки, а по другим критериям.

Цели водителя автомашины

Для выявления целей водителя автомашины на маршруте было проведено исследование, в котором приняли участие 5 водителей компании "Регионпродоптторг-Омск". В процессе исследования сравнивались фактические маршруты движения от одной торговой точки к другой с оптимальными по стоимости. Кроме того, проводилось собеседование с водителями, которые обосновывали правильность выбранного ими маршрута.

В результате исследования выявлено следующее:

  • Пробег машины на маршруте водителем систематически не контролируется.
  • Определяющим фактором при выборе маршрута движения является не расстояние, а время движения от точки до точки. При этом, отстаивая свой маршрут движения, водитель сначала делает утверждение: "Так ближе", - а после предъявления ему фактов, свидетельствующих о наличии более короткого маршрута (в километрах) - приводит возражения, относящиеся только к временным факторам: "По другой дороге много светофоров", "Там всегда пробка", "Дорога разбита", и т.п.
  • Данный факт легко объяснить с медицинско-психологической точки зрения: утомляемость водителя зависит не от пробега машины, а от времени, проведенного за рулем. Кроме того, при движении на малой скорости или нахождении в пробке субъективное ощущение времени водителем растягивается и становится тягостным (10 минут нахождения в пробке водителем описываются как "...полчаса уже стоим!").

Таким образом было установлено следующее соотношение: "Во избежание 1-2 минуты простоя, водитель готов проехать 500-1000 метров в объезд". При этом излишний пробег составляет от 2 до 7 километров на машину в день.

Учет целей водителя при оптимизации

По результатам проведенных экспериментов, специалисты ООО "БИТ-Интеграция" пришли к выводу о том, что обнаруженное поведение водителя является естественным, устойчивым, и не может быть изменено административными мерами. С другой стороны, игнорирование целей водителя при оптимизации неизбежно приводит к расхождению между плановыми и фактическими показателями транспортных расходов, особенно, в части пробега и расхода топлива.

В программном продукте "Логистика:Транспорт", при составлении транспортного плана, цели водителя (ехать быстрее) и предприятия (ехать дешевле) согласуются:

  • При оптимизации точек доставки внутри одного маршрута, в модуль оптимизации введена поправка на время нахождения машины в пути: 1 минута в пути соответствует 750 метрам пробега. Оптимальный по этому критерию маршрут совпадает с фактическим выбором водителей в 97-99.5 процентах случаев.
  • Оценка стоимости транспортного плана ведется исходя из сформированных маршрутов движения, оптимальных с точки зрения водителя. В том случае, если выбор водителя существенно удлинняет маршрут движения - программный модуль перераспределяет точки доставки между машинами, чтобы исключить удобные для "оптимизации" водителями участки дорог из транспортного плана.

Благодарности

За участие в подготовке статьи, коллектив ООО "БИТ-Интеграция" благодарит:

  • Янцена Я.Г. - директора по логистике компании "Регионпродоптторг-Омск"
  • Водителей компании "Регионпродоптторг-Омск";
  • к.т.н. Гулякова М.Б. - Сибирская автодорожная академия

 

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

Важным преимуществом системы "Логистика:Транспорт" является возможность использования бесплатной географической информации из сети "Интернет".

В чем преимущества бесплатных карт

Для маршрутизации транспорта мы рекомендуем использовать карты проекта ГисРусса - НарисуйКа, так как они положительно отличаются от своих коммерческих аналогов:

  • Нет необходимости тратить до 60 000 рублей за одну карту
  • Карту можно установить на любое количество компьютеров, нет ключей защиты
  • Карты созданы и корректируются участниками проекта на основе GPS-треков. Учтены местные особенности движения транспорта в городах
  • Карты регулярно обновляются, нет необходимости покупать обновления
  • В карту легко вносить изменения и исправления

Помимо этого, "Логистика:Транспорт" позволяет использовать одно из лучших бесплатных ГИС-решений ДубльГИС для оперативного нанесения объектов на бесплатные карты.

В чем недостатки других продуктов

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

По нашему мнению, ограничение работы с бесплатно доступными картами - это серьезная ошибка разработчика и недостаток программного продукта для оптимизации движения автотранспорта.

Клиент-серверная архитектура в задаче составления маршрутов

"Логистика:Транспорт" выполнена по современной клиент-серверной архитектуре. Это позволяет пользователям снизить затраты на эксплуатацию системы.

Что такое архитектура "клиент-сервер"

При создании программного продукта "Логистика:Транспорт" использовались самые современные технические решения. В результате, программный продукт был разделен на два самостоятельных блока:

  • Рабочее место пользователя - для работы с конфиденциальной информацией (клиенты, заявки), не требующей больших вычислительных мощностей
  • Серверный кластер - для решения сложной в вычислительном плане задачи оптимизации транспортного графа
  • Связь между клиентским и серверным комплексом осуществляется при помощи технологии "VPN" по сети "Интернет".

Что дает такое решение

Применение данных технологий дает целый ряд преимуществ нашим пользователям:

  • Снижаются требования к рабочему месту логиста: клиентское рабочее место успешно работало на машине в конфигурации PIII-600Mhz/256RAM. Выполненные по традиционной технологии комплексы (оптимизация на рабочем месте) требуют компьютер не ниже P4-3.0Ghz/1G RAM.
  • Повышается скорость расчета: серверный комплекс использует многопроцессорные машины, что позволяет перебирать 1-6 млн вариантов транспортых планов всего за 10-15 минут. При выносе задачи оптимизации на рабочее место логиста, этот процесс займет от 40 минут до полутора часов.
  • Имеется возможность анализировать статистику работы алгоритма оптимизации, и улучшать его без обновления программ на рабочих местах пользователей

Как защищается конфиденциальная информация

При работе в варианте "клиент-сервер", особое внимание уделяется защите конфиденциальной информации наших клиентов:

  • Программный комплекс спроектирован таким образом, что информация, составляющая коммерческую тайну (названия клиентов, индивидуальные объемы отгрузки), на сервер никогда не передается. По сети передается только обезличенный транспортный граф.
  • Тем не менее, для дополнительной защиты данных при передаче по сети Интернет, используется технология VPN, создающая зашифрованный канал передачи данных от рабочего места логиста до сервера ООО "БИТ-Интеграция"
  • Подробнее читайте об этом в отдельной статье.

Переход к ДубльГис 3.0

Причины перехода к ДубльГис 3.0

С 1 мая 2008 года компания ДубльГис начала распространение картографической информации в составе оболочки версии 3.0. Особенности новой оболочки позволили существенно облегчить привязку объектов к карте. Поддержка этих возможностей доступна пользователям ПО "Логистика:Транспорт" с 01.06.2008:

  • Большое количество адресов картографируется автоматически
  • Не нужно нажимать кнопку сохранения на каждой картографированной точке.
  • Привязка в ДубльГИС возможна как по адресу, так и по GPS-координатам

Копирование старой конфигурации

Перед переходом на новую версию ДубльГИС, рекомендуется сохранить следующие файлы из каталога Логистики (по-умолчанию: C:\BIT):

  • client.jar - библиотека классов программы
  • geodata.db - база привязок объектов к карте
  • gismap.bat - запускающий файл ДубльГИС
  • tools.cfg - файл конфигурации внешних программ

Процедура перехода на новую версию ДубльГис

  • Скачайте с сайта www.2gis.ru последнюю версию оболочки и данных Вашего города. Установите их на свой компьютер.
  • Запустите новый ДубльГИС, проверьте его работоспособность, закройте программу
  • Измените путь запуска ДубльГИС в файле gismap.bat
  • Запустите gismap.bat, убедитесь, что ДубльГИС версии 3 запустился. Зайкройте его.
  • Внесите изменения в tools.cfg
    • В раздел [DoubleGIS] добавьте параметр kmlpath=(путь к kml-файлу). kml-файл находится обычно в папке C:\Documents and Settings\(user)\Application Data\Grym\MyLayers\*.kml
    • Обратите внимание ! Обратные слэши в файле необходимо удваивать !
    • Параметры dirnotes и mapnotes удалите.
  • Запустите Логистику, обновите версию программы. Перезапустите Логистику.

Процедура картографирования точек в ДубльГИС 3.0

  • Проведите импорт и обработку данных штатным образом
  • Откройте закладку "ДубльГИС". Нажмите кнопку "Привязка"
  • В открывшемся ДубльГИС-е выберите "Дополнительные слои", слой "TL".
  • В данном слое перебирая последовательно адреса, нажимайте CTRL+E (редактировать). Если карта автоматически переходит к нужному адресу - адрес автоматически откартографирован встроенными средствами ДубльГИС
  • В противном случае, привяжите адрес вручную при помощи средств редактирования ДубльГИС
  • Закройте ДубльГИС, нажмите кнопку "Обработка".