Computational Complexity of Air Travel Planning
Total Page:16
File Type:pdf, Size:1020Kb
Computational Complexity of Air Travel Planning Carl de Marcken ITA Software [email protected] This document is an annotated set of slides on the computational complexity of air travel planning. The goal is to give somebody with an undergraduate level computer science background enough information to understand why air travel planning is an interesting and especially difficult problem. It provides a basic introduction to the air travel planning problem and then presents a variety of original computational complexity results as well as some related demos. The complexity slides assume a basic familiarity with formal languages, computational complexity and computability, but the introduction to the problem should be accessible without this. ITA Software produces search and optimization software for the travel industry. Our search engines power popular web sites such as Orbitz and Cheap Tickets; airline web sites such as America West, Continental Airlines and Alaska Airlines; computer reservation systems (CRS/GDSes) used by travel agencies, such as Galileo; and various travel agencies. ITA was founded by MIT computer scientists and is located adjacent to MIT in Cambridge, MA. Copyright 2003 ITA Software Notes for MIT course 6.034, Fall, 2003 1 Air Travel Planning QUERY SFOÆBOS April 2 BOSÆSFO April 5 Airline Agent Travel Agent Search Engine Travel Website Airline Website RESULT SFO AA123 BOS BOS AA191 DFW AA15 SFO $634 Flights Prices Seat availability Suppose a traveler is planning a round trip from San Francisco to Boston and back. Most likely they’ll contact an airline reservation agent or a travel agent, or perhaps visit an airline's website or a general travel website like Orbitz, providing a query made up of airport and travel time requirements. For the most part these agents are middlemen, and will pass the query off to one of a handful of companies, including ITA Software, that provide search engines for the airlines and the traveling public. Hopefully the search engine will return one or more answers to the query. Each answer consists of a specific set of flights for each part of the trip, and a price. The rest of this talk is about the difficulties search engines face answering such questions. The search engines run on databases of flights, prices, and seat availability, provided electronically over private networks by the 800 or so airlines of the world. The data is not directly available to the general public and access often must be negotiated with individual airlines. Flight data is updated daily or occasionally more frequently in the case of unexpected cancellations. Prices are updated about ten times a day, and seat availability continuously. A large portion of the flight, price and seat availability data, called published data, is used by all the major search engines, but a significant amount of private data is restricted. Copyright 2003 ITA Software Notes for MIT course 6.034, Fall, 2003 2 Outline • Introduction • Flights • How airline prices work • Complexity of travel planning • Demos • Seat availability • Further reading The talk starts by listing some fundamental properties of the flight network, but flights are simple relative to prices, and after the flight discussion will be a long but necessary introduction to airline prices. Then some basic computational complexity results about the difficulty of air travel planning are presented, with demos that illustrate the complexity results. The talk concludes with an introduction to seat availability processing, since it is an important part of understanding how airline prices work, though this information isn't used in the rest of the talk. Copyright 2003 ITA Software Notes for MIT course 6.034, Fall, 2003 3 SHH ATK THU WTK SVA KPCKTSTLA OTZ OME DRG ORV YGZ JUV IAN KUS NUI WMO BKC WLK GLV ABL JQAUMD ELI SCC KKA SHGOBU AUKEMK HPBSCM SXP KOT SKK JAV VAK WBBSMK AKP UNK YRB MYU MOU HSL BTI KSM KALNULKYU JEG SNP OOKTNKWWT PQS HUS GAL UTO AETBTT MLL ANV STG CYFNME ATT RSH KGX RBY YIO SFJ KPN KUKNUP SHX ARC YSY YABYSR WTLWNA HCR KWK PKABETKWTKKIAKITLTKLG TAL KKHEEK ANI SVS VEE YCY JHS CHU TCT RMP WBQ KWN CKD MCG MLY RDV KBCFYU YUB SLQ NIB LMA MNT CIK EHMPTUGNU SRV YOC JSU TWA FAI YHI TOG CEMIRC YEV LVD HKB CHP YVM GOH WKK YPC KMODLG KGK North American flights UAKJNS KKUCLP KEKKNW TKA DJN YGT JJU KLL NNLPTA JFR JNN WSN IGG ILI EAA JGR KFPCDB CFAEGX KNKPDB YYH YUX KVC NLG AKN CKX YXP PML PTH PIP ENA ANC BYA YCB YBB UGB PCA TKJ YCK SDP KCQKCL TEH YDA YHK KPVKCG HOM YGH YCO SWD ORT TEKVDZ NCN CZN ADQ CDV YVQ YUT ZFN YWJ YFB YTE YLC YRA YZS YAK YXY YFJ YBK YIK YQC YLE YZG YWB HNSSGY YCS YFS YZF YRT YKG GSTEXI YSG PECHNHJNU XGR CUW YXN TKE AKV YPX YPJ AGN YDP SIT YHY YVP YDI YEK YHOYMN KAE YSO YBI PSG YRG YRF PPVKPB YYE YSM WRG YHG EDAWWP YPH YFX NKIKCC YOP YBE YHAYWMYMH KLWKTB YOJ KWFCGAHYLKXAWMK ZFD HYG YSF YYR YAY KTN YKL MTM YYQ YBX XTLXLB ZUM YNL ZWL YSK YIF YPR YXJ YBT ZLT YXT YYD YPE YQX YZP YDQ YMM YGW YTQ YWK ZTBYHR YYL YYT XSI YDF YQU YLR YGX YER ZGS ZKG ZAC ZTM YUD YNA YKT YXS XPK YTH YPO YJT YKU YGL YGV ZEL QBC YVC YQZ YOH YPN FSP YAA ZGI YZV YFO YCR YGO YNC YRS YXD YIV XBEYTL YAT YWL YEG YQD YNE YST ZPBMSA XKS ZEM YNS YGP YZT YLL YAX YWP ZKE KIF YFA YGR YPA ZSJ ZRJ WNNSUR YKQ YBC KEW YVB YQY YVZ YLH YMO YYY YBL YNO YMT YXK ZBF YPW YKA YXE YBV YOG YQQYGB ZJN YHP YFH YYG YPM YAC YAZYPBXQU YYC YPL YRJYTFYBG YCDZNAYVRCXH YLW YSL YQM YXX YDN YRL YYJESDBLI YYF YQN PQI YWHRCEFRDWSXLPSRSJ YYU YFC YHZ YCG YXC YXH YQR CLMODW YQL YXL YSJ YUYYVO YQB YBR YWG YQK YHD YTS SEALKEBFI EAT FCA BGR MWH GEG HVR YAG YQT BHB YQI INL YMX YKM GGW YUL OLF ISN MOT LYU YSB YYB AUGRKD PUW GTF DVL GFKTVF YTA PDX PSC SDY YOW LWS MSO BJI HIB CMX MSS PLBBTV ALW LWT GPZ YAM PWM PDT HLN GDV CIU OGS SLK DLH MQT LEB DIK JMS FAR IWD PSM BTM BIS YGK RUT EUG MLS BRD IMT ESC PLN ART MHT RDM BZN APN OTH BIL RHI BEDBOSPVC UCA STC TVC SYR ALB ORH HYA ABR YYZYTZ PVDEWB CWA ROC BDL MVYACK WYS MSP EAU GRB MBL YKF COD SHR ATY ATW YHM BUF ITHBGM GONWSTBID MFR BOI YXU ELM POU HVN CEC SUN GCC HON OSH MBS YZR SWF LMT WRL PIR BKX LSE HPN IDA JAC RAP RST MKG FNT JHW AVP ISP GRRLAN ERI BFD LGAJFK ACV PIH FSD MSN MKE YQG IPT EWR TWF RIW MCW DTW ABE CPR AZO FKL DUJ TTN CLE YNG SCE RDG RDD CDR ALO DBQ RFD TOL FOD ORDCGX SBN MDTLNS PHL SUX MDWGYY CAK JSTAOO ACY AIA CID PIT LBE CIC EKO RKS BFF OFK MLI FWA HGR DSM CBE BWI SLC LAR MGW RNO CYS OMA OTM CMH IADDCA LBF BRL PIABMI LAF DAY CKB SBY STS SMF VEL GRI LNK PKB HDN EAR CMI IND IRK SPI DEC SHDCHO MCK UIN CVG SFOOAK SCK DEN CRW EGE HTS RIC SJCMOD LWB PHFORF GJT ASE MCI BKW LYH MCE CNY MHK STL LEX ROA FOE COU BLV SDF BLF MRY MTJGUC COS HYS SLN EVV FAT CDC OWB BDA TEX PUB GBD MWA VIS SGU GCK TBN TRI GSO RDU PGV DDC CGI PGA CEZ ALS ICT PAH EWN SBP DRO JLN SGF HKY BFL IYK LAS FMN SOPFAY OAJ SMX HAE LBL BNA TYS AVL CLT GCNJGC TSM PNC WMH ILM WDG HRO GSP SBA IFPIGM TUL XNA JBR MKL FLO OXR CHA BUR FLG GUP SAF MYR LAX CAE LGBONT HII PRC OKC FSM MEM MSLHSV SNA PSP ABQ AMA AHN LIT AGS SOW HOT TUP ATL CHS CLD CVN LAW BHM SAN PHX GTR HHH TIJ IPL SPS GLH MCN SAV MXLYUM LBB ROW TXK ELD CSG MGM ALM SVC DFWDAL MLU MEI BQK TUS HOB SHV JAN ABY CNM ABI TYRGGG PIB DHN FHU ELP VLD JAX CJS MAF BWD ACT AEX TLH SJT MOB VPS ILE PNS PFN GNV BTR GPT DAB CLL LFT MSY SFB AUS LCH MCO IAH BPT MLB HOU GUB HMO SAT EFD PIETPA TCB MHH CUU VCT SRQ FPO GYM PDS PBI RSW ELH FLL GHB CEN CRP APF MIA RSD LRD NAS ATC NLD SAQ TBI ZSA LOV ASD LTO MAYTZN SML GGTLGI LMM REXMFEHRL EYW CRI MYG SLX BRO AXP NCAMDSGDT TRC MTY MAM PLS XSC LZC SLW VRA LAP HAV IGA SJUF AVI MZO POP SIG DGO EPS BQN CMW STI MAZ PSE CVM MOABCA CAP PUJ SJD MZT GER CYO HOG GAO LRM CUL BYM HEXSDQ ZCL SCU PAP SLP TAM AGU CUN CYB TPQ MID CZM BJX GCM MBJ OCJPOT PVR KTP GDL QRO PAZ NEG KIN CPE MLM JAL CLQ UPN MEX ZLO TLC PBC VER CTM CVJ CME MTT VSA PQM ZIH BON AUA CUR OAX TGZSZT ACA IZT PXM HUX TAP This is a map of all scheduled commercial flights in North America, with an arc drawn between two airports if there is at least one flight between them over the next year. This and most other data presented in this talk dates from 2001. Copyright 2003 ITA Software Notes for MIT course 6.034, Fall, 2003 4 The Flight Network • 4000 airports served by commercial airlines • Served by average of 4 airlines, connect to 8 others • Weighted by # of departures, 22 airlines, 64 destinations • Dominated by large airports – largest 1% (>4000 flights/day) have 40% of departures – largest 10% (>250 flights/day) have 85% of departures – reflects airlines’ hub-and-spoke system • Shortest path averages 3.5 in US, 5 worldwide (uniformly weighted) • Diameter > 20 • 30,000,000 scheduled commercial flights per year – 1 per second • 4000 – 10,000 planes in air, mostly large jets • 700,000 passengers in the air • 50% of flights within US and Canada There are more than 4000 airports served by commercial airlines worldwide.