Научная статья на тему 'АВТОМАТИЗИРОВАННЫЙ ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ФОРМИРОВАНИЯ ГРАФИКОВ ОБОРОТА ВОЗДУШНЫХ СУДОВ'

АВТОМАТИЗИРОВАННЫЙ ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ФОРМИРОВАНИЯ ГРАФИКОВ ОБОРОТА ВОЗДУШНЫХ СУДОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
38
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПЛАНИРОВАНИЕ АВИАПЕРЕВОЗОК / ЗАДАЧА НАЗНАЧЕНИЯ САМОЛЕТОВ НА РЕЙСЫ / ГРАФИК ОБОРОТА ВС / АВТОМАТИЗИРОВАННЫЙ ПРОГРАММНЫЙ КОМПЛЕКС

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Махорин Андрей Олегович, Мусолов Максим Николаевич, Чуркин Дмитрий Николаевич

Рассмотрены основные функции и структура автоматизированного программного комплекса, предназначенного для формирования графиков оборота воздушных судов пассажирской авиакомпании. Дано общее описание основных функциональных блоков, базы данных, графического интерфейса пользователя. Приведены общие сведения о программной реализации.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Махорин Андрей Олегович, Мусолов Максим Николаевич, Чуркин Дмитрий Николаевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АВТОМАТИЗИРОВАННЫЙ ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ ФОРМИРОВАНИЯ ГРАФИКОВ ОБОРОТА ВОЗДУШНЫХ СУДОВ»

Электронный журнал «Труды МАИ». Выпуск № 58

шшш.так ги/эсюпсеЛп^у/

УДК 519.854.2

Автоматизированный программный комплекс для формирования графиков оборота воздушных судов

А. О. Махорин, М. Н. Мусолов, Д. Н. Чуркин

Аннотация

Рассмотрены основные функции и структура автоматизированного программного комплекса, предназначенного для формирования графиков оборота воздушных судов пассажирской авиакомпании. Дано общее описание основных функциональных блоков, базы данных, графического интерфейса пользователя. Приведены общие сведения о программной реализации.

Ключевые слова:

планирование авиаперевозок; задача назначения самолетов на рейсы; график оборота ВС; автоматизированный программный комплекс.

Введение

Эффективное оперативное управление парком воздушных судов является одной из наиболее актуальных проблем, стоящих перед авиакомпаниями. Сложность и многофакторность данной проблемы предполагает использование для ее решения автоматизированных систем, обеспечивающих информационную и алгоритмическую поддержку процесса принятия решений в ходе осуществления производственной деятельности авиакомпании. В данной статье рассматривается автоматизированный программный комплекс, предназначенный для решения задачи формирования графиков оборота воздушных судов и назначения самолетов на рейсы. Данная задача возникает на последнем этапе процесса планирования авиаперевозок и занимает важнейшее место в процессе оперативного управления, поскольку ее решение служит основой для составления суточного плана полетов, определяющего выполнение рейсов конкретными самолетами на ближайшие сутки.

Задача формирования графиков оборота состоит в определении однозначного соответствия рейсов и конкретных воздушных судов (самолетов), которые будут выполнять эти рейсы, исходя их текущего состояния самолетов, степени их готовности, наличия

разрешений и ограничений по маршрутам, а также исходя из их коммерческой загрузки. Помимо регулярного планирования данная задача также включает в себя оперативную модификацию рейсов и соответствующих назначений (при снижении или превышении фактической коммерческой загрузки, отсутствии ВС для выполнения рейса по расписанию, необходимости введения дополнительных рейсов и посадок, и т. п.) [1].

В настоящее время назначение самолетов на рейсы в большинстве российских авиакомпаний производится либо вручную, либо с применением примитивных автоматизированных систем фиксирующего характера, что не позволяет обеспечить высокое качество принимаемых решений [2, 3]. В связи с этим разработка автоматизированного программного комплекса, предназначенного для решения данной задачи на основе формальных математических методов, является весьма актуальной.

Основные функции и структура программного комплекса

Рассматриваемый автоматизированный программный комплекс (АПК) обеспечивает

выполнение следующих основных функций:

