Научная статья на тему 'Маршрутизация доставки розничной продукции в городской дорожной сети на основе генетического алгоритма'

Маршрутизация доставки розничной продукции в городской дорожной сети на основе генетического алгоритма Текст научной статьи по специальности «Математика»

CC BY
1365
136
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Григорьев В. П., Киселев К. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Григорьев В. П., Киселев К. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Маршрутизация доставки розничной продукции в городской дорожной сети на основе генетического алгоритма»

УДК 658.52

МАРШРУТИЗАЦИЯ ДОСТАВКИ РОЗНИЧНОЙ ПРОДУКЦИИ В ГОРОДСКОЙ ДОРОЖНОЙ СЕТИ НА ОСНОВЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА

В.П. Григорьев, К.А. Киселев

Томский политехнический университет E-mail: jam@am.tpu.ru

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

Введение

В современных условиях рыночной экономики залогом стабильного и успешного развития любого предприятия является наличие конкурентного преимущества перед другими участниками некоторого рыночного сектора. Достичь выгодных условий производства можно за счет широкого спектра действий. Качественная организация процесса сбыта продукции является для предприятия конкурентным преимуществом. Основные направления оптимизации: оперативное оформление заявок и стабильное выполнение заказов в полном объеме и ассортименте. Для чего требуется оптимизированная схема движения транспорта. Маршруты должны удовлетворять ряду специфических требований:

• используемые в доставке автомобили имеют ограниченную грузоподъемность;

• ограниченное количество автомобилей определяет возможность их неоднократного использования;

• каждый маршрут начинается и заканчивается на складе готовой продукции;

• распределение клиентов по автомобилям и последовательность их объезда должны минимизировать расходы на доставку;

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

Vehicle Routing Problem) широко обсуждается в литературе. Первые исследования по проблеме появились еще в начале 70-х гг. прошлого века [1,2]. В настоящее время также осуществляются небезуспешные попытки решения задачи и её расширений как точными, так и приближенными методами. Большинство существующих на сегодняшний день методик решают статический вариант VRP. Это упрощенная и не всегда адекватная реальным условиям ситуация. Для городских дорожных сетей (ГДС) характерны колебания в течение суток пропускной способности на многих участках движения, что неизбежно сказывается на качестве работы всевозможных служб доставки. Кроме того, практически каждая реальная ГДС изобилует ули-

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

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

В данной работе учитывается указанная специфика УЯР. Предлагаемая методика решения задачи маршрутизации состоит из нескольких этапов: преобразование исходного графа ГДС к графу определенного вида применением специально модифицированного алгоритма Дейкстры; построение маршрутов при помощи разработанной мета-эвристики, реализованной на основе генетического алгоритма (ГА). В составе ГА предлагается комплекс мер, позволяющий эффективно находить схемы движения транспорта, минимизирующие стоимость доставки. Выбор метода обоснован тем, что задача маршрутизации является № сложной, т. е. размер пространства поиска имеет экспоненциальную зависимость от количества переменных. В предложенном расширении она имеет большое и сложное пространство решений даже при сравнительно небольшом количестве клиентов. Существует ряд источников, например [3], где на тестах показана эффективность применения на графовых задачах метаэвристик, особенно ГА. С ростом размерности задачи качество получаемых в ГА решений, по сравнению с другими методами, растет.

Задача построения планов доставки

для розничной клиентской сети

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

Представим городскую дорожную сеть в виде ориентированного связанного графа G=<D, U>, где D={l,2...nD} - множество вершин графа мощностью nD, U - множество дуг, соединяющих вершины. Узлами графа считаются как различные точки реализации продукции, например магазины, столовые, больницы или детские сады, так и простые перекрестки автомобильных дорог. Выделим целевое подмножество вершин Р={1,2...П}, PcD, которое составляют только обслуживаемые клиенты.

На рис. 1 множество вершин D - все вершины графа, P - черные вершины, uye U, ijeD - дуги между любыми соседними вершинами, причем Ujj=£Ujj. В левом верхнем углу обозначен склад готовой продукции.

