У меня нет конкретной литературы, на которую можно указать, но чтобы помочь вам задуматься о различных проблемах, вот несколько соображений.
Вы можете представить сеть авиакомпаний как огромный график,с городами в узлах и полетами как края.Между двумя городами есть грань, если есть стыковочный рейс.Теперь вы можете присвоить этим весам различные веса, такие как время полета, минимальная стоимость билета, количество оставшихся мест и т. Д., И использовать алгоритмы графиков, такие как Dijkstra или A *, для оптимизации по вашему выбору.Поскольку, вероятно, будет несколько рейсов, соединяющих одни и те же города в разное время / по ценам / и т. Д., Вам, вероятно, придется использовать эти алгоритмы для поиска совместимых маршрутов (например, не слишком короткие / длинные переходы) и т. Д.графические алгоритмы.
Ценообразование - очень сложное мероприятие, которому посвящены целые ветви исследований операций.В отличие от маршрутизации, ценообразование - это, по сути, игра - поставщик услуг (авиакомпания) пытается максимизировать доход в глобальном масштабе (не только для одиночных рейсов), поэтому им приходится балансировать загрузку пассажиров и стоимость билетов.Авиакомпании имеют невероятно сложную структуру ценообразования, где стоимость данного места резко меняется со временем и может сильно отличаться от стоимости места рядом с ним, особенно в зависимости от того, продается ли он деловому путешественнику или туристу.
Известное имя в системах бронирования авиакомпаний: SABRE .Я не знаю, так ли это до сих пор, но они, похоже, все еще играют важную роль.
Удачи и приятного чтения.