• ведение сезонного расписания и поправок к нему;

• ведение текущего состояния отдельных ВС;

• ведение регламента по техническому обслуживанию ВС (оперативные и периодические формы);

• формирование предварительных графиков оборота;

• формирование окончательных графиков оборота и назначение конкретных ВС на рейсы с учетом их доступности;

• анализ возможных вариантов при изменении расписания и текущей оперативной обстановки.

Процесс формирования графика оборота показан на рис. 1. Целью формирования предварительного графика для "обезличенных" ВС является анализ возможности выполнения расписания с точки зрения наличия достаточного количества ВС.

Рис. 1. Процесс формирования графика оборота ВС.

Для формирования предварительного графика оборота предназначен функциональный блок "Расстановка рейсов". Этот блок не имеет графического интерфейса пользователя, так как решение соответствующей задачи выполняется в автоматическом режиме и не требует вмешательства пользователя. Результатом решения данной задачи являются оптимальные цепочки рейсов, которые рассчитываются с учетом критериев, задаваемых пользователем.

Исходными данными для решения задачи формирования предварительных графиков оборота служит сезонное расписание, которое формируется на некоторый заданный период (сезон) на основе прогнозируемой коммерческой загрузки авиакомпании. Расписание описывает множество рейсов, для которых определены недельная периодичность, время отправления и прибытия, а так же типы самолетов, которые должны выполнять отдельные рейсы.

Полученный график оборота поступает в функциональный блок «Диаграмма Ганта». Этот блок имеет средства визуализации и редактирования графика оборота в виде диаграммы Ганта. Данная функция предназначена для автоматизированной замены "обезличенных" самолетов конкретными бортами, а также для изменения цепочек рейсов (ростеров), которые были сформированы блоком "Расстановка рейсов".

Взаимодействие рассмотренных функциональных блоков показано на рис. 2. Блок "Диаграмма Ганта" передает дату начала формирования графика оборота блоку "Расстановка рейсов" и тем самым инициирует формирование графика оборота на основе сезонного

3

расписания. Полученный график возвращается в блок "Диаграмма Ганта" для последующей обработки.

Рис. 2. Схема взаимодействия основных функциональных блоков.

Рис. 3. Схема взаимодействия модулей блока "Диаграмма Ганта".

Для реализации блока "Диаграмма Ганта" используется архитектура "модель-вид" (рис. 3), в рамках которой лежит идея разделения данных и интерфейса пользователя. Модель отвечает за работы с данными и состоит из двух взаимодействующих модулей: источника данных и контроллера. Источник данных содержит описание модели данных, а также сами данные. Контроллер предоставляет интерфейс доступа к источнику данных — по запросу от сцены считывает необходимую информацию из источника данных, подготавливает ее и передает для дальнейшей обработки. Вид в данном случае — это графическое представление диаграммы Ганта, реализованное в виде двух модулей: сцены и представления. Сцена представляет собой рабочую область графического интерфейса (т. е.

является рабочей областью для множества добавленных в нее графических элементов). Графические элементы хранятся в виде структур и интерпретируются в соответствии с моделью данных. Экземпляр сцены использует предоставляемый контроллером интерфейс для получения данных из источника и согласно модели создает элементы и сохраняет их в виде структур. Под представлением в данном случае понимается все, что имеет непосредственное отношение к графическому интерфейсу, то есть представление отвечает за отображение множества объектов сцены и за взаимодействие с пользователем.

Структура базы данных

Для описания редко изменяемых данных (каталог ВС, аэропортов, стран и типов ВС)

используется формат XML — самодокументируемый формат, который описывает структуру и имена полей, а также значения полей. Данные о рейсах могут часто изменяться с течением времени и использовать для их хранения формат XML нецелесообразно. Принимая во внимание незначительный объем хранимых данных, для их хранения используются простые текстовые файлы с разделителями (CSV).

Далее представлено описание полей сущностей (таблица 1) и схема структуры базы данных (рис. 4).

Параметр Сущность Описание

AP CODE Аэропорт Код аэропорта (IATA)

AP TZ Часовой пояс (UTC)

AP NAME Название аэропорта

AP CITY Город

