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

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

CC BY
883
68
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГРУЗОВАЯ ЖЕЛЕЗНОДОРОЖНАЯ ПЕРЕВОЗКА / КОМБИНАТОРНАЯ ОПТИМИЗАЦИЯ / БАЗА ДАННЫХ / ГРАФ ЖЕЛЕЗНЫХ ДОРОГ / МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ / FREIGHT RAIL TRANSPORTATION / COMBINATORIAL OPTIMIZATION / DATABASE / RAILWAYS GRAPH / MATHEMATICAL MODELING

Аннотация научной статьи по математике, автор научной работы — Музычин Владимир Витальевич

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

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

A solution of the transport task in relation to the cargo rail transportation

A task of searching of the optimal route maximizing the carrier profits is formulated. А сomparison of several methods of this task solution is carried out.

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

29. Биркгоф Г., Барти Т. Современная прикладная алгебра. М., 1976.

30. Давыдова Е. М., Леденева Т. М., Мещеряков Р. В., Подвальный С. Л. Дискретная математика : учебник. Томск, 2007.

31. Журавлёв Ю. И., Флёров Ю. А., Вялый М. Н. Дискретный анализ. Формальные системы и алгоритмы : учеб. пособие. М., 2010.

32. Мендельсон Э. Введение в математическую логику. М., 1976.

33. Кэрролл Л. История с узелками. М., 2000.

34. Carroll L. Symbolic Logic. URL: http://www.twirpx.com/file/117987/ (дата обращения: 20.11.2016).

38

Об авторе

Сергей Валентинович Мациевский — канд. физ.-мат. наук, доц., Балтийский федеральный университет им. И. Канта, Калининград. E-mail: [email protected]

About the author

Dr Sergey Matsievsky, ass. prof., I. Kant Baltic Federal University, Kaliningrad. E-mail: [email protected]

УДК 51-77: 338.47

В. В. Музычин

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

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

A task of searching of the optimal route maximizing the carrier profits is formulated. A mmparison of several methods of this task solution is carried out.

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

Key words: freight rail transportation, combinatorial optimization, database, railways graph, mathematical modeling.

Введение

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

© Музычин В. В., 2017

Вестник Балтийского федерального университета им. И. Канта.

Сер.: Физико-математические и технические науки. 2017. № 1. С. 38 — 47.

1. Постановка задачи поиска оптимального маршрута

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

В такой постановке задача называется по-английски prize-collecting traveling salesman problem with time windows (PC TSP WTW). Для решения PC TSP в работе [1] был предложен эвристический метод, в [2] было найдено точное решение методом ветвей и границ, а в [3; 4] предложено решение с использованием метода введения нормы на многограннике.

Решение TSP WTW было дано в [5].

Авторы статьи [6] свели PC TSP WTW к поиску наибольшей монотонной подпоследовательности.

39

2. Описание математической модели

Опишем исходные параметры модели.

Исходя из экспертных оценок, сделаем вывод, что максимальный радиус подбора не будет превышать 600 км. Это связано с тем, что согласно прейскуранту № 10-01 «Тарифы на перевозки грузов и услуги инфраструктуры, выполняемые российскими железными дорогами» тариф за порожний пробег на такие расстояния составляет 15 руб./км. При средней цене аренды полувагона в 2015 г. 500 руб./сутки подбор груза на большем расстоянии является экономически нецелесообразным. Из Правил исчисления сроков доставки грузов порожних грузовых вагонов железнодорожным транспортом от 7 августа 2015 г. № 245 следует, что порожний пробег на расстояние до 199 км происходит со скоростью 110 км/ сутки, а на расстояние до 599 км — 160 км/ сутки. Кроме того, согласно пункту 5.1 вышеуказанных правил требуется еще двое суток на операции, связанные с отправлением и прибытием груза порожних вагонов. Все эти ограничения нашли отражение в математической модели грузоперевозок.

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

1) сумма денежного вознаграждения;

2) срок перевозки груза в днях;

3) пункт отправления;

4) пункт прибытия.

Срок перевозки рассчитывается согласно правилам РЖД, а сумма вознаграждения — случайным образом в диапазоне сумм от 400 до 600 руб./сутки.

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

40

3. «Жадные» алгоритмы

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

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

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

2) их логика предусматривает обход всех вершин.

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

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

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

_ = ТЯ - ТС, (1)

где л — прибыль собственника вагона; ТЯ — выручка, полученная за исполнение заявки; ТС — стоимость порожнего пробега.

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

Алгоритм 3 максимизирует среднедневную прибыль собственника вагона, рассчитываемую по формуле (1):

_ ТЯ - ТС

_ = -—Г—- , (2)

- Ъ + К

где _ — среднедневная прибыль при исполнении заявки; — дата прибытия вагона на погрузку по заявке; — дата освобождения вагона после разгрузки по заявке; Ье — дни, затраченные на порожний пробег.

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

4. Алгоритмы, рассчитывающие на шаг вперед

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

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

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

