_ДОКЛАДЫ АН ВШ РФ_
2018_июль-сентябрь_№ 3 (40)
- ТЕХНИЧЕСКИЕ НАУКИ -
УДК:519.854, 519.857, 519.863
ОБ ОДНОЙ ЗАДАЧЕ ОПТИМАЛЬНОГО ОПЕРАТИВНОГО УПРАВЛЕНИЯ ДВИЖЕНИЕМ ВОЗДУШНЫХ СУДОВ АВИАКОМПАНИИ
Ю.А. Мезенцев, И.В. Эстрайх
Новосибирский государственный технический университет
Представлены оригинальные постановка и алгоритмы решения одной из прикладных задач теории расписаний. Рассматриваемая задача оптимального управления флотом авиакомпании заключается в таком оперативном регулировании расписаний, которое минимизирует потери авиакомпании от нарушений заданных графиков движения воздушных судов. Данная задача обладает ЛУ-полнотой и не может быть решена точно для сколько-нибудь реальных размерностей. Предложен параметрический эффективный алгоритм ее приближенного решения, являющийся расширением подобного алгоритма оптимизации расписаний системы несвязанных параллельных приборов с задержками начала обслуживания по критерию быстродействия (Cmax). Параметр алгоритма задает число анализируемых промежуточных вариантов расписания на каждом шаге и соответственно число отсеиваемых локально наихудших вариантов. Это позволяет гибко регулировать общую трудоемкость и точность получаемых корректирующих расписаний. Приведены содержательный пример применения алгоритма и статистика его тестирования на данных порождающей задачи по критерию Стах. В дополнение к параметрическому алгоритму предложен улучшающий обменный алгоритм, позволяющий на завершающих шагах параметрического алгоритма конструировать улучшенные по критерию Стах расписания. Приведены результаты вычислительных экспериментов с применением обоих алгоритмов на сгенерированных примерах приближенных к реальным размерностей, которые показали высокую общую эффективность подхода.
Ключевые слова: оптимальное регулирование расписаний, назначения флота воздушных судов, критерий быстродействия, эффективный параметрический алгоритм, дискретная оптимизация.
DOI: 10.17212/1727-2769-2018-3-74-90
Введение
Одной из традиционных прикладных сфер применения методов оптимизации является планирование деятельности авиакомпаний. В этом случае планирование включает в себя ряд этапов, важнейшими из которых являются составление графиков движения, назначения флота воздушных судов (ВС), определение маршрутов, и составление экипажей. Подробный обзор по теме можно найти, например, в работе Grönkvist (2005) [1], разбор формальных постановок и основных подходов к решению основных задач можно найти в обзоре Sherali, Bish, Zhu (2006) [2], а также во множестве работ, посвященных отдельным направлениям прикладных исследований из числа перечисленных выше [3-23].
В частности, преимущественно задачам и алгоритмам назначения ВС (Airline Fleet Assignment Modelling, или FAM) посвящены работы [3-7]. Преимущественно задачам маршрутизации Aircraft Routing Problem (ARP) посвящены публикации [8-16]. Совместное решение обеих задач (FAM и ARP) рассматривается, например, в работах [17-19]. Наконец, наиболее близкие к теме настоящей статьи
Исследование выполнено при финансовой поддержке Министерства науки и высшего образования РФ (проект \No~2.2327.2017ZPCh); НГТУ (темплан НИР НГТУ), проект ТП-ЭИ-1 17.
© 2018 Ю.А. Мезенцев, И.В. Эстрайх
работы [1, 5, 20-22] посвящены задаче оптимального регулирования действующих расписаний, включая изменения маршрутов и назначений флота ВС.
Вполне очевидно, что перечисленные выше задачи тесно связаны между собой. Все их актуальные формальные представления принадлежат к классу труд-норешаемых задач смешанного программирования. Используемые подходы для поиска приближенных решений опираются на классические схемы: методы ла-гранжевой релаксации, генерации столбцов и декомпозиции Бендерса, применяются известные вычислительные инструменты комбинаторной оптимизации и методов отсечений, программирование в ограничениях [1, 2].
Основой настоящей работы является оригинальная постановка в виде задачи оптимизации расписаний системы несвязанных параллельных приборов (ВС) с задержками начала обслуживания заявок (рейсов), адаптированная к рассматриваемой задаче оперативного управления движением ВС, которая предложена авторами в работах [23-25], а также специальный параметрический эффективный алгоритм ее приближенного решения [25, 26].
1. Содержательная постановка задачи оптимального оперативного
управления графиками полетов рейсов авиакомпании
Исходные данные - расписание движения воздушных судов авиакомпании, нормативы времени полета всех типов воздушных судов, времени обслуживания и подготовки рейсов для всех типов воздушных судов.
Оперативная информация: о задержках рейсов на любой заданный момент времени во всех аэропортах.
Тогда содержательно задача оперативного управления заключается в таком перераспределении парка воздушных судов (ВС) по рейсам авиакомпании за планируемый период, которое минимизирует максимальное суммарное отклонение от исходного графика движения всего парка воздушных судов авиакомпании при выполнении всех условий исходного графика по пассажиропотоку, числу рейсов, нормативов обслуживания.
2. Формальная постановка задачи оптимального оперативного
управления назначениями и графиком рейсов авиакомпании
Введем условные обозначения:
/ - номер порта, / е Ь ,
г - номер рейса, г е Ц, у Ц = I, Ц Р| Ц. = 0, V/, /' е Ь ,
1еЬ
s - тип ВС, 5 е £,
у - номер ВС, у е Js, у Js = J, Js Р| Js. =0, V«, 5' е £,
5е£
" 0
^ - расписание вылета г-го рейса. г е II, V/ е Ь , Т0 =
т° - фактическая задержка г -го рейса на момент составления расписания,
т0 > 0 , г е 11, V/ е Ь , Т0 =
+т° - возможное фактическое время вылета рейса г в начальный момент времени построения расписания,
у - время обслуживания, подготовки и полета рейса г ВС у , Т = у ||, г е II,
V/ е Ь , ] е Js, V« е £ .
Требуется найти хг у при условиях:
[1, если самолет у назначается на рейс г,
хг, у = \
[0 в противном случае, (1)
г е II, V/ е Ь, у е Js, V« е £.
Е хг у = 1, г е II V/ е Ь , (2)
е
(2) - на рейс г назначается только одно воздушное судно,
< Е хг,у < Ьу , у е ^ V« е £ , (3)
iеI
(3) - ВС у может быть назначено не менее чем на Ьу и не более чем на Ьу рейсов; тг- у - возможное время задержки вылета воздушного судна у рейсом г, г е II, V/ е Ь , у е Js, V« е £ (может принимать отрицательные значения, что учитывается ограничениями (5) и (6)).
\ у = - + Е (Тк, у + ,у )Х£, у , г 4, у е Л , « е £, (4)
кеЬ
(4) - задержка вылета ВС у на текущем этапе (рейсе г) является рекурсивной функцией задержек предыдущих рейсов этого воздушного судна,
тг- у = тг- у + уг у > 0, г е I/, V/ е Ь , у е Js, V« е £ , (5)
уг у > 0 г е II, V/ е Ь , у е Js, V« е £ . (6)
Условия (5) и (6) нейтрализуют отрицательные задержки за счет переменных-компенсаторов уг,у > 0, тогда тг-,у > 0 - скорректированная задержка вылета
ВС у рейсом г ,
Е чухг,у + Е Ч,]хг,у < Х , у е -1« , « е £ , (7)
X ^ ш1п . (8)
(7) и (8) - минимаксный критерий быстродействия. Его использование способствует организации равномерной загрузки парка воздушных судов, минимизируя максимальный суммарный простой ВС из всего множества. Вариант ограничения (7):
Е ЧуХг,у <Х (7')
геН
Вместо, или вместе с (7), возможно применение аддитивного критерия минимизации суммарных задержек
Е Е %]х1,у ^ ш1п. (9)
¡еЗ iеI
Выражения (4), опосредующие ограничения (5) и (7), содержат рекурсии, поскольку всякие последующие (по времени) значения Ti j и Ti j зависят от предыдущих.
Вычисление Ti j на всех предшествующих i шагах вызывает немалые затруднения из-за множественности вариантов их формирования, а раскрытие рекурсий и сведение постановки (1)-(8) к одноэтапной задаче смешанного программирования приводят к увеличению числа булевых переменных и ограничений задачи в
¡12 раз, где I = sup I [24]. Это редуцирует структурную сложность (1)-(8) в вычислительную трудоемкость результирующей постановки, которая остается труд-норешаемой при многократном увеличении исходной размерности [24].
Поэтому раскрытие рекурсий - отдельная тема, представляющая скорее теоретический, чем практический интерес. В то же время вполне очевидна прямая применимость к задаче (1)-(8) параметрического алгоритма на основе динамического программирования (ДП) с отсевом вариантов на каждом шаге [24, 25].
3. Параметрический алгоритм поиска субоптимальных решений
Из-за наличия рекурсий динамическое программирование - едва ли не единственный вычислительный метод, применимый непосредственно для решения задачи (1)-(8). Однако его прямое применение неэффективно, в том числе из-за того, что рассматриваемая задача обладает NP-полнотой. При попытке точного решения (1)-(8) ДП приводит к полному перебору всех допустимых вариантов. Нетрудно подсчитать число таких вариантов N. Например, если к - номер этапа и в (2) положить bj = 0, и bj = sup I, I = sup I, J = sup J , то, как показано ниже, учитывая геометрическую прогрессию числа вариантов по шагам
ДП, N = (jI+1 - J)/2 . По этой причине метод ДП в задаче (1)-(8) имеет трудоемкость, превышающую экспоненциальную и в «чистом» виде на реальных размерностях неприменим.
Для построения эффективного приближенного алгоритма воспользуемся общей схемой ДП, производя отсев локально наихудших вариантов на ряде шагов (этапов) динамического программирования. Данный подход апробирован авторами ранее при решении задач оптимизации расписаний несвязанных неидентичных параллельных приборов с задержками начала обслуживания [25, 26] и показал хорошие практические результаты по точности результатов и быстродействию.
Будем считать упорядоченными все рейсы i е Ц, V/ е L по величинам исходных задержек (входному расписанию |т°||) с учетом местоположения ВС на момент построения расписания. Тогда в соответствии с процедурой ДП определим номера этапов q = 1, I. Обозначим через f-, j (т-, j, t-, j, xxq, j), j е Js, Vs е S время завершения выполнения ВС j рейса q на этапе q, а через ф- (т-, j, t^ j, хг-, j)
i = 1, I, j = 1, -q - условно минимальное время завершения выполнения всех рассматриваемых рейсов на этапах с первого по q-й.
fq, j (Tq, j, tq, j, xq, j ) = max {°, [Tq, jxq, j - ф--1, j (Tq-1, j, fi, j, xi, j )]} + fq, jxq, j ,
j = 1, J , i = 1, q-1. (1°)
Рекуррентное соотношение Беллмана для этой задачи:
ф|, j (\|-1, j, ti, j, xi, j ) = {j (V j, 4 j, X|, j ) + Ф|-1, j (^л-l, j, j, Xi, j )}'
(11)
найти X = min
i = 1, i-1;
Ф| (4 j, ti, j, Xi, j) = max {ф|,j (T|-1,}, t;,}, хг,})} , j e , 5 e £, i = 1, |. (12)
j
Для достижения максимального быстродействия по критерию (7)-(8) на последнем шаге следует выбрать минимальное значение фу (xjj, ti j , xi j ), т. е.
in {ф7(i7, j , ti, j, xi, j
)} , j e J,, 5 e £, i e It, / e Z . Подсчитаем общее
число вариантов расписаний, которые нужно найти для гарантированного определения наилучшего расписания:
N = J + J2 +... + Jk +... + J =(jI+1 - J/2. (13)
Отсев части промежуточных расписаний на этапах ДП возможен в различных вариациях. Если отбрасывать все варианты расписания на шаге к, кроме локально наилучшего, то такой способ построения расписания совпадает с жадным алгоритмом. Если оставлять все промежуточные расписания, это приведет к полному перебору вариантов. При этом на первом этапе будем иметь J , на втором
этапе - J , на этапе к - J вариантов промежуточного расписания. Если же пытаться найти компромисс между точностью и быстродействием, то с учетом стремления построить эффективный алгоритм число промежуточных расписаний должно полиномиально зависеть от количества булевых переменных задачи (1)-(8).
Рассмотрим одну из таких компромиссных вариаций. Определим максимально возможное число вариантов K , оставляемое на этапе к для дальнейшего анализа. Для удобства изложения примем в качестве K некоторую константу. Напри-
—к
мер, положим K = 1024 и определим максимальное число K' = J < K . Поскольку на каждом этапе ДП число вариантов промежуточных расписаний увеличивается в J раз, произведем отсев 1 -1/ J доли локально наихудших из генерируемых вариантов на всяком этапе, начиная с к +1 -го.
" ln( K)"
Вполне очевидно значение к : к =
ln (J)
, где [•] - целая часть числа.
Подсчитаем общее число генерируемых алгоритмом вариантов расписаний. На
первом этапе - J вариантов, на этапе к - J вариантов, на этапах с к +1 по I -й -_к
также J вариантов. Тогда общее число промежуточных расписаний N' соста-
вит:
N ' = J + J2 +... + J-1 + J +... + J = (J-1 - J)/2 + (( - к +1) • J .
(14)
Поскольку к - некоторая константа, выражение (14) отображает полиномиальную зависимость трудоемкости параметрического алгоритма ДП с отсевом вариантов от размерности задачи (1)-(8). При этом параметр к - степень такого полинома. Для наглядности сравним N с N', положив к = 3 , I = 1000, J = 100.
Тогда N = (1001001 -100)/2 , N' = (1002 -100)/2 + (100 - 2) • 1003 = 98 009 900 . Данные обстоятельства опосредуют вполне заурядную трудоемкость параметрического алгоритма, которая определяется параметром к, и фактически бесконечную трудоемкость метода ДП.
В соответствии с (14) можно оценить полную трудоемкость параметрического алгоритма. Для этого достаточно определить трудоемкость этапа, начиная с номера к, которая непосредственно зависит от числа комбинаций переменных хг у на
—к
этапе к . Обозначим эту величину как Рк, тогда очевидно: Рк = О . Фактически это означает, что на каждом этапе, начиная с к , алгоритм требует вычисления Рк вариантов ограничений (7) для всех возможных значений хк у. В целом на всех
этапах имеем: Р1 = О , Р2 = J2 , Р1 = ^ , I = к,I. В рассмотренном выше примере Рк = 100 , и с учетом (14) получаем немалую трудоемкость для задачи реальной
размерности. Данное затруднение преодолевается либо снижением к, либо декомпозицией.
Опишем параметрический алгоритм ДП с отсевом локально наихудших промежуточных вариантов.
Алгоритм Ар
1. Ввод исходных данных (хг°, tj у ), у е , 5 е £, г е II, I е Ь , параметров к
и N'. Положим Ф0 у (т0, ^ у, хг у ) = 0, определим начальный номер шагал := 0.
2. л :=л +1.
3. Проверка номера этапа. Если л > I - переход к пункту 7, если нет -следующий пункт.
4. На этапе л определяем порядок следования последующих этапов (переупорядочиваем список рейсов), вычисляем величины задержек X" у, в
соответствии с (10)-(12) генерируем все допустимые варианты назначений, вычисляем /л,у (тл,у, у, хл,у) и длины расписаний фл,у (тл,у, ti,у, хг,у).
5. Проверка^ - числа вариантов фл,у(хл,у, tj,у, хг,у) на этапе л. Еслил<к ,
т.е. ^ < N' - переход к п. 2. В противном случае - следующий пункт.
6. Отсев 1 -1/ О части из всех порожденных п. 4 вариантов с наибольшими значениями длины расписания фл,у (Хл,у, tj,у, хг,у). Возврат к п. 2.
7. Выбор вариантов кратчайших расписаний. Составление результирующих расписаний обратным ходом ДП.
Замечание к алгоритму Ар относительно оценки значений задержек хг у .
На каждом шаге алгоритма требуется оценивание значений хг у для ВС, которые еще не прибыли в аэропорт отправки рейса. Оценивание значений Хг у осуществляется посредством решения подзадач поиска всех кратчайших путей в графе возможных связей между аэропортами. В общем случае это приходится делать на каждом шаге, так как пошагово они могут меняться в зависимости от предыдущих локальных назначений на рейсы.
4. Демонстрационный пример
Ниже приведен иллюстративный фрагмент применения предложенного алгоритма для построения ближайшего к исходно заданному расписания вылетов и назначения рейсов для трех ВС, обозначенных номерами 1, 2 и 3 двух различных типов.
Таблица 1 / Table 1
Данные о рейсах Flight data
Рейс Аэропорт отправления Аэропорт назначения Время обслуживания Начальное наличие Начальное расписание
тип ВС время номер ВС
1 1 2 1т 5 1 1т 1
2 2 3 1т 3 2 1т 2
3 2 1 2т 4 3 2т 1
4 3 1 2т 2 1
5 1 3 1т 2 2
6 3 2 1т 4 2
7 1 2 2т 4 4
8 1 3 2т 2 4
9 3 1 1т 3 4
10 2 1 1т 5 4
11 2 3 1т 3 5
Исходные данные о рейсах и затратах времени приведены в табл. 1.
Таблица 2 / Table 2
Первый шаг алгоритма Algorithm: step one
Л = 1 х1,1 x1,2 x1,3 / ; ф1,] = /]}, ф1 = max{<h,;} ]
1 0 0 (1+5, 0, 0) ф1 = max{6; 0; 0} = 6
Рейс 1 0 1 0 (0, 0) ф1 = max{0,Tj 2,0| = t1 2, т12 = min {13,14}= 13
0 0 1 (0, 0, ~) ф1 = max {0,0, œ}=œ
В табл. 1 графа «время» соответствует /г-, у, графа «местоположение» отображает наличие или отсутствие ВС в аэропорту вылета на каждом шаге построения расписания, «начальное расписание» соответствует тг°. Графа «номер» соответствует ] (номеру ВС). В табл. 1 данные отсортированы по значениям т00 с учетом местоположения ВС. В соответствии с этим порядком пронумерованы рейсы.
Параметры алгоритма: к = 1, (N' = 3), J = 3, I = 11.
Таблица 3 / Table 3
Второй шаг Step two
Л = 2 *1Л xv x2,1 x2,2 x2,3 А, A j = {A j + фи} , ф2 = шах{ф2, j} j
Рейс 1 + Рейс 2 1 0 1 0 0 (6+3, 0, 0) ф2 = max{6+3; 0+0; 0+0} = 9
1 0 0 1 0 (0, 2+3, 0) ф2 = max{6+0; 0+5, 0+0} = 6
1 0 0 0 1 (0, 0, ~) ф2 = max{6 + 0, 0, <x>} = œ
0 1 1 0 0 (13+3, 0, 0) ф2 = max{13+3; 0+0; 0+0} = 16
0 1 0 1 0 (0, 2+3, 0) ф2 = max{13+0; 0+5, 0+0} = 13
0 1 0 0 1 (0, 0, ~) Ф2 = max{13 + 0, 0, œ} = œ
Поскольку к = 1, сокращаем размерность (вычеркнутые варианты выделены заливкой).
После третьего шага изменяются местоположение ВС и данные о текущих рейсах, т. е. порядка задержках тг- у, что приводит к необходимости изменения
порядка назначения выполнения шагов алгоритма (см. п. 4 Ар). Изменение порядка назначения рейсов приведено в табл. 4, строки которой упорядочены по возрастанию тг- у с учетом текущих местоположений ВС.
Таблица 4 / Table 4
Упорядоченные данные Ordered data
Рейс Аэропорт отправления Аэропорт назначения Время обслуживания Начальное наличие Начальное расписание
тип ВС время номер ВС
1 1 2 1т 5 1 1т 1
2 2 3 1т 3 2 1т 2
3 2 1 2т 4 3 2т 1
4 3 1 2т 2 1
5 1 3 1т 2 2
6 3 2 1т 4 2
7 1 2 2т 4 4
8 1 3 2т 2 4
9 3 1 1т 3 4
10 2 1 1т 5 4
11 2 3 1т 3 5
Вычисления четвертого шага приведены в табл. 5.
Таблица 5 / Table5
Четвертый шаг Step four
q = 4 х2,1 x2,2 x4,1 x4,2 А, Ф4, j = {/411,j + ф3, j} , ф4 = шах{ф4, j} i
Рейсы: 1, 2, 3, 6 1 0 1 0 (4,0,0) ф4 = max{6+3+0+4; 0+0+0+0; 0+0+5+0} =13
1 0 0 1 (0,4,0) ф4 = max{6+3+0+0; 0+0+0+40; 0+0+5+0} =9
0 1 1 0 (4,0,0) ф4 = max{6+0+0+4; 0+5+0+0; 0+0+5+0} = 10
0 1 0 1 (0,4,0) ф4 = max{6+0+0+0; 0+5+0+4; 0+0+5+0} = 9
0 1 1 0 (4,0,0) ф4 = max{13+0+0+4; 0+5+0+0; 0+0+5+0} = 17
0 1 0 1 (0,4,0) ф4 = max{13+0+0+0; 0+5+0+4; 0+0+5+0} = 13
В соответствии с заданным параметром к = 1 вычеркиваем локально наихудшие варианты текущего расписания (для Ф4 > 13).
Результаты вычислений на завершающем одиннадцатом шаге сведены в табл. 6. Заливкой в табл. 6 выделены исключенные из рассмотрения варианты назначений.
Таблица 6 / Table 6
Завершающий шаг Final step
•Л = 11 x8,1 x8,2 x11,1 x11,2 /11,i ф11,, = {/u,j +ф10, j}, ^ = ф11 =max{Vi} j
Рейсы: 1,2,3,6, 7,10,11, 5,8,4,9 1 0 1 0 (3,0,0) фп = max{6+0+0+0+0+0+3+[2+2]+0+0+3; 0+5+0+4+0+5+0+0+0+0+0; 0+0+5+0+4+0+0+0+[4+2]+2+0} =17
1 0 0 1 (3,0,0) фп = max{6+0+0+0+0+5+0+2+0+0+3; 0+5+0+4+0+0+3+0+0+0+0; 0+0+5+0+4+0+0+0+[4+2]+2+0} =17
1 0 0 0 (3,0,0) фп = max{6+0+0+0+0+0+3+0+0+0+3; 0+5+0+4+0+5+0+2+0+0+0; 0+0+5+0+4+0+0+0+[4+2]+2+0} =17
0 1 1 0 (0,3,0) фп = max{6+0+0+0+0+0+3+[2+2]+0+0+0; 0+5+0+4+0+5+0+0+0+0+[3+2]; 0+0+5+0+4+0+0+0+[4+2]+2+0}=19
0 1 0 1 (0,3,0) фп = max{6+0+0+0+0+5+0+2+0+0+0; 0+5+0+4+0+0+3+0+0+0+3; 0+0+5+0+4+0+0+0+[4+2]+2+0} =17
0 1 0 0 (0,3,0) фп = max{6+0+0+0+0+0+3+0+0+0+0; 0+5+0+4+0+5+0+2+0+0+3, 0+0+5+0+4+0+0+0+[4+2]+2+0} =19
Квадратными скобками в суммировании длительностей обслуживания ВС рейсов выделены варианты отсутствия соответствующих бортов в аэропорту вылета. В этом случае приходится доставлять ВС из другого ближайшего аэропорта. Время доставки учтено внутри квадратных скобок.
Таким образом, в результате получено четыре равноценных по критерию (7)-(8) варианта назначений ВС на рейсы и расписания их движения (X = 17 для всех вариантов).
В табл. 7 и 8 отображены все наилучшие варианты назначений и соответствующие расписания движения ВС. В графах «начало» отображается время вылета, в графах «конец» - совокупное время завершения полета, обслуживания на земле и подготовки к следующему рейсу.
Таблица 7 / Table 7
Варианты 1, 2 кратчайшего расписания Shortest schedule: options 1 and 2
i j = 1 j = 2 j = 3 Начало Конец j = 1 j = 2 j = 3 Начало Конец
1 1 0 0 1 6 1 0 0 1 6
2 0 1 0 2 5 0 1 0 2 5
3 0 0 1 1 5 0 0 1 1 5
4 0 1 0 5 9 0 1 0 5 9
5 0 0 1 5 9 0 0 1 5 9
6 0 1 0 9 14 1 0 0 6 11
7 1 0 0 6 9 0 1 0 9 12
8 1 0 0 11 13 1 0 0 11 13
9 0 0 1 13 15 0 0 1 13 15
10 0 0 1 15 17 0 0 1 15 17
11 1 0 0 13 16 1 0 0 13 16
Таблица 8 / Table 8
Варианты 3, 4 кратчайшего расписания Shortest schedule: options 3 and 4
i j = 1 j = 2 j = 3 Начало Конец j = 1 j = 2 j = 3 Начало Конец
1 1 0 0 1 6 1 0 0 1 6
2 0 1 0 2 5 0 1 0 2 5
3 0 0 1 1 5 0 0 1 1 5
4 0 1 0 5 9 0 1 0 5 9
5 0 0 1 5 9 0 0 1 5 9
6 0 1 0 9 14 1 0 0 6 11
7 1 0 0 6 9 0 1 0 9 12
8 0 1 0 14 16 1 0 0 11 13
9 0 0 1 13 15 0 0 1 13 15
10 0 0 1 15 17 0 0 1 15 17
11 1 0 0 9 12 0 1 0 12 15
Приведенный пример наглядно демонстрирует универсальность алгоритма Ар . Он пригоден и для решения задачи БАМ, и для решения смешанной задачи (БАМ + АЯР). Это же свойство позволяет находить наилучшее по параметру к решение целевой задачи оптимального регулирования расписаний, которое минимизирует потери авиакомпании от нарушений изначально заданных графиков движения воздушных судов.
5. Улучшающий обменный алгоритм
Для улучшения решения, полученного параметрическим алгоритмом Ар, можно применить процедуру, основанную на обмене рейсами между ВС. Опишем этот алгоритм.
На первом этапе выбирается ВС с наибольшим суммарным временем обслуживания рейсов и производится попытка передачи одного из рейсов другому ВС. Если при этом происходит уменьшение значения целевой функции, процесс повторяется, в противном случае рассматривается следующий рейс.
На втором этапе выбирается ВС с наибольшим суммарным временем обслуживания рейсов. Последовательно рассматриваются рейсы данного ВС. В каждом случае осуществляется поиск рейса, который это ВС обслуживает за меньшее время, но назначенный другому ВС. Производится обмен рейсами между воздушными судами. Если при этом происходит уменьшение значения целевой функции, второй этап повторяется, в противном случае изменения отменяются и осуществляется поиск другого подходящего для обмена рейса. Общий обменный алгоритм, как и алгоритм, реализуемый на втором этапе, обозначим как Ас . Более подробно Ас на втором этапе можно описать следующим образом.
Алгоритм Ас
1. Выбирается ВСт с наибольшим суммарным временем обслуживания рейсов
х т = х .
2. Положим I := 1.
3. Если I := т , перейти к п. 14.
4. Положим I := 1.
5. Если хт1 = 0 , перейти к п. 12.
6. Положим у := 1.
7. Если у = I или хг,у = 0 , или т,у > /т,г, или (¡^ - у > Хт - X,, перейти к п. 10.
8. Положим хг-,у = 0, хт,у = 1, ху = 1, хт,г = 0 .
9. Вычислим значение целевой функции. Если оно уменьшилось, перейти к п. 1, иначе положить х, у = 1, хт у = 0, = 0, хт1 = 1.
10. Положим у := у +1.
11. Если у < J, перейти к п. 7.
12. Положим I := I +1.
13. Если I < J, перейти к п. 5.
14. Положим I := г +1.
15. Если г < I, перейти к п. 3, иначе - завершить алгоритм.
6. Результаты тестирования алгоритмов
Программная реализация параметрического алгоритма Ар и обменного алгоритма Ас позволила исследовать их свойства на примерах приближенных к реальным размерностей. Алгоритмы тестировались на данных задачи оптимизации расписаний системы несвязанных параллельных приборов с задержками начала обслуживания [23, 24]. Табл. 9 содержит результаты тестирования реализаций задачи (1)-(8) с использованием средств решения бикритериальной релаксации задачи (1)-(8) [24, 27, 28] и представленных выше алгоритмов Ар и А . Все тесты имеют одинаковую размерность. Число рейсов I = 100, число ВС 3 = 5 . Алгоритмы Ар и Ас применены с двумя значениями параметра к = 4 и к = 5 .
Таблица 9 / Table 9
Сравнительные характеристики алгоритмов Comparative characteristics of the algorithms
№ ^da 'da *dp 'dp Pdp Adp 'dp ^dp *dp 'dp Vdp Adp 'dp pdp ^dp
(ч:м:с) I = 100, J = 5, k = 4 Ас J = 5, k = 5 Ac
1 0:07:18 389 17 368 -5,40 -1 364 -6,4 -25 435 363 -6,68 -26 359 -7,71 -30
2 0:15:29 335 18 337 0,60 2 335 0,00 0 436 331 -1,19 -4 329 -1,79 -6
3 0:09:21 401 17 382 -4,74 -19 382 -4,7 -19 438 375 -6,48 -26 375 -6,48 -26
4 0:01:42 356 18 370 3,93 14 366 2,81 10 437 365 2,53 9 361 1,40 5
5 0:12:11 334 17 337 0,90 3 333 -0,3 -1 435 337 0,90 3 337 0,90 3
6 4:43:14 363 17 377 3,86 14 369 1,65 6 434 375 3,31 12 361 -0,55 -2
7 0:11:56 403 18 404 0,25 1 404 0,25 1 434 404 0,25 1 401 -0,50 -2
8 1:34:02 395 17 398 0,76 3 397 0,51 2 433 386 -2,28 -9 386 -2,28 -9
9 0:03:33 364 17 372 2,20 8 372 2,20 8 434 371 1,92 7 371 1,92 7
10 0:15:37 395 17 392 -0,76 -3 366 -7,3 -29 434 389 -1,52 -6 376 -4,81 -19
Среднее 0,16 0,2 -1,14 -4,7 -0,93 -3,9 -1,99 -7,9
В табл. 9 , - соответственно время решения (в формате ча-
сы:минуты:секунды) и значение критерия эффективности, в результате применения базового алгоритма, основанного на бикритериальной релаксации с использованием инструментов ШМ1ЬОвСРЬБХ [23, 24]. , Хф, р¿р и Дф - время
решения (в секундах), значение критерия, относительное и абсолютное ухудшение (улучшения при отрицательном значении) критерия, достигнутые алгоритмом Ар в сравнении с базовым алгоритмом. Хф , рф и Дф - те же значения,
полученные с применением алгоритма Ас .
В целом очевиден абсолютный выигрыш в быстродействии, объясняемый эффективностью алгоритма Ар и его комбинации с Ас . А также практически полное превосходство в близости получаемых решений к оптимальным в сравнении с базовым алгоритмом.
Табл. 10 и 11 содержат статистику тестирования алгоритмов для оценки затрат времени на решение реализаций задачи оптимального регулирования назначений и расписаний движения флота авиакомпании реальных размерностей.
Таблица 10 / Table 10 Тесты I = 100 , J = 10 , к = 3 Tests I = 100 , J = 10 , к = 3
Таблица 11 / Table 11 Тесты I = 100 , J = 30, к = 2, Tests I = 100 , J = 30, к = 2
№ теста ldp ^dp
1 325 163 154
2 322 126 122
3 322 145 145
4 338 139 136
5 329 157 152
6 322 134 132
7 324 147 147
8 322 135 132
9 323 153 153
10 326 137 137
№ теста ldp ^dp ^dp
1 18 106 106
2 18 105 105
3 18 107 107
4 18 106 106
5 17 108 108
6 18 114 114
7 18 105 104
8 18 108 106
9 18 106 106
10 19 105 105
Размерности тестов (100 рейсов, 30 воздушных судов) и время решения позволяют надеяться на высокую эффективность разработанного инструментария для решения реальных задач планирования авиакомпаний.
Заключение
Полученные результаты свидетельствуют о продуктивности примененных подходов для решения актуальных задач планирования авиаперевозок, включая назначения флота ВС, маршрутизации и регулирования расписаний движения ВС в случае необходимости. Таким образом, разработка имеет неплохие перспективы внедрения в практику планирования авиакомпаний любого масштаба. Апостериорные оценки точности и быстродействия алгоритмов позволяют также сделать вывод о преимуществе разработанного инструментария перед аналогами.
ЛИТЕРАТУРА
1. Grönkvist M. The tail assignment problem: Thesis for the degree of Doctor of Philosophy / Chalmers University of Technology and Göteborg University. - Göteborg, Sweden, 2005. -276 p.
2. Sherali H.D., Bish E.K., Zhu X. Airline fleet assignment concepts, models and algorithms // European Journal of Operational Research. - 2006. - Vol. 172, N 1. - P. 1-30.
3. The fleet assignment problem: solving a large-scale integer program / C.A. Hane, C. Barnhart, E.L. Johnson, R.E. Marsten, G.L. Nemhauser, and G. Sigismondi // Mathematical Programming. - 1995. - Vol. 70, N 1-3. - P. 211-232.
4. Some properties of the fleet assignment problem / Z. Gu, E.L. Johnson, G.L. Nemhauser, and Y. Wang // Operations Research Letters. - 1994. - Vol. 15, N 2. - P. 59-71.
5. Coldstart: fleet assignment at delta air lines / R. Subramanian, R.P. Scheff, J.D. Quillinan, D.S. Wiper, and R.E. Marsten // Interfaces. - 1994. - Vol. 24, N 1. - P. 104-120.
6. Ozdemir Y., Basligil H., Nalbant K.G. Optimization of fleet assignment: a case study in Turkey // An International Journal of Optimization and Control: Theories & Applications. -2012. - Vol. 2, N 1. - P. 59-71.
7. Blegur F.M.A., Bakhtiar T., Aman A. Scenarios for fleet assignment: a case study at Lion Air // IOSR Journal of Mathematics. - 2014. - Vol. 10, iss. 5. - P. 64-68.
8. Kabbani N.M., Patty B.W. Aircraft routing at American airlines // Proceedings of the Thirty-Second Annual Symposium of AGIFORS. - Budapest, Hungary, 1992. - P. 12-28.
9. The aircraft rotation problem / L.W. Clarke, E.L. Johnson, G.L. Nemhauser, and Z. Zhu // Annals of Operations Research. - 1997. - Vol. 69. - P. 33-46.
10. Benders decomposition for simultaneous aircraft routing and crew scheduling / J.-F. Cordeau, G. Stojkovi'c, F. Soumis, and J. Desrosiers // Transportation Science. -2001. - Vol. 35, N 4. - P. 375-388.
11. Flight string models for aircraft fleeting and routing / C. Barnhart, N.L. Boland, L.W. Clarke, E.L. Johnson, G.L. Nemhauser, and R.G. Shenoi // Transportation Science. - 1998. -Vol. 32, N 3. - P. 208-220.
12. Elf M., Jünger M., Kaibel V. Rotation planning for the continental service of a European airline // Mathematics - Key Technologies for the Future. - Berlin; Heidelberg: Springer, 2003. - P. 675-689.
13. Sarac A., Batta R., Rump C.M. A branch-and-price approach for operational aircraft maintenance routing // European Journal of Operational Research. - 2006. - Vol. 175, N 3. -P. 1850-1869.
14. Gopalan R., Talluri K.T. The aircraft maintenance routing problem // Operations Research. -1998. - Vol. 46, N 2. - P. 260-271.
15. A very large-scale neighborhood search algorithm for the combined through-fleet-assignment model / R.K. Ahuja, J. Goodstein, A. Mukherjee, J.B. Orlin, D. Sharma // INFORMS Journal on Computing. - 2007. - Vol. 19, N 3. - P. 416-428.
16. A network airline revenue management framework based on decomposition by origins and destinations / S.I. Birbil, J.B.G. Frenk, J.A.S. Gromicho, S. Zhang // Transportation Science. -2013. - Vol. 48, N 3. - P. 313-333.
17. Yan S., Tseng C.-H. A passenger demand model for airline flight scheduling and fleet routing // Computers & Operations Research. - 2002. - Vol. 29, N 11. - P. 1559-1581.
18. Sandhu R., Klabjan D. Integrated airline fleeting and crew-pairing decisions // Operations Research. - 2007. - Vol. 55, N 3. - P. 439-456.
19. Rakshit A., Krishnamurty N., Yu G. System operations advisor: a real-time decision support system for managing airline operations at United Airlines // Interfaces. - 1996. -Vol. 26, N 2. - P. 50-58.
20. Lettovsky L. Airline operations recovery: an optimization approach: PhD thesis / School of Industrial & Systems Engineering, Georgia Institute of Technology. - Atlanta, GA, USA, 1997. - 271 p.
21. Airline disruption management - perspectives, experiences and outlook / N. Kohl, A. Larsen, J. Larsen, A. Ross, S. Tiourine // Journal of Air Transport Management. - 2007. - Vol. 13, N 3. - P. 149-162.
22. Rosenberger J.M. Topics in airline operations: PhD thesis / School of Industrial & Systems Engineering, Georgia Institute of Technology. - Atlanta, GA, USA, 2002. - 265 p.
23. Мезенцев Ю.А. Оптимизация расписаний параллельных динамических систем в календарном планировании // Информационные технологии. - 2008. - № 2. - С. 24-33.
24. Avdeenko T.V., Mezentsev Yu.A. Efficient approaches to scheduling for unrelated parallel machines with release dates // IFAC-Papers Online. - 2016. - Vol. 49, iss. 12. - P. 17431748.
25. Avdeenko T.V., Mezentsev Yu.A., Estraykh I.V. Heuristic approach to unrelated parallel machines scheduling under availability and resource constraints // IFAC-PapersOnline. -2017. - Vol. 50, iss. 1. - P. 13096-13101.
26. Mezentsev Yu.A., Estraykh I.V. Problems and optimization algorithms of schedules of parallel-serial systems with undefined service routes // Abstracts of the International Conference "Constructive Nonsmooth Analysis and Related Topics". - St. Petersburg, 2017. -Pt. 2. - P. 79-83.
27. Mezentsev Yu.A. Binary cut-and-branch method for solving linear programming problems with boolean variables // Proceedings DOOR 2016. - Vladivostok, 2016. - Vol. 1623. -P. 72-85.
28. Mezentsev Yu.A. Binary cut-and-branch method for solving mixed integer programming problems // Abstracts of the International Conference "Constructive Nonsmooth Analysis and Related Topics". - St. Petersburg, 2017. - Pt. 2. - P. 74-78.
AN OPTIMAL FLEET ASSIGNMENT AND FLIGHT SCHEDULING PROBLEM FOR AN AIRLINE COMPANY
Mezentsev Yu.A., Estraykh I.V.
Novosibirsk State Technical University, Novosibirsk, Russia
An original problem statement and solution algorithms are presented for an applied problem in the scheduling theory. The idea of the optimal fleet assignment and Flight Scheduling problem considered in this paper is to find a scheduling control method that minimizes the losses of the airline company caused by aircraft schedule disruptions. The problem is NP-complete and cannot be solved accurately for any real-life number of dimensions. An efficient parametric algorithm is proposed for finding an approximate solution of the problem. The proposed algorithm is an extension of the schedule optimization algorithm for a system of unrelated parallel machines with login delays which is based on the Cmax criterion. The algorithm parameter specifies the number of the analyzed intermediate schedule options at each step and, accordingly, the number of locally eliminated worst-case options. It allows one to flexibly regulate the overall complexity and accuracy of the resulting corrective schedules. A supporting example of applying the algorithm as well as statistics of testing it on the data of an originating task by the Cmax criterion is presented. In addition to the parametric algorithm, an improving exchange algorithm is proposed that allows one to design the improved schedules by the Cmax criterion. The results of computational experiments using both algorithms on the generated examples with the dimensions close to real ones which showed a high overall efficiency of the approach are presented,
Keywords: optimal scheduling, airline fleet assignment, Cmax criterion, efficient parametric algorithm, discrete optimization.
DOI: 10.17212/1727-2769-2018-3-74-90
REFERENCES
1. Grönkvist M. The tail assignment problem. Thesis for the degree of Doctor of Philosophy. Chalmers University of Technology and Göteborg University. Göteborg, Sweden, 2005. 276 p.
2. Sherali H.D., Bish E.K., Zhu X. Airline fleet assignment concepts, models, and algorithms. European Journal of Operational Research, 2006, vol. 172, no. 1, pp. 1-30.
3. Hane C.A., Barnhart C., Johnson E.L., Marsten R.E., Nemhauser G.L., Sigismondi G. The fleet assignment problem: solving a large-scale integer program. Mathematical Programming, 1995, vol. 70, no. 1-3, pp. 211-232.
4. Gu Z., Johnson E.L., Nemhauser G.L., Wang Y. Some properties of the fleet assignment Problem. Operations Research Letters, 1994, vol. 15, no. 2, pp. 59-71.
5. Subramanian R., Scheff R.P., Quillinan J.D., Wiper D.S., Marsten R.E. Coldstart: fleet assignment at delta air lines. Interfaces, 1994, vol. 24, no. 1, pp. 104-120.
6. Özdemir Y., Basligil H., Nalbant K.G. Optimization of fleet assignment: a case study in Turkey. An International Journal of Optimization and Control: Theories & Applications, 2012, vol. 2, no. 1, pp. 59-71.
7. Blegur F.M.A., Bakhtiar T., Aman A. Scenarios for fleet assignment: a case study at Lion Air. IOSR Journal of Mathematics, 2014, vol. 10, iss. 5, pp. 64-68.
8. Kabbani N.M., Patty B.W. Aircraft Routing at American Airlines. Proceedings of the Thirty-Second Annual Symposium of AGIFORS, Budapest, Hungary, 1992, pp. 12-28.
9. Clarke L.W., Johnson E.L., Nemhauser G.L., Zhu Z. The aircraft rotation problem. Annals of Operations Research, 1997, vol. 69, pp. 33-46.
10. Cordeau J.-F., Stojkovi'c G., Soumis F., Desrosiers J. Benders decomposition for simultaneous aircraft routing and crew scheduling. Transportation Science, 2001, vol. 35, no. 4, pp. 375-388.
11. Barnhart C., Boland N.L., Clarke L.W., Johnson E.L., Nemhauser G.L., Shenoi R.G. Flight string models for aircraft fleeting and routing. Transportation Science, 1998, vol. 32, no. 3, pp. 208-220.
12. Elf M., Jünger M., Kaibel V. Rotation planning for the continental service of a European airline. Mathematics — Key Technologies for the Future. Berlin, Heidelberg, Springer, 2003, pp. 675-689.
13. Sarac A., Batta R., Rump C.M. A branch-and-price approach for operational aircraft maintenance routing. European Journal of Operational Research, 2006, vol. 175, no. 3, pp. 18501869.
14. Gopalan R., Talluri K.T. The aircraft maintenance routing problem. Operations Research, 1998, vol. 46, no. 2, pp. 260-271.
15. Ahuja R.K., Goodstein J., Mukherjee A., Orlin J.B., Sharma D. A very large-scale neighborhood search algorithm for the combined through-fleet-assignment model. INFORMS Journal on Computing, 2007, vol. 19, no. 3, pp. 416-428.
16. Birbil S.I., Frenk J.B.G., Gromicho J.A.S., Zhang S. A network airline revenue management framework based on decomposition by origins and destinations. Transportation Science, 2013, vol. 48, no. 3, pp. 313-333.
17. Yan S., Tseng C.-H. A passenger demand model for airline flight scheduling and fleet routing. Computers & Operations Research, 2002, vol. 29, no. 11, pp. 1559-1581.
18. Sandhu R., Klabjan D. Integrated airline fleeting and crew-pairing decisions. Operations Research, 2007, vol. 55, no. 3, pp. 439-456.
19. Rakshit A., Krishnamurty N., Yu G. System operations advisor: a real-time decision support system for managing airline operations at United Airlines. Interfaces, 1996, vol. 26, no. 2, pp. 50-58.
20. Lettovsky L. Airline operations recovery: an optimization approach. PhD thesis. School of Industrial & Systems Engineering, Georgia Institute of Technology. Atlanta, GA, USA, 1997. 271 p.
21. Kohl N., Larsen A., Larsen J., Ross A., Tiourine S. Airline disruption management - perspectives, experiences and outlook. Journal of Air Transport Management, 2007, vol. 13, no. 3, pp. 149-162
22. Rosenberger J.M. Topics in airline operations. PhD thesis. School of Industrial & Systems Engineering, Georgia Institute of Technology. Atlanta, GA, USA, 2002. 265 p.
23. Mezentsev Yu.A. Optimizatsiya raspisanii parallel'nykh dinamicheskikh sistem v kalendar-nom planirovanii [Optimization of schedules for dynamic parallel service systems]. Infor-matsionnye tekhnologii — Information Technology, 2008, no. 2, pp. 24-33.
24. Avdeenko T.V., Mesentsev Yu.A. Efficient approaches to scheduling for unrelated parallel machines with release dates. IFAC-Papers Online, 2016, vol. 49, iss. 12, pp. 1743-1748.
25. Avdeenko T.V., Mezentsev Yu.A., Estraykh I.V. Heuristic approach to unrelated parallel machines scheduling under availability and resource constraints. IFAC-PapersOnline, 2017, vol. 50, iss. 1, pp. 13096-13101.
26. Mezentsev Yu.A., Estraykh I.V. Problems and optimization algorithms of schedules of parallel-serial systems with undefined service routes. Abstracts of the International Conference "Constructive Nonsmooth Analysis and Related Topics", St. Petersburg, 2017, pt. 2, pp. 79-83.
27. Mezentsev Yu.A. Binary cut-and-branch method for solving linear programming problems with boolean variables. Proceedings DOOR 2016. Vladivostok, 2016, vol. 1623, pp. 72-85.
28. Mezentsev Yu.A. Binary cut-and-branch method for solving mixed integer programming problems. Abstracts of the International Conference "Constructive Nonsmooth Analysis and Related Topics", St. Petersburg, 2017, pt. 2, pp. 74-78.
СВЕДЕНИЯ ОБ АВТОРАХ
Мезенцев Юрий Анатольевич - родился в 1955 году, д-р техн. наук, профессор кафедры автоматизированных систем управления НГТУ. Область научных интересов: задачи и методы дискретного программирования. Опубликовано 65 научных работ. (Адрес: 630073, Россия, Новосибирск, пр. Карла Маркса, 20. E-mail: mezencev@corp.nstu.ru).
Mezentsev Yury Anatolievich (b. 1955) - Doctor of Sciences (Eng.), professor at the Automated Control Systems Department, Novosibirsk State Technical University. His research interests are currently focused on problems and methods of discrete programming. He is the author of 65 scientific papers. (Address: 20, Karl Marx Av., Novosibirsk, 630073, Russia. E-mail: mezencev@corp.nstu.ru).
Эстрайх Игорь Викторович - родился в 1961 году, старший преподаватель кафедры автоматизированных систем управления НГТУ. Область научных интересов: задачи и методы дискретного программирования. Опубликовано 9 научных работ. (Адрес: 630073, Россия, Новосибирск, пр. Карла Маркса, 20. E-mail: estrajx@corp.nstu.ru ).
Estraykh Igor Viktorovich (b. 1961) - seniorlLecturer at the Automated Control Systems Department, Novosibirsk State Technical University. His research interests are currently focused on problems and methods of discrete programming. He is the author of 9 scientific papers. (Address: 20, Karl Marx Av., Novosibirsk, 630073, Russia. E-mail: estrajx@corp.nstu.ru).
Статья поступила 29 июня 2018 г.
Received June 29, 2018
To Reference:
Mezentsev Yu.A., Estraykh I.V. Ob odnoi zadache optimal'nogo operativnogo upravleniya dvizheniem vozdushnykh sudov aviakompanii [An optimal fleet assignment and flight scheduling problem for an airline company]. Doklady Akademii nauk vysshei shkoly Rossiiskoi Federatsii — Proceedings of the Russian higher school Academy of sciences, 2018, no. 3 (40), pp. 74-90. doi: 10.17212/1727-2769-2018-3-74-90.