AP CN Страна

CN CODE Страна 2-буквенный латинский код страны (ISO)

CN NAME Название страны

FL ID Рейс Номер рейса

FL LEG Сегмент рейса

FL DEP.CODE Код аэропорта вылета

FL DEP.DATE Дата вылета

FL DEP.TIME Время вылета

FL ARR.CODE Код аэропорта назначения

FL ARR.DATE Дата прилета

FL ARR.TIME Время прилета

FL TYPE Тип самолета выполняющего рейс

FL TAIL Номер борта выполняющего рейс

TP CODE Типы ВС Код типа борта

TP NAME Наименование типа

AC TAIL ВС Номер борта

AC TYPE Код типа

AC NAME Название борта

Таблица 1. Описание полей данных

5

CIM_CODE I ~ " I I I

Страна

*CN_CODE CN NAME

Аэропорт

*АР CODE

s АР TZ

CODE APCITY AP_CN

AP CODE

FL_DE P.CODE FL ARR.CODE

Рейс

*FL_ID

*FL_LEG

*FL_DEP.DATE

FL_DEP.TIME

FL_DEP.CODE

FL_ARR.DATE

FL_ARR.TIME

FL_ARR.CODE

FL_TYPE

FL TAIL

FL TYPE TP CODE

Тип ВС

*TP_CODE TP NAME

TP CODE

FL_TAIL

AC TAIL

ВС

*AC_TAIL ACTYPE AC NAME

AC TYPE

Рис 4. Структура базы данных программного комплекса

Графический интерфейс пользователя

Графический интерфейс программного комплекса разработан на основе MDL Окно

"Рабочая панель" является основным окном, в котором размещаются рабочие окна. Это окно ограничивает часть экрана, доступную рабочим окнам системы, и содержит следующие элементы управления, общие для всех рабочих окон:

• основное меню и панель инструментов;

• строку состояния, расположенную внизу окна.

Общая панель меню и панель инструментов для всех дочерних окон уменьшает загроможденность экрана элементами интерфейса и увеличивает его полезную площадь. Над всеми окнами приложения можно выполнять стандартные операции, как с одним окном, что предоставляет пользователю удобную возможность для работы с несколькими вариантами графика оборота (рис. 5).

Рис. 5. Основное окно с открытыми рабочими окнами.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Основное меню содержит команды создания графика оборота (вызов блока "Расстановка рейсов"), открытия уже существующих вариантов и сохранения текущего (активного) графика.

На панели инструментов находятся следующие кнопки:

• "Создать" — вызвать диалог формирования графика оборота;

• "Открыть" — вызвать диалог выбора сохраненных вариантов графика;

• "Сохранить" — сохранить текущий (активный) вариант графика.

Рис. 6. Основные графические элементы рабочего окна.

Рабочее окно является графическим интерфейсом блока "Диаграмма Ганта" и содержит следующие основные графические элементы (рис. 6):

1) линейка для индексирования работ по времени.

2) краткая информацию о ВС (бортовой номер);

3) ростер — горизонтальная линия, определяющая цепочку рейсов;

4) ассоциативный рейс — последовательность рейсов, выполняемая одним самолетом от отправления из базового аэропорта до прибытия в базовый аэропорт;

5) рейсы — целевая информация, отображаемая в виде полосок определенного цвета (в соответствии с терминалом базового аэропорта) и показывающая номер рейса, аэропорт пункта назначения, время отправления и прибытия.

Для анализа текущего графика оборота и внесения изменений рабочее окно обеспечивает следующие функции:

• изменение масштаба (детализации);

• навигация по рабочему пространству графика оборота;

• просмотр подробной информации о ВС или рейсе;

• изменение назначения самолета на отдельный рейс или ассоциативный рейс (рис. 7).

в 3 Мау 2010 а 3 М эу 2010

35 06 07 08 | 09 10 11 | 12 | 13 14 | 15 | 16 17 35 | 05 | 07 08 | ДО | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |

1 0620СВС 12055УО 1

259 1030 260 1525

2 2 ОбгОСОС 1205вУО

259 1030 260 1525

В 3 М ау 2010 В ЗМау 2010

