Hacker News new | ask | show | jobs
by shagie 1270 days ago
A key point is how they do routing - https://www.ajot.com/news/southwest-air-faces-gridlock-with-...

> Unlike competitors that use a so-called hub-and-spoke system to funnel passengers to large airports, Southwest is focused on point-to-point service, flying the same aircraft — Boeing Co. 737s — on trips that may hopscotch around the US.

With a hub and spoke system, all the planes go from A to HUB and then from the HUB to somewhere. If the route A-HUB gets saturated, they can put more planes on that, and those planes can always be found at the HUB. This applies to crews too.

You'll have something that looks like this: https://www.airlineroutemaps.com/maps/Delta_Air_Lines/North_...

This comes at the cost of having oversupply at some spots and its harder to offer the "ideal" routes as everyone needs to transfer to another plane with a layover somewhere... and your baggage is more likely to get lost. There's a bit not to like as a passenger on such an airline unless it's a nice one leg route - but then who wants to fly to Detroit?

Southwest is different - they go from anywhere they want to anywhere they want with non-stop flights and picking the most lucrative routes they can. This lowers the effective cost per flight and are likely non-stop flights. Everything that a customer wants.

Southwest routes from 2001 https://www.flickr.com/photos/erussell1984/15863298679 - you can see the lack of hubs there.

This is done through some crafty constraint programming to try to make sure that all the capacity is where it needs to be when it needs to be there.

However, when the capacity hits "holidays - everything is at max", along with "big storm prevents flights from going to where they need to be for the next leg" this system breaks down and planes and crews are out of position or need to sleep. Their software was able to handle this constraint system when it was a smaller company with fewer routes - there were fewer constraints.

The "reset" is not "shut down the computers and start them back up" but rather "let all the crews get their required sleep and then go to the spot where they need to be in order to handle the load - not where they currently are (out of position)".

Hypothetically, this is solvable if you have enough compute... but that's a lot of compute that needs to be recomputed each time something changes (weather, crew gets sick, passenger load changes) and that ends up being impractical and expensive.

---

Related reading:

NYT - What Caused the Chaos at Southwest : https://www.nytimes.com/2022/12/28/travel/southwest-airlines...

WSJ - How Southwest Airlines Melted Down : https://www.wsj.com/articles/southwest-airlines-melting-down... --- https://news.ycombinator.com/item?id=34165791

4 comments

I find it hard to believe that compute power is the limitation here… something like simulated annealing would probably provide a reasonable, even if far from optimal solution on a regular PC. I imagine the feeding all of the data and constraints in is a bigger issue, when there is a lot of confusion and disorganization.
It would, and that's likely what they're using - but it isn't perfect.

When it becomes non-perfect and you get a number of events that throw it off (like storms causing certain legs from not getting completed to move the plane to the proper spot and holidays causing disproportionate load in certain parts of the network), then everything gets messy.

FTA: "In the event of a disruption you call scheduling and they manually adjust you"

Maybe the airline industry needs AlphaScheduler deep learning with monte carlo tree search. Or stimulated annealing. These cheap short sighted stuffed suits with MBAs who think that a fat tail refers to some part of the airplane.

It doesn’t seem like that, they have canceled virtually all flights to and from airports unaffected by storms. They seem to have huge numbers of planes and flight crews ready to go that are just sitting idle.
I’ve worked on airline scheduling system and solving to optionally is indeed NP-hard and scales badly.

However you can get to a very good spot with heuristics. This particular issue with SW looks like bad data collection(crew has to phone their location!) and a combination of lack of reserves, bad weather and holidays surge.

I found the hub-and-spoke explanation misleading. Even if you don't have a star arrangement you could still have a network of point-to-point flights that just constantly bounce back and forth between the same two cities. This is like a max flow network then and you can lose a flight or two and still be fine.

What I think is happening with SW is their planes are like pilots in Elite Dangerous, flying around the country to random destinations as the opportunity arises. This is not what point-to-point means to me, this is more like... sky Uber?

Not quite that - they've only got one plane body (the 737). Additionally, they've got the plan for what the routes should be. If you buy a flight from Albuquerque to Chicago ( https://www.southwest.com/routes/flights-from-albuquerque-to... - https://www.southwest.com/route-map/ - https://www.southwest.com/air/low-fare-calendar/select-dates... ) there is going to be a plane flying that leg.

What they don't have is a crew that does MDW - ABQ - MDW - ABQ - MDW - ... but rather a crew that hypothetically does MDW - ABQ - HOU - BWI - MDW . The exact route is based on what capacity people have purchased on different legs and may change from loop to loop based on demand.

However, this means that if there's a something that disrupts part of that (a storm cancels all the flights in MDW and HOU for a day) and there's an odd demand pattern, the plane that needs to do the BWI to MDW route is currently in ABQ. And while there is a plane in BWI that could pick up the leg of BWI to MDW, that crew is currently on a mandatory rest period... but you could use the crew that is scheduled to be deadheaded in from AUS to DCA (and then send them by ground to BWI)... but that plane is delayed.

At some point they say/said "stop, cancel everything - demand is now 0, for all planes, reposition the planes so that we can start flights on Dec 29 according to the purchased demand."

I wonder how long the “direct chains” are - if a plane is used on a flight on Monday how long until it runs that leg again, if ever?