Математическая модель восстановления маршрутов пассажиров после сбойной ситуации в расписании авиакомпании
Автор: Карамушко Д.М., Чернов А.В.
Журнал: Труды Московского физико-технического института @trudy-mipt
Рубрика: Информатика и управление
Статья в выпуске: 4 (68) т.17, 2025 года.
Бесплатный доступ
В работе представлена математическая модель для решения задачи восстановления маршрутов пассажиров авиакомпаний при возникновении сбойных ситуаций, приводящих к нарушению стыковок. Модель позволяет строить альтернативные маршруты доставки пассажиров с наименьшим опозданием в пункты назначения через различные хабы авиакомпании, учитывая минимальное время пересадки и доступное количество мест на рейсах. Результаты демонстрируют эффективность предложенного подхода для быстрого поиска оптимальных решений по перераспределению пассажиров. Модель может быть интегрирована в автоматизированные системы поддержки принятия решений для сотрудников трансферных групп авиакомпаний.
Оптимизация расписания авиакомпании, сбойная ситуация, транспортная задача, линейное программирование, математическое моделирование
Короткий адрес: https://sciup.org/142247116
IDR: 142247116 | УДК: 519.852, 656.7.043
A mathematical model for passenger routes recovery after an airline schedule disruption
The paper presents a mathematical model for solving the problem of airline passenger routes recovery in case of disruption led to missed connections. The model finds alternative routes for delivery of passengers to their destinations with the least possible delay through various airline hubs, taking into account the minimum connection time and the number of available seats on the flights. The results demonstrate the effectiveness of the proposed approach to find optimal passenger reallocation solutions quickly. The model can be integrated into automated decision support systems for airline transfer teams.
Текст научной статьи Математическая модель восстановления маршрутов пассажиров после сбойной ситуации в расписании авиакомпании
В работе любой сложной системы могут возникать сбойные ситуации. Не является исключением и авиационный транспорт. Погодные условия, неисправность техники, перегруженность аэропортов — всё это может привести к задержкам и отменам рейсов. В свою очередь, сбойные ситуации приводят к дополнительным расходам на питание и размещение пассажиров в гостиницах, а также к снижению лояльности клиентов [1]. Поэтому авиакомпании стремятся минимизировать потери от сбойных ситуаций и не допускать их распространения.
В широком смысле под сбойной ситуацией будем понимать невозможность выполнения одного или нескольких рейсов по расписанию без внесения управляющего воздействия. Управление такими ситуациями ведётся в центре управления полётами авиакомпании (ЦУП). Диспетчеры стремятся минимизировать влияние на расписание, подбирая меры реагирования под конкретные обстоятельства с учетом эксплуатационных ограничений и доступности ресурсов. В качестве методов восстановления движения используются: размен воздушных судов и экипажей, назначение дополнительных рейсов, задержка рейса [2].
Однако в ряде случаев возможности ЦУП по оперативному управлению оказываются ограниченными, и рейс прибывает в аэропорт назначения с опозданием, приводящим к срыву стыковок трансферных пассажиров. Для них специалисты по трансферу в аэропорту стыковки определяют альтернативные маршруты перевозки в конечные пункты назначения. В ограниченное время непросто вручную определить новые маршруты следования к пунктам назначения для всех пассажиров и оценить их оптимальность, поэтому возникает необходимость в разработке автоматизированного инструмента для этой цели.
Таким образом, в рамках данной статьи в качестве сбоя будем рассматривать опоздания прибывающих рейсов, которые ведут к срыву стыковок пассажиров на вылетающие рейсы. В качестве способа решения мы предлагаем пересадку пассажиров на другие рейсы для доставки в пункты назначения. Задача детекции сбоя не рассматривается. Будем считать, что на момент расчета новых маршрутов пассажиров известны ожидаемые времена отправления и прибытия рейсов, а также типы воздушных судов для их выполнения.
Особую актуальность задача перераспределения пассажиров имеет для авиакомпаний с хабовой структурой маршрутной сети (hub-and-spoke). В ней определяется ряд ключевых аэропортов (хабов), все рейсы выполняются между хабами и регионами либо между хабами [3]. Для такого типа маршрутной сети характерна высокая доля трансфера в хабах — значительная часть пассажиров делает пересадку в них и летит дальше. В случае сбойной ситуации стыковки пассажиров срываются, и требуется определить новые рейсы для доставки пассажиров. При этом маршруты доставки могут отличаться от изначальных маршрутов пассажиров: более оптимальным может быть вариант пролета через другой хаб. Такую структуру маршрутной сети имеет значительная часть крупных авиакомпаний в России.
Исследованию методов разрешения сбойных ситуаций посвящено множество публикаций. Их обзор приведен в работах [4,5]. Рассмотрим подробнее работы, в которых рассматривается перемещение пассажиров в конечный пункт назначения. В [6] предложена комбинированная модель разрешения сбойной ситуации с учетом ограничений по воздушным судам и экипажам, в которой также учитывается возможность перераспределения пассажиров на другие рейсы. В [7] используется тот же подход к пересадке пассажиров. Важным ограничением этой модели является то, что пересадка возможна только на рейсы, которые следуют непосредственно в аэропорт назначения пассажира, возможность построения новых альтернативных маршрутов отсутствует. Авторы [8] расширили модель, добавив возможность возврата билетов. Работа [9] единственная среди прочих, которая полностью посвящена работе с пассажирами, восстановление движения воздушных судов и экипажей в ней не рассматривается. Авторы используют превентивный подход к изменению маршрутов пассажиров при возникновении неопределенных задержек на пути следования. На первом этапе, как только становится известно о задержке рейса, пассажирам заранее назначаются новые маршруты. На втором этапе дополнительно изменяются маршруты для пассажиров, которые пропустили стыковки после того, как произошла задержка. В [10] разработана комплексная модель, которая учитывает вероятность неявки пассажира на посадку после перебронирования. Авторы принимают во внимание, что пассажир может получить денежную компенсацию от авиакомпании и купить новый билет на рейс другого перевозчика. Их пассажирская модель имеет сходство с работой [7], но дополнена факторами поведенческой экономики, что позволяет более точно прогнозировать реальное поведение пассажиров в условиях сбойной ситуации. В [11] был предложен эвристический алгоритм, допускающий возможность создания hobbix маршрутов для транспортировки пассажиров через альтернативный хаб.
Таким образом, уже предложен ряд моделей перераспределения пассажиров при сбоях. Однако большинство исследований ограничивается заранее заданными маршрутами или рассматривает только часть элементов общей системы перевозки. В рассмотренных работах не упоминаются подходы, которые одновременно учитывают доступность свободных мест на рейсах и возможность построения новых маршрутов в условиях ограниченного времени.
В данной статье предложена математическая модель перераспределения пассажиров с сорванными стыковками на новые рейсы с учетом наличия свободных мест. Допускается пролет по маршруту, отличному от изначально запланированным пассажиром, если это приводит к более быстрой доставке в пункт назначения. Модель может быть использована сотрудниками трансферной группы авиакомпании для более быстрого поиска альтернативных маршрутов для пассажиров с сорванными стыковками.
2. Постановка задачи
Формализуем задачу восстановления маршрутов пассажиров, столкнувшихся с нарушением стыковок в результате сбоев в расписании авиакомпании. Исходными данными для решения задачи служат:
-
1) Оперативное расписание авиакомпании — множество рейсов E fn g ht данной авиакомпании за рассматриваемый период времени. Оно содержит сведения о каждом рейсе с учетом изменений (i,j) G E fUgh t. Здесь и далее, если для обозначения рейса используется двойной индекс, то он обозначает место и время вылета (i) и прибытия (j) рейса соответственно. Для рейса известны:
-
• уникальный номер;
-
• аэропорты вылета и прилета;
-
• ETD ij ,ETA {j — estimated time of departure, arrival — ожидаемые времена отправления и прибытия, с учетом задержек на момент расчета;
-
• dij — количество свободных мест на рейсе.
-
2) Информация о пассажирах, у которых нарушилась стыковка. Для каждого пассажира известны:
-
• плановый маршрут движения пассажира — набор рейсов, по которым был запланирован перелет;
-
• время и место нарушения запланированного маршрута;
-
• конечный пункт назначения;
-
• ST A — scheduled time of arrival — плановое время прибытия в пункт назначения.
3) Минимальное время стыковки (minimum connection time, МСТ) — минимальный интервал времени, необходимый для обеспечения физической возможности пересадки между рейсами в аэропорту. В рамках эксперимента принимается равным 40 минутам.
4) Максимальное время стыковки — максимальный интервал времени, в течение которого пассажир может ожидать следующий рейс. В рамках эксперимента принимается равным 24 часам.
5) Максимальное время на доставку пассажира — интервал времени, в течение которого пассажира необходимо доставить в пункт назначения. Если это сделать не удается, то пассажиру возвращается стоимость билета.
2.1. Оценка стоимости задержки
Не используются данные о назначении экипажей, воздушных судов на рейсы и их типах, так как в рамках этой статьи не рассматривается возможность переназначений этих ресурсов. Задерживать рейс для ожидания пассажиров или изменять тип воздушного судна на рейсе не допускается.
Требуется построить альтернативные маршруты доставки пассажиров с сорванными стыковками в их целевые пункты назначения - распределить пассажиров на новые рейсы с учетом доступных мест на них.
Расчет затрат авиакомпании на сбойные ситуации подробно рассматривается в работе [1]. Традиционно расходы авиакомпании на сбойные ситуации можно разделить на прямые и косвенные.
С С direct + С indirect •
Прямые расходы C di rect компания несет, когда согласно действующему законодательству при задержке рейса она обязана предоставить питание или проживание в зависимости от длительности ожидания. Также пассажир имеет право на компенсацию, размер которой линейно зависит от длительности задержки в часах [12]. Косвенные или репутационные расходы Cin d irect ~ это потенциальные потери будущих доходов в результате неудобств, причиненных пассажиру, которые, возможно, заставят его в будущем выбрать другую авиакомпанию. Эти затраты оцениваются приблизительно и могут различаться в зависимости от класса перевозки пассажира или его статуса в программе лояльности авиакомпании. В случае если пассажира доставить невозможно в пункт назначения, то ему будет выполнен возврат средств. Соответственно, выручка авиакомпании снизится и, возможно, прибыль будет недополучена. С точки зрения авиакомпании будем описывать такую ситуацию фиксированным штрафом за возврат билета.
Альтернативный вариант оценки затрат на сбойные ситуации, который в дальнейшем применяется в данной статье, — минимизация суммарного количества минут задержки пассажиров. При таком подходе для каждого пассажира рассчитывается величина опоздания в пункт назначения как разность между плановым временем прилета ( ST А) и ожидаемым, после пересадки на другой рейс ( ЕТД, затем складываются полученные опоздания для N пассажиров, затронутых сбойной ситуацией и доставленных в пункт назначения с опозданием. Если же М пассажиров доставить не удалось, то это учитывается в виде штрафа за возврат ccancei, выраженном в единицах времени.
N+МN
С = Е c. = ZETA, - ST Д') + М • ccancel.(2)
i=1
3. Представление расписания и сбойной ситуации в виде графа
Одним из способов отображения расписания является представление его в виде ориентированного графа G = (V, Е ). Такой подход используется, например, в [9]. Приведем алгоритм построения графа расписания и добавления в него элементов сбойной ситуации.
-
1) Построение рейсовых рёбер Е^м С Е:
Каждый рейс расписания описывается двумя узлами. Каждый узел характеризует время и место отправления и прибытия соответственно. Узел однозначно определяется парой значений: аэропорт и метка времени, например «DME, 04.04.2025 20:15». От узла-отправления к узлу-прибытию проводится направленное ребро, которое будем называть рейсовым. Оно изображено на рис. 1.
DME 21:20 ----3033---► UUD 3:20
Рейс 3033, из DME (Домодедово) в UUD (Улан-Удэ), вылет 21:20, прилет 3:20
Рис. 1. Отображение рейса на графе
-
2) Построение пересадочных рёбер Ecorrect С Е:
Для моделирования стыковок между рейсами в граф добавляются пересадочные ребра. Они соединяют рейсы в хабовых аэропортах, если разница между временем прибытия одного и временем отправления второго лежит между минимальным и максимальным допустимым временем стыковки. На рисунке 2 приведены пересадочные ребра и рейсы, которые они соединяют.
Рис. 2. Отображение пересадок на графе
-
3) Инициализация узлов-источников Vsource С V:
Для каждого случая сорванной стыковки создается отдельный узел-источник, содержащий следующие атрибуты:
-
• фактическое время прибытия пассажиров в аэропорт пересадки;
-
• код аэропорта пересадки;
-
• количество пассажиров.
-
4) Инициализация узлов-стоков V f arge t С V:
Для каждого уникального пункта назначения пассажиров создается узел-сток, не содержащий временных меток, но связанный с другими узлами по направлению перевозки.
-
5) Построение стартовых рёбер Estart С Е:
Для каждого узла-источника создаются стартовые рёбра к узлам расписания (начальным точкам рейсов), если выполняются условия:
-
• аэропорт отправления рейса совпадает с аэропортом пересадки;
-
• разница между временем отправления рейса и фактическим временем прибытия пассажира не превышает 24 часа;
-
• из соответствующего узла расписания исходит хотя бы одно рейсовое ребро.
Пример соединения узла-источника с рейсовыми ребрами с помощью стартовых ребер приведен на рис. 3.
Рис. 3. Отображение узла-источника и стартовых ребер на графе. Пассажиры с сорванными пересадками пересаживаются на два рейса
-
6) Построение финальных рёбер E fi na i С Е:
Из узлов расписания, в которых завершаются рейсы, прибывающие в пункты назначения, строятся финальные рёбра к узлам-стокам. Для ребер такого типа ниже определена стоимость пролета, которая зависит от величины опоздания пассажира по сравнению с прибытием по расписанию.
Рис. 4. Отображение узла-стока и финальных ребер на графе
Пример соединения узла-стока с рейсовыми ребрами с помощью финальных ребер приведен на рис. 4.
-
7) Добавление возвратных рёбер Ecancei С Е:
Из каждого узла-источника добавляется возвратное ребро к соответствующему узлу-стоку. Так моделируется ситуация, в которой перевозка пассажиров невозможна (например, из-за отсутствия мест на рейсах). Стоимость для такого ребра фиксирована и соответствует штрафу за возврат билета.
Рис. 5. Граф расписания и сбойной ситуации
Таким образом, множество ребер графа Е состоит из рейсовых, пересадочных, старто- bbix, финалвнв1х и возвратнв1х ребер.
Е — Е flight U E connect U E start U Е final U E cancel .
Аналогично, V — объединение всех типов вершин.
^ — V airport,time U Vsource U V sink .
В графе рейсовик и пересадочные ребра описывают расписание воздушных судов. Стартовые, финальные, возвратные ребра, а также узлы-источники и узлы-стоки относятся к сбойной ситуации. Стоимости пролета определены для ctokobbix и возвратных ребер, а ограничения пропускной способности — для рейсовых ребер. Пример графа расписания и сбойной ситуации приведен на рис. 5.
4. Алгоритм доставки пассажиров в пункты назначения
На основе графа сбойной ситуации можно разработать двухшаговый алгоритм доставки пассажиров в пункты назначения. На первом шаге происходит перераспределение пассажиров по рейсам: для каждого рейса определяется количество пассажиров, которые будут перевезены на нём. На втором шаге для пассажиров строятся маршруты: определяется последовательность рейсов, пролет по которым приводит в пункт назначения.
Рис. 6. Схема двухшагового алгоритма доставки пассажиров
4.1. Шаг 1. Распределение пассажиров по рейсам
Представление расписания и сбойной ситуации на графе позволяет рассматривать задачу доставки пассажиров как многопродуктовую задачу минимизации стоимости потока с несколькими источниками и стоками для каждого товара. В качестве «товара» выступает группа пассажиров с общим пунктом назначения и плановым временем прибытия в него.
Многопродуктовая задача обобщает классическую однопродуктовую транспортную задачу. В ней рассматривается перевозка разного вида продуктов, причем ограничения на пропускные способности ребер определяются для всех продуктов [13]. Для решения задачи предложены различные методы, обзор которых приведен в [14]. Для решения задачи о распределении пассажиров по рейсам остановимся на рассмотрении многопродуктовой задачи в виде задачи целочисленного линейного программирования.
Введем обозначения:
-
• К — множество групп пассажиров;
-
• ck — стоимость пролета по ребру (для стоковых и возвратных ребер), под ней понимается время опоздания группы пассажиров в пункт назначения. Для стоковых
ребер вычисляется как разность между временем прибытия последнего рейса нового маршрута (ET Ар) и плановым временем прибытия данной группы пассажиров (ST AkY ск = ETAjj - STAk V(i, j) G Efinai Ук G К. (5)
Для возвратных ребер стоимость принимается равной фиксированному штрафу за возврат билета.
Cij = C cancel У (А З ) G E cancel Ук G К, (6)
-
* Xp ~ тшсл° пассажиров группы к G К. которые будут п<провезены рейсом (i,j):
-
• sk — число пассажиров группы к G К, перемещение которых начинается или заканчивается в узле i:
Целевая функция — суммарное время задержки всех пассажиров с сорванными стыковками:
min ^ ^ Ck Xkj.( кеК (i,j)EE
Ограничения на сохранение потока пассажиров в узлах:
^ хк - ^Xji = sk Vi GV Ук G К.(S)
jj
Ограничения на пропускную способность ребер:
Для каждого рейсового ребра (i,j) G E fi ig h t сумма посаженных на рейс пассажиров из разных групп не превосходит количества свободных мест.
^х^ кек Ограничения неотрицательности и целочисленности потока: хк > 0 Ук GК V(i,j) GE,(10) хк g Z Ук GК V(i,j) GE.(11) Таким образом, поставлена задача целочисленного линейного программирования для определения потока — количества пассажиров из каждой группы, перевозимых на каждом рейсе. Оценим размер задачи. Число переменных будет рассчитываться как произведение числа ребер в графе и количества групп пассажиров. QVar = |E|•|К |. (12) Число ограничений можно получить как сумму количества рейсов и произведения числа вершин в графе и количества групп пассажиров. Qc^nstr = |V | • |К | + IE flight I. (13) Характерные значения размерностей приведены в табл. 9.
4.2. Шаг 2. Построение маршрутов пассажиров На первом шаге было получено распределение пассажиров по рейсам: определено количество пассажиров из каждой группы на каждом рейсе. Этот результат может быть сложен в применении. Практическую ценность имеет явный маршрут перевозки для каждого пассажира. Он представляет собой последовательность рейсов, пролет по которым приведет пассажира в пункт назначения. От потока как оптимального размера перевозки по каждому ребру нам нужно перейти к потоку как пути или линейной комбинации путей от источника к стоку. Такой переход всегда возможен [15, с. 18-20], опишем его. Для каждой группы пассажиров выполняются следующие действия: 1) Строится подграф графа сбойной ситуации для данной группы пассажиров. В него включаются только ребра, по которым происходит перевозка пассажиров из рассматриваемой группы. Объем перевозки по ребру также отражает только перевозку пассажиров данной группы. Ребра и объемы перевозки по ним были получены на первом шаге алгоритма. 2) Определяются источники и стоки в подграфе; 3) Для каждой пары источник-сток выполняется поиск всех возможных простых путей (проходящих через каждую вершину не более одного раза); 1. Для каждого найденного пути вычисляется минимальная пропускная способность среди всех составляющих его рёбер. Она определяет максимально возможный объём перевозки по данному пути; 2. Если минимальная пропускная способность пути положительна, то этот путь добавляется в ответ, и уменьшается пропускная способность всех рёбер на этом пути на величину сформированного потока; 3. Выполняется переход к следующему простому пути данной пары источник-сток; 4) Выполняется переход к следующей паре источник-сток. 5. Вычислительные примеры в различных сценариях сбойных ситуаций Рассмотрим пример расчета новых маршрутов для пассажиров. Пусть задерживаются на прилет два рейса в Москву и один в Новосибирск. Из-за этого срываются стыковки у нескольких пассажиров, следующих в разные города — Улан-Удэ и Новосибирск. Данные о них см. в табл. 1. На момент расчета известно ожидаемое время прибытия в аэропорт срыва стыковки. Определим, на какие рейсы требуется пересадить пассажиров для кратчайшей доставки в пункт назначения. В таблице 2 приведено расписание рейсов авиакомпании и число свободных мест на каждом. Для наглядности указаны рейсы только между рассматриваемыми городами, учитывая возможность пролета через другие хабы. При этом в общем случае рассматривается возможность перевозки по всем рейсам авиакомпании. Построим граф сбойной ситуации, следуя описанному выше алгоритму. Отобразим рейсы и возможные пересадки между ними. Пассажиров с сорванными стыковками представим в виде узлов-источников, конечные пункты назначения — в виде узлов-стоков. От источников построим стартовые ребра к узлам-началам рейсов, от узлов-окончаний рейсов построим финальные ребра к стокам. От источников к стокам проведем возвратные ребра, которые отражают невозможность перевозки пассажиров и возврат билета. Таким образом, получаем транспортную сеть, в которой требуется найти поток минимальной стоимости. Она изображена на рис. 7. Рис. 7. Граф сбойной ситуации Таблица! Группы пассажиров с сорванной стыковкой Аэропорт срыва стыковки Аэропорт назначения Время прибытия в аэропорт срыва Количество пассажиров в группе Плановый рейс Плановое время прибытия Москва (DME) Улан-Удэ (UUD) 20:40 10 3031 1:20 Москва (DME) Улан-Удэ (UUD) 22:40 5 3033 3:20 Новосибирск (OVB) Улан-Удэ (UUD) 8:40 5 5253 5:20 Москва (DME) Новосибирск (OVB) 22:40 1 2511 1:15 Т а б л и ц а 2 Расписание рейсов Номер рейса Аэропорт вылета Аэропорт прилета Время вылета, ETD Время прилета, ЕТА Число свободных мест 2511 Домодедово (DME) Новосибирск (OVB) 21:15 1:15 2 3033 Домодедово (DME) Улан-Удэ (UUD) 21:20 3:20 7 3017 Домодедово (DME) Иркутск (IKT) 21:30 2:30 5 2513 Домодедово (DME) Новосибирск (OVB) 23:25 3:30 12 5253 Новосибирск (OVB) Улан-Удэ (UUD) 2:15 5:20 10 5255 Новосибирск (OVB) Улан-Удэ (UUD) 9:30 11:35 7 6375 Иркутск (IKT) Улан-Удэ (UUD) 9:40 10:40 2 Т а б л и ц а 3 Стоимость пролета пассажиров Новый рейс 2513 3033 5253 5255 6375 Группа, к Плановый рейс Плановое / расчетное время прибытия 3:30 3:20 5:20 11:35 10:40 1 3031 1:20 — 120 240 605 560 2 3033 3:20 — 0 — 495 440 3 5253 5:20 — — 0 375 320 4 2511 1:15 135 — — — — Т а б л и ц а 4 Распределение пассажиров по рейсам Группа, к Плановый / новый рейс 2511 3033 3017 2513 5253 5255 6375 1 3031 2 7 1 0 2 0 1 2 3033 0 0 0 5 0 5 0 3 5253 0 0 0 0 0 5 0 4 2511 0 0 0 1 0 0 0 Т а б л и ц а 5 Маршруты пересаженных пассажиров Плановый рейс Аэропорт назначения Рейсы, на которые пассажиры пересажены Количество пассажиров, перевезенных этим маршрутом Время задержки пассажира по прибытию, в минутах 3031 Улан-Удэ (UUD) 3033 7 120 3031 Улан-Удэ (UUD) 2511, 5253 2 240 3031 Улан-Удэ (UUD) 3017, 6375 1 560 3033 Улан-Удэ (UUD) 2513, 5255 5 495 5253 Улан-Удэ (UUD) 5255 5 375 2511 Новосибирск (OVB) 2513 1 135 Определим стоимость пролета по финальным и возвратным ребрам для каждой группы пассажиров, рассчитав ее по формуле (2). Группа определяется аэропортом назначения и плановым временем прибытия в него. Результат расчета приведен в табл. 3. В ней для каждой группы пассажиров (строки) и для каждого рейса, прибывающего в аэропорт назначения (столбцы), указано время опоздания в минутах. Оно не определено, если аэропорт прилета рейса и аэропорт назначения группы отличаются, либо если новый рейс прибывает в аэропорт назначения раньше планового. Стоимость штрафа за возврат билета, выраженная в единицах времени, принимается за 4 суток — значение, существенно превышающее характерные времена опозданий пассажиров. Т а б л и ц а б Группы пассажиров с сорванной стыковкой в Сценариях 2, 3 Плановый рейс Аэропорт срыва Аэропорт назначения Время прибытия Кол-во пассажиров Плановое время 1011 DME LED 11:20 10 11:15 1229 DME ммк 13:00 5 14:15 2141 DME VOG 9:30 6 7:30 1135 DME UFA 13:00 2 10:35 2043 DME AER 10:00 9 10:10 2167 DME MRV 14:00 7 13:40 2517, 5219 DME GDX 8:00 12 21:45 5104, 5223 AER HTA 10:40 4 23:40 5065 OVB KGD 13:30 3 13:10 Выполним первый шаг алгоритма доставки пассажиров, решив задачу минимизации стоимости потока. Для каждого рейса определим х1^ - число пассажиров каждой группы, пересаженных на него. Модель реализована на языке Python 3.11 с использованием библиотеки pulp. Полученный с помощью модели план перевозки представлен в табл. 4. Затем построим маршруты для каждой группы пассажиров. То есть на основе распределения по рейсам для каждого пассажира определим набор рейсов, который приводит в пункт назначения. Решение указано в табл. 5. Часть опоздавших пассажиров на прямой рейс по маршруту Москва — Улан-Удэ была пересажена на следующий прямой в тот же день, остальные направлены с пересадкой через Новосибирск и Иркутск. Т а б л и ц а 7 Маршруты пересаженных пассажиров в Сценарии 2 Плановый рейс Аэропорт назначения Рейсы, на которые пассажиры пересажены Количестве пассажиров, перевезенных этим маршрутом Время задержки пассажира по прибытию, в минутах 1011 Санкт-Петербург (LED) 1013 10 132 1229 Мурманск (ММК) 1227 2 590 1229 Мурманск (ММК) возврат билета 3 - 2141 Волгоград (VOG) 2143 6 299 1135 Уфа (UFA) 1137 2 382 2043 Сочи (AER.) 2045 2 270 2043 Сочи (AER) 2047 2 342 2043 Сочи (AER) 2051 4 375 2043 Сочи (AER) 2053 1 400 2167 Минеральные Воды (MRV) возврат билета 7 - 2517, 5219 Магадан (GDX) 2505, 5219 10 0 2517, 5219 Магадан (GDX) 3021, 6333 2 10 5104, 5223 Чита (НТА) 2044, 3045 2 10 5104, 5223 Чита (НТА) 2046, 3047 2 115 5065 Калининград (KGD) возврат билета 3 -
5.2. Сценарии 2, 3 Помимо иллюстративного примера выше в сценарии 1, были рассмотрены другие сбой-нвш ситуации различных характерных масштабов. В них число сбойных рейсов увеличено до девяти, а время на доставку пассажиров принимается равным 24 часам (Сценарий 2) и 72 часам (Сценарий 3). В таблице б представлены группы пассажиров с сорванными стыковками. Они использовались для расчета Сценария 2 и Сценария 3. Отметим, что учитываются срывы стыковки в разных аэропортах и перелеты с несколькими пересадками. В качестве допустимых рейсов для перевозки рассматривались все рейсы авиакомпании в течение времени на доставку пассажиров. Результаты расчета новых маршрутов пассажиров для Сценариев 2 и 3 приведены в табл. 7, 8. В них следует отметить несколько особенностей: • Предлагаются перелеты пассажиров через другие хабы. Например, для пассажиров, следующих в Читу из Сочи, вместо маршрута через Новосибирск предлагается путь через Москву как более быстрый. • Если пассажир планировал перелет на нескольких рейсах, то при длительных стыковках не исключена ситуация, в которой, после смены рейса на одном из участков маршрута, он успеет на следующий. Например, так происходит с пассажирами, летящими в Магадан. В Новосибирске они успевают на ранее планируемый рейс и прибывают в пункт назначения без опоздания. • При большем времени на доставку пассажиров больше пассажиров удается доставить в пункты назначения. Т а б л и ц а 8 Маршруты пересаженных пассажиров в Сценарии 3 Плановый рейс Аэропорт назначения Рейсы, на которые пассажиры пересажены Количестве пассажиров, перевезенных этим маршрутом Время задержки пассажира по прибытию, в минутах 1011 Санкт-Петербург (LED) 1013 10 132 1229 Мурманск (ММК) 1227 2 590 1229 Мурманск (ММК) 1229 (+1 день) 3 1440 2141 Волгоград (VOG) 2143 6 299 1135 Уфа (UFA) 1137 2 382 2043 Сочи (AER) 2045 2 270 2043 Сочи (AER) 2047 2 342 2043 Сочи (AER) 2051 4 375 2043 Сочи (AER) 2053 1 400 2167 Минеральные воды (MRV) 2169 (+1 день) 7 1070 2517, 5219 Магадан (GDX) 2505, 5219 10 0 2517, 5219 Магадан (GDX) 3021, 6333 2 10 5104, 5223 Чита (НТА) 2044, 3045 2 0 5104, 5223 Чита (НТА) 2046, 3047 2 115 5065 Калининград (KGD) возврат билета 3 - Т а б л и ц а 9 Сравнительные характеристики сценариев Сценарий 1 Сценарий 2 Сценарий 3 Число сбойных рейсов 4 9 9 Максимальное время на доставку пассажира, ч 24 24 72 Размер графа Число вершин 785 793 2218 Число рёбер 7110 7281 37276 в т.ч. рейсовых 407 407 1230 в т.ч. трансферных 6559 6559 35486 в т.ч. стартовых 38 246 377 в т.ч. финальных 102 60 174 в т.ч. возвратных 4 9 9 Оптимизация Общее число ограничений 3547 7544 21192 Общее число переменных 28440 65529 335484 Степень разреженности матрицы 1,19 · 10-4 5,5 · 10-5 1,09 · 10-5 Время расчета, с 3,01 3,16 18,4 В таблице 9 перечислены сравнительные характеристики расчета сценариев. В проведенных экспериментах расчет новых маршрутов занимает не более 20 секунд. При определении новых маршрутов вручную специалисту по трансферу потребуется выполнить несколько операций: определить рейсы на которых может быть провезен пассажир, про- верить доступность мест на них, принять решение о пересадке. Если срывается несколько стыковок, то обработка всех суммарно может занять несколько десятков минут. Таким образом, автоматизация процесса подбора новых рейсов упростит работу трансферной группы.
6. Заключение В данной работе представлена математическая модель перераспределения пассажиров с сорванными стыковками на новые рейсы при возникновении сбойных ситуаций в авиакомпаниях. Она представляет собой многопродуктовую задачу о минимальном потоке с несколькими источниками и стоками для каждой группы пассажиров, объединенных общим пунктом назначения и плановым временем прибытия. Для моделирования сбойной ситуации построен ориентированный граф, элементы которого отражают плановое расписание и сбойную ситуацию. Проведенные вычислительные эксперименты на задачах различного масштаба показали работоспособность предложенного подхода, позволяющего эффективно находить альтернативные маршруты для пассажиров при различных параметрах (число сбойных рейсов, допустимое время доставки). В дальнейших работах можно более детально рассмотреть оценку стоимости срыва стыковки и задержки пассажира при отправке его альтернативными маршрутами. Помимо опоздания по прибытии в пункт назначения, можно учитывать географию маршрутной сети и время в пути для исключения ситуации добавления в маршрут избыточных стыковок. Также следует принимать во внимание возможность запроса задержки рейса для ожидания опаздывающих пассажиров, оценки её целесообразности. Модель может быть интегрирована в автоматизированные системы поддержки принятия решений для сотрудников трансферных групп авиакомпаний, что позволит сократить время на поиск оптимальных решений в сбойных ситуациях. Практическая значимость модели особенно высока для авиакомпаний с хабовой структурой маршрутной сети, где сетевой эффект от задержек одного рейса может привести к срыву множества стыковок. Исследование выполнено за счет гранта Российского научного фонда (проект № 21-71-30005-П), 