35 | 06 07 | 08 | СВ | 10 | 11 12 | 13 14 | 15 | 16 | 17 35 06 | 07 | 08 | П0 10 | 11 | 12 | 13 | 14 15 | 16 17 |

0620С0С 12055УО 0620С0С

1 |___ 1 |_|

259 1030 260 1525 259 1030

2 1205йУО

260 1525

Рис. 7. Изменение назначения самолета на рейс.

Реализация программного комплекса

Для разработки основного программного обеспечения программного комплекса

использовались язык Си++ и библиотека Qt [4], которая обеспечивает обширный набор готовых объектов для реализации графического интерфейса пользователя. Главная программа состоит из рабочей панели и множества рабочих окон, которые реализуют функциональный блок «Диаграмма Ганта». Основная компонента данного функционального блока включат в себя следующие объекты:

• GCDiagramView ("Представление");

• GCDiagramScene ("Сцена").

"Представление" отвечает за взаимодействие с пользователем и отображение графических элементов, контейнером для которых является "Сцена". Основными графическими элементами диаграммы являются исполнитель и его заголовок (GCActor и GCActorHeader соответственно), множество работ (GCJob), связанных с исполнителем, и временная шкала (GCRuler), позволяющая соотнести множество работ во времени. Контроллер (ICController) — базовый объект, описывающий интерфейс доступа к источникам данных и представляющий собой класс с виртуальными методами, которые могут быть переопределены в производных классах для доступа к конкретным источникам данных.

Функциональный блок "Расстановка рейсов" представляет собой программу на языке Си, которая реализует алгоритм расстановки рейсов, основанный на использовании однопродуктовой сетевой модели и методов сетевой оптимизации [5]. На вход этой программы поступает файл с сезонным расписанием и файл с управляющими параметрами, указывающими, для какого типа ВС необходимо выполнить предварительную расстановку, начиная с какой даты и на какой период. Выходом данного блока является простой

текстовый файл в формате CSV, которой содержит найденные оптимальные цепочки рейсов. При этом имеется возможность учета всех дополнительных ограничений для индивидуальных самолетов при переборе допустимых решений основной сетевой задачи в рамках метода ветвей и границ.

Библиографический список

1) Козлов С.А. Повышение эффективности управления производственной деятельностью

авиакомпании на основе создания комплексной автоматизированной системы : автореф. дис. ...канд. техн. наук : 05.13.06 / С. А. Козлов ; МГТУ «Станкин». - М., 2007. - 24 с.

2) Schickinger T. Aircraft Routing from Planning to Day of Ops / T. Schickinger // Lufthansa Mathematic Symposium. - Frankfurt, 2008. - 23 p.

3) Schickinger T. The potential of tail assignment optimization / T. Schickinger // AGIFORS Airline Operations conference: Optimizing the Schedule Life Cycle. - Amsterdam, 2008. - 23 p.

4) Шлее М. Qt4.5. Профессиональное программирование на C++ / М. Шлее. - СПб. : БХВ-Петербург, 2010. - 896 с.

5) Махорин А. О. Постановка и решение задачи назначения самолетов на рейсы / А. О. Махорин, А. М. Станкевич // Вестник Московского авиационного института. - 2010. -т.17, № 5. - С. 245-250.

Сведения об авторах:

Махорин Андрей Олегович, доцент Московского авиационного института (национального

исследовательского университета), к.т.н.

МАИ, Волоколамское ш., 4, Москва, А-80, ГСП-3, 125993;

тел.: (499) 158-45-30, e-mail: mao@gnu.org

Мусолов Максим Николаевич, аспирант Московского авиационного института (национального исследовательского университета). МАИ, Волоколамское ш., 4, Москва, А-80, ГСП-3, 125993; тел.: (499) 158-23-52, e-mail: maxmusolov@gmail.com

Чуркин Дмитрий Николаевич, студент Московского авиационного института (национального исследовательского университета);

МАИ, Волоколамское ш., 4, Москва, А-80, ГСП-3, 125993; тел.: (499) 158-23-52, e-mail:churkin.dn@gmail.com

i Надоели баннеры? Вы всегда можете отключить рекламу.