41

5. Алгоритмы с интегральной оценкой заявки

Алгоритмы 7—10 вводят интегральную оценку каждой заявке. В них в первую очередь выполняются заявки с максимальной оценкой среди заявок из радиуса подбора. Среди заявок с равной оценкой выбирается ближайшая. Если на одном из шагов в радиусе подбора заявок нет, выбираем ближайшую заявку.

Фактически мы по определенным критериям выделяем «хорошие» места на карте и стараемся двигать вагоны в них.

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

А с другой стороны — экспортный порт, в который нужно везти товар, но «выбраться» из него сложно.

Алгоритм 7 оценивает заявку по формуле

Я = ТЯБ (к +1) + У ТЯ( к-Г— +1). (3)

г

Суммирование производится по всем заявкам, находящимся в радиусе подбора от станции назначения исходной заявки.

42

Здесь Я — оценка исходной заявки; ТЯБ — выручка от исполнения исходной заявки; г — радиус подбора; й — расстояние от станции назначения исходной заявки до станции отправления суммируемой заявки; к — весовой коэффициент.

Алгоритм 8 усредняет оценку, полученную по формуле (3), рассчитывая ее по формуле

Я =

ТЯВ( к+1)+Х-

0, N = 0,

ТЯ( к — +1)

N

-, N > 0,

где N — общее количество просуммированных заявок.

Суммирование производится по всем заявкам, находящимся в радиусе подбора от станции назначения исходной заявки.

Алгоритм 9 дополнительно учитывает стоимость порожнего пробега, рассчитывая ее по формуле

Я =

я, (к +1) + Х-

0, N = 0,

,, г - й „. к( к-+1)

N

-, N > 0,

где прибыль собственника вагона рассчитывается по формуле (1).

Суммирование производится по всем заявкам, находящимся в радиусе подбора от станции назначения исходной заявки.

Алгоритм 10 формирует оценку по среднедневной прибыли от заявок, находящихся в радиусе подбора от станции назначения исходной заявки, рассчитывая ее по формуле

Я =

(к +1) + Х-

0, N = 0,

г - й „. к( к-+1)

N

-, N > 0,

где п — среднедневная прибыль, рассчитывается по формуле (2).

Суммирование производится по всем заявкам, находящимся в радиусе подбора от станции назначения исходной заявки.

6. Результаты численных экспериментов 6.1. Виды графов

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

Расчеты проводились на разных типах входных данных.

1. Плотный граф представляет собой сетку из 16 вершин с 34 ребрами. Здесь и далее расстояния между вершинами указаны в сотнях километров. Средняя степень вершин — 4,25. Его внешний вид, в сравнении с Московской железной дорогой (рис. 2), изображен на рисунке 1.

Рис. 2. Московская железная дорога

2. Граф средней плотности, изображенный на рисунке 3, является сеткой из 16 вершин, но с 17 ребрами. Средняя степень вершин — 2,125. Похожую структуру имеет Западно-Сибирская железная дорога.

44

Рис. 3. Пример графа средней плотности

3. Разреженный граф представляет из себя сетку из 16 вершин, но уже с 15 ребрами (рис. 4). Средняя степень вершин — 1,875. Он моделирует Дальневосточную железную дорогу.

Рис. 4. Пример разреженного графа

6.2. Виды распределения заявок

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

1. Сильное распределение заявок предполагает наличие 10 заявок в каждой из вершин (всего 160 заявок).

2. Среднее распределение заявок предполагает наличие 0—5 заявок в каждой из вершин (всего в среднем 30 — 50 заявок).

3. Слабое распределение заявок предполагает наличие 0—2 заявок в каждой из вершин (всего в среднем 10 — 20 заявок).

4. Локальное распределение заявок предполагает наличие в графе со слабым распределением подграфов с сильным распределением заявок, а также подграфов с полным отсутствием заявок (всего в среднем 35 — 55 заявок).

6.3. Сравнение алгоритмов

В качестве подробных числовых расчетов приведем сравнение эффективности вышеописанных 10 алгоритмов на графе средней плотности и радиусе подбора 600 км. Эти числовые расчеты сведены в таблицу 1.

Таблица 1

Сравнение эффективности алгоритмов на графе средней плотности и радиусе подбора 600 км, максимальная эффективность — 100 % (знак % опущен)

45

Номер алгоритма и Дни

его характеристика 10 30 50 70 80 90

1 100 87,52 89,56 88,33 89,29 89,26

2 75,3 80,13 75,04 82,25 78,81 81,08

3 100 78,23 91,9 93,19 89,07 89,75

4 63,25 81,16 100 99,99 100 100

5 74,96 79,82 91,08 88,12 90,25 90,09

6 96,98 100 93,52 95,18 96,06 91,63

7. К = 0,1 51,33 57,59 75,32 75,58 78,58 80,5

7. К = 1 74,96 79,82 75,25 82,39 78,85 81,24

7. К = 10 74,96 77,29 81,96 85,75 82,33 84,62

