Научная статья на тему 'Разработка алгоритма для комплексного решения задач транспортной логистики'

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

CC BY
1666
208
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕРАКТИВНАЯ СИСТЕМА МАРШРУТИЗАЦИИ / INTERACTIVE ROUTING SYSTEM / КОМПЛЕКСНАЯ ЗАДАЧА ТРАНСПОРТНОЙ ЛОГИСТИКИ / THE COMPLEX PROBLEM OF TRANSPORT LOGISTICS / АЛГОРИТМ МУРАВЬИНОЙ КОЛОНИИ / ANT COLONY ALGORITHM / ФЕРОМОН / PHEROMONE

Аннотация научной статьи по математике, автор научной работы — Плотников О.А., Подвальный Е.С.

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

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

DEVELOPMENT OF THE ALGORITHM TO SOLVING THE COMPLEX PROBLEM OF TRANSPORT LOGISTICS

An algorithm for solving the complex problems of transport logistics, which is based on ant colony algorithm, is developed.

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

УДК 004.023

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

О.А. Плотников, Е.С. Подвальный

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

Ключевые слова: интерактивная система маршрутизации, комплексная задача транспортной логистики, алгоритм муравьиной колонии, феромон

1. Постановка задачи

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

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

Классическая задача о коммивояжере состоит в следующем. Имеется п точек, пронумерованных числами от 1 до п. Для любой пары точек (ц) задано расстояние су > 0 между ними (су может означать не только расстояние, но и время, путевые расходы и прочее, поэтому в общем случае не предполагается, что су = с^). Выехав из исходного точки, коммивояжер должен вернуться в нее, побывав во всех остальных точках ровно по одному разу. Исходной точкой для данного случая является склад. Требуется найти маршрут минимальной длины.

Иными словами, необходимо минимизировать функцию

Дх) = СШ2 + СЙ13 + ... + С1Ш1 (1)

на множестве X допустимых маршрутов. Множество X в данном случае содержит п! элементов, поэтому решить задачу методом полного перебора, при достаточно больших п, нереально, так как это требует огромных вычислительных затрат [3]. Так, например, количество комбинаций для 20 точек равно 20! = 2 432 902 008 176 640 000.

На практике необходимо уточнить задачу о коммивояжере. В реальных условиях мы

Плотников Олег Александрович - ВГТУ, аспирант, e-mail: oleg_plotnik@mail.ru, тел. (473)243-77-18 Подвальный Евгений Семенович - РАНХиГС, д-р техн. наук, профессор, e-mail: nauka@rags.vrn.ru 102

сталкиваемся с рядом ограничений, накладываемых на дорожный граф:

1) ограничение скорости;

2) средняя скорость движения по данной дороге в зависимости от времени в течение дня;

3) ограничения по габаритам и массе ТС.

Исходя из этого, расстояние между двумя

точками не является константой, т.к. во-первых, для разных ТС могут быть различные ограничения по габаритам и массе, во-вторых, в разное время дня выгоднее выбрать тот или иной путь в зависимости от загруженности дорог (средней скорости движения).

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

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

Классическая задача о рюкзаке с возможностью единичного выбора предметов в общем виде может быть представлена так: из множества предметов со свойствами «стоимость» и «вес», требуется отобрать некое число предметов таким образом, чтобы получить максимальную суммарную стоимость при одновременном соблюдении ограничения на суммарный вес [4].

В нашем случае задача о рюкзаке имеет следующие особенности:

1) нет свойства «стоимость»;

2) помимо ограничения по весу, присутствуют ограничения по объему (габариты грузового отделения автомобиля);

3) присутствует ограничение на укладку предметов друг на друга, каждый товар выдерживает определенный вес;

4) загрузка автомобиля должна производиться в порядке обратном порядку посещения

точек доставки, т.е. товар в ближайшие точки должен находиться ближе к двери.

Таким образом, на входе алгоритма мы имеем дорожный граф с нерегулярным весом (время проезда между двумя точками) ребер и ограничениями по массе и габаритам ТС, парк автомобилей со своими характеристиками и список заявок на доставку с товарами.

В общем виде поставленную задачу можно сформулировать следующим образом:

тгат

(2)

где 1;к - время пути между точками к и к+1,

^ - время пути из точки п в точку 0, п - количе-»к

ство точек доставки,--загрузка транспорта в

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

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

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

1) чем короче путь, тем меньше расход топлива - оптимизация по первому критерию;

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

Далее будем рассматривать оптимизацию именно по количеству расхода топлива, т.е.

Е^-икй! (3)

где к - количество рейсов, Ук - затраченный объем топлива.

2. Применение муравьиных алгоритмов для решения задачи коммивояжера

Муравьиные алгоритмы (МА) представляют собой вероятностную жадную эвристику,

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

Моделирование поведения муравьёв связано с распределением феромона на тропе -ребре графа в задаче коммивояжёра. При этом вероятность включения ребра в маршрут отдельного муравья пропорциональна количеству феромона на этом ребре, а количество откладываемого феромона пропорционально длине маршрута. Чем короче маршрут, тем больше феромона будет отложено на его рёбрах, следовательно, большее количество муравьёв будет включать его в синтез собственных маршрутов. Моделирование такого подхода, использующего только положительную обратную связь, приводит к преждевременной сходимости - большинство муравьёв двигается по локально оптимальному маршруту. Избежать этого можно, моделируя отрицательную обратную связь в виде испарения феромона. При этом если феромон испаряется быстро, то это приводит к потере памяти колонии и забыванию хороших решений, с другой стороны, большое время испарения может привести к получению устойчивого локального оптимального решения [2].

