РО! 10.17323/2587-814Х.2022.2.7.20
Снижение размерности в задаче оптимального управления парком грузовых вагонов с использованием беспилотных локомотивов
Ф.А. Белоусов 0
Е-таП: [email protected]
Н.К. ХачатрянО
Е-таП: [email protected]
И.В. Неволин О
Е-тш!: [email protected]
Центральный экономико-математический институт Российской академии наук Адрес: Россия, 117418, г. Москва, Нахимовский проспект, д. 47
Аннотация
В работе рассматривается задача оптимального управления парком грузовых вагонов транспортным железнодорожным оператором. Решением данной задачи является оптимальный план, представляющий собой расписание движения грузовых и порожних железнодорожных вагонов, следуя которому транспортный оператор получит максимальную прибыль за расчетный период времени. Данная проблема сводится к задаче линейного программирования большой размерности. В отличие от работ других авторов по данной тематике, в которых в основном речь идет о методах численного решения соответствующих задач линейного программирования, в данной статье акцент делается на алгоритме, позволяющем снижать их размерность. Этого удается достичь благодаря исключению из расчета тех маршрутов, которые заведомо не смогут быть задействованы в решении, либо вероятность участия которых в итоговом решении оценивается как крайне низкая. Эффективность предложенного модифицированного алгоритма была подтверждена как на модельном примере (несколько станций, короткий горизонт планирования), так и на реальном примере (более 1000 станций, длинный горизонт планирования). В первом случае наблюдалось снижение размерности задачи на 44%, тогда как во втором — в 30 раз.
Ключевые слова: железнодорожные грузоперевозки, оптимальный план, оптимальное управление парком вагонов, линейное программирование, теория расписаний, исследование операций, беспилотные локомотивы
Цитирование: Белоусов Ф.А., Хачатрян Н.К., Неволин И.В. Снижение размерности в задаче оптимального управления парком грузовых вагонов с использованием беспилотных локомотивов // Бизнес-информатика. 2022. Т. 16. № 2. С. 7-20. РО1: 10.17323/2587-814Х.2022.2.7.20
Введение
Одним из наиболее востребованных для грузоперевозок видов транспорта в Российской Федерации является железнодорожный. Публикации, посвященные железнодорожной логистике, по типу исследуемых задач можно разбить на следующие основные группы:
♦ задачи проектирования инфраструктуры железнодорожной сети;
♦ задачи железнодорожного планирования;
♦ задачи управления парком локомотивов и вагонов.
В первой группе можно выделить работы [1—4].
Вторая группа, в частности, представлена задачами формирования расписания движения грузовых поездов, а также задачами формирования грузовых потоков [5, 6]. Один из подходов к формированию грузопотока представлен в работах Хачатряна Н.К. и Бекларяна Л.А. [7—16]. В них представлены макроскопические динамические модели, в которых процесс организации железнодорожных грузоперевозок представляет собой формирование грузопотока на основе взаимодействия соседних станций. Эти модели позволяют прогнозировать динамику загруженности станций и потоков, возникающих на железнодорожной сети, при заданной процедуре организации грузопотока. Рассматривается несколько конфигураций участка железнодорожной сети. Первая — представляет собой протяженный участок железнодорожной сети и характеризуется бесконечным числом станций, как в одну, так и в другую сторону и предполагает отсутствие узловых станций. Такая конфигурация транспортной сети подходит для описания транснациональных перевозок (например, перевозки по транссибирской железнодорожной магистрали протяженностью более 9000 км). Вторая конфигурация задает движение грузопотока по замкнутой цепочке станций. Третья — характеризуется конечным числом станций и определяет движение грузопотока между двумя узловыми станциями.
Представленная работа посвящена задаче оптимального управления парком железнодорожных грузовых вагонов. Перед железнодорожными транспортными операторами стоит задача оптимального с точки зрения максимизации прибыли управления парком грузовых вагонов. Такое управление осуществляется, с одной стороны, на основе дислокации вагонов, с другой — на основе заявок на транспортировку грузов. Заявки подаются клиентами, в каждой заявке указывается пункт отправле-
ния, пункт назначения, объем перевозимого груза, выраженный в вагонах, и ставка, которую заплатит заказчик за каждый вагон перевезенного груза. Кроме ставки, которую заказчик платит транспортному оператору за предоставление вагонов, он также оплачивает услуги РЖД за транспортировку груженых вагонов. Затраты на транспортировку порожних вагонов покрываются транспортным оператором. Из всего списка заявок транспортный оператор выбирает те, которые ему наиболее выгодно исполнять. Любая выбранная заявка может быть выполнена как полностью, так и частично. В соответствии с дислокацией вагонов и имеющимся списком заявок создание плана управления вагонами подразумевает составление расписания движения груженых и порожних вагонов с учетом известных временных нормативов. Таким образом, ставится задача поиска оптимального плана управления парком грузовых вагонов на определенный период времени (как правило, план составляется на месяц). В [17] она представлена в виде многопродуктовой потоковой модели, заданной на пространственно-временном графе, и предложен алгоритм, позволяющий свести ее к задаче линейного программирования большой размерности.
Задачи с близкой постановкой ранее рассматривались в работах [18, 19]. В указанных источниках авторы делают упор на способах численного решения получаемой задачи линейного программирования, в частности в них идет речь о применении метода генерации колонок [20, 21] и модификации этого метода [22, 23], основой которой является декомпозиция Данцига-Вульфа [24]. Похожая задача рассматривалась в более ранней статье [25]. Представленная в работе модель была разработана по запросу одного из крупнейших транспортных операторов Латинской Америки. Ее особенностью является то, что план грузовых перевозок составляется с учетом заранее известного расписания движений локомотивов, тогда как в данной статье и в работах [18, 19] время движения вагонов по каждому из маршрутов определяется исключительно исходя из нормативов РЖД (т.е. расписание движения локомотивов в нашем случае неизвестно и для нас оно неважно, это внутреннее дело РЖД).
В отличие от указанных работ авторы этой статьи не акцентируют своего внимания на методах численного решения задач линейного программирования, а предлагают способы конструирования пространственно-временных графов, служащих основой для задания как целевой функции, так и
ограничении задачи линеиного программирования, имеющей меньшую размерность. При этом сам вид целевой функции и ограничений не меняется. Таким образом, в данной работе предложена модификация алгоритма, описанного в [17], позволяющая значительно снизить размерность модели. Прежде чем перейти к ее описанию, приведем постановку самой задачи линейного программирования. Для этого введем следующие обозначения: Ж — количество станций, участвующих в планировании;
Т — горизонт планирования, который измеряется в днях. Для упрощения за горизонт планирования принят один месяц (т.е. Т = 30 или 31); ? — дискретный параметр, характеризующий время. Он измеряется в днях и принимает значения ? = 1, 2, ...,Т;
^ = ¡=\ - (Жх Ж)-матрица, элементы которой характеризуют тарифы, установленные РЖД за порожний перегон одного вагона от станции i до станции j;
01 = — (Ж х Ж)-матрица, элементы которой характеризуют время (в днях) движения груженого вагона от станции i до станции j в соответствии с нормативами РЖД (время округляется до большего целого числа);
02 = {02Д. — (#х Ж)-матрица, элементы которой характеризуют время (в днях) движения порожнего вагона от станции i до станции j в соответствии с нормативами РЖД (время округляется до большего целого числа);
I
Р = — (Жх Ж)-матрица, элементы которой
характеризуют ставку, указанную заказчиком в заявке на транспортировку одного вагона груза от станции i до станции j;
0 = — (Жх Ж)-матрица, элементы которой
характеризуют количество грузовых вагонов, указанное в соответствующей заявке на транспортировку груза от станции i до станции j. Все элементы матрицы принимают неотрицательные целочисленные значения;
= {^(О} — вектор размерности Ы, характеризующий начальное расположение вагонов в день ?; г'-й элемент данного вектора равен количеству вагонов, отправка которых была осуществлена в предыдущем месяце, прибывших на станцию ' в момент времени ? е {1, ..., Т }. Все значения данного вектора принимают неотрицательные целочисленные значения.
Тогда указанная выше задача линейного программирования принимает вид
РС ■ К -> тах,
к> о
при ограничениях
(А , — А ) • К = 50,
у оШ т7 0'
а0 • к < е,
(1)
(2)
(3)
гдеК — вектор, первая часть которого отвечает за груженые маршруты, вторая за порожние, по существу данный вектор является планом перевозок;
РС — вектор, первая часть которого отвечает за ставки на грузовые перевозки, вторая часть соответствует издержкам за порожние перегоны, произведение РС Т ■ Кдает прибыль, которая получится за горизонт планирования;
АоШ — матрица, учитывает исходящие из каждой станции маршруты;
А.п — матрица, учитывает входящие в каждую станцию маршруты;
50 — вектор начального распределения вагонов по станциям и по времени;
Ае — матрица, произведение которой на вектор К даёт результат в виде количества вагонов, исполненных по каждой из заявок в соответствии с решением К;
е — вектор объема заказов (в вагонах), указанных в заявках.
Ограничение (2) является балансовым ограничением, то есть его выполнение гарантирует, что в каждый период количество въехавших в станцию вагонов будет совпадать с количеством уехавших вагонов. Выполнение ограничения (3) гарантирует, что объем исполненных грузовых маршрутов не будет превышать объемов, указанных в заявках.
Алгоритм, представленный в работе [17] в итоге давал размерность задачи (1)—(3) равную 2ТЫ1, т.е. количество элементов в векторах К и РС составляет 2ТЖ2. Размерность матриц Аои1 и А.п получается равной ТЫ х 2ТЖ2, размерность матрицы Ае составляет Ж2 х 2ТШ2, размерность вектора 50 равна ТШ, размерность е равна Ж2. Модификация алгоритма, приведенная в данной работе, заключается в снижении размерности указанных матриц и векторов.
1. Алгоритмы формирования матриц и векторов для задачи (1)—(3)
Наиболее заметного снижения размерности задачи (1)—(3) можно добиться путем учета только тех груженых маршрутов в векторе K, использование которых приведет к частичному или полному исполнению заявок. Другими словами, снижение размерности задачи можно организовать за счёт удаления из вектора K тех грузовых маршрутов, которые в любом случае задействованы не будут. Кроме вектора K соответствующие преобразования должны быть произведены над всеми остальными векторами и матрицами задачи (1)—(3) так, чтобы все они были согласованы.
В данном разделе описан алгоритм формирования всех матриц и векторов сокращенной размерности для задачи (1)—(3). Кроме удаления из рассмотрения ненужных грузовых маршрутов в алгоритме также заложена возможность исключения из расчета порожних маршрутов, отобранных по какому-либо признаку.
Векторы PC, Q, 50 и динамические списки
Введем новые переменные routes_from_station_ cargo, routestostationcargo и routes_from_station_ empty, routestostationempty, которые представляют собой динамические списки с элементами, принимающими целочисленные значения. Элементы этих переменных отвечают за номера тех маршрутов, которые будут учтены в расчете. Список routes_from_station_cargo содержит номера исходящих станций для каждого из учитываемых грузовых маршрутов, routes to station cargo содержит соответствующие номера входящих станций для этих же грузовых маршрутов. Аналогично, routes_from_station_empty содержит номера исходящих станций для порожних маршрутов, routes_to_ stationempty содержит номера входящих станций для соответствующих порожних маршрутов. Если учитывать всевозможные маршруты, как это сделано в работе [17], то количество элементов, содержащееся в новых переменных, будет равно N2. Однако введены эти переменные для того, чтобы можно было учитывать меньшее число маршрутов, снижая тем самым размерность задачи.
Заполним переменные routes_from_station_cargo и routes to station cargo. Будем учитывать только те маршруты, которые есть в заявках, поэтому, если существует заявка из станции i в станцию j, то есть P > 0, то к переменной routes_from_station_cargo
справа добавляем элемент i, к переменной routes_ ^ ^1аИоп_сащо также справа добавляем элемент j. Одновременно с каждым добавлением элементов в переменные routes_from_station_cargo и routesto_ station_cargo будем составлять вектор р последовательным добавлением снизу элементов Р., а также будем составлять вектор Q, последовательным добавлением снизу элементов характеризующих объемы соответствующих заявок. Таким образом, на каждой итерации размерность векторов р и Q, а также переменных routes_from_station_cargo и routesto_station_cargo увеличивается на единицу.
Таким образом, полученный вектор Q учитывает только грузовые маршруты, а не всевозможные маршруты, как это было в работе [17]. За счет этого размерность вектора Q снижается с N до N .
Будем считать, что для каждой пары станций г и j из станции г в станцию j может быть не более одной заявки. Если для какой-то пары станций г и j из г в j существует две заявки, то в этом случае создается дубль станции г, назовем его , и в переменные routes_from_station_cargo и routes to_station_cargo добавим не только г и j, но и I и j соответственно. В случае двух заявок вектор р заполняется соответствующими ставками в той же последовательности, что и переменные routes_from_station_cargo и routes to_station_cargo. Сообщение между станцией г и её дублем I осуществляется мгновенно и бесплатно. При этом обратного сообщения из станции I в станцию г нет. Все входящие маршруты направлены в станцию г, в станцию i можно попасть только через станцию г. Сделано это для того, чтобы в решениях не появлялись циклические потоки из станции г в г и обратно. Случай, когда из станции г в станцию j может быть больше двух заявок в рамках данной статьи рассматриваться не будет — это отдельная тема, раскрытие которой оставим на последующие работы в этом направлении.
Аналогичным путем переменные routes_from_ station_empty и routes to_station_empty заполняются номерами станций только тех маршрутов, которые были выбраны по каким-либо критериям. Одновременно с заполнением переменных routes_from_station_empty и routes_to_station_empty, по аналогии с вектором р, заполняется новый вектор С путем добавления снизу элементов С., (стоимость порожнего перегона из станции г в станцию у). Порядок добавления элементов в вектор С соответствует порядку добавления элементов в переменные routes_from_station_empty и routes to_
stationempty. Таким образом, на каждой итерации размерность вектора С, а также переменных routes_from_station_empty и routestostationempty увеличивается на единицу.
Один из способов снизить размерность за счет порожних маршрутов состоит в удалении из рассмотрения тех порожних маршрутов, станции прибытия в которых не являются станциями отправления ни для одной из заявок на груженые рейсы. Идея в том, что нет надобности приезжать в такие станции порожними рейсами, поскольку уехать оттуда вагоны могут только другими порожними рейсами, что вряд ли окажется оптимальным. Исключением являются маршруты из этих станций в себя, такие маршруты в численном расчете лучше оставить, поскольку в эти станции либо приезжают вагоны из предыдущего периода, либо они являются конечным пунктом для некоторых груженых маршрутов. Тут необходимо сделать оговорку о том, что этот способ удаления порожних маршрутов из рассмотрения оправдан при условии, что временные и финансовые затраты порожних перегонов из произвольной станции А в произвольную станцию B всегда не больше, чем при осуществлении двух последовательных порожних перегонов из А в некоторую станцию C и из C в B. На практике это условие выполняется, поэтому исключение из рассмотрения подобных двойных порожних маршрутов не приводит к ухудшению целевых показателей полученных решений.
Через N обозначим размерность вектора p,
r cargo r г г г j
которая совпадает с количеством элементов в переменных routes_from_station_cargo и routes_to_ stationcargo, через Nemply обозначим размерность вектора С, которая также совпадает с количеством элементов в переменных routes_from_station_empty и routestostationempty. Другими словами, Ncargo характеризует количество всех грузовых маршрутов, соответствующих списку заявок, Nempy характеризует количество всевозможных порожних маршрутов, которые берутся в расчет при поиске оптимального плана.
Построим вектор PC меньшей размерности по сравнению с аналогичным вектором в работе [17]. Для этого осуществим T — 1 раз последовательную конкатенацию вектора p так, чтобы получился вектор размерности) T ■ Ncargo. Далее к полученному вектору также последовательной конкатенацией T— 1 раз присоединим вектор С. Вектору PC присвоим значение полученного вектора, его размерность составит T • (N + N , ). Новая размерность
v cargo empty' * tr
задачи (1)—(3) будет также равна T ■ (N + Nempty ). Очевидно, элементы вектора K соответствуют тем же маршрутам, которые соответствуют и ставкам, и тарифам вектора PC.
Алгоритм создания вектора S0, описанный в работе [17], останется неизменным. А именно, система векторов S"(t), t е {1, ...,T} преобразуется в вектор S0 путем последовательной конкатенации векторов, соответствующих каждому моменту времени. При такой конкатенации первые N элементов нового вектора соответствуют вектору жУ0(1), следующие N элементов соответствуют вектору 5,0(2), и т.д. Таким образом, размерность вектора S0 составит TN.
Матрицы A. и A ,
r in out
Каждая из матриц Л.п и Aout состоит из двух частей; первая часть отвечает за грузовые маршруты, вторая — за порожние. Данные матрицы являются разреженными матрицами, любой ненулевой элемент в них принимает единичное значение. Сконструируем матрицу Лди,, которая отвечает за учет исходящих из каждой станции маршрутов. На нулевой итерации матрица Aoul представляет собой нулевую матрицу размером T ■ N х T■ (N + N t).
cargo empty
Обозначим через Index_cargo_out[1] динамический список, в который записываются такие индексы k е {1, ..., N } переменной routes from station
cargo
cargo[k] для которых routes_from_station_cargo[k] = 1. Другими словами, переменная Index_cargo_out[1] содержит номера тех грузовых маршрутов среди первых N элементов вектора K, точкой отправ-
cargo
ления для которых является станция 1. Для произвольной станции i е {1, ..., N} интерпретация переменной Index_cargo_out[i] аналогична.
Для учета исходящих маршрутов из станции 1 в первый период времени необходимо для всех таких k е Index_cargo_out[1] элементам Л [1, k] присваивать значение 1. Для учета исходящих маршрутов из станции 1 во второй период времени необходимо уже элементам Л ([1 + N, k + N ], kе Index cargo
J out L ' cargoJ' — ° —
out[1] присваивать единичные значения. Первой компоненте координат матрицы АоШ прибавляется N, поскольку в векторе S0 период равен N, другими словами первые N элементов в этом векторе отвечают за N станций в первый период времени, следующие N элементов отвечают за эти же N станций во второй период времени и т.д. Второй компоненте матрицы Л . прибавляется N элементов, по-
out cargo
скольку период в первой части вектора PC, отвеча-
ющей за ставки груженых рейсов, равен N . Иначе
г j г ? г cargo
говоря, первые N элементов в первой части век-
cargo
тора PC, отвечают за маршруты, стартующие в первый период времени, следующие Ncargo элементов отвечают за эти же маршруты, но стартующие уже во второй период времени, и так далее. Продолжая эту логику далее получаем, что для учета исходящих маршрутов из станции 1 в произвольный период времени tе {1, ...,T} присвоить единице необходимо все элементы матрицы ЛдШ с координатами [1 + (t - 1) • N, k + (t - 1) • N ], k e Index_cargo_ out[1]. Таким образом, для получения матрицы Лш необходимо для каждой станции i = {1, 2, ...,N} создать динамический список Index_cargo_out[i] с такими номерами kе {1, ..., N }, для которых routes_ from_station_cargo[k] = i. Далее, для всех iе {1, ...,N} для которых Index_cargo_out[i] Ф 0, единице присваиваются элементы матрицы АоШ с координатами [i + (t - 1) • N, k + (t - 1) • NcarJ, k e Index_cargo_ out[i], te {1, ...,T}. Сформирована первая часть матрицы Л, отвечающая за грузовые маршруты. Аналогично формируется вторая часть этой матрицы, отвечающая за порожние маршруты. Для этого для каждой станции i е {1, ...,N} формируются другие списки Index_empty_out[i] с такими номерами k е {1, ..., Nemptly}, для которых routes_from_station_ empty[k] = i. Другими словами, переменная Index_ cargo_out[i] содержит номера тех порожних маршрутов среди Nemply элементов вектора K, идущих после T • N элементов, точкой отправления для
cargo
которых является станция i.
Далее, для всех i е {1, ...,N}, для которых Index_ empty_out[i] Ф 0, единице присваиваются элементы матрицы Лш с координатами [i + (t - 1) • N, k + (t - 1) • N + T • N ], k e Index empty out[i],
v ' empty cargo1' — 1 y — L J'
t e {1, ...,T}. Так как первые T- N элементов в век-
cargo
тора K отвечают за грузовые маршруты, а остальные ответственны за порожние, то в случае рассмотрения порожних маршрутов во второй компоненте координат матрицы АоШ присутствует дополнительно слагаемое T • N . После осуществления всех
cargo
описанных операций формирование матрицы АоШ оказывается завершенным.
На следующем этапе формируется матрица A.n. Эта матрица отвечает за учет входящих в каждую станцию маршрутов. На нулевой итерации матрица А. представляет собой нулевую матрицу размером
T■ Nx T ■ (N + N t). Для формирования этой ма-
cargo empty
трицы нам дополнительно понадобится информация о времени движения по каждому из маршрутов, то есть значения матриц 01 и 02. Обозначим через Index_cargo_in[1] динамический список тех индексов k е {1, ..., N } переменной routes
cargo
to_station_cargo[k], для которых routes_to_station_ cargo[k] = 1. Другими словами, переменная Index_ cargoin [1] содержит номера тех грузовых маршрутов среди первых Ncargo элементов вектора K, пунктом назначения для которых является станция 1. Для произвольной станции i е {1, ...,N} интерпретация переменной Index_cargo_in[i] аналогична. Тогда для учета входящих маршрутов в станцию 1, отправления по которым осуществляется в первый период времени, необходимо для всех k е Index_ cargo_in[1] элементам матрицы A.n с координатами [1 + 01[routes_from_station_cargo[k], 1] ■ N, k] присвоить значение 1. Аналогично для учета входящих маршрутов в станцию 1, отправления по которым осуществляется в период времени t е {1, ..., T } для всех k е Index_cargo_in[1] единице присваиваются элементы матрицы A.n с координатами [1 + (&\[routes_from_station_cargo[k], 1] + t - 1) • N, k + (t - 1) ■ N ].
cargo
Для произвольной станции iе {1, ...,N} составляются динамические переменные Index_cargo_in[i] из тех индексов k е {1, ..., N } переменной routes
cargo
to_station_cargo[k], для которых routes_to_station_ cargo[k] = i. Для всех i е {1, ...,N}, для которых Index_cargo_in[i] Ф 0, единице присваиваются элементы матрицы Л.п с координатами [i + (32[routes_ from_station_cargo[k], i] + t- 1) • N, k + (t - 1) • Nmigo], ke Index_cargo_in[i], te {1, ...,T } .
Первая часть матрицы Л , относящаяся к груженым маршрутам, построена. Осталось построить вторую часть этой матрицы, относящуюся к порожним маршрутам. Обозначим через Index_empty_in[i] динамический список тех индексов k е {1, ..., Ncargo} переменной routes_to_station_empty[k], для которых routes_to_station_empty[k] = i. Для всех станций i е {1, ..., N}, для которых Index_empty_in[i] Ф 0, единице присваиваются элементы матрицы Л.п с координатами [i + ^2 [routesfrom_station_ cargo[k], i] + t - 1) • N, k + (t - 1) ■ N + T■ N ],
empty cargo
ke Index_empty_out[i], te {1, ..., T}. Формирование матрицы А. завершено.
Матрица Aq
Матрица AQ нужна для расчета объема исполненных заявок, поэтому при вычислении этого показателя учитываются только груженые маршруты. Это означает, что в матрице AQ, имеющей размерность N х T■ ( N +N „), последние T■ N _ столб-
cargo v cargo empty '' empty
цов состоят исключительно из нулевых элементов, ненулевые элементы находятся только в первых T • N столбцах. На нулевой итерации в качестве
cargo
матрицы Aq возьмем нулевую матрицу. Поскольку первые T■ Ncargo элементов вектора Kупорядочены с периодом N , т.е. первые N элементов отвеча-
cargo cargo
ют за груженые маршруты, исходящие в первый период времени, следующие Ncargo элементов отвечают за эти же маршруты, исходящие во второй период времени и т.д., то в первой строке матрицы AQ записывается T единиц, первая из которых ставится на первую позицию, следующая на позицию Ncargo + 1, следующая на позицию 2Ncargo +1 и т.д. Другими словами, в первой строке матрицы AQ единице присваиваются T элементов начиная с первого элемента и далее с периодом Ncargo элементов. В следующей строке матрицы AQ единице также присваивается T элементов с периодом N , но начиная уже со
cargo
второго элемента второй строки. В третьей строке матрицы AQ алгоритм повторяется, но единице присваиваются элементы, начиная с третьего элемента третьей строки. Так продолжается до последней строки N . В результате, если рассмотреть
cargo
первые N строк и первые N столбцов, полу-
cargo cargo
чится единичная матрица, если рассмотреть следующие N столбцов, то также получится единич-
cargo
ная матрица, и т.д. Если рассмотреть первые T ■ Ncargo столбцов матрицы AQ, то увидим T последовательно составленных единичных матриц размерности N х N , остальные столбцы матрицы являются
cargo cargo
нулевыми.
В данном разделе приведены алгоритмы формирования всех составляющих задачи (1)—(3) — целевой функции и ограничений. Показано, что
размерность и вектора переменных целевой функции, и матриц ограничений заметно снижается. Продемонстрируем это как на модельном примере (несколько станций, короткий горизонт планирования), приведенном в [17], так и на реальном примере (более 1000 станций, длинный горизонт планирования).
2. Снижение размерности задачи на модельном и реальном примерах
Приведем постановку модельного примера из [17]. Число станций равно 4 (Ж = 4), горизонт планирования составляет 3 дня (Т = 3). Список поступивших заявок состоит из пяти позиций, которые приведены в таблице 1.
На основе списка заявок необходимо составить две матрицы — матрицу ставок Р, элементы которой записаны в условных единицах, и матрицу объемов заявок б:
Р =
Далее приведем время движения как груженых, так и порожних маршрутов в виде значений матриц 01 и <92:
' 0 0 2,9 <Г 0 0 3 0
1,1 0 2,3 0 5 0 4 0
; Q =
0 1,9 0 2,1 0 7 0 6
,0 0 0 ,0 0 0 0
'0 2 1 2Ч 1 1 Г
1 0 2 1 1 1 1 1
; 02 =
1 2 0 2 1 1 1 2
J 2 1 о, J 2 1 К
01 =
Напомним, что диагональные элементы матрицы 02 берутся равными единице. Связано это с тем, что если вагоны необходимо оставить на станции до следующего дня, то это равносильно тому, что они как бы отправляются из данной станции на саму себя в рейс длительностью один день.
Список заявок на перевозку груза в модельном примере
Таблица 1.
№ Пункт отправления Пункт назначения Объем заявки (в вагонах) Ставка (в условных единицах)
1 1 3 3 2,9
2 2 1 5 1,1
3 2 3 4 2,3
4 3 2 7 1,9
5 3 4 6 2,1
Значения тарифов РЖД на порожние перегоны, также как и ставки, выраженные в условных единицах, характеризуются значениями элементов матрицы С:
' 0 1,9 1,3 1,9^ 1,2 0 1,8 0,9 1,1 1,2 0 1,6 ,1,3 1,5 1,2 0,
В рамках данной задачи предполагается, что вагоны могут оставаться на станциях до следующего дня бесплатно, поэтому диагональные элементы матрицы С нулевые.
Начальное распределение вагонов характеризуется следующими векторами:
S\ 1):
'o4
2 0
1 ; J°(2) = 0
Л
В период t = 3 вагоны не прибывают, что эквивалентно нулевому вектору ¿'"(З).
Размерность задачи
Размерность представленной в работе [17] задачи равна 2TN2 = 96. Рассчитаем размерность при решении этой же задачи с помощью представленного в данной работе алгоритма. Предложенный алгоритм даёт размерность T• (N + N , ), поэтому
cargo empty
для того, что бы ее рассчитать необходимо знать значения параметров N и N . Для определе-
cargo empty
ния N необходимо понимать, какие порожние
empty
маршруты планируется включить в расчет, а какие -нет. Исключим из рассмотрения те порожние маршруты, станции прибытия в которых не являются станциями отправления ни для одной из заявок на груженые рейсы. Такая станция одна и это четвертая станция. Уберем из рассмотрения все порожние маршруты, в которых пунктом назначения является станция 4, оставим только маршрут из 4 в 4 (вагон остается на станции до следующего периода). Получается, из рассмотрения убираются порожние маршруты из 1 в 4, из 2 в 4 и из 3 в 4. Получаем, что N = N2 — 3 = 13. Что касается N , то
empty cargo
его значение равно числу заявок, т.е. в нашем случае N = 5. Таким образом, размерность при ис-
cargo
пользовании нового алгоритма получается равной T • (N + N ^) = 54. Получается, что конкретно
cargo empty
для этого примера размерность сократилась при-
мерно на 44%. Отдельно отметим, что на практике из расчета можно исключать порожние маршруты и по другим признакам, например, можно не учитывать порожние маршруты, тариф по которым выше некоторого порогового значения. Поэтому в реальных задачах можно добиться еще большего сокращения размерности по сравнению с 2 TN2.
В качестве примера можно привести задачу поиска оптимального плана, которая решалась на практике для N = 1126 станций, со сроком планирования T = 30 дней и количеством заявок на транспортировку грузов равным 1616. Размерность задачи при решении её алгоритмом из работы [17] составляет 2TN2 = 76072560. Для определения размерности задачи, которая получится с помощью представленного в данной работе алгоритма рассчитаем N и N Очевидно, N = 1616, что
cargo empty cargo
соответствует количеству заявок. Для расчетаЖ^ из рассмотрения необходимо убирать все порожние маршруты в направление станций, которые не фигурируют в заявках в качестве станций отправления. Кроме этого, из рассмотрения убираются порожние маршруты, тарифы по которым превышают 50000 руб. В результате этого количество порожних маршрутов, которые будут учитываться при расчете, получается равным N , = 82058, т.е. в
empty
расчет попадает примерно 6,5% от всех возможных порожних маршрутов, количество которых равно N2 = 1267877. В итоге размерность задачи получается равной T■ (N + N ^) = 2510220, т.е. уменьша-
cargo empty
ется примерно в 30 раз.
Задача линейного программирования
Выпишем задачу линейного программирования (1)—(3) для модельного примера. Для этого определим значения матриц Ат, АоШ и Л0, а также векторов PC, S , Q. После этого решим данную задачу и сравним полученное решение с решением из [17].
Составим динамические списки routes_from_ stationcargo, routestostationcargo и routesjrom_ stationempty, routestostationempty: routes_Jrom_station_cargo = {1, 2, 2, 3, 3}, routestostationcargo = {3, 1, 3, 2, 4}, routesfomstationempty = {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4}, routestostationempty = {1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3, 4}.
Составим векторы p и c: p = (2,9 1,1 2,3 1,9 2,1)T c = (0 1,9 1,3 1,2 0 1,8 1,1 1,2 0 1,3 1,5 1,2 0)T.
Вектор PC получается последовательной конкатенацией полученных векторов: PC = (pT, pT, pT, cT, cT, cT).
Вектор Q, отвечающий за объем заявок, принимает следующий вид: Q = (3 5 4 7 6)T.
Вектор S0, характеризующий начальное распределение вагонов по времени и по станциям, примет вид:
S0 = (0 2 1 3 5 0 0 1 0 0 0 0)T.
Получим матрицы An, Aoul и AQ. Поскольку эти матрицы являются разреженными матрицами, и ненулевые элементы могут принимать только единичные значения, поэтому, как и в работе [17], запишем эти матрицы в разреженном формате, указывая координаты элементов, принимающих единичные значения. Выпишем единичные координаты матрицы AQ, размерность которой равна N х T ■ ( N +N Л = 5 х 54 (здесь и далее ну-
cargo v cargo empty' v J
мерация строк и столбцов начинается с единицы):
(1, 1), (2, 2), (3, 3), (3, 4), (4, 5), (1, 6), (2, 7), (3, 8), (4, 9), (5, 10), (1, 11), (2, 12), (3, 13), (4, 14), (5, 15).
Координаты единичных элементов матрицы A.n примут следующий вид:
(7, 1), (5, 2), (11, 3), (10, 4), (12, 5), (11, 6), (9, 7), (5, 16), (6,17),(7,18),(5,19),(6,20),(7,21),(5,22),(6,23),(7,24), (5, 25), (10, 26), (7, 27), (8, 28), (9, 29), (10, 30), (11, 31), (9, 32), (10, 33), (11, 34), (9, 35), (10, 36), (10, 37), (9, 38), (11, 40), (12, 41).
Список координат единичных элементов матрицы AoUl:
(1, 1), (2, 2), (2, 3), (3, 4), (3, 5), (5, 6), (6, 7), (6, 8), (7, 9), (7, 10), (9, 11), (10, 12), (10, 13), (11, 14), (11, 15), (1, 16), (1, 17), (1, 18), (2, 19), (2, 20), (2, 21), (3, 22), (3, 23), (3, 24), (4, 25), (4, 26), (4, 27), (4, 28), (5, 29), (5, 30), (5, 31), (6, 32), (6, 33), (6, 34), (7, 35), (7, 36), (7, 37), (8, 38), (8, 39), (8, 40), (8, 41), (9, 42), (9, 43), (9, 44), (10, 45), (10, 46), (10, 47), (11, 48), (11, 50), (12, 51), (12, 52), (12, 53), (12, 54). Размерность матриц A. и A ,равна T ■ Nx T■ (N +
r r in outr v cargo
+N J = 12 x 54.
empty
Выпишем решение, которое было получено с помощью программного продукта MatLab. Поскольку вектор K, состоящий из T■ (N + N ^) = 54 эле-
cargo empty
ментов, также в основном состоит из нулевых элементов, выпишем значения только ненулевых элементов: K3 = 2; K4 = 1; K6 = 3; K13 = 2; K14 = 4; K15 = 6;
3 '4 '6 '13 '14 '15 ' K26 = 1; K28 = 2; K31 = 2; K40 = 3.
Выпишем это же решение в более понятном формате матриц К1(^ и К2(?), представляющие из себя (Жх Ж)-матрицы, элементы которой характеризуют количество отправляемых груженых (К1(^) и порожних (К2(0) вагонов от станции i до станции j на момент времени ? е {1, ...,Т }.
Щ1) =
К 2(1):
0 0 0 (Г 0 0 3 0'
0 0 2 0 ; к\{2) = 0 0 0 0
0 0 0 0
0 1 0 0
0 0 0 0, 0 0 0
0 0 0 '0 0 0 0
0 0 0 0 0 0 2 0
0 0 0 0 ; *1(3) =
0 4 0 6
0 1 0 0 0 0
0 0 2 '0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 ; К2(Ъ) = 0 0 0 0
0 0 3 0, ,0 0 0 0
К2(2)=
Графически данное решение представлено на рис. 1, ширина каждой полосы в котором характеризует количество вагонов, отправленное в заданном направлении.
Целевое значение итоговой прибыли, вычисляемое по правилу РСТ • К, получается равным 32,3.
Если сравнивать полученное решение с решением из [17], то видно, что они отличаются, но значения целевого функционала, выражающего итоговую прибыль, при этом совпадают. Таким образом сравнение решений одной и той же задачи показывает, что поставленная задачи имеет как минимум два различных решения.
Заключение
Данная статья является продолжением работы [17], в ней представлен модифицированный алгоритм решения задачи оптимального управления парком грузовых вагонов. Суть предложенного подхода состоит в исключении из расчета тех груженых или порожних маршрутов, про которые заранее известно, что они либо не будут задействованы в итоговом решении, либо вероятность появления этих маршрутов в решении оценивается как очень низкая. На представленном в работе модельном примере видно, что применение модифицированного алгоритма приводит к сокращению размерности примерно на 44%. В задачах, которые встречаются на практике, как пра-
Отправления предыдущего месяца
Станция 1
День 1
День 2
День 3
Маршруты вагонов, отправленных в предыдущем месяце
Порожние маршруты
Рис. 1. Схематичное представление полученного решения.
* ??1 Груженые маршруты
вило, наблюдается гораздо более заметное снижение размерности, в том числе благодаря исключению из расчета еще большего числа порожних маршрутов за счет дополнительных признаков (например, исключать слишком дорогие, слишком дальние порожние перегоны). Так, в упомянутой в предыдущем разделе задаче, которая решалась на основе реальных данных, использование усовершенствованного алгоритма приводит к тридцатикратному сокращению размерности по сравнению с алгоритмом из [17].
Отдельно отметим, что потенциал методов, позволяющих заметно сокращать размерность для рассматриваемых транспортных задач, до конца не исчерпан. Можно показать, что тот пространственно-временной граф, который строится в рамках представленного подхода, может быть еще сильнее уменьшен без потери в качестве итоговых решений (уменьшение пространственно-временного графа, очевидно, приведет и к снижению размерности транспортной задачи). Для этого поделим все станции на три категории. К первой категории отнесем станции, в которые вагоны прибывают из предыдущего периода и которые не участвуют в заявках на грузоперевозки ни в качестве станций отправления, ни в качестве станций назначения. Ко
второй категории отнесем станции, которые фигурируют в заявках в качестве пунктов назначения, но не в качестве пунктов отправления, а к третьей категории — остальные станции, то есть станции, указанные в заявках, как станции отправления. Для первой категории станций можно ограничиться построением исходящих порожних маршрутов исключительно в те дни, когда туда приезжают вагоны из предыдущего периода (предыдущего месяца) и строить порожние маршруты только в станции третьей категории. Другими словами, как только вагоны попадают в эти станции, они сразу отправляются порожним маршрутом в станции, из которых можно исполнить заявки на грузоперевозки. Для станций второй категории не строятся входящие порожние маршруты, а строятся исключительно исходящие порожние маршруты в станции третьей категории. Для станций третьей категории строится полноценный пространственно-временной граф с входящими и исходящими порожними маршрутами. Описание указанного алгоритма, возможно станет предметом для одной из следующих статей в этом направления. Уменьшения пространственно-временного графа, а значит и размерности транспортной задачи, можно добиваться и другими
более тонкими методами. Например, при построении пространственно-временного графа для станций второго и третьего типов можно дополнительно учитывать то, с какого самого раннего момента времени в этих станциях могут начать появляться вагоны и до этого момента модельного времени для соответствующих станций граф не строить. В этом случае в борьбе за снижение размерности единственной платой является еще большее усложнение алгоритмов формирования матриц и векторов для задачи (1)—(3), что в свою очередь увеличивает вероятность ошибок при создании таких алгоритмов.
Помимо усилий по дальнейшей оптимизации алгоритмов формирования матриц и векторов другим направлением для развития данного типа задач является модернизация постановки задачи оптимального управления парком грузовых вагонов с целью учета большего числа ограничений. В текущей версии транспортная задача представляет ис-
ключительно научный интерес, но никак не практический. Для железнодорожных транспортных операторов, являющихся основными заказчиками подобных моделей, важна возможность учета достаточно большого числа факторов, среди которых можно отметить учет различных типов вагонов, запрет для некоторых из типов вагонов заезжать на определенные территории, учет станций отстоя, ограничения по минимальному или максимальному количеству вагонов, которое должно двигаться за расчетный период по заданным направлениям и т.д. Изучение описанных выше проблем может стать предметом будущих исследований. ■
Благодарности
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 19-2906003.
Литература
1. Higgins A., Ferreira L., Kozan E. Modeling single-line train operations // Transportation Research Record. 1995. Vol. 1489. P. 9-16.
2. Kraay D., Barker P., Chen B. Optimal pacing of trains in freight railroads: model formulation and solution // Operations Research. 1991. Vol. 39. No. 1. P. 82-99. https://doi.org/10.1287/opre.39.1.82
3. Ferreira L., Murray M. Modelling rail track deterioration and maintenance: current practices and future needs // Transport Reviews. 1997. Vol. 17. No. 3. P. 207-221. https://doi.org/10.1080/01441649708716982
4. LeBlanc L. Global solutions for a nonconvex nonconcave rail network model // Management Science. 1976. Vol. 23. No. 2. P. 131-139. https://doi.org/10.1287/mnsc.23.2.131
5. Лазарев А.А., Мусатова Е.Г., Кварацхелия А.Г., Гафаров Е.Р. Теория расписаний. Задачи управления транспортными системами. М.: МГУ, 2012.
6. Лазарев А.А., Мусатова Е.Г., Гафаров Е.Р., Кварацхелия А.Г. Теория расписаний. Задачи железнодорожного планирования. М.: ИПУ РАН, 2012.
7. Beklaryan L., Khachatryan N. Traveling wave type solutions in dynamic transport models // Functional Differential Equations. 2006. Vol. 13. No. 2. P. 125-155.
8. Бекларян Л.А., Хачатрян Н.К. Об одном классе динамических моделей грузоперевозок // Журнал вычислительной математики и математической физики. 2013. Т. 53. № 10. С. 1649-1667. https://doi.org/10.7868/S0044466913100037
9. Хачатрян Н.К. Динамическая модель организации грузоперевозок при ограниченности емкостей перегонных путей // Бизнес-информатика. 2013. Т. 26. № 4. С. 62-68.
10. Хачатрян Н.К., Акопов А.С. Модель организации грузоперевозок с начальной станцией отправления и конечной станцией распределения грузов // Бизнес-информатика. 2017. Т. 39. № 1. С. 25-35. https://doi.org/10.17323/1998-0663.2017.1.25.35
11. Хачатрян Н.К., Акопов А.С., Белоусов Ф.А. О квазирешениях типа бегущей волны в моделях организации грузоперевозок // Бизнес-информатика. 2018. Т. 43. № 1. С. 61-70. https://doi.org/10.17323/1998-0663.2018.1.61.70
12. Хачатрян Н.К., Бекларян Г.Л., Борисова С.В., Белоусов Ф.А. Исследование динамики емкостей перегонов в модели организации грузоперевозок между двумя узловыми станциями // Бизнес-информатика. 2019. Т. 13. № 1. С. 59-70. https://doi.org/10.17323/1998-0663.2019.1.59.70
13. Beklaryan L., Khachatryan N., Akopov A. Model for organization cargo transportation at resource restrictions // International Journal of Applied Mathematics. 2019. Vol. 32. No. 4. P. 627-640. https://doi.org/10.12732/ijam.v32i4.7
14. Хачатрян Н.К., Бекларян Л.А. Исследование динамики потока в модели организации грузоперевозок по круговой цепочке станций // Экономика и математические методы. 2021. Т. 57. № 1. С. 83-91. https://doi.org/10.31857/S042473880013024-5
15. Khachatryan N. Study of flow dynamics in the model of cargo transportation organization between node stations // International Journal of Applied Mathematics. 2020. Vol. 33. No. 5. P. 937-949. https://doi.org/10.12732/ijam.v33i5.14
16. Khachatryan N. Modeling the process of cargo transportation between node stations // International Journal ofApplied Mathematics. 2021. Vol. 34. No. 6. P. 1223-1235. https://doi.org/10.12732/ijam.v34i6.12
17. Белоусов Ф.А., Неволин И.В., Хачатрян Н.К. Моделирование и оптимизация планов грузовых железнодорожных перевозок, выполняемых транспортным оператором // Бизнес-информатика. 2020. Т. 14. № 2. C. 21-35. https://doi.org/10.17323/2587-814X.2020.2.21.35
18. Sadykov R., Lazarev A., Shiryaev V., Stratonnikov A. Solving a freight railcar flow problem arising in Russia // Proceedings of the 13th Workshop on Algorithmic Approach for Transportation Modelling, Optimization, and Systems (ATMOS'13), Leibniz, Germany,
5 September 2013. P. 55-67. https://doi.org/10.4230/OASIcs.ATMOS.2013.55
19. Лазарев А.А., Садыков Р.Р. Задача управления парком грузовых железнодорожных вагонов // XII Всероссийское совещание по проблемам управления (ВСПУ 2014), Москва, ИПУ РАН, 16-19 июня 2014. С. 5083-5093.
20. Desaulniers G., Desrosiers J., Solomon M. Column generation. New York: Springer, 2005. https://doi.org/10.1007/b135457
21. Lübbecke M. Column generation. Wiley Encyclopedia of Operations Research and Management Science. John Wiley & Sons, 2011. https://doi.org/10.1002/9780470400531.eorms0158
22. Frangioni A., Gendron B. 0-1 reformulations of the multicommodity capacitated network design problem // Discrete Applied Mathematics. 2009. Vol. 157. No. 6. P. 1229-1241. https://doi.org/10.1016/j.dam.2008.04.022
23. Sadykov R., Vanderbeck F. Column generation for extended formulations // EURO Journal on Computational Optimization. 2013. Vol. 1. Nos. 1-2. P. 81-115. https://doi.org/10.1007/s13675-013-0009-9
24. Dantzig G., Wolfe P. Decomposition principle for linear programs // Operations Research. 1960. Vol. 8. No. 1. P. 101-111. https://doi.org/10.1287/opre.8.1.101
25. Fukasawa R., Aragao M.P., Porto O., Uchoa E. Solving the freight car flow problem to optimality // Electronic Notes in Theoretical Computer Science. 2002. Vol. 66. No. 6. P. 42-52. https://doi.org/10.1016/S1571-0661(04)80528-0
Об авторах
Белоусов Федор Анатольевич
кандидат экономических наук;
старший научный сотрудник, лаборатория динамических моделей экономики и оптимизации, Центральный экономико-математический институт, Российская академия наук, 117418, г. Москва, Нахимовский проспект, д. 47;
E-mail: [email protected]
ORCID: 0000-0002-3040-3148
Хачатрян Нерсес Карленович
кандидат физико-математических наук;
заместитель директора ЦЭМИ РАН по научной работе, Центральный экономико-математический институт, Российская академия наук, 117418, г. Москва, Нахимовский проспект, д. 47; E-mail: [email protected] ORCID: 0000-0003-2495-5736
Неволин Иван Викторович
кандидат экономических наук;
ведущий научный сотрудник, лаборатория экспериментальной экономики, Центральный экономико-математический институт, Российская академия наук, 117418, г. Москва, Нахимовский проспект, д. 47; E-mail: [email protected] ORCID: 0000-0002-8462-9011
Reduction of dimension in the problem of optimal management of a freight cars fleet using unmanned locomotives
Fedor A. Belousov
E-mail: [email protected]
Nerses K. Khachatryan
E-mail: [email protected]
Ivan V. Nevolin
E-mail: [email protected]
Central Economics and Mathematics Institute, Russian Academy of Science Address: 47, Nakhimovsky Prospect, Moscow 117418, Russia
Abstract
This paper considers the problem of optimal management of a fleet of freight cars by a transport railway operator. The solution to this problem is an optimal plan, which is a timetable for the movement of freight and empty railway cars, following which the transport operator will receive the maximum profit for the estimated period of time. This problem is reduced to the problem of linear programming of large dimension. Unlike the works of other authors on this topic, which mainly deal with methods of numerical solution of the corresponding linear programming problems, this article focuses on an algorithm that allows one to reduce their dimensionality. This can be achieved by excluding from the calculation those routes that obviously cannot be involved in the solution, or whose probability of participation in the final solution is estimated as extremely low. The effectiveness of the proposed modified algorithm was confirmed both on a model example (several stations, a short planning horizon) and on a real example (more than 1 000 stations, a long planning horizon). In the first case, there was a decrease in the dimension of the problem by 44%, while in the second - by 30 times.
Keywords: railway freight transportation, optimal plan, optimal management of the fleet of cars, linear programming, theory of schedules, operations research, unmanned locomotives
Citation: Belousov F.A., Khachatryan N.K., Nevolin I.V. (2022) Reduction of dimension in the problem of optimal management of a freight cars fleet using unmanned locomotives. Business Informatics, vol. 16, no. 2, pp. 7—20. DOI: 10.17323/2587-814X.2022.2.7.20
References
1. Higgins A., Ferreira L., Kozan E. (1995) Modeling single-line train operations. Transportation Research Record, vol. 1489, pp. 9-16.
2. Kraay D., Barker P., Chen B. (1991) Optimal pacing of trains in freight railroads: model formulation and solution. Operations Research, vol. 39, no. 1, pp. 82-99. https://doi.org/10.1287/opre.39.1.82
3. Ferreira L., Murray M. (1997) Modelling rail track deterioration and maintenance: current practices and future needs. Transport Reviews, vol. 17, no. 3, pp. 207-221. https://doi.org/10.1080/01441649708716982
4. LeBlanc L. (1976) Global solutions for a nonconvex nonconcave rail network model. Management Science, vol. 23, no. 2, pp. 131-139. https://doi.org/10.1287/mnsc.23.2.131
5. Lazarev A., Musatova E., Kvaratskheliya A., Grafov E. (2012) Schedule theory. Problems of transport system management. Moscow: MSU (in Russian).
6. Lazarev A., Musatova E., Grafov E., Kvaratskheliya A. (2012) Schedule theory. Problems of railway planning. Moscow: ICS RAS (in Russian).
7. Beklaryan L., Khachatryan N. (2006) Traveling wave type solutions in dynamic transport models. Functional Differential Equations, vol. 13, no. 2, pp. 125-155.
8. Beklaryan, L., Khachatryan N. (2013) On one class of dynamic transport models. Computational Mathematics and Mathematical Physics, vol. 53, no. 10, pp. 1649-1667. https://doi.org/10.7868/S0044466913100037
9. Khachatryan N. (2013) Dynamic model of organization of cargo transportation with a limited capacity of the distillation ways. Business Informatics, vol. 26, no. 4, pp. 62-68.
10. Khachatryan N., Akopov A. (2017) Model for organizing cargo transportation with an initial station of departure and a final station of cargo distribution. Business Informatics, vol. 39, no. 1, pp. 25-35. https://doi.org/10.17323/1998-0663.2017.L25.35
11. Khachatryan N., Akopov A., Belousov F. (2018) About quasi-solutions of traveling wave type in models for organizing cargo transportation. Business Informatics, vol. 43, no.1, pp. 61-70. https://doi.org/10.17323/1998-0663.2018.L61.70
12. Khachatryan N.K., Beklaryan G.L., Borisova S.V., Belousov F.A. (2019) Research into the dynamics of railway track capacities in a model for organizing cargo transportation between two node stations. Business Informatics, vol. 13, no. 1, pp. 59-70. https://doi.org/10.17323/1998-0663.2019.L59.70
13. Beklaryan L., Khachatryan N., Akopov A. (2019) Model for organization cargo transportation at resource restrictions. International Journal of Applied Mathematics, vol. 32, no. 4, pp. 627-640. https://doi.org/10.12732/ijam.v32i4.7
14. Khachatryan N., Beklaryan L. (2021) Study of flow dynamics in the model of cargo transportation organization along a circular chain of stations. Economics and Mathematical Methods, vol. 57, no. 1, pp. 83-91. https://doi.org/10.31857/S042473880013024-5
15. Khachatryan N. (2020) Study of flow dynamics in the model of cargo transportation organization between node stations. International Journal of Applied Mathematics, vol. 33, no. 5, pp. 937-949. https://doi.org/10.12732/ijam.v33i5.14
16. Khachatryan N. (2021) Modeling the process of cargo transportation between node stations. International Journal of Applied Mathematics, vol. 34, no. 6, pp. 1223-1235. https://doi.org/10.12732/ijam.v34i6.12
17. Belousov F.A., Nevolin I.V., Khachatryan N.K. (2020) Modeling and optimization of plans for railway freight transport performed by a transport operator. Business Informatics, vol. 14, no. 2, pp. 21-35. https://doi.org/10.17323/2587-814X.2020.2.21.35
18. Sadykov R., Lazarev A., Shiryaev V., Stratonnikov A. (2013) Solving a freight railcar flow problem arising in Russia. Proceedings of the 13th Workshop on Algorithmic Approach for Transportation Modelling, Optimization, and Systems (ATMOS'13), Leibniz, Germany, 5September 2013, pp. 55-67. https://doi.org/10.4230/0ASIcs.ATM0S.2013.55
19. Lazarev A., Sadykov R. (2014) Management problem ofrailway cars fleet. Proceedings of the XII All-Russian Meeting on Management Issues (VSPU 2014), ICS RAS, Moscow, Russia, 16-19 June 2014, pp. 5083-5093 (in Russian).
20. Desaulniers G., Desrosiers J., Solomon M. (2005) Column generation. New York: Springer. https://doi.org/10.1007/b135457
21. Lübbecke M. (2011) Column generation. Wiley Encyclopedia of Operations Research and Management Science. John Wiley & Sons. https://doi.org/10.1002/9780470400531.eorms0158
22. Frangioni A., Gendron B. (2009) 0-1 reformulations of the multicommodity capacitated network design problem. Discrete Applied Mathematics, vol. 157, no. 6, pp. 1229-1241. https://doi.org/10.1016/j.dam.2008.04.022
23. Sadykov R., Vanderbeck F. (2013) Column generation for extended formulations. EURO Journal on Computational Optimization, vol. 1, nos. 1-2, pp. 81-115. https://doi.org/10.1007/s13675-013-0009-9
24. Dantzig G., Wolfe P. (1960) Decomposition principle for linear programs. Operations Research, vol. 8, no. 1, pp. 101-111. https://doi.org/10.1287/opre.8.1.101
25. Fukasawa R., Aragao M.P., Porto O., Uchoa E. (2002) Solving the freight car flow problem to optimality. Electronic Notes in Theoretical Computer Science, vol. 66, no. 6, pp. 42-52. https://doi.org/10.1016/S1571-0661(04)80528-0
About the authors
Fedor A. Belousov
Cand. Sci. (Econ.);
Senior Researcher, Laboratory of Dynamic Models of Economy and Optimization, Central Economics and Mathematics Institute, Russian Academy of Science, 47, Nakhimovsky Prospect, Moscow 117418, Russia;
E-mail: [email protected]
ORCID: 0000-0002-3040-3148
Nerses K. Khachatryan
Cand. Sci. (Phys.-Math.);
Deputy Director of CEMI RAS for Scientific Work, Central Economics and Mathematics Institute, Russian Academy of Science, 47, Nakhimovsky Prospect, Moscow 117418, Russia; E-mail: [email protected] ORCID: 0000-0003-2495-5736
Ivan V. Nevolin
Cand. Sci. (Econ.);
Leading Researcher, Laboratory of Experimental Economics, Central Economics and Mathematics Institute, Russian Academy of Science, 47, Nakhimovsky Prospect, Moscow 117418, Russia; E-mail: [email protected] ORCID: 0000-0002-8462-9011