What does an efficient elevator program look like? Under some generally relatively reasonable assumptions (like that people are equally distributed in each story), how should the elevator operate to achieve efficiency?
What I'm talking about is not all that well defined, but you get the idea... What is the current standard? How do people formalize this problem to really build an efficient elevator?
Re: Elevator program
I've asked myself the same question for a long time. Have you tried maybe camping out in an elevator for a day and see what happens?
One observation that I've made is that the elevator in my department building doesn't always idle on the first floor - I think that it generally sits on the second or third (out of a five-story building + basement). Just on a first thought, perhaps one way to make elevator operation efficient is to set the idle point to the "centre of mass" of all of the people in the building. It would seem to me that the average transit time for an elevator call would be much less than if the idle point were at the top floor or something extreme. (I haven't run any numbers or anything like that.) One concern I have is that optimizing this factor alone probably isn't enough, and could possibly make things worse, depending on elevator usage patterns.
Have you had any ideas on this matter?
Re: Elevator program
I think the default mode of elevator is to sit on the floor where the last person walks out. At least this is what i observe. I guess this mode is effecient in saving power, if not in minimizing waiting time.
1. The goal is to minimize expected waiting time.
2. Users of the elevator come sparsely enough, so that there's generally plenty of time for the elevator to return anywhere before the next group of people arrives.
3. Equal rate of visits from each floor
It doesn't matter where the elevator sits. They all entail the same expected waiting time. So we might as well just adopt the default mode.
But while the expected waiting time is the same when averaged across users in all floors, there's difference for users in different floors. So "always return to first floor" benefits users in lower floors by making users from higher floors wait longer. So we have another reason to adopt the default mode, i.e., for the sake of fairness.
In reality, the 3rd assumption is almost never satisfied, because all users coming back have to go from the first floor, so the first floor must have a higher rate of visits than others. To minimize expected waiting time then, we have to bias the elevator to return to some lower than the middle floor. The more visits from first floor, the heavier the bias will be.
There's another aspect to this problem too, which is what I was considering. Suppose the 2nd assumption is violated. So imagine, say, a busy office building. The elevator is sitting on the 1st floor when someone in the 5th floor press downward button, so up to 5th floor it goes. But just as it reaches the 5th floor, some people in the 3rd, 6th, 8th and 11th floor pressed downward, upward, downward, upward and downward button respectively, in what order should it go to these floors respectively? Is there some rule of thumb the elevator follows?