Предприятие выпускает продукцию циклически. Поэтому все множество клиентов Р, при поступлении заявок, разносится по циклам производства. Тогда нашей задачей является планирование доставки для клиентов некоторого цикла производства. В качестве подмножества клиентов некоторого производственного цикла примем P, PcP. Тогда n - количество клиентов, соответствующее некоторому циклу, которое необходимо обслужить.

Depot

ное время, определяющее номер суточного интервала. Номер интервала т определяется как функция времени т=т(/), где / - текущее модельное время.

В распоряжении транспортного цеха находится q автомобилей. Каждый автомобиль характеризуется грузоподъемностью - К, кг(м3). Заказ /-го клиента имеет вид: й=(й„), /еР, где - объем й товара V, который должен быть доставлен клиенту /, £ - множество производимой на заводе продукции.

Множество клиентов Р требуется разбить по автомобилям так, чтобы суммарный объем заказов подмножества клиентов, назначенных конкретному автомобилю для перевозки, не превышал грузоподъемности этого автомобиля. Обозначим через уе У разбиение множества Р на непересекающиеся подмножества р^...^рк^...^ра так, что рк^р,=0, где а - общее количество рейсов, У - множество всех допустимых разбиений множества Р. Например, на рис. 1, р1=[к,/,/,/}, р2={е}. Тогда загрузка автомобилей для перевозки товаров назначенным заказчикам определяется неравенством

(1)

Z d ^ K, к = 1-«.

Рис. 1. Граф G - модель городской дорожной сети

Пропускная способность улиц является функцией времени и почти циклически изменяется каждые сутки. Поэтому весь суточный диапазон условно разобьем на Т отрезков, внутри которых показатель постоянен. Тогда каждая дуга ыуе и графа О, соединяющая вершины цеБ и представляющая собой некоторую часть улицы, обладает протяженностью /(ыу), км, и средней скоростью м(Ыу,т), т=1... Т, км/ч, в момент времени т, где т - дискрет-

Для каждого используемого автомобиля необходимо вычислить оптимальный маршрут объезда вершин назначенного подмножества pk разбиения у. Обозначим перестановкой zi=(h...im...ig ,ig) альтернативный порядок объезда автомобилем k вершин 4,epk, m=1...gk из множества всех возможных перестановок Zk. Здесь i1 - отправная вершина, обозначающая начало маршрута, т. е. склад готовой продукции; gk-1=pk| - количество целевых вершин на маршруте. На рис. 1 zi=(i1,h,ijf,i6). Завершение объезда происходит в исходной вершине, т. е. il^==i1. Маршруты должны охватывать вершины множе ств pk в порядке, обеспечивающем минимальную суммарную стоимость доставки.

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

X Я(^^) + (1 -Я)в(zk)] ^ min, (2)

к =1..а

где l(z,k) и e(z,k) - протяженность и продолжительность маршрута z.k соответственно, Я - весовой коэффициент.

