УДК 519.854.2 ББК22.1
ЦЕЛОЧИСЛЕННЫЕ ПОСТАНОВКИ ЗАДАЧИ ФОРМИРОВАНИЯ ЖЕЛЕЗНОДОРОЖНЫХ СОСТАВОВ И РАСПИСАНИЯ ИХ ДВИЖЕНИЯ1
Лазарев А. А.2, Мусатова Е. Г.3
(ФГБУН Институт проблем управления им. В.А.Трапезникова РАН, Москва)
Рассматривается задача формирования грузовых составов и маршрутов их следования по железнодорожной сети. Необходимо из имеющихся на станциях заказов сформировать составы и определить расписание и маршрут их движения до станций назначения так, чтобы минимизировать суммарное взвешенное время выполнения заказов. Предлагаются целочисленные постановки данной задачи, учитывающие ограничения, возникающие на практике.
Ключевые слова: целочисленное линейное программирование, задачи железнодорожного планирования, теория расписаний.
Введение
Сеть РЖД включает в себя 76 сортировочных станций, между которыми осуществляются перевозки грузовых вагонов. Имеется множество заказов на перевозку грузов. Каждый заказ характеризуется станцией отправления, станцией назначения и имеет определенные директивный срок и вес (относительная «важ-
1 Работа выполнена при финансовой поддержке РФФИ-РЖД, грант 11-08-13121-офи-м-2011-РЖД.
2 Александр Алексеевич Лазарев, доктор физико-математических наук, профессор ([email protected]).
3 Елена Геннадьевна Мусатова, кандидат физико-математических наук ([email protected]), (Москва, ул. Профсоюзная, д. 65, тел. (495) 334-87-51).
ность» заказа). Если заказ состоит из нескольких вагонов к > 1, то на каждый вагон оформляется отдельный заказ, т.е. в множестве заказов будет к идентичных заказов. В дальнейшем будем предполагать, что множество заказов состоит из одновагонных заказов. Расписание движения каждого состава состоит из последовательности времён прибытия на каждую станцию и времён отбытия с каждой станции на маршруте следования поезда.
Необходимо сформировать грузовые составы и составить маршруты и расписание их движения с целью минимизации суммарного взвешенного времени выполнения всех заказов. Под запаздыванием будем понимать разность между фактическим временем прибытия заказа на станцию назначения и директивным сроком.
В работе предлагаются формулировки данной задачи в виде задач целочисленного линейного программирования (ЦЛП).
1. Постановка задачи
1.1. ПАРАМЕТРЫ ЗАДАЧИ
Пусть имеется граф железнодорожной сети О = (Ж, Е), где N - множество сортировочных станций; Е - множество рёбер (дорог). Станции соединены двухпутными железными дорогами, так что рёбра (и, у) и (у, и) будем считать различными.
Каждая станция г € N содержит заказы (вагоны) для доставки на другие станции. Введём следующие обозначения: п^ -количество заказов для перевозки со станции г в ]; ввгЬг - максимальное количество составов, которые могут быть одновременно обслужены на станции г; З^ь - к-й заказ, направляемый из г в .]; - момент поступления заказа З^ь на станцию отправ-
ления; - директивный срок окончания обслуживания заказа З^к; - вес (значимость) заказа З^ь; т^ь -масса заказа З^ь;
М - грузоподъемность поезда (максимальная суммарная масса вагонов); Ь - максимальная длина состава.
Для постановки задачи дискретизируем шкалу времени с некоторым шагом. Примем длительность шага равной единице, например, одному часу. Обозначим за Т множество моментов 162
времени {0,1,..., Н}, где Н - достаточно большое число (верхняя оценка момента времени, к которому могут быть доставлены все заказы). Пусть время движения по ребру (г,]) составляет р^ единиц. Кроме того, задан интервал движения поездов на каждом ребре (г,з), равный Ьц (иными словами, после выхода поезда со станции г следующий поезд может отправиться только через Ь^ единиц времени). Директивный срок окончания обслуживания заказа З^ь определяется нормативно и зависит от расстояний между пунктами отправления и назначения: + А.
Также заданы множества временных интервалов недоступности т^, когда пути (г,]) заняты движением пассажирского транспорта, ремонтными работами и т.д.
Требуется определить расписание и маршрут движения каждого заказа со станции отправления на станцию назначения так, чтобы минимизировать суммарное взвешенное время выполнения всех заказов.
2. Задача формирования составов без ограничений на количество локомотивов
2.1. ПЕРЕМЕННЫЕ ЗАДАЧИ
Введём следующие переменные. Переменная при-
нимает значение 1, если заказ З^ь начинает движение по ребру (и, у), и = у, в момент времени Ь, и 0 в противном случае.
Бинарная переменная упринимает значение 1, если в момент времени Ь из и в у отправляется поезд, и 0 в противном случае.
Связь переменных х и у задаётся следующим образом:
(1) у('и,'ю)г ^ ь££ ^ у xijk(u,v)t € Т, У(и, у) € Е,
г^М jeN
где О^ = {1, 2,..., п^}. Опишем основные ограничения задачи.
2.2. ОГРАНИЧЕНИЯ ЗАДАЧИ
Первая группа ограничений обеспечивает движение заказов по железнодорожной сети и представляет собой стандартные требования для задач маршрутизации.
Ограничения на передвижение по графу дорог
Заказ не может быть отправлен раньше времени его поступления на станцию:
(2) Е Е xijk(i,u)t " Ь ^ rijk 'Уг,3 € Ж, Ук € О^.
гет (^п)еЕ
Заказ может войти в вершину не более одного раза:
(3) Е Е xijk(u,v)t ^ 1 Уг,3 € N, Ук € Оу, Уу € Ж.
гет (и,у)еЕ
Заказ может выйти из вершины не более одного раза:
(4) Е Е х^и^г < 1 Уг,3 € Ж, Ук € О^, Уи € N.
геТ (и,ь)еЕ
Все заказы должны быть доставлены в пункты назначения:
(5) ^2 ^ Е х^Ки^ = пч Уг,.1 € N.
гет (и^)еЕ ьео^
Если заказ пришел на промежуточную станцию, он должен из неё выйти:
(6) Е Е х^ = Е Е х^
гет (и,'и)еЕ гет ('и,т)еЕ
У г, ^ € N, Ук € О^, Уу € N, у = г, у = ],
при этом заказ начинает прохождение следующего ребра не раньше чем через время, требуемое на прохождение предыдущего:
(7) Е Е xijk(u,v)t *
(Ь + руМ) ^ Е Е xijk(v,w)t ' Ь
гет (у,^)еЕ гет (v,w)еE
У г, ^ € N, Ук € О^, Уу € N, у = г, у = ].
Далее идут ограничения, учитывающие специфику железнодорожного транспорта.
Ограничения по составам
Ограничение по длине состава (одновременно по ребру может быть отправлено не более Ь вагонов):
<8) ЕЕЕ х^^и^ ^ Ь УЬ € Т, У (и, у) € Е.
iеN jеN ьеО^
Ограничение по массе состава:
(9) ЕЕЕ т^ь ■ х^и^ ^ М УЬ € Т, У (и, у) € Е.
iеN jеN ье01^
Ограничения по сортировочным станциям
На сортировочной станции у не может одновременно обслуживаться более вотЬи составов:
(1»)ЕЕ Е у(и,и)г + ЕЕ Е у(и^)г ^ вотЬи
iеN jеN (и,гю)еЕ iеN jеN ('ю,гш)еЕ
УЬ € Т, Уу € N. Величина вотЬи зависит от продуктивности станции.
Ограничения по путям
Поезда отправляются по ребру (и, у) с интервалом Ьии:
(11) у(и,и)г1 + у(и,и)г2 ^ 1
У (и,у) € Е, УЬ1,Ь2 € Т, Ь1 <Ь2 <Ь1 + Ьии.
Данное ограничение моделирует ситуацию движения по так называемым блок-участкам. Пути между двумя соседними сортировочными станциями разделены семафорами на участки, на которых одновременно может находиться не более одного поезда. В этом случае Ьии - это время прохождения самого длинного блок-участка между станциями и и у.
Движение в запрещённые моменты времени невозможно:
(12) у(и,и)г = 0 У(и,у) € Е, УЬ € тут.
На практике данные ограничения возникают в случае временного закрытия тех или иных путей на ремонт, выделения пути для движения скорых поездов и т.д.
2.3. ЦЕЛЕВАЯ ФУНКЦИЯ
Время прибытия заказа ,1^к на станцию назначения определяется как
(13) С^к ^ ^ ^ х1]к(и,])1 • + Ру^).
гет (и,])еЕ
Если предположить, что затраты пропорциональны суммарному растоянию, пройденному всеми поездами, осуществляющими перевозки вагонов, то суммарные издержки составят
(14) Е Е У(и,у)г • ри/и.
геТ (и,у)еЕ
В таком случае задача заключается в минимизации целевой функции
(15) Ег(х,у) = <р(С) + Е Е у(и,'ю)г • риь,
гет (и,ь)еЕ
где (р(С) - функция, характеризующая сроки доставки заказов. В случае минимизации взвешенного суммарного времени окончания работ
(16) р(С) = ЕЕЕ ‘Мук Сук,
iеN jеN ке01]
которое характеризует среднее время нахождения заказа в пути, мы получаем линейную целевую функцию, а значит, задачу целочисленного линейного программирования (ЦЛП).
2.4. ВОЗМОЖНЫЕ МОДИФИКАЦИИ ЗАДАЧИ
Отметим, что решение в представленной задаче с ограничениями (1)-(12) существует только при выборе достаточно большого интервала планирования Т. В противном случае условие доставки всех заказов (5) может быть не выполнено. В этом случае целесообразно ставить задачу ЦЛП на максимум без жёстких ограничений (5), (6) с целевой функцией
(17) Е2(х,у) = ЕЕ Е Е Е wijk хук(иу)г
iеN jеN ке01, гет (иу)еЕ
-Е Е у(и,у)г • риги,
гет (и,ь)еЕ
максимизирующей взвешенное число доставленных заказов с учетом транспортных издержек.
В случае фиксированного расписания движения поездов можно заранее задать значения переменных У(и,ь)г. В этом случае задача (1)-(13), (15) будет содержать только переменные х^к(и,у)г и заключаться в определении, по какому маршруту (какими поездами) должен быть отправлен заказ. В целевой функции при этом не будут учитываться издержки (14), а ограничения (8) могут быть модифицированы следующим образом:
(18) ЕЕ Е хук(и,у)г ^ Ь(и,у)г £ Т, у(и,£ Е.
iеN jеN ке01^
Это целесообразно для случая, когда к поездам, идущим по расписанию, уже прикреплены какие-либо другие заказы.
Кроме того, задача (1)-(13), (15) может быть дополнена ограничениями вида С^к ^ й^к для некоторых станций г, ] и заказов 3^к. Данные ограничения свидетельствуют о необходимости обязательного выполнения некоторых заказов в срок, однако, использование подобных ограничений может приводить к несов-метности системы ограничений.
3. Случай ограниченного числа локомотивов
В описанной выше постановке предполагалось наличие неограниченного количества локомотивов. Однако на практике часто возникает ситуация невозможности сформировать состав в некоторый момент времени ввиду отсутствия локомотивов на станции.
Далее будем рассматривать случаи, когда имеются ограничения на количество или расположение вагонов.
3.1. СЛУЧАЙ ЗАРАНЕЕ ЗАДАННОГО НАЧАЛЬНОГО
РАСПОЛОЖЕНИЯ ЛОКОМОТИВОВ
Введем целочисленную переменную ги, г £ Ы, £ € Т, равную количеству локомотивов на станции г в момент времени £, г £ Z+. Пусть величины г^, г £ N, заранее известны (начальное расположение локомотивов на сети железных дорог). Тогда
167
количество локомотивов в произвольный момент времени £ на станции V определяется следующим образом:
(19) гуг ^ ^ ' у('ю,и)т +
0^т<г (у,и)еЕ
+ Е Е у(и,ь)т Ы £ T, £ Ы.
(у,и)еЕ о^т^г-риъ
В результате получаем ограничение на количество формируемых на станции составов в зависимости от имеющихся в наличии локомотивов:
(20) Е у(и,у)г < гиг Ы £ Т.
(и,у)еЕ
3.2. СЛУЧАЙ ФИКСИРОВАННОГО КОЛИЧЕСТВА ЛОКОМОТИВОВ
Если величины г%о, г £ N, заранее не известны, а имеется лишь ограничение на общее количество локомотивов, то к ограничениям (19)-(20) добавляется неравенство
(21) Е гц0 ^ Ьве,
iеN
где Ьве - количество имеющихся в наличии локомотивов.
4. Выводы и перспективы
Таким образом, в зависимости от возникающей на практике ситуации, задача формирования составов и расписания их движения может формулироваться в разных вариантах: можно фиксировать или оставлять произовольными число локомотивов (Хц), маршруты и расписания движения поездов (у(и>у)г), изменять целевые функции и т.д. Во всех случаях задача представляет собой задачу целочисленного линейного программирования, для решения которой существует ряд точных и аппраксимационных методов [2, 3]. Эффективность решения данной задачи зависит от анализа структуры множества ограничений и выбора подходящего метода решения.
168
Литература
1. ДАНЦИГ ДЖ. Линейное программирование. Его применение и обобщение. - M.: Изд-во «Прогресс», 1966. - 590 с.
2. ЛАЗАРЕВ А.А., МУСАТОВА Е.Г., ГАФАРОВ Е.Р., КВА-РАЦХЕЛИЯ А.Г. Теория расписаний. Задачи железнодорожного планирования. - M.: ИПУ РАН, 2012. - 92 с.
3. WOLSEY L.A., NEMHAUSER G.L. Integer and Combinatorial Optimization. - N.Y.: John Wiley & Sons Inc., 1988. - 764 c.
INTEGER FORMULATIONS OF FREIGHT TRAIN DESIGN AND SCHEDULING PROBLEMS
Alexander Lazarev, Institute of Control Sciences of RAS, Moscow, Doctor of Science, professor ([email protected]).
Elena Musatova, Institute of Control Sciences of RAS, Moscow, Cand.Sc. ([email protected]). (Moscow, Profsoyuznaya st., 65,
(495) 334-87-51).
Abstract: We consider the problem of cars-to-train assignments, routing and scheduling, which is to minimize the weighted average time of transportation orders execution by consistently choosing the compound of trains, their routes from origins to destinations, and schedules. We offer the new integer problem settings to account for different cases of practical constraints.
Keywords: integer linear programming, railway problems, scheduling theory.