3. Алгоритм решения комбинированной задачи транспортной логистики с использованием муравьиного алгоритма

Для решения поставленной задачи используем следующий алгоритм, в котором будем использовать МА и его формулировки:

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

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

3. Прохождение маршрута. Стартовой точкой, куда помещается транспортное средство, является склад или автопарк, где находится конкретное ТС. Далее выбранный автомобиль проходит маршрут в соответствии с локальными правилами поведения при выборе маршрута,

т.е. вероятности перехода из вершины 1 в вершину )

1) Муравьи имеют собственную «память». Каждая точка доставки может быть посещена только один раз. В отличие от классического МА, где муравьи запоминают посещенные точки, в нашем случае в виду того, что каждое ТС посещает некоторое количество точек, необходимо знать список непосещенных точек. Обозначим через 11к список точек, которые необходимо посетить автомобилю к, находящемуся в городе 1.

2) Муравьи обладают «зрением» - видимость есть эвристическое желание посетить город _), если ТС находится в городе 1. Будем считать, что видимость обратно пропорциональна расстоянию между городами П) = 1/ Б).

3) Муравьи обладают «обонянием» -транспортные средства могут «улавливать» след феромона, подтверждающий желание посетить город ) из города 1 на основании опыта других ТС. Количество феромона на ребре (у) в момент времени 1 обозначим через Тщ(1;).

4) На этом основании мы можем сформулировать вероятностно-пропорциональное правило, определяющее вероятность проезда к-ого транспортного средства из точки 1 в точку ):

=.>■.,:-..::■■■:■..:■' (4)

где а, в - параметры, задающие веса следа феромона. При а = 0 алгоритм вырождается до жадного алгоритма (будет выбрана ближайшая точка доставки). Заметим, что выбор точки является вероятностным, правило (4) лишь определяет ширину зоны точки ). В общую зону всех точек 11к бросается случайное число, которое и определяет выбор автомобиля. Правило (4) не изменяется в ходе алгоритма, но у двух разных ТС значение вероятности перехода будут отличаться, т.к. они имеют разный список разрешённых точек доставки.

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

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

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

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

5. После того как выполнены условия остановки по предыдущему пункту, запоминаем сформированные маршруты с соответствующими схемами загрузки и оценками. Затем повторяем пункты 2-5, это необходимо для формирования популяции решений. Количество повторов в данном случае является для классического МА размером колонии муравьев.

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

= " "т"л ' (5)

Правила внешней среды определяют, в первую очередь, испарение феромона. Пусть р [0,1]есть коэффициент испарения, тогда правило испарения имеет вид

1+ Дх,

(6)

где т - количество популяций решений [1,2].

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

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

Дте = в * (¿/1? (8)

4. Муравьиный алгоритм для решения комплексной задачи транспортной логистики в псевдокоде

1) Инициализация данных о карте, транспортных средствах и заявках на доставку.

2) Инициализация параметров алгоритма.

3) Инициализация рёбер - присвоение видимости и начальной концентрации феромона.

4) Выбор начального кратчайшего маршрута и определение Ь* //Основной цикл

5) Цикл по времени жизни колонии 1=1, 1тах.

6) Цикл по всем решениям из популяции решений к=1,т.

7) Цикл по всем транспортным средствам до выполнения всех заявок или ограничения по времени рабочего дня.

8) Построить маршрут Тк(1) по правилу (4) и рассчитать расход топлива Ьк(1).

9) Конец цикла по транспортным средствам.

10) Конец цикла по всем решениям.

11) Проверка всех Ьк(1) на лучшее решение по сравнению с Ь*.

12) В случае если решение Ьк(1) лучше, обновить Ь* и Т*.

13) Цикл по всем рёбрам графа.

14) Обновить следы феромона на ребре по правилам (5), (6) и (7).

15) Конец цикла по рёбрам

16) Конец цикла по времени

17) Вывести оптимальное решение T* и его расход топлива L*

Сложность данного алгоритма зависит от времени жизни колонии (t max), количества городов (n) и количества решений в популяции (m).

5. Вывод

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

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

Литература

1. Marco Dorigo, Thomas Stützle. Ant colony optimization // A Bradford book, 2004.

2. Штовба С.Д. Муравьиные алгоритмы // Expo-nenta Pro. Математика в приложениях, 2003, №4, с.70-75.

3. Travelling salesman problem [Электронный ресурс] — Режим доступа: http://ru.wikipedia.org/wiki/tra-velling_salesman_problem, свободный. — Загл. с экрана.

4. Задача о рюкзаке [Электронный ресурс] — Режим доступа: http://ru.wikipedia.org/wiki/задача_о_рюк-заке, свободный. — Загл. с экрана.

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

5. Муравьиный алгоритм [Электронный ресурс] — Режим доступа: http://ru.wikipedia.org/wiki/муравьиный_ алгоритм, свободный. — Загл. с экрана.

Воронежский государственный технический университет

Российская академия народного хозяйства и государственной службы при Президенте Российской Федерации

DEVELOPMENT OF THE ALGORITHM TO SOLVING THE COMPLEX PROBLEM OF

TRANSPORT LOGISTICS

O.A. Plotnikov, E.S. Podvalniy

An algorithm for solving the complex problems of transport logistics, which is based on ant colony algorithm, is developed

Key words: interactive routing system, the complex problem of transport logistics, ant colony algorithm, pheromone

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