Протяженность l(z,k) маршрута z.k складывается из длин путей ц t (т)в U(t), соединяющих следующие друг за другом вершины im, im+1epk, m=1...(&-1). На рис. 1 ^(^=(/,1,2,3,4,5,/). Путь Üm,m,+1(T) является функцией дискретного времени т, по скольку с течением суток оптимальный маршрут, соединяющий вершины im, im+1, может существенно меняться, т= т( tim 1), где t¡я 1 - время отъезда

из вершины /т-1. Подробней алгоритм построения множества й(т) описан ниже.

Длительность в(г,к) маршрута 4 определяется следующим образом.

Пусть время отъезда из текущей вершины ¡т рассчитывается по формуле

I ={С + ст =2--& (3)

[ ^арт | т = 1 ' ()

где ¡д - момент прибытия в вершину ¡т из вершины /т-1; т™"™ - время отправления со склада автомобиля к; - интервал времени, необходимый для разгрузки заказа клиента ¡т<врк, к=1...а.

Величина ¡т складывается из времени отъезда из предыдущей вершины 1 и времени на преодоление расстояния ¡(ц^ у (т)), т= т(^т 1) со средней скоростью м^ц ; (т)), т возвращает номер суточного интервала, соответствующий текущему значению .

„ l(U < (т))

tde = t. + '-ui- , i '1 w(u (т)) m

Pk •

(4)

Время разгрузки if'3' заказа определяется по формуле

Т = td.,,v , m ePk, (5)

veS

где i - среднее количество времени для разгрузки 1 ед. продукции.

Тогда время маршрута отдельно взятого автомобиля 9(z,k) равно величине ij", определяющей время возвращения автомобиля k на склад - вершина igt минус время старта iicma"m

l(U (т))

---, z=z(t. ),i e p , k =

w(u ^ (т)) ''k-1 -k H

Г = t.

¡(йу), йуЕ й, уеР исходных дуг, среднюю скорость движения м(йу,0 в текущем интервале, запрещенные на момент т повороты, дороги с односторонним движением, а также проводит штрафование за совершение поворотов большой крутизны. Алгоритм работает за линейное время.

Применяя алгоритм п(п-1)Т раз, строим упрощенный граф для каждого т. В итоге совокупность множеств й(т), т=1...Т образует полностью допустимое, оптимально сокращенное пространство поиска, учитывающее специфику ГДС, где в каждый момент времени точно известно, каким маршрутом следует двигаться из одной целевой вершины в другую.

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

Поиск маршрутов. Решение задачи маршрутизации транспортных единиц для обслуживания клиентов реализовано в виде ГА.

Архитектура генетического алгоритма

Генетический алгоритм представляет собой методику случайного поиска [5, 6].

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

Метод решения

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

Упрощение исходного графа городской дорожной сети.

Для решения УЯР, в указанной постановке, строим новый граф О=<Р, й(т)>, РсД т=1...Тна основании исходного О, где Р - множество всех клиентов, й(т) - множество путей, соединяющих клиентов оптимальным для суточного интервала образом.

Для построения множеств дуг й(т), т=1...Тприменяем алгоритм Дейкстры [4], который специально модифицируем для этих целей. В модифицированной форме алгоритм учитывает: протяженность

Pj: 1 - 2 - 5 -11 - 7 - 4 - 6 p2:6-11 -7-5-2-1-4

pn:6-7-4-2-11-1-5

(6)

говорит о том, что, если в первый автомобиль можно загрузить только трёх первых клиентов, не нарушая условие (1), то его маршрут будет следующим: 0-1-2-5-0; если все оставшиеся клиенты помещаются в следующий автомобиль, его маршрут будет: 0-11-7-4-6-0, где ноль является складом готовой продукции.

Для запуска поискового процесса необходимо создать стартовую популяцию решений-хромосом. В нашем случае применена смешанная схема инициализации. Часть популяции создана при помощи широко известного метода Ближайшего Соседа (Nearest Neighbour) [7]. При создании оставшихся особей используется генератор случайных чисел, выдающий допустимые последовательности на конечном множестве клиентов P. Подобная схема позволяет существенно улучшить поиск при выраженной кластеризованности клиентов.

Приспособленность альтернативных хромосом

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

1. Цикл оценки альтернатив, где т - размер популяции.

2. Цикл перебора доступного транспорта.

3. Установка времени начала выполнения доставки для привязки к конкретному временному интервалу т.

4. Цикл загрузки заказов клиентов у в текущий автомобиль в порядке, определяемом текущей хромосомой.

5. Проверка наличия места в автомобиле к для загрузки заказа клиента у.

6. Загрузка очередного заказа.

При погрузке заказа корректируется свободное место в автомобиле на соответствующую заказу величину. При этом увеличиваются счетчики пройденного пути и затраченного на дорогу и разгрузку заказа времени на величины соответствующих характеристик дуг и(т), соединяющих соседних в решении клиентов (3-4). Также учитываем и дуги, соединяющие первого и последнего клиента со складом. Корректировка текущего времени / по окончании разгрузки приводит к смене т, если текущее время вышло за границы интервала. Что позволяет выбрать оптимальный маршрут движения к следующему клиенту.

Потенциальное количество заказов, которое можно загрузить, зависит от их объема, следовательно, количество вершин в одном автомобиле

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

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

Сочетание в данном ГА системы представления решений и оценочной процедуры обладает ключевыми для задачи свойствами: в эволюционном процессе происходит параллельный поиск оптимального разбиения вершин по маршрутам и оптимального порядка объезда клиентов внутри каждого подмножества.

Здесь использована стратегия отбора родителей по принципу колеса рулетки и стратегия элитизма. Таким образом, исключается потеря хороших решений при применении генетических операторов. При помощи генетических операторов производится создание новых, ранее не присутствовавших в популяции особей. Сканирование поискового пространства осуществляется операторами скрещивания (кроссинговера), мутации, инверсии. Применен частично - соответствующий оператор скрещивания. Выбор продиктован таким условием задачи, что любой клиент может быть обслужен только однажды и одним автомобилем: рк^р,=0, к к,5=1...а. То есть потомок должен иметь тот же генный состав, что и исходные особи. Модификации проявляются лишь в порядке следования вершин. Существенно улучшить качество решений позволяет применение жадных мутаций - стратегий локального поиска, модифицирующих исходное решение на основе анализа целевой функции или ее некоторых параметров. Описание методов локального поиска и различных генетических операторов широко представлено в литературе и сети Интернет, например, в [5, 6].

Условия останова поиска:

• алгоритм выполнил заданное количество итераций АЬзИ;

• на протяжении ЬоеЫ итераций лучшее решение

не изменяется.

Сравнительные результаты и эффективность подхода

Пробные расчеты на статических тестовых задачах, опубликованных в научной литературе и доступных в сети Интернет, показывают хорошие результаты, сопоставимые с лучшими достижениями, опубликованными в литературе [8]. По многим задачам отклонения достигают меньше 2 %. Стандартных задач на динамических графах не найдено. Следует отметить, что качество решений, в том числе их стабильность, существенным образом зависят от отведенного на поиск времени. Например, для задачи с 200 клиентами при LocN = 200 среднее время поиска составляет 40 с, а разброс результатов может достигать 5...7 % от лучшего найденного алгоритмом решения. При LocN = 2000 среднее время поиска уже равно 7 мин., и разброс составляет 2...3 %.

Предложенный выше подход подразумевает такую стратегию поиска, что найденные на динамическом графе маршруты обеспечивают лучшие результаты при их использовании в реальных условиях, по с сравнению с маршрутами, найденными на статическом графе. Предложена следующая методика оценки эффективности поиска на динамическом графе. Пусть Pl - решение задачи, найденное на статическом графе, P2 - на динамическом. Качество решения определенное по весам статического графа обозначим через L(P), где P - некоторое решение. Оценка решения P на динамическом графе - Н(Г). За оценку снизу примем L(P1), поскольку решение найдено в легких дорожных условиях. Очевидно, худшей оценкой является Н(Г1),

т. к. решение Р1 не учитывает особенностей динамического графа. Через Д1=H(P1)-L(P1) обозначим погрешность моделирования. Тогда эффективность метода решения определим формулой

Н (Р) - Н (Р2)

А 2 =

А,

в предположении, что

L(P1)<H(P2)<H(P1). Чем ближе Д2 к единице, тем больше эффект от моделирования на динамическом графе. Расчеты показали, что Д2«0,6, т. е. моделирование на динамическом графе позволяет сократить примерно на 60 % ошибку моделирования Д1, которая составляет 30 % по отношению к Н(Г1). Причем параметр существенно зависит от степени и структуры загрузки графа, количества и разброса клиентов.

Заключение

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

СПИСОК ЛИТЕРАТУРЫ

1. Christofides N., Eilon S. An algorithm for the vehicle-dispatching problem // Operational Research Quarterly. - 1969. - № 20. -P. 309-318.

2. Christofides N., Mingozzi A., Toth P. The vehicle routing problem. In: Christofides N., Mingozzi A., Toth P., Sandi C., editors. Combinatorial optimization. - London: Wiley, 1979. - 220 р.

3. Минаков И.А. Сравнительный анализ некоторых методов случайного поиска и оптимизации // Известия Самарского НЦ РАН. - 1999. - № 2. - С. 286-293.

4. Кристофидес Н. Теория графов. Алгоритмический подход. -М.: Мир, 1978. - 470 с.

5. Емельянов В.В., Курейчик В.М., Курейчик В.В. Теория и практика эволюционного моделирования. - М.: Физматлит, 2003. -595 с.

6. Материалы сайта http://qai.narod.ru/GA/index.htm

7. Материалы сайта www.citforum.ru

8. Материалы сайта http://neo.lcc.uma.es/radi-aeb/WebVRP// main.html

Поступила 13.11.2006 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.