8. К = 0,1 50,97 56,88 68,01 76,41 73,09 75,94

8. К = 1 50,97 57,59 60,21 70,14 67,77 70,94

8. К = 10 75,3 79,09 74,85 81,67 78,28 80,45

9. К = 0,1 74,96 78,78 83,09 93,42 88,9 90,72

9. К = 1 74,96 78,78 82,97 93,2 88,63 90,16

9. К = 10 74,96 78,78 83 88,54 84,41 86,31

10. К = 0,1 100 90,79 91,26 100 99,07 98,62

10. К = 1 100 89,5 98,3 98,47 98,8 98,82

10. К = 10 45,59 86,02 87,5 94,81 94,84 94,21

6.4. Описание результатов

В плотном графе наиболее быстро и с приемлемым качеством оценки работают алгоритмы 1 — 3. Это связано с тем, что эти алгоритмы не зависят от выбора радиуса, а при большом объеме заказов и их равномерном распределении естественным образом минимизируется количество порожних перегонов и, следовательно, максимизируется прибыль.

На всех типах распределения заказов были выявлены следующие закономерности.

__При Я = 6 наилучшие результаты показывают алгоритмы 4 — 5, а

46 также интегральная оценка алгоритма 8.

При увеличении радиуса до 12 качество оценки вышеупомянутых алгоритмов сохраняется, в то же время качество оценки алгоритмов 9 и 10 падает.

При Я ^ 18 алгоритмы 4 — 5 и 8 сохраняют стабильность, в то время как качество оценки алгоритмов 9 и 10 по-прежнему снижается.

Экспериментальным образом выявлено, что алгоритмы 7—10 предоставляют наилучшую оценку при К = 1.

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

В графе средней плотности при сильном распределении заказов помимо ожидаемо успешного результата алгоритмов 1—3 один из лучших результатов демонстрирует алгоритм 10.

В графе средней плотности при среднем распределении заказов и Я = 6 алгоритмы 4—5 показывают наилучший результат. Увеличение радиуса до 12 не улучшает качества алгоритма 10, как это было в случае плотного графа. Это обусловлено уменьшением количества вершин и увеличением расстояний между ними. Данное утверждение также подтверждается тем фактом, что при Я ^ 18 результаты работы алгоритма 10 улучшаются.

В графе средней плотности при слабом распределении заказов, а также при локальном распределении и малых радиусах (Я < 18) не удается однозначно определить алгоритм, демонстрирующий лучшие результаты. При Я ^ 18 алгоритмы 4 — 6 и алгоритмы 7—10 незначительно преобладают в качестве предоставляемых результатов.

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

Выводы

Для графов любой плотности при сильном распределении заказов наиболее оптимально использовать группу алгоритмов 4 — 6. Они дают приемлемый результат и имеют высокую скорость работы.

Для графов высокой плотности при среднем, слабом и локальном распределении заказов наилучшие результаты показывают алгоритмы 4 — 6, а также интегральные алгоритмы 8 — 10.

Алгоритмы 4 — 6 более стабильны и слабо зависят от изменения радиуса подбора R.

Алгоритмы 7—10 менее стабильны и более зависимы от топологии графа и распределения заявок, а также от радиуса подбора R, но в некоторых случаях дают лучший результат.

Слишком малые радиусы неэффективны для алгоритмов 4 — 10 на графах средней плотности и разреженных графах.

Слишком большие радиусы замедляют работу алгоритмов 4 — 10.

В группе «жадных» алгоритмов 1 — 3 наилучшие результаты показывает алгоритм 3, учитывающий при расчетах среднедневную прибыль.

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

Список литературы

1. Balas E., Martin G. ROLL-A-ROUND: Software Package for Scheduling the Rounds of a Rolling Mill. Pittsburgh, PA, 1986.

2. Fischetti M., Toth P. An additive approach for the optimal solution of the prize-collecting travelling salesman problem // Vehicle Routing: Methods and Studies. North-Holland, 1988. P. 319-343.

3. Balas E. The prize collecting traveling salesman problem // Networks. 1989. Vol. 19. P. 621-636.

4. Balas E. The prize collecting traveling salesman problem: II. Polyhedral results // Ibid. 1995. Vol. 25. P. 199-216.

5. Focacci F., Lodi A., Milano M. A hybrid exact algorithm for the TSPTW // INFORMS Journal on Computing. 2002. № 14 (4). Р. 403—417.

6. Bar-Yehuda R., Evenb G., Shahar S. (M.) On Approximating a Geometric Prize-Collecting Traveling Salesman Problem with Time Windows / / Journal of Algorithms. 2005. April. P. 76-93.

Об авторе

Владимир Витальевич Музычин — асп., Балтийский федеральный университет им. И. Канта, Калининград.

E-mail: [email protected]

About the author

47

Vladimir Muzychin, PhD student, I. Kant Baltic Federal University, Kaliningrad.

E-mail: [email protected]

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