УДК 656.073.7
ОБ АЛГОРИТМЕ РЕШЕНИЯ ЗАДАЧИ РАЗВОЗКИ И ЕГО РЕАЛИЗАЦИИ
ABOUT THE ALGORITHM OF THE SOLUTION OF THE PROBLEM CARRIAGE
AND ITS REALIZATION
©Иванова А. А.
Южно-Российский государственный политехнический университет им. М. И. Платова г. Новочеркасск, Россия, anna17.5@yandex.ru
©Ivanova A.
Platov South Russian state polytechnic university Novocherkassk, Russia, anna17.5@yandex.ru
©Черноморова Т. С.
Южно-Российский государственный политехнический университет им. М. И. Платова г. Новочеркасск, Россия, tatyana.chernomorova@gmail.com
©Chernomorova T.
Platov South Russian state polytechnic university Novocherkassk, Russia, tatyana.chernomorova@gmail.com
Аннотация. Предложен вариант оригинального алгоритма решения задачи оптимизации планирования развозки груза, который позволит разрабатывать кольцевые маршруты движения транспорта. В результате маршрутизации перевозок достигается сокращение непроизводительных порожних пробегов, повышение качества обслуживания и сокращение транспортных издержек.
Abstract. A variant of the original algorithm for solving the problem of optimisation of cargo delivery planning is proposed, which will allow developing circular routes of transport. As a result of the routeing of traffic, a reduction in unproductive empty runs is achieved, improving the quality of service and reducing transport costs.
Ключевые слова: алгоритм развозки, задача коммивояжера, метод ветвей и границ, кольцевые маршруты движения.
Keywords: carriage algorithm, traveling salesman problem, branch and border method, circular traffic routes.
При оперативном планировании грузоперевозок возникает задача развозки грузов, находящихся в пункте D0, в n различных пунктов Db D2,..., Dn. При этом существует проблема, которая заключается в том, что транспорт отправляют в рейс не по оптимальному маршруту, используя не весь потенциал машины, а именно: транспорт движется с малой загруженностью, либо вообще без груза [1].
В настоящее время работы по тематике оптимизации развозки грузов предлагают решение таких задач, как: оптимизация расписания маршрута перевозки; определение перечня грузов, перевозимых каждым транспортным средством; контроль загруженности транспортного средства; синхронизация движения в зависимости от наличия «пробок» на отдельных участках трассы [2]. Проводятся исследования по управлению транспортными потоками и распределением грузов в системе [3].
При доставке груза потребителям компания разрабатывает маршруты движения. В результате маршрутизации перевозок достигается сокращение непроизводительных порожних пробегов, повышение качества обслуживания и сокращение транспортных издержек.
Маршруты движения могут быть маятниковые и кольцевые. Маятниковые маршруты — путь следования между двумя пунктами неоднократно повторяется. Кольцевые маршруты могут быть [1]:
- с обратным холостым пробегом;
- с обратным пробегом, не полностью загруженным;
- с обратным загруженным пробегом;
- кольцевой маршрут.
При разработке маршрутов за критерий оптимальности могут быть приняты транспортные затраты, себестоимость перевозок, коэффициент использования пробега автомобиля, общий пробег автомобиля и время доставки груза, своевременность доставки груза. В качестве общего критерия оптимальности принимается минимальный пробег транспортного средства [1].
В настоящей работе требуется оптимизировать планирование кольцевых маршрутов развозки груза от одного поставщика нескольким потребителям, переезжая из города в город с возможностью дозагрузки в них, чтобы обеспечить перевозку всех грузов за минимальное время. Схемы организации такого процесса представлены на Рисунке 1.
Один-к-одному
Один-ко-многим
Рисунок 1. Схемы организации процесса развозки груза.
Постановка задачи развозки Основной целью частной транспортной компании является получение максимальной прибыли от рейса. Заключив договор на доставку небольшого груза, диспетчер закрепляет его за транспортным средством (ТС) с самой меньшей грузоподъемностью. Если груз не заполнит весь объем грузового отсека, то можно будет осуществить дозагрузку в другом городе. Таким образом, увеличивается прибыль компании от этого рейса [4].
Задано множество перевозок A. Каждая перевозка p характеризуется городом назначения хп+р^=1, ..., п), городом отправления хр^=1, ..., п) и весом груза рр. Известна матрица расстояний между городами х^ и ху - (с^}. Если эти города в действительности
научный журнал (scientific journal) №4 2017 г.
http://www. bulletennauki. com
являются одним городом, то мы будем их считать разными, а с^у = 0. В базовом городе х0 находятся б ТС грузоподъемностью (§=1, ..., в). Под допустимым круговым маршрутом движения ТС ^ будем понимать перестановку a (х0 , ...,х0), для которой выполняются
следующие условия:
1) если ТС пришло в х^, то оно берет груз ^, если ТС пришло в хп+1, то выгружает груз
41;
2) суммарный вес груза, перевозимого по любой дуге (х^,Д не превышает грузоподъемности ТС Рд .
Требуется так построить круговые маршруты движения транспорта, чтобы минимизировать суммарную длину маршрутов. Следовательно, задача развозки груза сведена к задаче б коммивояжеров, в которой на посещение городов наложено условие частичной упорядоченности.
Алгоритм решения задачи развозки
При б=1 известна целочисленная постановка задачи коммивояжера [5]. Как известно, целочисленные методы являются неэффективными для решения задачи коммивояжера большой размерности. Самым эффективным методом решения этой задачи является метод ветвей и границ.
В работе предлагается оригинальный алгоритм зацикливания метода определения оптимального маршрута для решения задачи развозки груза, который представлен на Рисунке 2.
Рисунок 2. Алгоритм решения задачи развозки груза.
№4 2017 г.
На начальном этапе необходимо найти оптимальный маршрут, учитывая то, что компания получает заказ на перевозку из одного города в другой с возможностью попутной дозагрузки машины, но самое главное — это определиться с городом, в котором имеется груз для доставки в обратном направлении или для продолжения движения по маршруту. Задачу следует решать в несколько этапов.
Транспорт отправляется из исходного города, где получает груз. Груз не обязательно займет весь отсек, поэтому транспорт можно догрузить в одном из попутных городов. В любом случае транспорт будет двигаться через определенное количество городов. Для начала, решая задачу коммивояжера, необходимо найти оптимальный маршрут из исходного города в города попутчики с потенциальной догрузкой. Таким образом, будет найден конечный город прибытия, в котором необходимо найти груз в обратную дорогу и вновь решить задачу коммивояжера.
Формализованное описание алгоритма решения задачи коммивояжера представлено в пособии [5]. Имеется п городов. Заданы расстояния между каждым городом аь а2,.., ап(с^-: а^ ^-ау), где с£уфу¿. Из города надо объехать все города, не побывав ни в одном дважды и вернуться в исходный город. При этом суммарное расстояние должно быть минимальным.
Для решения задачи используется матрица, в которой строки и столбцы — это города, а на их пересечении ( с¿у ) — это расстояния между городами.
Например, груз из города ах= Шахты надо развести в города: а2 = Ростов, а3 = Таганрог, а4 = Краснодар. Таким образом, размерность матрицы расстояний между городами равна 4*4:
^ 31 152 360
31 те 120 284 с- • = ;
4 151 76 те 363'
351 277 352 те
Далее формируется матрица с0, для этого из исходной матрицы вычитается матрица Л ^, которая содержит минимальный элемент из каждой строки:
те 0 121 329
0 0 те 89 253 с0 = ;
75 0 те 287 '
74 0 75 те
Аналогичным образом формируется матрица с1, для этого из полученной матрицы с0 вычитается матрица Л/, которая содержит минимальный элемент из каждого столбца
„ _
Ч
матрицы с0:
те 0 46 76
1 0 те 14 0 с1 = '
75 0 те 34 '
74 0 0 те
Находится нижняя оценка по формуле Е(G0 ) = £ hj + £ hy.
Алгоритм реализован на языке программирования C# в вычислительной среде Microsoft Visual Studio. На Рисунке 3 демонстрируется скрипт функции vichitaem() — это процедура приведения, которая реализует формирование матриц с0 и с1 для определения нижней оценки.
научный журнал (scientific journal) №4 2017 г.
http://www. bulletennauki. com
Затем определяется максимальная оценка перспективной пары (Рисунок 4). Оценка перспективной пары вычисляется по формуле:
д(р, q) = min cfj + min c°7-;
j*q
'ij'
Полученные столбец и строка вычеркиваются, а в клетке (1,2) ставится ю, тем самым
(1)
получаем матрицу с\ .
Рисунок 3. Функция vichitaem().
научный журнал (scientific journal) №4 2017 г.
http://www. bulletennauki. com
biía в11д проект сборка отладка команда сервис тест архитектура .net reflector анализ окно спра
0 - Ö И иР 9 ■
► Запуск » Forml.cs [Конструктор]
Debug - рй -; Ъ
Forml.cs -ö X
wsForm sAppl ¡ cati onö.Forml
▼ Forml_ILoad(object sender, EventArgs e)
int[,] matr_summ - new int[nj n]j int min_st:roka = 999j int min_stolb = 999;
for (int i = Э; i < n; i++)// 1 i
iriin_stroka - 999j irin_stolb = 939;
for (int j = 0; j < n; j++)
{
if (matr[i, j] >= 0)
{
if (matr[iJ j] == 9)
{
for (int k = 0; k < n; k++) {
if (matr[i, k] >= 0)
{
if (natr[ij k] < min_stolb && natr[ij k] >= 0 &ä k != j) min_stolb = matr[i, k];
}
}
for (int m = Q; ra < nj m-H-) {
if (matr[m, j] >=0)
{
if (matrfnij j] < min_Etroka S& mat г [п., j] >= 0 S& m != i) min_stroka = mat г [п., j];
}
}
raatr_sunrn[ij j] = rain_stroka + min_stolb;
}
}
Рисунок 4. Вычисление перспективной пары.
Матрица с(1) определяется аналогичным образом из исходной матрицы с1 исключением полученного маршрута (2,1) и в соответствующей клетке ставится ю.
После получения матриц с(1) и с(1) определяем их оценки по формуле:
= Е(Со ) + ^ + 2йу.
Нас интересует та матрица, для которой оценка минимальная. Итерационный процесс продолжается до тех пор, пока не будет найден оптимальный маршрут (Рисунок 5).
Оптимальный маршрут 1=>2=>4=>3 демонстрирует последовательность посещения городов в течение рейса, в процессе которого будет пройдено наименьшее расстояние, следовательно, затрачено минимум топлива и минимум времени. Экономия на издержках позволяет увеличить прибыль предприятия от данного рейса.
Найдя оптимальный маршрут следования из города в город, можно перейти к следующему этапу решения задачи развозки, учитывая вид дорог (одностороннее или двустороннее движение), пробки, остановки транспорта.
научный журнал (scientific journal) №4 2017 г.
http://www. bulletennauki. com
Шахты
Та ганрог
Рисунок 5. Оптимальный маршрут.
Разбив полученный маршрут на более мелкие маршруты, можно точнее решить задачу развозки. Такие подзадачи также относятся к задаче коммивояжера, но для решения можно использовать алгоритм Дейкстры. Суть алгоритма заключается в следующем: в ориентированной, неориентированной или смешанной сети найти кратчайший путь между двумя заданными городами.
Таким образом, решая новые подзадачи, можно учитывать маршрут следования транспорта по дорогам с односторонним движением и найти новый, более оптимальный маршрут.
В рамках оптимального маршрута (Рисунок 5) развозки груза из пункта 1 (город Шахты) в пункт 2 (город Ростов) можно проложить ряд новых маршрутов через город Новочеркасск или через станицу Грушевская с односторонним движением транспорта. Учитывая тот факт, что на трассе Шахты-Ростов движению транспорта часто препятствуют «пробки», можно разработать новые маршруты через эти пункты, получив в итоге более прибыльный рейс (Рисунок 6). Но решение этой задачи — тема для следующей статьи.
Эффективность и простота используемого алгоритма (Рисунок 2) делает его отличным инструментом для решения задачи развозки. В результате выполнения программы на С# найден оптимальный маршрут 1=>2=>4=>3. Далее предстоит дорога домой — в город Шахты.
Шахты
Новочеркасск
Рисунок 6. Нахождение более выгодного маршрута.
Заключение
Определив конечный город, осуществив поиск обратного груза, заново решается задача коммивояжера. Только в данном случае задача будет нециклической, так как начальная и конечная точки маршрута фиксированы (3=>1). При построении обратного маршрута могут появиться новые населенные пункты, но конечным останется тот, из которого первоначально состоялось отправление. Возможный новый маршрут изображен на Рисунке 5, а именно: 3=>6=>5=>4=>7=>1.
Предложенный оригинальный алгоритм позволит оптимизировать планирование развозки грузов путем разработки новых маршрутов движения транспортных средств.
В статье представлены отдельные скрипты оригинального алгоритма на языке высокого уровня C#, которые предстоит дополнить и улучшить на этапе выполнения выпускной квалификационной работы.
Список литературы:
1. Бауэрсокс Д. Д., Клосс Д. Д. Логистика. М.: ОЛИМП-БИЗНЕС, 2008. 636 с.
2. Блинов И. В. Моделирование процесса развозки однородного груза от однородного отправителя нескольким получателям: дис. ... канд. физ.-мат. наук. Воронеж, 2010. 182 с.
3. Лебедева О. А., Антонов Д. В. Международный опыт оптимизации грузовых перевозок в городской среде // Международный союз ученых «Наука. Технологии. Производство». 2015. №3 (7). Ч. 1. С. 21-23.
4. Бородин Д. В. Оптимизация и управление в системе транспортной логистики // Экономика и предпринимательство. 2014. №12-3 (53-3). С. 712-716.
5. Черноморов Г. А. Теория принятия решений: учебное пособие. 3-е изд. перераб. и доп. Новочеркасск: Изв. вузов. Электромеханика, 2005. 276 с.
References:
1. Bauersoks, D. Dzh., & Kloss, D. Dzh. (2008). Logistika. Moscow, OLIMP-BIZNES, 636.
2. Blinov, I. V. (2010). Modelirovanie protsessa razvozki odnorodnogo gruza ot odnorodnogo otpravitelya neskolkim poluchatelyam. Dissert. kand. fiz-mat. nauk. Voronezhsk. gos. tekh. akademiya, Voronezh, 182.
3. Lebedeva, O. A., & Antonov, D. V. (2015). Mezhdunarodnyi opyt optimizatsii gruzovykh perevozok v gorodskoi srede. Mezhdunarodnyi soyuz uchenykh "Nauka. Tekhnologii. Proizvodstvo", (3-1), 21-23.
4. Borodin, D. V. (2014). Optimizatsiya i upravlenie v sisteme transportnoi logistiki. Ekonomika ipredprinimatelstvo, (12-3), 712-716.
5. Chernomorov, G. A. (2005). Teoriya prinyatiya reshenii: uchebnoe posobie. 3-e izd. pererab. i dop. Novocherkassk, Izv. vuzov. Elektromekhanika, 276.
Работа поступила Принята к публикации
в редакцию 24.03.2017 г. 28.03.2017 г.
Ссылка для цитирования:
Иванова А. А., Черноморова Т. С. Об алгоритме решения задачи развозки и его реализации // Бюллетень науки и практики. Электрон. журн. 2017. №4 (17). С. 107-114. Режим доступа: http://www.bulletennauki.com/ivanova-chernomorova (дата обращения 15.04.2017).
Cite as (APA):
Ivanova, A., & Chernomorova, T. (2017). About the algorithm of the solution of the problem carriage and its realization. Bulletin of Science and Practice, (4), 107-114.