УДК 519.854.2 ББК22.1
СОСТАВЛЕНИЕ ОПТИМАЛЬНОГО РАСПИСАНИЯ
ДВИЖЕНИЯ ПОЕЗДОВ МЕЖДУ ДВУМЯ СТАНЦИЯМИ, СОЕДИНЕННЫМИ ОДНОПУТНОЙ ЖЕЛЕЗНОЙ ДОРОГОЙ С РАЗЪЕЗДОМ1
Лазарев А. А.2
(ФГБУН Институт проблем управления им. В.А. Трапезникова РАН, ФГБОУ ВПО «Московский государственный университет им. М.В. Ломоносова», ФГАОУ ВПО «Национальный исследовательский университет «Высшая школа экономики», ФГБОУ ВПО «Московский физико-технический институт (государственный университет)», Москва) Тарасов И. А.3 (ФГБУН Институт проблем управления им. В.А. Трапезникова РАН, ФГБОУ ВПО «Московский государственный университет им. М.В. Ломоносова», Москва)
Рассматривается проблема составления оптимального расписания движения поездов между двумя станциями, соединенными однопутной железной дорогой с разъездом. Подобные задачи являются предметом интенсивных исследований из-за практической значимости. Разработан точный алгоритм решения задачи минимизации времени окончания перевозок для случая одновременного поступления поездов.
1 Работа выполнена при финансовой поддержке РФФИ: №13-0112108, №13-08-13190, №15-07-03141, №15-07-07489, №16-31-00354; DAAD A/1400328.
Авторы признательны профессору Сиднейского технологического университета Я. Зиндеру за ценную критику и комментарии.
2 Александр Алексеевич Лазарев, доктор физико-математических наук, профессор, ([email protected], г. Москва, ул. Профсоюзная, д. 65, тел. (495) 334-87-51).
3Илья Алексеевич Тарасов, студент (ilya_tarasof @mail.ru). 244
Ключевые слова: теория расписаний, комбинаторная оптимизация, транспортные задачи, алгоритм.
Введение
Задача составления оптимального расписания на однопутных участках актуальна как для пассажирских, так и для грузовых поездов, так как такие участки составляют значительную часть любой железнодорожной сети. В основном железнодорожные линии мира однопутные; общая длина двухпутных и многопутных дорог составляет около 180 тыс. км (примерно 13% мировой сети), в том числе многопутных - около 10 тыс. км (менее 1%). Только в немногих странах Западной Европы двухпутные и многопутные линии образуют значительную часть железнодорожной сети: в Великобритании - 74% (в том числе многопутные линии - 10%), в Бельгии - 60%, в Нидерландах - 48%, во Франции, ФРГ, Швейцарии - 40-44%, в Италии - 30%, в Австрии -25%, в других европейских странах - 10-15%. В США 42 тыс. км двухпутных и многопутных линий (треть мирового протяжения), но они составляют лишь 12% общей длины всех железнодорожных линий; в Японии и Индии двухпутные и многопутные линии составляют 18-20%, в Канаде — 6% общей железнодорожной сети. Максимальные по длине многопутные участки принадлежат США (более 100 км); в других странах длина таких участков не превышает нескольких десятков километров; обычно многопутные участки расположены на подходах к крупнейшим городам. В России протяженность путей общего пользования составляет 86 тыс. км (всего 120 тыс. км), из них двухколейных и многоколейных 43,8 тыс. км [1]. Для повышения пропускной способности однопутных участков используются разъезды.
Рассматриваемая задача является одной из типичных задач управления транспортными потоками на железной дороге, т.е. задачей построения оптимального расписания движения состава на участке с жестким ограничением на пропускную способность путей (так называемая задача об «узких местах», или «bottleneck»).
1. Общее описание проблемы
Рассмотрим постановку задачи поиска оптимального расписания движения поездов. Две станции соединены однопутной железной дорогой. Имеется два множества поездов, N1 и N2. Поезда из множества N1 следуют со станции 1 на станцию 2, поезда из N2 следуют в обратном направлении со станции 2 на станцию 1. Между станциями находится разъезд для пропуска встречных поездов. В разъезде есть главный путь для безостановочного пропуска поездов и один дополнительный путь (или несколько) для пропуска встречных поездов. Время прохождения разъез-
Дополнительный путь
Главный путь
К станции 1 К станции 2
Рис. 1. Схема разъезда
да поездами много меньше времени, за которое поезда проходят путь между станциями 1 и 2. Необходимо составить расписание, т.е. для каждого поезда из N и N2 указать:
• время отправления;
• время стоянки в разъезде (если оно есть).
Будем рассматривать задачу с минимизацией целевой функции времени окончания перевозок Cmax («makespan») при одновременном поступлении поездов на станции.
В соответствии с трехпозиционной системой обозначений, принятой в теории расписаний [6], для данной задачи можно ввести краткое обозначение STRSP2-siding\\Cmax, где STRSP2 является сокращением от «Single Track Railway Scheduling Problem with two stations» (такое обозначение было предложено в [5]). 246
2. Математическая постановка задачи
Исходными данным для задачи в общем случае являются параметры железной дороги и поездов:
• на пути между станциями находится один разъезд, вмещающий один поезд при пропуске встречных поездов;
• скорость движения поездов одинакова и постоянна;
• интервал безопасности для любых одновременно находящихся в движении поездов т > 0 (минимальное время между отправлением двух поездов с одной станции и между прибытием к разъезду двух поездов с разных станций);
• время прохождения поездами участков пути между станциями слева и справа от разъезда - р1 и р2, без потери общности будем считать р1 ^ р2 > 0;
• число поездов щ множества N1 и щ множества N2.
Необходимо составить оптимальное расписание движения поездов, т.е. указать:
• время отправления поезда номер г с в-й станции Б/,
г = 1,и3, в е {1, 2};
• время стоянки поезда г со станции в в разъезде к/, г = 1,иа,
в е {1,2}.
Однопутная железная дорога разделена разъездом на два отрезка. Поезда из множества N1 проходят их в порядке 1 ^ 2, поезда из N2 в порядке 2 ^ 1. Если на отрезке находится поезд из N1, то ни один из поездов из N2 не может находиться на данном отрезке, и наоборот.
Обозначим время старта поезда номер г с в-й станции как Б/, а время прибытия поезда номер г с в-й станции - С/, тогда: (1 ) С/ = Б/ + Р1 + к? + Р2, г = 1^, в е{1,2}.
Целевая функция - время окончания перевозок, которое определяется по формуле
(2) Cmax = _max {Cs}.
i=1,ns,se{1,2}
3. Существующие методы решения
Обзор публикаций по моделям и методам железнодорожного планирования, в том числе по моделям с однопутными железными дорогами, был рассмотрен Ласби с соавторами в 2011 г. [10]. Кроме планирования движения на однопутных дорогах, в работе описаны другие типы задач - распределение по платформам, организация движения в сетях различного типа. В 2011 г. Хэр-род [7] классифицировал модели по типу расписания (периодическое или апериодическое) и по способу представления железнодорожной сети (явно или неявно).
Задачи планирования движения поездов на однопутной железной дороге из-за практической значимости и сложной математической природы являются предметом интенсивных исследований. Одна из первых работ по данной проблеме - работа Шпигеля, опубликованная в 1973 г. [14]. Шпигель рассмотрел задачу планирования движения поездов по одноколейной железной дороге с возможностью обгона на станциях. Он первым отметил сходство между задачей планирования движения поездов и задачей теории расписаний для нескольких приборов, рассматривая участки пути как «приборы», а поезда - как «работы».
Хиггинс с соавторами в 1996 г. описали метод ветвей и границ для однопутных линий железных дорог, похожий на метод Шпигеля [8]. Брэннлунд с соавторами в 1998 г. рассмотрели модель одноколейной дороги, на сегментах которой установлены ограничения на пропускную способность, а поезда движутся с постоянной скоростью [2]. Кэри и Локвуд свели задачу планирования движения для небольшой сети железных дорог к задаче целочисленного программирования с бинарными переменными [4]. Для решения авторы предложили эвристический метод, который последовательно упорядочивает поезда. В отличие от постановки
Шпигеля, в задаче были учтены порядковые ограничения.
В работе Оливейры [12] представлен литературный обзор по задачам планирования движения на однопутных линиях и метод программирования в ограничениях для их решения. В публикации китайских ученых [15] исследуется задача составления оптимального расписания на однопутной железной дороге с минимизацией целевой функции общего времени прохождения пути. В этой работе ставится обобщенная задача, учитывающая пропускную способность станций как ограниченных ресурсов, и предлагается метод ветвей и границ для получения допустимых расписаний с гарантированной точностью.
Исследование задачи составления оптимального расписания поездов с равными и постоянными скоростями на однопутной линии между двумя станциями было представлено в [5]. В работе задача сводится к одной из уже достаточно изученных задач в теории расписаний - к задаче одного прибора. Поезда рассмотрены как «работы», а путь - как «прибор». Между обслуживанием требований разного типа (т.е. поездов с разных станций) должна проводиться «настройка» прибора. В модели присутствуют множества требований разного типа с равными временами выполнения, поэтому при таком представлении задачи возможно применить уже разработанные методы («batching»), описанные в работах Монма и Поттс [11], Кравченко и Вернера [9]. Задача составления оптимального расписания поездов на однопутной железной дороге может быть также представлена как задача цеха с заданным отношением предшествования между операциями («job-shop scheduling») [3]. В работе Сотскова и Голами [13] для случая с несколькими станциями задача представлена как задача цеха и для нее предложен эвристический алгоритм.
Можно сделать вывод о том, что задачи составления оптимального расписания на однопутной железной дороге при исследовании в основном представляются как уже изученные задачи теории расписаний, для которых разработаны методы решения: динамическое программирование, метод ветвей и границ, «batching», эвристические алгоритмы. Для модели, исследуемой
в данной работе, еще не было предложено точных алгоритмов решения. При определенных условиях полученные в работе алгоритмы можно сравнить с существующими эвристическими алгоритмами для более обобщенных моделей, например для сети из нескольких станций.
4. Исследование проблемы
4.1. СВОЙСТВА РАСПИСАНИЙ МОДЕЛИ
Определение 1. Назовем поезд i co станции s (i = 1,ns, s G {1,2}) активным в момент времени t, если в этот момент он либо движется между станциями с постоянной скоростью, либо находится в разъезде, т.е. справедливо (3) Si < t< Cf.
Расписание должно соответствовать ограничениям модели. Сформулируем некоторые свойства расписания для данной модели.
• Одновременно на каждом отрезке пути (справа или слева от разъезда) не могут находиться два активных поезда с разных станций. Это следует из модели - пропуск встречных поездов происходит только в разъезде. На одном сегменте два встречных поезда не могу разойтись.
• Одновременно на всем пути могут находиться A активных поездов со станции 1 и B активных поездов со станции 2, при условии, что выполняется неравенство min{A, B} ^ 1.
• Для нашей модели будем предполагать, что
0 < т ^ min{pi,p2}.
• Расстояние между активными поездами не может быть меньше расстояния, которое поезд проходит за минимальный интервал безопасности - время т > 0. Он вводится из-за значительной длины грузового поезда, которую необходимо учитывать (поезда не могут двигаться впритык один
за другим), и для разрешения экстренных ситуаций при непредвиденной остановке поезда.
Определение 2. Будем называть расписания с описанными выше свойствами допустимым расписаниями.
4.2. СВОЙСТВА ОПТИМАЛЬНОГО РАСПИСАНИЯ
Определим необходимые свойства оптимального расписания для данной модели.
• Расписание должно быть допустимым.
• При оптимальном расписании нет искусственных перерывов в движении поездов. Для любой регулярной функции в случае добавления перерыва в движении целевая функция только возрастает. Это означает, что при оптимальном расписании в любой момент Ь при Ь £ [0, Стах) число активных поездов больше нуля.
• При оптимальном расписании при остановке в разъезде поезд пропускает как минимум один встречный состав. Остановка в разъезде без пропуска встречных поездов не имеет смысла и не уменьшит значение целевой функции.
• При оптимальном расписании поезд, пропускающий в разъезде один или несколько встречных поездов, покидает разъезд сразу после того как последний из пропускаемых поездов пройдет его.
Определение 3. Множество расписаний, удовлетворяющих необходимым свойствам оптимального расписания, назовем регулярными расписаниями.
Лемма 1. При любом регулярном расписании время завершения перевозок не больше чем (р1 + р2)п, где п = п1 + п2.
Доказательство. Рассмотрим случай, когда п1 = п2 = п/2 или значения п1 и п2 отличаются на 1. В таком случае возможно, что все поезда будут стартовать в момент прибытия поезда с другой станции (и в нулевой момент - условие для первого поезда),
251
т.е. поочередно с разных станций. Очевидно, что при расписании с максимальным временем завершения перевозок поезда с разных станций будут начинать движение по очереди (см. рис. 2).
Станция 2
/\ /\ / Стах
Разъезд / \ / \ /
/ V \/ г
Станция 1
Рис. 2. График движения при регулярном расписании с максимальным временем окончания перевозок для и1 = 3 и и2 = 2
Тогда время завершения перевозок будет равно (4) Стах = (щ + + Р2) = и(р1 + Р2).
В случае, если и1 = и2, при регулярном расписании с максимальным временем окончания перевозок часть поездов будут двигаться с минимальным интервалом (см. рис. 3).
Станция 2
/\ /\ /// С ах
Разъезд / \ / \ / / /
/ V \/// г
Станция 1
Рис. 3. График движения при регулярном расписании с максимальным временем окончания перевозок для и1 = 5 и и2 = 2
тах
гах будет равен
С тах = (Р1 + р2)п* + гп**,
где п* - число поездов, идущих поочередно с разных станций, п** - число поездов, стартующих с одной станции через минимальный интервал, п* + п** = п. По условию т ^ ш1п(р1,р2}, т.е. при любых п справедливо Стах ^ (р1 + р2)п.
Последовательный старт с одной станции нескольких поездов через минимальный интервал, так же как и использование разъезда, только уменьшит Стах. Оценка сверху для Стах достигается, например, в случае, который представлен на рис. 3.
Отметим, что при любом регулярном расписании с произвольными п1 и п2 поездами на станциях в разъезде делают остановку максимум шш(п1,п2} поездов. При регулярном расписании все поезда, делающие остановку в разъезде, пропускают как минимум один встречный состав. Это значит, что необходимо составить пары из поездов с разных станций (пропускающий и проходящий). Число таких пар может быть не больше шш{п1,п2}.
4.3. ВЫВОД ОПТИМАЛЬНОГО РЕШЕНИЯ
Из определения регулярного расписания и допустимого расписания можно сделать вывод, что при регулярном расписании количество ситуаций с различным числом активных поездов с разных станций конечно. Необходимо оценить количество регулярных расписаний.
При регулярном расписании не определен порядок, в котором поезда покидают станции. Обозначим множества поездов со станций N1 и N2 как
[Ь1,Ь2, ...,Ьп2}.
Если не использован разъезд, то количество возможных регулярных расписаний равно числу перестановок порядка п = п1 + п2.
{al, a2,а,п1}
и
Число перестановок множества из и = щ + щ элементов (в произвольном порядке) определяется формулой
(6) т =(21+!^.
и1!и2!
Как следует из определения 2, шш{А, В} ^ 1, поэтому рассмотрим четыре возможных случая:
• активны А поездов со станции 1 и нет ни одного активного поезда со станции 2;
• активны В поездов со станции 2 и нет ни одного активного поезда со станции 1;
• активны А поездов со станции 1 и один поезд со станции 2;
• активны В поездов со станции 2 и один поезд со станции 1.
В последних двух вариантах единственный со своей станции поезд пропускает встречные поезда с другой станции.
Любое регулярное расписание представляет собой набор из последовательностей сегментов, соответствующих одной из этих четырех ситуаций. Для нахождения решения разберем подзадачи, оптимальные решения которых включают в себя каждый из 4 сегментов. Затем опишем правила их комбинации и построения порядка решения. Далее необходимо выяснить, сколько поездов и с каких станций сделают остановку в разъезде при оптимальном расписании.
Описанные далее подзадачи по постановке отличаются от исходной задачи только числом поездов на станциях в начальный момент.
4.3.1. ПОДЗАДАЧА А(М)
На станции 1 находятся т поездов, на станции 2 нет ни одного поезда.
Очевидно, что в оптимальном решении поезда со станции 1 идут подряд с начального момента Ь = 0 с минимальным интервалом Т.
(7) Стах [А(т)] = ст = Р1 + Р2 + (т - 1)т.
254
Станция 2
///// Стах
Разъезд / / / / /
///// Ь
Станция 1
Рис. 4. График движения поездов при оптимальном расписании для подзадачи А(т) при т = 5
4.3.2. ПОДЗАДАЧА В(М)
Подадача В(т) аналогична подзадаче А(т): на второй станции т поездов, а на первой станции нет ни одного поезда. В оптимальном решении поезда со станции 2 идут подряд с начального момента Ь = 0 с минимальным интервалом т. (8) Стах[В(т)] = Ст = Р1 + Р2 + (т - 1)т.
Очевидно, что задачу минимизации времени окончания перевозок при одновременном поступлении поездов с параметрами п1 = I, п2 = т можно разделить на две подзадачи А(1), В(т), выполняемые в произвольном порядке, однако при этом не будет использоваться разъезд.
4.3.3. ПОДЗАДАЧА Е 1(М)
Количество поездов на станции 2 равно п2 = т ^ 1, а на станции 1 находится 1 поезд, т. е. п = 1. Обозначим данную подзадачу как Е 1(т).
Решение данной задачи не так очевидно, как в подзадачах А(т) и В(т). Если перебрать все возможные варианты регулярных расписаний, то можно определить общую структуру оптимального расписания для данной задачи. Возможны три варианта:
• в разъезде не останавливается ни один из поездов;
• в разъезде останавливается поезд со станции 2;
• в разъезде останавливается поезд со станции 1.
Для данной задачи нет других вариантов (в разъезд заходит только один поезд), так как ш1п{и1,и2} = 1, т.е. в разъезде будет останавливаться для пропуска не более чем один поезд.
Рассмотрим первый вариант. Обозначим множества поездов со станций N и N как {а1} и {Ъ1,Ъ2, ...,ЬП2}. Существует и2 + 1 способов построения порядка движения поездов:
{аьЪьЪ2, ...,Ъ,П2}; {ЪьаьЪ2,...,Ъга2};
{ъъъ2,...,ъ„2 ,а1}.
Для случаев {а1, Ъ1, Ъ2,..., ЪП2} и {Ъ1, Ъ2,..., ЪП2, а1} имеем
(9) Стах = 2(Р1 + Р2) + (12 - 1)т. В остальных случаях
(10) Стах = 3(Р1 + Р2) + (12 - 1)т.
Во втором варианте поезд со станции 2 пропускает в разъезде поезд со станции 1. Существует и2 способов построения порядка движения: в разъезд заходит первый из поездов, идущих со станции 2, второй, ... , и2-й. Если в разъезд заходит первый из поездов, идущих со станции 2, то при условии т ^ Р1 — Р2 поезд со станции 1 начинает движение в начальный момент (см. рис. 5)
(11) Стах = 2(Р1 + Р2) + (12 - 2)т.
При т ^ р1 — р2 поезд со станции 1 начинает движение в момент Ь = р2 + т — р1 (см. рис. 6)
(12) Стах = (2р2 + т) + (р1 + р2) + (п2 — 2)т.
Если в разъезд заходит второй из поездов, идущих со станции 2
Станция 2
Ь
Станция 1
Рис. 5. График движения при втором варианте структуры расписания для подзадачи Е 1(5) при т ^ р1 — р2, в разъезд заходит первый поезд со станции 2
Станция 2
Л\\\\ Ь
Станция 1
Рис. 6. График движения при втором варианте структуры расписания для подзадачи Е 1(5) при т ^ р1 — р2, в разъезд заходит первый поезд со станции 2
(см. рис. 7), то
(13) Стах = 3(р1 + р2) + (п2 — 2)т.
Данная формула также справедлива, если в разъезд заходит третий, четвертый, ..., 12 - 1 из поездов, идущих со станции 2.
Станция 2
Разъезд \ /\\\
Ь
Станция 1
Рис. 7. График движения при втором варианте структуры расписания для подзадачи Е 1(5), в разъезд заходит второй поезд со станции 2
Если в разъезд заходит последний из поездов, идущих со станции 2 (под номером и2), то (14) Стах = Р1 + Р2 + (12 - 2)т + 2Р1.
В третьем варианте поезд со станции 1 пропускает в разъезде поезда со станции 2 (один или несколько). Можно выделить три случая:
• поезд со станции 1 начинает движение, когда ни один из поездов со станции 2 еще не прибыл на станцию 1 (см. рис. 8);
• поезд со станции 1 начинает движение, когда несколько поездов со станции 2 уже прибыли на станцию 1, и пропускает все оставшиеся поезда со станции 2 в разъезде;
• поезд со станции 1 начинает движение, когда несколько поездов со станции 2 уже прибыли на станцию 1, и пропускает не все оставшиеся поезда со станции 2 в разъезде.
В первом случае поезд со станции 1 может пропустить не все из и2 поездов со станции 2 в разъезде (см. рис. 8). Отметим, что
в таком случае для любого числа пропускаемых поездов (от 1 до п2 — 1) формула будет одинаковой:
(15) Стах = 2(р1 + р2) + (п2 — 1)т.
Если поезд со станции 1 пропускает все (см рис. 9) поезда со станции 2 в первом варианте, то
(16) Стах = 2р1 + п2т.
Во втором случае поезд со станции 1 начинает движение, когда
Станция 2
Разъезд\\\\
/\\ Ь
Станция 1
Рис. 8. График движения при третьем варианте структуры расписания для подзадачи Е1(5), поезд со станции 1 начинает движение, когда ни один из поездов со станции 2 еще не прибыл
на станцию 1
несколько поездов со станции 2 уже прибыли на станцию 1, и пропускает все оставшиеся поезда со станции 2 в разъезде. При такой структуре расписания для любого допустимого числа пропускаемых поездов справедлива формула
(17) Стах — р1 + р2 + (п2 — 2)т + 2р1 + т.
В третьем случае поезд со станции 1 начинает движение, когда несколько поездов со станции 2 уже прибыли на станцию 1, и пропускает не все оставшиеся поезда со станции 2 в разъезде. Для любого допустимого числа пропускаемых поездов имеем
(18) Стах = р1 + р2 + (п2 — 2)т + 2(р1 + р2). Сравнив полученные формулы (9)-(18), можно найти среди них решение - вариант с минимальным значением Стах. При оптимальном расписании для подзадачи Е1(т) (см. рис. 9) поезд со
259
станции 1 начинает движение в нулевой момент времени, заходит в разъезд и пропускает все встречные поезда со станции 2, целевая функция определяется формулой (19) Стах[Е 1(т)]=2Р1 + тт.
Станция 2
/2Р1 Ь
Станция 1 ■ 4т '
Рис. 9. График движения поездов при оптимальном расписании для подзадачи Е1(5)
4.3.4. ПОДЗАДАЧА Е2(М)
Необходимо решить задачу минимизации времени окончания перевозок при одновременном поступлении поездов с одним разъездом, вмещающим один поезд. Количество поездов на станции 1 в начальный момент равно 11 = т ^ 1, на станции 2 находится один поезд. Время прохождения поездом отрезков слева и справа от разъезда равно Р1 и Р2, Р1 ^ Р2. Обозначим данную задачу как подзадачу Е2(т).
Общую структуру оптимального расписания возможно найти, рассмотрев все варианты регулярных расписаний для данной подзадачи. Как и для подзадачи Е 1(т), при оптимальном расписании для данной подзадачи один поезд со станции 2 пропускает в разъезде все встречные поезда со станции 1. При этом возможны две ситуации, когда первым начинает движение поезд со станции 2 или поезд со станции 1. Поезд со станции 2 должен пробыть в разъезде как минимум время т до того, как первый
поезд со станции 1 пройдет разъезд. Допустимый момент начала движения первого поезда со станции 1 определяется из неравенства
(20) 51 + р1 ^ р2 + т,
т.е. момент начала движения первого поезда со станции 1 равен
(21) 51 = тах{0,р1 — (р2 + т)}.
Если т ^ р1 — р2, то при оптимальном расписании 51 = 0 (см. рис. 10 ). Время окончания перевозок для подзадачи Е2(т) определяется формулой
(22) Стах [Е2(т)]1 = 2рх + тт.
Станция 2
Раз^^д /////
/////\ Ь
Станция 1
Рис. 10. Оптимальное решение подзадачи Е2(5) при т ^ р1 — р2
Если т ^ р1 — р2, то при оптимальном расписании 51 = р1 — р2 + т (см. рис. 11). Время окончания перевозок для подзадачи Е2(т) определяется формулой (23) Стах [Е2(т)]22 = р1 + тт + р2.
Значения целевой функции берутся как разница между началом движения первого поезда и прибытием последнего поезда на станцию назначения.
4.3.5. ПРАВИЛА КОМБИНАЦИИ ПОДЗАДАЧ
Лемма 2. Исходная задача минимизации времени окончания перевозок при одновременном поступлении п1 и п2 поездов и одним разъездом может быть представлена как комбинация:
Станция 2
^Раз^езд / / / / /
г
Станция 1
Рис. 11. Оптимальное решение подзадачи Е2(5) при т ^ р1 — р2
• кл подзадач А(тл), г = 1,..., кл;
• кв подзадач В(тв), г = 1,..., кв;
• кЕ1 подзадач Е 1(тЕ1), г = 1,..., кЕ1;
• кЕ2 подзадач Е2(тЕ2), г = 1, ...,кЕ2; при условии, что
кл кЕ2
(24) П1 = ^ тл + кЕ1 + ^ тЕ2;
г=1 г=1
(25) П2 = ^ тв + кЕ2 + ^ тЕ 1.
г=1 г=1
Доказательство. Комбинации подзадач, решаемых в определенном порядке, позволяют получить все возможные регулярные расписания, в том числе оптимальное решение исходной задачи. Это можно объяснить тем, что при регулярном расписании поезда могут идти либо без остановок в одну сторону с минимальным интервалом, что соответствует решениям подзадач А(тл), г = 1,...,кл, и В(тв), г = 1,...,кв, либо поезд со станции 1 (или 2) пропускает встречные тЕ1 (тЕ2) поездов, что соответствует решениям подзадач Е1(тЕ1), г = 1, ...,кЕ1, и Е2(тЕ2), г = 1, ...,кЕ2. Условие в лемме связывает параметры подзадач т и параметры исходной задачи. В исходной задаче на станции 1 находятся п1 поездов, на станции 2 - п2 поездов. 262
, кА
• После решения кл подзадач А(тЛ), г = 1,...,кл, ^ тЛ
г=1
поездов со станции 1 достигнут станции 2.
кв
• После решения кв подзадач В(тв), г = 1,...,кв, тв
=1
поездов со станции 2 достигнут станции 1.
• После решения кЕ1 подзадач Е1(тЕ1), г = 1, ...,кЕ1, кЕ1
кЕ1
поездов со станции 1 достигнут станции 2, а ^ тЕ1 поез-
=1
дов со станции 2 достигнут станции 1.
• После решения кЕ2 подзадач Е2(тЕ2), г = 1, ...,кЕ2, кЕ2
кЕ2
поездов со станции 2 достигнут станции 1, а тЕ2 поез-
=1
дов со станции 1 достигнут станции 2.
При выполнении условия в лемме комбинация подзадач и исходная задача согласованы по постановке - число поездов на станциях в начальный момент совпадает.
Исходная задача минимизации времени окончания перевозок при одновременном поступлении поездов и одним разъездом может быть разделена на комбинацию подзадач А, В, Е1 и Е2, решаемых в определенном порядке. Решение очередной подзадачи начинается в тот момент, когда все поезда предыдущей задачи либо достигли станций назначения, либо уже в пути. Для одной и той же задачи можно указать несколько вариантов комбинации подзадач. Возможные расписания можно представить в виде упорядоченного набора подзадач, в общем виде без конкретных значений аргументов обозначим его как
{А, В, А, А, Е1, Е2, В, В, Е1,...}.
Порядок выполнения подзадач влияет на значение функции Стах, так как у данных подзадач существуют моменты Ь < Стах, в которые возможно начать решение следующей по порядку подзадачи. Для нахождения оптимального порядка необходимо сравнить значения функций Стах для выполняемых подряд подзадач,
и выделить правила оптимального порядка выполнения подзадач А, В, Е1 и Е2.
Лемма 3. Для получения оптимального расписания с минимальным значением Стах порядок решаемых подряд подзадач А(1) и В(т) не важен. Для двух возможных вариантов {А(1),В(т)} или {В(т), А(1)} целевая функция Стах будет одинаковой.
Доказательство. Для пары подзадач А(1) и В(т) решение следующей подзадачи всегда начинается в момент окончания решения предыдущей, а целевая функция Стах равна сумме Стах каждой отдельной подзадачи. Если подзадача А(1) решается первой (см. рис. 12), т.е. начиная с момента Ь1 = 0, то решение подзадачи В(т) начнется в момент Ь2 = Стах[А(1)]. Целевая функция при таком порядке:
Стах = Стах [А(1)] + Стах[В(т)] = Р1 + Р2 + (1 - 1)Т + Р1 + Р2 +
(т — 1)т .
При обратном порядке (см. рис. 13):
Стах = Стах[В(т)] + Стах[А(1)] = Р1 + Р2 + (т — 1)Т + Р1 + Р2 + (1 — 1)Т.
Рис. 12. График движения при последовательном выполнении подзадач {А(1),В(т)} при I = 5 и т = 5
Лемма 4. Для получения оптимального расписания с минимальным значением Стах решаемые подряд подзадачи А(1) и А(т) сводятся к подзадаче А(1 + т). 264
Станция 2
\\\\\ ///// Стах
РазъездхХХ /////
г
Станция 1
Рис. 13. График движения при последовательном выполнении подзадач {В(т),А(1)} при I = 5 и т = 5
Доказательство. Для доказательства леммы достаточно показать, что если решать подзадачи А(1) и А(т) подряд (см. рис. 14), то время окончания перевозок будет равно сумме Стах каждой из подзадач, т.е Стах[А(1)] + Стах[А(т)]. Подзадача А(1 + т) (см. рис. 15) по постановке эквивалентна комбинации этих подзадач, но имеет Стах[А(1 + т)] < Стах[А(1)] +
Стах[А(т)]:
• Стах [А(1 + т)] = Р1 + Р2 + (1 + т — 1)т;
• Стах[А(1)] + Стах[А(т)] = 2р1 + 2р2 + (I + т — 2)т.
Лемма 5. Для получения оптимального расписания с минимальным значением Стах решаемые подряд подзадачи В(1) и В(т) сводятся к подзадаче В(1 + т).
Доказательство. Лемма аналогично доказывается из неравенства
Стах[В(1 + т)] < Стах[В(1)] + Стах [В(т)]:
• Стах[В (I + т)] = Р1 + Р2 + (1 + т — 1)т;
• Стах[В (I)] + Стах[В(т)] = 2р1 + 2р2 + (I + т — 2)т.
Станция 2
//// Стах / / / / Стах
Разъезд / / / / ////
# /// Ь
Станция 1 1
Рис. 14. График движения при последовательном выполнении подзадач {А(1), А(т)} при I = 4 и т = 4
Станция 2
//////////////// Стах
Разъезд / / / / / / / /
ш Ь
Станция 1
Рис. 15. График движения при выполнении подзадачи А(1 + т) при I = 4 и т = 4
Лемма 6. При оптимальном расписании с минимальным значением Стах неважен порядок решаемых подряд пар подзадач Е 1(1) и Е 1(т) Е2(1) и Е2(т). Целевая функция Стах будет одинаковой в каждой паре возможных вариантов порядка выполнения:
• {Е 1(1), Е 1(т)} и {Е1(т),Е 1(1)};
• {Е2(1),Е2(т)} и {Е2(т),Е2(1)}.
Доказательство. Порядок выполнения подзадач Е2(1) или Е1(т) с любыми I и т не имеет значения, так как для любой из
двух этих подзадач нет моментов Ь < Стах, в которые можно начать выполнение следующей подзадачи Е2(1) или Е1(т). Чтобы это доказать, рассмотрим алгоритм движения поездов в данных подзадачах. В каждой из них в начальный момент со станции 1 начинает движение поезд, а в момент окончания перевозок на станцию 1 приходит последний поезд со станции 2. На рис. 16 показан график движения при оптимальном решении для подзадачи Е1 и отмечены моменты завершения предыдущей подзадачи и начала следующей подзадачи типа Е1.
Станция 2
\ \ \ \ \ / 1 \ \ \ \ ^ Разъезд ' \ \ \ \ \/
Стах I \ предыдущей / \ подзадачи / Е1 \ / \ \ \ Момент старта \ \ \ \ первого поезда \ \ \ \ из следующей подзадачи Е1 \ \ \ \ \ 1 / \ \ \ \ \ 1 / \ \ \ \ \ 1 / \ \ \ \ \'/ Ь
Станция 1 1
Рис. 16. График движения при оптимальном расписании для подзадачи Е1(5)
Итак, для каждой пары вариантов справедливы выражения:
Стах[Е 1(1), Е 1(т)] = Стах[Е1(т),Е 1(1)], Стах[Е2(1),Е2(т)] = Стах[Е2(т),Е 2(1)].
Лемма 7. Если т ^ р1 — р2, то при оптимальном расписании с минимальным значением Стах решаемые подряд подзадачи Е1(1) и Е2(т) должны выполняться в порядке {Е 1(1),Е2(т)}. Если т ^ р1 — р2, то порядок последовательного выполнения подзадач Е 1(1) и Е2(т) не влияет на Стах, т.е. оба варианта {Е 1(1),Е2(т)} и {Е2(т),Е 1(1)} имеют одинаковые значения целевой функции.
Доказательство. Если т ^ Р1 — р2, то при оптимальном расписании для подзадачи Е2(1) поезд со станции 2 начинает движение раньше, чем первый поезд со станции 1 (£{ = р2 + т — р\). Предположим, что подзадачи выполняются в порядке {Е2(т),Е 1(1)}. Выполнение подзадачи начинается в момент прибытия поезда со станции 2, т.е. в момент завершения выполнения подзадачи Е2(т). Общее время окончания перевозок равно сумме Стах отдельных задач Е1(1) и Е2(т). (26)
Стах[{Е2(т),Е1(1)}] = Р1+Р2+тт+2р1+1т = 3р1+р2+(1+т)т. Если подзадачи выполняются в порядке {Е1(1), Е2(т)}, тогда выполнение подзадачи Е2(т) начинается в момент прибытия поезда со станции 1 из подзадачи Е1(1), т.е. раньше момента завершения выполнения подзадачи Е 1(1). Общее время окончания перевозок равно времени прибытия последнего поезда со станции 2 в подзадаче Е2(т):
(27) Стах[{Е1(1),Е2(т)}] =
Р1 + 1т + Р2 + Р2 + тт + Р1 = 2р1 + 2Р2 + (I + т)т. Так как р1 ^ р2, то для любых I и т
(28) Стах[{Е1(1), Е2(т)}] < Стах[{Е2(т), Е1(1)}].
При выполнении условия т ^ Р1 — Р2 время окончания перевозок будет равно сумме Стах отдельных задач Е 1(1) и Е2(т) при любом порядке. В предыдущих леммах были описаны правила построения оптимального порядка последовательного выполнения пар подзадач типа А и В, Е1 и Е2. Теперь определим оптимальный порядок последовательного выполнения пар подзадач А, В и Е1, Е2.
Лемма 8. Для получения оптимального расписания с минимальным значением Стах решаемые подряд подзадачи {А(к), Е2(т)} и {Е2(т), А(к)} сводятся к подзадаче Е2(к + т).
Доказательство. Комбинация подзадач Е 2(т) и А (к) - задача с поступлением к + т поездов на станцию 1 и одного поезда на станцию 2, т.е. по постановке это подзадача Е2(к + т), для которой уже был определен вид оптимального решения. 268
Справедливо Стах[Е2(к + т)] < Отах[{А(к), Е2(т)}] (см. рис. 17 и рис. 18):
• Стах[Е 2(к + т)] = 2Р1 + (к + т)т;
• Стах[{А(к),Е 2(т)}] = р1 + + (к - 1)т + Р2 + тт + р1 = = 2(р1 + Р2) + (к + т - 1)т.
Также верно Стах[Е2(к + т)] < Стах[{Е2(т), А(к)}]:
• Стах[Е 2(к + т)] = 2р1 + (к + т)т;
• Стах[{Е2(т), А(к)}] = 2р1 + тт + р1 + р2 + (к - 1)т = = 2(р1 + Р2) + (к + т - 1)т, если т ^ р1 - Р2;
• Стах[{Е 2(т),А(к)}] = р1 + р2 + тт + р1 + р2 + (к - 1)т = = 2(р1 + р2) + (к + т - 1)т, если т ^ р1 - р2.
Станция 2
^Ра^ьезд ///'
г
Станция 1
Рис. 77. График движения при последовательном выполнении подзадач {Е2(т),А(к)} при т = 2 и к = 3
Лемма 9. Для получения оптимального расписания с минимальным значением Стах решаемые подряд подзадачи {В(к),Е 1(т)} и {Е 1(т),В(к)} необходимо свести к подзадаче Е 1(т + к).
Станция 2
\\\ъезд / // ////
/////\ Ь
Станция 1
Рис. 18. График движения при выполнении подзадачи Е2(т + к)
при т = 2 и к = 3
Доказательство. Комбинация подзадач В (к) и Е 1(т) - задача с поступлением к + т поездов на станцию 2 и одного поезда на станцию 1, т.е. по постановке это подзадача Е1(к + т), для которой уже было определено решение. Справедливо неравенство
Стах[Е1(к + т)] < Стах[{В(к),Е 1(т)}]:
• Стах[Е 1(к + т)] = 2р1 + (к + т)т;
• Стах[{В(к),Е1(т)}] = р1 + р2 + (к — 1)т + 2р1 + тт = 3р1 + р2 + (т + к — 1)т.
Также верно Стах[Е 1(к + т)] < Стах[{Е 1(т), В (к)}] (см. рис. 20 и рис. 19):
• Стах[Е 1(к + т)] = 2р1 + (к + т)т;
• Стах[{Е 1(т), В (к)}] = р1 + тт + р2 + р1 + р2 + (к — 1)т = 2(р1 + р2) + (т + к — 1)т.
Лемма 10. Для получения оптимального расписания с минимальным значением Стах решаемые подряд подзадачи {Е 1(т),А(к)} должны выполняться в порядке {А(к), Е1(т)}.
Станция 2
Разъезд \ \ \ \ \/ \ \ \
г
Станция 1
Рис. 19. График движения при последовательном выполнении подзадач {Е1(т), В(к)} при т = 5 и к = 3
Станция 2
Разъезд \ \ \ \ \ \ \ \/
г
Станция 1
Рис. 20. График движения для последовательного выполнения подзадач Е 1(т + к) при т = 5 и к = 3
Доказательство. Пусть подзадачи выполняются в порядке {Е 1(т),А(к)}, начиная с г1 =0 (см. рис. 21). Подзадача А(к) может выполняться только начиная с момента завершения Е1(т), когда последний из т поездов достигнет станции 1, т.е. в момент Стах[Е 1(т)]. Следовательно, время выполнения двух подзадач в указанном порядке будет равно сумме Стах для каждой из подзадач:
(29) Стах[{Е 1(т),А(к)}] = 3р1 + р2 + тт + (к - 1)т. Если выполнять подзадачи в порядке {А(к),Е 1(т)} (см. рис. 22), начиная с г1 = 0, то для любых т ^ 1 и к ^ 1 по-
лучаем Стах меньше, чем при порядке {Е1(т), А(к)}: (30) Стах[{А(к),Е 1(т)}] =2(р1 + р2) + (к — 1)т + тт.
Станция 2
Разъезд\\^\\^\\/ /
Ь
Станция 1
Рис. 21. График движения при выполнении подзадач в порядке {Е1(т), А(к)} при т = 5 и к = 1
Станция 2
Разъезд /
//"Ил Ь
Станция 1
Рис. 22. График движения при последовательном выполнении подзадач {А(к), Е1(т)} при т = 5 и к = 1
Лемма 11. При т ^ р1 — р2 для получения оптимального расписания с минимальным значением Стах решаемые подряд подзадачи В(к) и Е2(т) решаются в порядке {Е2(т),В(к)}. При т ^ р1 — р2 порядок выполнения подзадач В(к) и Е2(т) не влияет на Стах.
Доказательство. Имеем т ^ р1 - р2, а подзадача Е2(т) выполняется первой (см. рис. 23), начиная с момента г1 = 0. Подзадача В (к) может начать выполняться в момент прибытия поезда т на станцию 2, т.е. в момент г2 = Ст = р1+р2+(т-1)т. Отметим, что г2 < Стах[Е2(т)]. Время окончания выполнения подзадач в порядке {Е2(т), В(к)}:
(31) Стах[{Е2(т),В(к)}] =
г1 + Стах [В(к)] = 2р1 + 2р2 + (т - 1)т + (к - 1)т. Если выполнять подзадачи в порядке {В(к), Е2(т)}, начиная с момента г1 = 0, то выполнение подзадачи В(к) закончится в момент
(32) Стах [В(к)] = р1 + р2 + (к - 1)т. Время окончания перевозок подзадачи Е2(т):
(33) Стах[{В(к),Е2(т)}] =3р1 + р2 + (к - 1)т + (т - 1)т. При условии р1 ^ р2 для получения оптимального расписания
Станция 2
Р^ьезд //////////\\\\\
г
Станция 1
Рис. 23. График движения при последовательном выполнении подзадач {Е2(т), В(к)} при т = 5 и к = 3
подзадачи необходимо выполнять в порядке {Е2(т),В(к)} (см. рис. 24). На рис. 24 стрелками обозначены самый ранний и самый поздний из возможных вариантов момента начала движения поезда со станции 2, который делает остановку в разъезде.
Станция 2
Ь
Станция 1
Рис. 24. График движения при последовательном выполнении подзадач {В(к), Е2(т)} при т = 5 и к = 3
4.3.6. ПОИСК ОПТИМАЛЬНОЙ КОМБИНАЦИИ
Итак, были получены правила комбинации для любых пар подзадач А(тА), В(тв), Е1(тЕ1) и Е2(тЕ2).
Теорема 1. Исходная задача может быть представлена как комбинация подзадач вида {А, В, А, А, Е1, Е2, В, В, Е1,...} с соответствующими аргументами. В соответствии с леммами 3-11 для получения оптимального расписания комбинация будет в зависимости от количества кЕ1 подзадач Е 1(тЕ1) и кЕ2 подзадач Е2(тЕ2) изменена.
• При кЕ1 = 0, кЕ2 ^ 1 задача будет сведена к комбинации подзадачи В(п2 — кЕ2) и кЕ2 подзадач Е2(тЕ2), I = 1, ...,кЕ2, выполняемых в порядке:
{Е 2(тЕ2),.., Е 2(тЕЕ22 ),В(п2 — кЕ2)}. Порядок выполнения кЕ2 подзадач Е2 не важен.
• При кЕ1 ^ 1, кЕ2 = 0 задача будет сведена к комбинации подзадачи А(п1 — кЕ1) и кЕ1 подзадач Е 1(тЕ1), I = 1,...,кЕ1, выполняемых в порядке:
{А(щ — кЕ1),Е 1(тЕ1),...,Е 1(тЕв\)}.
Подзадачи Е1 могут выполняться в произвольном порядке.
• При кЕ1 ^ 1, кЕ2 ^ 1 задача будет сведена к комбинации кЕ1 подзадач Е1(тЕ1), I = 1,...,кЕ1, и кЕ2 подзадач
Е2(т'Е2), ] = 1,..., кЕ2, выполняемых в порядке: {Е 1(т Е1),..., Е 1(тЕЕ11), Е2(тЕ2),..., Е2(т®22)}.
Доказательство. Можно доказывать от противного: сделать предположение, что существует некоторая комбинация другого вида, для которой справедливы все леммы. Докажем, что в соответствии с леммами комбинация любой структуры будет сведена к перечисленным вариантам при любых т ^ шш{р1,р2}.
В первом случае, при кЕ1 = 0, кЕ2 ^ 1, все комбинации составлены из кЕ2 подзадач Е2 и набора задач А и В между ними:
{Е2, А, В, А, ... , Е2, ... , Е2, ...}.
Согласно лемме 3, порядок решаемых подряд подзадач А и В не важен. В комбинации все наборы подзадач А и В можно упорядочить так, чтобы первыми шли все А, а затем все подзадачи В. Согласно леммам 4 и 5 все идущие подряд подзадачи типа А должны быть сведены к одной подзадаче типа А, а все подзадачи типа В - к одной подзадаче В. Новая комбинация будет состоять из кЕ2 подзадач Е2 и пар подзадач А и В между ними:
{Е2, А, В, Е2, А, В, Е2, ...}.
Согласно лемме 8 все пары подзадач {Е2, А} и {А, Е2} сводятся к подзадаче Е2:
{Е2, В, Е2, В, Е2, ...}.
Из леммы 11 все пары подзадач {В, Е2} выполняются в порядке {Е2, В}:
{Е2, Е2, В, В, Е2, ...}.
В соответствии с леммой 5 все решаемые подряд подзадачи В сводятся к одной подзадаче В,
{Е2, ... , Е2, Е2, В}.
По лемме 6 порядок выполнения подзадач Е2 не важен.
Во втором случае, при кЕ1 ^ 1, кЕ2 = 0, все комбинации составлены из кЕ1 подзадач Е1 и набора подзадач А и В между ними:
{Е1, А, В, А, Е1, В, В, Е1, ... , Е1, ..}.
Так же как и в первом случае, в соответствии с леммами, все наборы подзадач А и В разделяются и сводятся к парам А и В:
{Е1, А, В, Е1, В, Е1, ... , Е1, ...}.
По лемме 9 решаемые подряд подзадачи {Е1, В} и {В, Е1} сводятся к подзадаче Е1, по лемме 10 все пары подзадач {Е 1,А} выполняются в порядке {А, Е1}:
{Е1, А, Е1, Е1,..., Е1,...};
{А, Е1, Е1, Е1, ... , Е1, ...}.
По лемме 6 порядок выполнения подзадач Е1 не важен.
В третьем случае, при кЕ1 ^ 1, кЕ2 ^ 1, все комбинации составлены из кЕ1 подзадач Е1, кЕ2 подзадач Е2 и набора подзадач А и В между ними:
{А, В, Е2, Е1, В, В, Е1,..., Е2,..., Е2}.
В соответствии с леммами 3, 4 и 5 все наборы подзадач А и В разделяются и сводятся к парам А и В. По леммам 10 и 11 пары подзадач А, В и Е1, Е2 меняют порядок. Согласно леммам 8 и 9 пары подзадач А, В и Е1, Е2 сводятся к подзадачам Е1 и Е2. Полученное расписание состоит только из подзадач Е1 и Е2, выполняемых в соответствии с леммой 7 в порядке
{Е1,..., Е1, Е2,..., Е2}.
В теореме описаны оптимальные комбинации для различного числа подзадач Е1 и Е2, т.е. разного числа поездов, пропускающих в разъезде встречный поезд (или поезда). Чтобы узнать
276
оптимальное число подзадач Е1 и Е2, необходимо получить формулу Стах в зависимости от кЕ1 и кЕ2.
Если кЕ1 = 0 и кЕ2 ^ 1, то оптимальная комбинация имеет
вид
{Е2(тЕ2),..., Е2(тЕ2), В(п2 — кЕ2)}.
Время окончания перевозок для данной комбинации можно представить как
(34) Стах = Стах[{Е2(тЕ2),..., Е2(тЕ22-1)}] +
Стах [{Е 2(тЕв2 ), В(П2 — кЕ2)}]. Обозначим комбинацию {Е2(тЕ2),..., Е2(тЕЕ2_ 1)} как п1, и {Е2(тЕЕ;2),В(п2 — кЕ2)} как п2. Пусть т ^ р1 — р2, тогда Стах [Е2(т)] = 2р1 + (т — 1)т. Из леммы 6 следует, что порядок последовательного выполнения подзадач Е2 не влияет на целевую функцию данной комбинации, поэтому кЕ2-1
(35) СтахЫ = £ Стах[Е2(тЕ2)] =
г=1
кЕ2 -1
(2р1 — т)(кЕ2 — 1)+ т( £ тгЕ2).
г=1
Из леммы 2 получаем
кЕ2-1
(36) £ тЕ2 = п1 — кЕ1 — тЕ2 = п1 — тЕ^,
г=1
и
(37) Стах[п 1] = (2Р1 — т )(кЕ2 — 1) + т (п — тЕ^2 ).
Для комбинации вида {Е2(тЕЕ2), В(п2 — кЕ2)} уже была описана формула Стах в лемме 11:
(38) Стах[п2] = 2(р1 + Р2) + ^2 — 1)т + (п2 — кЕ2 — 1)т. Из формул (37) и (38) получаем выражения для Стах. При т ^ р1 — р2 у комбинации {Е2(тЕ2),..., Е2(тЕЕ2), В(п2 — кЕ2)}, возможны два варианта. При п2 > кЕ2
(39) Стах = 2(Р1 + Р2) + (Щ + п2 — 3)т + 2(р1 — т )(кЕ2 — 1),
при П2 = кЕ2 комбинация, обозначенная как П2, имеет вид
{Е2(тЕ!2)} и
(40) Стах = (2р1 - т)кЕ2 + тП1 = (2р1 - т)П2 + тП1. Пусть т ^ р1 - р2, тогда Стах[Е2(т)] = р1 + р2 + тт. Если п2 > кЕ2, то
(41) Стах = кЕ2(2р2 - т) + (щ + П2 - 1)т + р1 + р2. Если п2 = кЕ2, то п2 имеет вид {Е2(тЕ!2)} и
(42) Стах = кЕ22р2 + П1т + р1 - р2 = П2р2 + Щт + р1 - р2. Были получены формулы (39) и (41) для данной комбинации при любых т ^ тгп{р1,р2}.
Если кЕ1 ^ 1 и
кЕ2
= 0, то оптимальная комбинация имеет
вид
{А(щ - кЕ1), Е 1(тЕ1),..., Е 1(тЕ^1)}.
Целевую функцию данной комбинации можно представить формулой
(43) Стах = Стах[{А(щ - кЕ1), Е 1(тЕ1)}] +
Стах[{Е 1(тЕ1),..., Е1(тЕ^1)}].
Определим комбинацию {А(п1 - кЕ1), Е1(тЕ1)} как п1, и {Е 1(тЕ1),...,Е 1(тЕ^1)} как п2. Для р1 и р2 получаем формулы целевой функции комбинации П1
(44) Стах[п1] = 2(р1 + р2) + (щ - кЕ1 - 1)т + (тЕ1 - 1)т и П2
кЕ1 кЕ1
(45) Стах[п2] = £Стах[Е 1(тгЕ = 2р1 (кЕ1 - 1)+т£т®1.
г=2 г=2
Из леммы 2 получаем
кЕ1
(46) £ тЕ1 = П2 - кЕ2 - тЕ1 = П - тЕ1
г=2
и
(47) СтахМ = 2р1 (кЕ1 - 1) + (П2 - тЕ1)т. Если п1 > кЕ1, то
(48) Стах = (кЕ1 - 1)(2р1 - т) + (П1 + П2 - 3)т + 2(р1 + р2). Если п1 = кЕ1, то
(49) Стах = 2р1 кЕ1 + тП2 = 2р1 П1 + тП2. 278
Управление техн. системами и технол. процессами Если кЕ1 ^ 1 и кЕ2 ^ 1, то оптимальная комбинация имеет
вид
{Е1(тЕ1),..., е1(шЕ11 ), е2(шЕ2), ..., е2(шЕ22)}.
Целевую функцию данной комбинации можно представить формулой
(50) Отах = Ста7\{Е1(ш^1),...,е1(шЕе11-1)}]+
Стах[{Е 1(ш$1), Е2(шЕ2),..., Е2(шЕе22)}]. Обозначим комбинацию {Е 1(шЕ1),...,Е ЦшЕЕ^ 1)} как пь и {Е 1(шЕе11 ), Е2(шЕ2),..., Е2(шЕе2)} как п2. Для п2 справедлива формула
(51) Стах[п1] = 2р1(кЕ1 - 1) + Т £ шЕ1.
г=1
Из леммы 2 получаем
(52) £ шЕ1 = щ - кЕ2 - шЕ11
г=1
и находим формулы целевых функций комбинаций П1 и П2:
(53) Стах[п1] = 2р1(кЕ1 - 1) + т(П2 - кЕ2 - ш^^);
(54) Стах [П2] = 2р + тш^1! + 2р2кЕ2 + (щ - кЕ1)т. Складываем формулы (53) и (54), получаем
(55) Стах = Т(щ + П2) + кЕ1(2р1 - Т) + кЕ2(2р2 - Т). Были найдены оптимальные комбинации для любого количества поездов, заходящих в разъезд (т.е. кЕ1 и кЕ2). Для каждой комбинации целевая функция зависит от кЕ1 и (или) кЕ2, и увеличивается с ростом
кЕ1
кЕ2. Целевая функция в каждой комбинации минимальна, при условии что:
• кЕ1 = 0, кЕ2 = 1, щ ^ 2 и оптимальная комбинация имеет вид {Е2(П1),В(П2 - 1)}. Целевая функция:
Стах = 3^2 + («1 + «2 - 2)т + Ръ
• кЕ2 = 0, кЕ1 = 1, п1 ^ 2 и оптимальная комбинация имеет вид {А(п — 1),Е1(п2)}.
Целевая функция:
Стах = 2(Р1 + Р2) + (п1 + п2 — 3)т;
• кЕ1 = 1, кЕ2 = 1, п1 ^ 2, п2 ^ 2, оптимальная комбинация имеет вид {Е2(п1 — 1), Е 1(п2 — 1)}.
Целевая функция:
Стах = 2(Р1 + Р2) + (п1 + п2 — 2)т.
Если т ^ Р1 — Р2, то комбинация {А(п1 — 1),Е 1(п2)} имеет наименьшее значение целевой функции. Если т ^ Р1 — Р2, то оптимальной комбинацией является {Е2(п1), В(п2 — 1)}.
5. Вывод
Можно сделать вывод, что в зависимости от соотношения параметров т, Р1 и Р2 оптимальное расписание однозначно определяется комбинацией подзадач, получаемой без перебора. При оптимальном расписании для задачи минимизации времени завершения перевозок с 1 разъездом и п1 ^ 2, п2 ^ 2, в разъезде будет делать остановку только один поезд. Есть два варианта - в разъезде останавливается поезд со станции 1 или со станции 2:
• при т ^ Р1 — Р2 оптимальная комбинация
{Е2(щ),В(п2 — 1)} с Стах = 3'Р2 + (п + п2 — 2)т + Ръ
• при т ^ Р1 — Р2 оптимальная комбинация
{А(Щ — 1), Е 1(п2)} с Стах = 2(Р1 + Р2) + (п1 + п2 — 3)т.
Для задачи минимизации времени окончания перевозок при одновременном поступлении поездов с одним разъездом был получен точный алгоритм без перебора. Разработанный метод представления расписаний в виде комбинаций подзадач может быть применен для описания свойств модели и исследования задач с другими целевыми функциями. В дальнейшем планируется:
Рис. 25. График движения при оптимальном расписании для задачи с п1 = 5 и п2 = 4 при т ^ Р1 — Р2
Рис. 26. График движения при оптимальном расписании для задачи с п1 = 5 и п2 = 4 при т ^ Р1 — Р2
• разработка алгоритма решения задачи минимизации максимально временного смещения при заданных директивных сроках с одним разъездом;
• исследование задачи минимизации времени окончания перевозок при заданных моментах поступления поездов на станции с одним разъездом.
Литература
1. Basic indicator of Transport in Russia. - Rosstat, 2010. -95 p.
2. BRANNLUND U., LINDBERG P.O., NOU A., NILSSON J.E. Railway timetabling using lagrangian relaxation // Transportation Science. - 1998. - Vol. 32, No. 4. - P. 358-369.
3. BRUCKER P. Scheduling Algorithms. - Springer-Verlag New York, Inc., 2001. - 365 p.
4. CAREY M., LOCKWOOD D. A model, algorithms and strategy for train pathing // The Journal of Operational Research Society. - 1995. - Vol. 8, No. 46. - P. 988-1005.
5. GAFAROV E.R., DOLGUI A., LAZAREV A.A. Two-station single-track railway scheduling problem with trains of equal speed // Computers and Industrial Engineering. - 2015. (In Press, Accepted Manuscript).
6. GRAHAM R.L., LAWLER E.L., LENSTRA J.K., RINNOOY KAN A.H.G. Optimization and approximation in deterministic sequencing and scheduling: a survey // Annals of Discrete Mathematics. - 1979. - Vol. 5. - P. 287-326.
7. HARROD S.S. A tutorial on fundamental model structures for railway timetable optimization // Surveys in Operations Research and Management Science. - 2012. - Vol. 17, No. 2. - P. 85-96.
8. HIGGINS A., KOZAN E., FERREIRA L. Optimal scheduling of trains on a single line track // Transportation Research Part B: Methodological. - 1996. - Vol. 30, No. 2. - P. 147161.
9. KRAVCHENKO S.A., WERNER F. Parallel machine problems with equal processing times: a survey // Journal of Scheduling. - 2011. - Vol. 14, No. 5. - P. 435-444.
10. LUSBY R.M., LARSEN J. , EHRGOTT M., RYAN D. Railway track allocation: Models and methods // OR Spectr. -2011. - Vol. 33, No. 4. - P. 843-883.
11. MONMA C.L., POTTS C.N. On the complexity of scheduling with batch setup times // Operations Research. - 1989. -Vol. 37, No. 5. - P. 798-804.
12. OLIVEIRA E.S. Solving Single-Track Railway Scheduling
Problem Using Constraint Programming. - PhD thesis, University of Leeds, 2001. - 129 p.
13. SOTSKOV Y., GHOLAMI O. Shifting bottleneck algorithm for train scheduling in a single-track railway // Proc. 14th IFAC Symposium on Information Control Problems. Part 1. -2012. - P. 87-92.
14. SZPIGEL B. Optimal train scheduling on a single line railway // Oper Res. - 1973. - P. 344-351.
15. XUESONG Z., ZHONG M. Single-track train timetabling with guaranteed optimality: Branch-and-bound algorithms with enhanced lower bounds // Transportation Research Part B: Methodological. - 2007. - Vol. 41, No. 3. - P. 320-341.
SCHEDULING PROBLEM FOR TWO-STATION SINGLE TRACK RAILWAY WITH SIDINGS
Alexander Lazarev, Institute of Control Sciences of RAS, Moscow State University, Higher School of Economics, Moscow Institute of Physics and Technology State University, Moscow, Doctor of Science, professor (Moscow, Profsoyuznaya st., 65, (495)334-87-51,
Ilia Tarasov, Institute of Control Sciences of RAS, Moscow State University, Moscow, student (ilya_tarasof @mail.ru).
Abstract: The paper is concerned with the problem of scheduling trains traveling between two stations, which are connected by a single railway track with one siding. The presented algorithm constructs an optimal schedule.
Keywords: scheduling theory, combinatory optimization, transport problems, algorithm.
Статья представлена к публикации членом редакционной коллегии Е.Н. Хоботовым
Поступила в редакцию 07.07.2015. Дата опубликования 30.11.2015.