Friday, January 04, 2008

Elevator Problem

Something that I have wondered about from time to time is the problem of where an elevator rests when not in use. I suppose that for a small building it's pretty much a moot point, but what about bigger buildings (say, 5+ stories)? The way I figure, there are three basic options:

1. When not in use, the elevator can go to the main floor (or, without loss of generality, the top floor) and wait until needed.

2. When not in use, the elevator can go to the middle floor (splitting the difference).

3. The elevator can remain at the last floor it went to until it is needed again.

All three options presuppose that each floor has an equally likely chance of having the elevator summoned to that floor. Of course, if the "population" of the building is not uniformly distributed, this would skew the chances accordingly. (You'd think, also, that people on the 2nd or 3rd floor would not be as likely to take the elevator as they would the stairs, but I continue to be amazed at the number of people who get on the elevator and press "2".)

So, what do elevator programmers do? Do they actually bother figuring out which floor is most likely to have people using the elevator, and use that floor as a resting place? Or, do they just make it go to the main floor regardless?

Just off the top of my head, I would think that the elevator should go to the middle floor, figuring that that position would result in a minimal average wait time for whoever is stuck waiting for the elevator.


Jim said...

Elevator controllers have options for "parking". With only one elevator in the building the best landing to park at is the lobby. Multiple elevators in one building usually divide the floors equally.
Unless you are an elevator mechanic, to find out which floor(s) are used for parking you may have to wait ten minutes without any elevator activity.

wordsmith said...

The lobby, even during non-peak times? That seems to be the case in my office building. I don't know if anyone's ever tried figuring out how to optimize this situation (not only from the viewpoint of the person waiting, but also from an energy consumption viewpoint), but there would have to be a ton of variables to factor in. Way beyond my cup of tea :)