Oh my god, every time I'm waiting for the elevator, I think of how annoying it must be to be someone who's building the algorithm to make sure that you minimize the amount of wait times between picking up people and taking them to their destination. Then I also wonder if the people who apply the logic and program the logic into the elevators are actually evil sadists that are doing it on purpose to make us wait longer enough and suffer a little extra.

> minimize the amount of wait times between picking up people and taking them to their destination

I wish elevators accounted for load.

I've been to a couple of larger conferences where on the Monday morning after, the hotel elevator was just hammered. Everyone wanted to go down, and the elevator would dutifully stop on every single floor no matter how full it was. If you were mobility disabled on the 2nd floor, you were basically fucked if you had a flight to catch.

One would think that, if it's a 10 person elevator and it's already stopped on 10 floors requesting it, that it could save an extra 5 minutes by just going directly to the ground floor, instead of stopping on every floor with the same conversation of "Oof, can't fit in there. I'll get the next one!"

> If you were mobility disabled

In one of the buildings where I worked, "fancy Destination Dispatch kiosk" had a separate button with a wheelchair pictogram that would ensure that the elevator has enough space for a wheelchair.

In that case, would it pay to call for an elevator going up, and then remain on it until it's being called down?

The article describes the RSR algo which takes load into account.

I have done several third-party elevator integrations (software that talks to the elevator controller) for coordinating other equipment with the elevator. One thing that always struck me once I had full visibility into the location and motion of all the elevator cabs is how busily they are scheduled. Waiting in the elevator lobby for a cab seems to take forever, but viewed from the dispatch side, it is a flurry of activity and cabs are rarely idle during any hours the building is normally occupied. It is easy to nerd out just watching the status panel.

Another thing I learned: If an elevator mechanic says: "I'll meet you first thing in the morning." He means something like 4:00AM. They want to get in and out before people start arriving to start their day.

One other thing to add: It isn't the elevator scheduling software being obtuse, that software gets a huge amount of thought. But elevators are expensive, and building owners do not over-spend on a whim. Typically, they have just enough cabs (if that) to handle the expected load.

Not only that but different countries have code regimes that make more elevators especially expensive. See how building codes in the US basically ensure there are only two real manufacturers in the market vs a healthy ecosystem in others: https://youtu.be/Or1_qVdekYM

They might have other objective functions like wear-and-tear on the elevators, total energy usage, or something

It's pretty much throughput. The cap-ex of a single cab swamps any other cost, so the only way to reduce total number of cabs is optimizing for throughput.

Modern elevators have regen braking, so they can recover most of the energy spent on going down. Older elevators used braking resistors for that.

(BTW, going _down_ while empty is typically more energy-consuming for the elevators because they are counterweighted)

Edit: that's also why you shouldn't use elevators in a fire. If the brakes in the elevator machine room fail, the cab won't crash down. It will go _up_, possibly dragging you into the fire. Many firefighters died because of that.