В рамках серии статей по применению математической оптимизации для решения задач в бизнесе мне хотелось бы кратко, но ёмко раскрыть причины и предпосылки возникновения потребности у бизнеса решений задач такого класса, а также привести конкретные примеры кейсов, которые успешно реализованы в крупнейших компаниях мира. В отдельности каждый кейс заслуживает не менее 50 страниц текста для полноценного описания, я же постараюсь изложить главную суть решений и некоторые технические особенности в формате статей на Хабре.
Алгоритмы математической оптимизации относятся к категории Prescriptive – аналитики, наиболее сложного и ценного для бизнеса аналитического сегмента. Данная категория позволяет создавать сложные интеллектуальные системы принятия решения с целью максимизировать экономические, производственные и многие другие KPI в рамках заданных ограничений. Математическая оптимизация имеет своё применение в каждом из видов бизнеса любого масштаба, включая промышленность, производство, розничную торговлю, транспорт и логистика, телеком, агросектор, энергетика, строительство, финансы, банкинг, спорт, кино, медицина, образование и т.д. В текущей статье пойдет речь о задачах в индустрии пассажирских авиалиний.
![Рис 1. Место математической оптимизации в области продвинутой аналитики Рис 1. Место математической оптимизации в области продвинутой аналитики](https://habrastorage.org/getpro/habr/upload_files/e37/e36/6b1/e37e366b1dccfeb04d8a31d442d7c038.png)
Почему начинаем с пассажирских авиалиний? Главная причина: это одна из самых подходящих индустрий для генерации экономического эффекта за счет применения оптимизационных решений. К примеру, компания Lufthansa своим решением NetLine/FleetAssigner для планирования расписаний оценивает эффект от внедрения в 600 000 евро в месяц для средней компании. Также на текущий момент для крупных игроков мирового рынка решение подобных задач является актуальным, о чем может говорить большое количество пресс-релизов и вакансий на позицию Operations Research Scientist.
![Рис 2. Вакансии на позицию Operations Research Scientist в индустрии пассажирских перевозок по миру Рис 2. Вакансии на позицию Operations Research Scientist в индустрии пассажирских перевозок по миру](https://habrastorage.org/getpro/habr/upload_files/107/684/964/107684964680660b044e4c7f0c8c0f27.png)
Компании, занимающие лидирующие позиции в авиационном секторе, имеют собственный штат специалистов по математической оптимизации (эксперты по исследованию операций / консультанты по оптимизации), либо привлекают партнерские ресурсы на разработку и поддержку решений, тем самым получают конкурентное преимущество. Наличие экспертизы в этом направлении на текущий момент является обязательным для крупнейших компаний в секторе.
![Рис 3. Компании, которые имеют крупный штат специалистов, занимающихся оптимизационными задачами Рис 3. Компании, которые имеют крупный штат специалистов, занимающихся оптимизационными задачами](https://habrastorage.org/getpro/habr/upload_files/a75/c14/f65/a75c14f650163890c170d6b683ba35ac.png)
Но зачем компаниям иметь свой собственный штат специалистов узкого профиля? На рынке присутствует некоторое количество коробочных решений, которые решают отдельные задачи с применением оптимизационных алгоритмов, в том числе те, о которых пойдет разговор далее в статье, но несмотря на это спустя некоторое время компании пришли к выводу, что разработка решений специально для компании имеет серьезные преимущества перед готовыми решениями:
Учет всех особенностей процессов конкретной компании. В каждой из компаний многие процессы выстроены с учетом внутренних особенностей ведения бизнеса, законодательства, рыночной конъюнктуры и готовое решение может быть в полной степени использовано, только если учтены все эти нюансы.
Возможность гибкой и оперативной модификации с учетом пожеланий специалистов компании по удобству использования. Бизнес не стоит на месте и находится в режиме постоянных изменений, что требует постоянного вовлечения экспертов.
Возможность решений некоторых задач для непредвиденных для системы случаев в максимально короткие сроки. Благодаря наличию экспертов можно в ручном режиме задать условия возникшей задачи и получить её решение.
Возможность гибкой интеграции решения в существующую архитектуру. Благодаря разработке продукта ин-хаус, есть возможность учесть все интеграционные взаимодействия, настроить потоки без лишних нагромождений и костылей.
![Рис 4. Наглядный флекс преимуществами Рис 4. Наглядный флекс преимуществами](https://habrastorage.org/getpro/habr/upload_files/e47/ddc/4c3/e47ddc4c3a6e10ab04ff82a79c610485.png)
Наиболее важными задачами с точки зрения экономической эффективности в авиалиниях являются 3 задачи с применением математической оптимизации:
Планирование маршрутов и расписаний для максимизации прибыли и использования флота
Планирование экипажей на рейсы с учетом нормативных требований и обеспечения квалификации
Динамическое ценообразование на базе истории с учетом кросс-эффектов альтернативных вариантов
![Рис 5. Ключевые кейсы в авиалиниях с применением математической оптимизации Рис 5. Ключевые кейсы в авиалиниях с применением математической оптимизации](https://habrastorage.org/getpro/habr/upload_files/05e/586/43f/05e58643f49aed0a9d138fbd75196803.png)
Далее я постараюсь изложить суть каждого из кейсов.
Кейс 1. Планирование маршрутов и расписаний для максимизации прибыли и использования флота
Основная цель решения — построение наилучшего расписания с точки зрения экономической эффективности, включая распределение определенных самолетов на определенные рейсы. Благодаря эффективному использованию алгоритмов математической оптимизации и машинного обучения становится возможным создать инструмент для поиска наилучшего способа использования существующих возможностей компании.
При выборе оптимального расписания учитываются следующие факторы:
Прогнозируемый спрос на авиабилеты на различные варианты расписания с учетом влияния наличия альтернативных рейсов как внутри компании, так и среди конкурентов. Для построения максимально точного прогноза спроса необходимо учитывать все факторы, для различных направлений факторы могут быть различными. Важно в полной степени обеспечить наличие полноты данных для выполнения этого этапа, иначе качество решения в значительной степени будет не приемлемым для принятия ключевых решений.
Показатели доходов и расходов по рейсам. Необходимо учитывать расходы не только на выполнение рейса, но и расходы на содержание транспорта и экипажей в командировках. Доходная составляющая зависит от прогнозируемого спроса, стоимость билета при этом выражается через прогрессивную шкалу без учета динамического ценообразования.
Ограничения по ресурсам: количество и вместимость самолетов, персонал, время обслуживания, обучения и т.д. Важно учитывать, чтобы хватало людей, способных обеспечить выполнение рейсов по квалификационным требованиям. Чтобы было время на выполнение работ по подготовке транспорта и время на обслуживание.
Ограничения инфраструктуры аэропорта, законодательные, условия договоров на выполнение полетов различных направлениях, нормативы по возможным задержкам и прочие нормативные ограничения.
В рамках построения интегрированного решения прогнозы спроса (и как следствие, доходов) обычно строятся заранее с использованием машинного обучения, прежде чем запускать задачу оптимизации. Выбор прогнозов спроса в модели оптимизации учитывает кросс-эффекты влияния рейсов внутри компании, а также наличие и отсутствие альтернатив у других игроков рынка. Оптимизационная модель как правило относится к классу смешанного целочисленного программирования (в меньшей достоверности можно пробовать решать нелинейную задачу), при этом кросс-эффекты в этой задаче моделируются в задаче с помощью комплексных индексов и вспомогательных переменных. В самой задаче используется общая прибыль на уровне подзадачи взаимосвязанных рейсов на базе примененной прогрессивной шкалой стоимости для каждого из рейсов для расчета дохода и расхода, который в теории может быть различным для одного и того же рейса, но в разное время.
![Рис 6. Математическое представление кросс-эффектов в бинарных переменных Рис 6. Математическое представление кросс-эффектов в бинарных переменных](https://habrastorage.org/getpro/habr/upload_files/63c/bd8/483/63cbd848393ee787bed3aea2bc98fc53.png)
Сама задача при нагромождении большим количеством опций, ограничений и высокой детализации становится комбинаторно сложной. Несмотря на отсутствие необходимости построения плана очень часто для работы с большим количеством сценариев у крупных компаний вопрос времени поиска стоит остро и для решения требуется качественная модель с хорошей линейной релаксацией и топовый коммерческий солвер.
![Рис 7. Когда приходится удовлетворять любой спрос, а самолетов нет в наличии Рис 7. Когда приходится удовлетворять любой спрос, а самолетов нет в наличии](https://habrastorage.org/getpro/habr/upload_files/85a/ef4/b52/85aef4b52dca9c3889f526def243bb90.png)
Кейс 2. Планирование экипажей на рейсы с учетом нормативных требований и обеспечения квалификации
Главная цель решения – минимизация затрат на персонал. При модели вознаграждения за время работы, оно позволяет напрямую сократить расходы за счет меньшего использования определенных людей. При модели фиксированного вознаграждения – сократить численность персонала, увеличивая производительность труда. Решение предназначено для поиска оптимальной конфигурации экипажа для запросов на полеты с учетом:
Предоставление квалификации - умение работать с определенным транспортным средством, знание языка, опыт, способности, разрешения на нахождение в стране и т.д. Важно обеспечить каждый рейс пилотами, которые обучены работе с определенной моделью самолета, обеспечить бортпроводников со знанием определенного языка для проведения международных рейсов и т.д. Также требуется балансировка состава по опыту работы для того, чтобы на борту всегда часть сотрудников была зрелой с точки зрения выполненных полетов в определенных направлениях.
Соблюдение трудового законодательства и правил внутреннего трудового распорядка. В рамках планирования выполнения рейсов необходимо учитывать нормы по продолжительности рабочего дня, количество возможных перелетов за определенный период и т.д.
Удовлетворение личных предпочтений и потребностей членов экипажа. В некоторых случаях учитываются предпочтения членов экипажей, как по наличию в них других сотрудников, так и по определенным направлениям.
Другие бизнес-ограничения и предложения
В классическом изложении задача планирования экипажа относится к классу задач смешанного целочисленного программирования. Переменные определяют, какой конкретный сотрудник закреплен за определенным рейсом, целевая функция — общие затраты, а ограничения — выражения требований к персоналу и процессу.
Планировщик должен уметь адаптироваться к внезапным изменениям – задержкам или отменам рейсов, отсутствию членов экипажа и т. д. Поэтому в этом случае время поиска решения очень критично, что, в свою очередь, указывает на важность построения хорошей модели и правильность выбора инструмента для ее решения. Как указывалось ранее, пересчет модели не должен занимать более нескольких минут, так как для подобных решений так же предусматривается наличие интерфейса сценарного анализа.
![Рис 8. Когда запланировали несколько больше персонала Рис 8. Когда запланировали несколько больше персонала](https://habrastorage.org/getpro/habr/upload_files/fb5/9ae/001/fb59ae001864c22074782037c870d2e8.png)
Кейс 3. Динамическое ценообразование на билеты
Основная задача решения — формирование цен на авиабилеты на всех этапах продаж, начиная с открытия продаж и до продажи последнего билета. Для поиска лучшей стратегии изначально строятся кривые эластичности спроса, которые зависят от времени до даты запланированного рейса, наличия альтернативных рейсов (как внутри компании, так и среди конкурентов), которые могут повлиять на спрос, а также других факторов. Крупные авиакомпании располагают огромным количеством исторических данных о полетах, выполненных в различных условиях. Это дает значительное преимущество при построении качественных кривых эластичности.
Далее с помощью модели, определяющей взаимосвязь между спросом, ценами на билеты и другими факторами, формируется оптимизационная задача. Эта задача заключается в поиске лучших цен в каждый момент времени для максимизации общей прибыльности. Смежные рейсы решаются в рамках единой задачи, так как при поиске цены необходимо учитывать кросс-эффекты (эффекты каннибализации). В зависимости от типа кривых эластичности выбирается метод поиска вектора лучших цен. Далее предоставлен перечень различных типов кривых эластичности и подходов к ним:
Для линейной регрессии (очень упрощенной и не используемой на практике) применяется линейное программирование.
Для нелинейной регрессии или нейронных сетей: для выпуклой функции - методом выпуклой оптимизации, для невыпуклой - методом внутренней точки с применением мультистарта (или других методов нелинейной оптимизации).
Для методов машинного обучения без явной формализации (деревья, леса, бустинг, SVM и т. д.) используются методы стохастической оптимизации — генетические алгоритмы, имитация отжига и т. д.
Наличие инструмента динамического ценообразования обеспечивает конкурентное преимущество и обеспечивает заполняемость рейсов, одновременно максимизируя доход.
![Рис 9. Когда установил высокие цены и купил только один пассажир Рис 9. Когда установил высокие цены и купил только один пассажир](https://habrastorage.org/getpro/habr/upload_files/808/076/26d/80807626d60cd81ca9d20d1873102117.png)
Помимо описанных выше решений в индустрии так же встречаются задачи оптимизации маршрутов полетов, обслуживания техники/рейсов, подлета к гейтам и некоторые другие. Они возникают в компаниях больших масштабов, где есть экономическая целесообразность внедрения.
Финальное. В сфере пассажирских авиалиний находят своё применение большое количество задач математической различной сложности, разного класса алгоритмов, различной глубины. Проработка решений требует глубокой экспертизы, как в теоретической, так и в практической математической составляющей, вовлечения в создание требований ключевых подразделений бизнеса, перестроения бизнес-процессов планирования, что в комплексе является очень трудоемким мероприятием. Но несмотря на все трудности, в результате компании получают оптимизацию своих расходов и конкурентное преимущество благодаря построенным системам принятия решений. Средний эффект от внедрения каждого из решений составляет от 0.5 до 3% прироста прибыли.
У меня накопилось немалое количество материалов и некоторое количество опыта внедрения решений с использованием математической оптимизации. Буду рад, если кого-то мое повествование заинтересовало, также буду рад помощи в выборе следующей индустрии для статьи.
Batalmv
Так вы что-то сделали и оно работает в авиа-отрасли, либо просто перечислили задачи?
Потому что получается какой-то не очень понятный материал. Несколько вырванные из контекста задачи отрасли перемежающиеся словами о чем-то, где вы себя хотите продать
Куда интереснее если бы вы рассказали, как вы реально решили задачу расписания, к примеру, пилотов в компании Х
VASILIY_ZAMOLOTOV Автор
Спасибо за комментарий. Целью статей, как написано в предисловии, не является описание внедрения кейсов в конкретной компании, а приведение описания эффективно решаемых задач в отрасли. Можно относиться к этому, как к некому анализу применения оптимизации в отрасли. Основой для описания служит исследование существующих решений в реальных компаниях не из РФ, детали для которого получены благодаря работе в международных компаниях, коммуникаций с коллегами, внедрявшими решения и митапах. Еще больше различных кейсов для разных индустрий в менее развернутом формате можно увидеть в LinkedIn:
https://www.linkedin.com/in/vasiliy-zamolotov?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=ios_app