Skip to main content

Decision Analysis and Airport Transportation

I flew out of Seoul the other day, and had an interesting lesson in decision analysis and making tradeoffs with respect to airport transportation. The options for getting to the airport from Gangnam are the following:

1) Taxi. Never done it. Pros: Door-to-door. Cons: At the mercy of Seoul traffic (especially bad since I had to travel during rush hour to the airport), and rather expensive.
2) Taxi to Coex, then direct airport bus from City Air Terminal. Pros: Direct bus is a known quantity and cheap (15000). Cons: Taxi still has to fight rush hour traffic in a busy area.
3) Subway to Coex, then direct airport bus. Pros: Both are known quantities and cheap. Cons: Need to lug stuff down into subway and then all the way through Coex to the City Air Terminal.
4) Airport Limousine Bus from nearby stop. Pros: Cheapest option. Cons: Need to wait outside for the bus.
5) Subway the whole way. Never done this, but I think it takes forever and has a bunch of transfers.

Usually I do option 2 or 3, depending on how much luggage I have. But this time I decided to try the Airport Limousine Bus, cause there's a stop about a five minute walk from my place.

I get to the stop, and the sign says the bus comes every 10-20 minutes. Not bad, I think to myself, despite the approximately freezing temperature outside. 5 minutes pass. No bus. 10 minutes. No bus. 20 minutes. No bus. After 30 minutes, 50% more than the maximum interval between busses, still no bus (although I saw two going the other direction), I decided to cut my losses, head to the subway, and go for option 3. Probably an hour wasted, but I'd at least make it to the airport in time.

Of course, when I get about 50 feet away from the bus stop, the bus comes. I try to flag him down, but Seoul bus drivers are friggin' maniacs, and he blew by me and didn't even pause at the bus stop. Fuuuuuuuuuuuuu.

Anyway, while I was standing on the nice warm subway, I considered what had happened. Assuming "10-20 minutes" means a bus comes an average every 15 minutes, then the expected wait time should be 7.5 minutes. Which means I stood out in the cold for four times the expected wait time, or three times the expected wait time if "10-20 minutes" actually means "every 20 minutes". Considering that the airport limousine bus had a bunch of stops before heading to the airport, it probably would have taken like 15-20 minutes more than the airport bus from Coex. Walk to the subway is 5 minutes, then subway to Coex about 7 minutes, then another 7 minutes to get to the City Air Terminal. And the City Air Terminal busses are every half hour, giving an expected wait time of 15 minutes. So the "subway plus City Air Terminal" option has an expected wait time of about 5+7+7+15=34 minutes, and only five of that is out in the cold. Meanwhile, the airport limousine bus has the 5 minutes in the cold to walk to the stop, 7.5-10 minutes expected wait time in the cold, with a "worst-case" wait time of 20 minutes, which I exceeded by 10 minutes anyway. Plus an extra 15-20 minutes on the bus compared to the CAT bus. So the total amount of time for the two options is about the same, except one option has a lot of standing out in the cold, and the other has a bunch of lugging around luggage.

Point of the story is that I waited too long for the bus, and I should have gone with the known quantity from the outset.

Comments

Popular posts from this blog

Why Korean Is Hard For Native English Speakers

A couple of days ago, as an experiment, I wrote my first blog post ever in a non-English language . It was an attempt to explain some of the reasons that Korean is hard to learn for native English speakers, so I figured I might as well try to write it in Korean. Those of you who actually read Korean can see how awkward the attempt was =). In any case, the post came from an email conversation I had with The Korean from  Ask a Korean , a fantastically well-written blog about all things Korea from the perspective of a Korean who moved to the United States during high school. Since I tend to geek out on language things, I figured I might as well post part of that conversation. An edited version follows. --------- Out of the languages that I've attempted to learn so far, Korean has been the hardest. I've done a lot of meta thinking about learning Korean, and I think there are a number of reasons it's difficult for non-Koreans (and especially Westerners) to learn: 1) Obvi...

10 other things South Korea does better than anywhere else

Recently this article about 10 things that South Korea does better than anywhere else  has been making the rounds on social media, but when I first read it, I couldn't tell if it was sincere or satire. A few of the items on the list are not very positive, such as "overworking" and "using credit cards". So, I thought I would try to put together a better list. Here are 10 other things South Korea does better than anywhere else: 1) Small side dishes, a.k.a. " banchan " (반찬) Banchan are by far my favorite aspect of Korean cuisine. Rather than the "appetizer and main dish" approach of the West, a Korean meal is essentially built around small dishes. Even a 5,000 won (about $5 USD) meal at a mall food court will come with two to four banchan in addition to the "main", and often people will actually choose restaurants based  on the banchan (e.g., seolleongtang , or beef bone broth soup, places tend to have the tastiest kimchi). Ther...

Pushing Python Performance With Parallelization

TL;DR: For certain types of programs, you can take advantage of idiosyncrasies in the Python interpreter and the host operating system to create real shared memory between processes and get some pretty good parallelization. Premature optimization is the root of all evil. As a developer, you've probably heard this before, and what it means basically is that you shouldn't waste time optimizing code unless it's already doing what you want it to do. We also live in an era of seemingly unlimited resources with AWS/Google Compute, and often the easiest way to get higher throughput in your programs or service is just to pay for more instances. But sometimes it's fun to see what sort of performance we can get on a simple laptop (and save some cash at the same time). So anyway ... I've been working on this thing, and it took too damn long to run, and I needed to run it lots and lots of times ... so, it was time to optimize. Basic optimization has two main steps: 1) P...