The PDF was produced by ITA, which famously used Common Lisp:<p>* <a href="https://en.wikipedia.org/wiki/ITA_Software" rel="nofollow">https://en.wikipedia.org/wiki/ITA_Software</a><p>From 2001, a message from the same author as the linked paper:<p>> (Here's an email Carl de Marcken of ITA Software sent to a friend, describing their experiences using Lisp in one of the software industry's most demanding applications.)<p>* <a href="https://www.paulgraham.com/carl.html" rel="nofollow">https://www.paulgraham.com/carl.html</a>
This is well over 20 years old and is based on pre 9/11 flight data. I would suspect that a lot has changed since then. So proceed with no caution at all.
This is a very popular article that get submitted every now and then (nearly every year) [1].<p>I think this kind of problem would be a very nice for logic, optimization and constraint programming that probably can be solved with modern tools like Google OR-Tool or Monash University MiniZinc [1],[2],[3].<p>[1] Past:<p><a href="https://hn.algolia.com/?query=Computational%20Complexity%20of%20Air%20Travel%20Planning&type=story&dateRange=all&sort=byDate&storyText=false&prefix&page=0" rel="nofollow">https://hn.algolia.com/?query=Computational%20Complexity%20o...</a><p>[2] Logic, Optimization, and Constraint Programming: A Fruitful Collaboration - John Hooker - CMU (2023) [video]:<p><a href="https://www.youtube.com/live/TknN8fCQvRk" rel="nofollow">https://www.youtube.com/live/TknN8fCQvRk</a><p>[3] Google OR-Tools:<p><a href="https://developers.google.com/optimization" rel="nofollow">https://developers.google.com/optimization</a><p>[4] MiniZinc:<p><a href="https://www.minizinc.org/" rel="nofollow">https://www.minizinc.org/</a>
A very interesting dive into, as the title says, the computational complexity of air travel planning. Graph algorithms with lots of complexity added due to the wide variety of fare conditions that airlines have dreamt up over the years.<p>The article may be from 2003 but I would call it an evergreen. While I imagine some of the details have changed since then, I suspect that the complexity has only grown since then.