Rendered at 11:55:57 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
peterldowns 19 hours ago [-]
Back in highschool, simulating different elevator algorithms was one of the projects I implemented during my CS class. It wasn't for the class — AP CS did not require anything like actual programming — but it was a fun project.
A cool connection is that a spinning-disk hard drive (HDD) is actually kind of like one really long elevator, just wrapped around a spindle instead of perfectly vertical. The SCAN algorithm is actually a disk-scheduling algorithm!
We did this in college as well using microcontrollers and leds or something - i forget the exact details. It was super fun
17 hours ago [-]
liesliy 10 hours ago [-]
The elevator algorithm → disk scheduling connection is such a perfect example of how CS concepts keep showing up in unexpected places. Same idea, completely different domain.
It makes me wonder how many other "unrelated" problems we're solving today already have decades-old algorithms waiting to be rediscovered for them. Robot motion planning is basically just elevator scheduling with more degrees of freedom.
sobani 2 hours ago [-]
FYI: all your comments are [flagged][dead]
I don't know why, because they all look fine to me...
omoikane 19 hours ago [-]
> Destination Dispatch [...] are in general worse
I wonder if this is an artifact of how the author used random destinations. I worked in a building that used Destination Dispatch, and the common travel pattern seemed to be:
- Everyone who is not on the ground floor generally want to go to the ground floor.
- People who are on the ground floor generally travel in large groups to the same destination.
This happens because people who worked on the same floor often leave for lunch at the same time, and return at the same time to the same floor. Destination Dispatch helps in this case because it's batching large groups of people with the same destination.
pimlottc 9 hours ago [-]
This is case where you need to make sure your test data reflects real-world usage or you end up optimizing for the wrong thing.
Ideally a new elevator installation would have a trial period where they record usage and then run it through a simulator like this to determine the optimal strategy for that particular building. And you'd want to re-run it every once in a while as the building tenants/usage changes. I wonder if this actually happens, though.
TeMPOraL 3 hours ago [-]
> Ideally a new elevator installation would have a trial period where they record usage
There's a tricky problem here: as a user, the first thing you do upon discovering a new elevator, especially if you expect to be using it regularly, is to observe how it behaves and adjust your own expectations/behavior to it.
gpvos 2 hours ago [-]
I think you belong to a small percentage of the population doing that. Most people don't bother with such detailed life microoptimizations.
_kb 7 hours ago [-]
The data is already there. This also gets more interesting when you expand the scope from just elevators to general building occupancy and movement.
In the simplest sense, I've seen this tied into security gates so as people badge on when entering the building there's already suitable elevator movement to meet demand by time the foot traffic reaches the lift lobby. That can then also feed into destination dispatch if you move from just people counts to identity (and known/most likely work floor).
From there you can move into wifi trilateration and have a live and quite accurate view of both how and who interacts with a physical space. This can feed into HVAC load shedding, JIT bookings for meeting rooms or workspaces, and a lot of very good things from a sustainability and general optimisation perspective. The flip side is it also has the potential to be an absolute dystopian privacy nightmare.
TeMPOraL 2 hours ago [-]
> (...) and a lot of very good things from a sustainability and general optimisation perspective. The flip side is it also has the potential to be an absolute dystopian privacy nightmare.
Privacy is an illusion for most people, and in office spaces, it's also a red herring. Wifi trilateration doesn't make things worse when you have a CCTV camera on every corner, badge reader at every other door, and presence sensing in conference rooms. Dystopia does not materialize without a severe regime shift.
Nah, my main worry is precisely sustainability and optimization, i.e. cost-cutting, because the more tools you give a business to optimize, and the more bullshit excuses ("sustainability! saving the planet!") you give a business, the worse the outcome is for users (here: employees). And a lot of that is doubly annoying, because it's counter-productive.
So what you have smart sensors in every room, and combine it with badge readers and wifi trilat and what not, and have smart auto-routing/rebooking algorithm: half the week, all conference rooms are always booked full, and yet somehow when you physically go and check, a good half sits empty, and it's apparently an impossible problem to solve.
So what the bathroom wall says, "with water-saving fixtures, we're using much less water in this building", and "we're now saving 2L water per flush". It's all bullshit, because those eco inventions mean I need to flush 3 times instead of once, and it means that I spend a minute washing my hands instead of 10 seconds - especially because both the soap and the dispenser are also optimized, so it takes 20 seconds to get enough soap on your hands, and then extra 20 seconds to get it off afterwards, because unlike normal people soap, it leaves your hands slippery for some reason.
And then they say "scientists said you can dry your hands with just 2 paper towels". At that point I'm getting red, because yes, I saw that TED talk 15 years ago too, and yes, it's total bullshit. Maybe it was true then, but the industry and the beancounters have value-optimized paper towels 15 times since that.
The generalization and summary of this rant is: slack is good. Happiness lives in slack. There is such thing as optimizing too much. Also the small, isolated systems under optimization, are in reality neither small nor isolated.
ben_w 1 hours ago [-]
> The generalization and summary of this rant is: slack is good. Happiness lives in slack. There is such thing as optimizing too much. Also the small, isolated systems under optimization, are in reality neither small nor isolated.
Indeed, the Boimler Effect, amongst other things.
I see an analogy, Food : Malthusian catastrophe :: Money : No room for profit in an economy.
shepherdjerred 9 hours ago [-]
I wonder if we'll see LLM elevator scheduling
noisy_boy 7 hours ago [-]
I apologize for bringing you to the 29th floor instead of the 3rd floor as you requested. That's on me. I will do better next time.
Ekaros 2 hours ago [-]
Most likely not. I think all the big players have been using more traditional ML approaches for years. Then again someone new might go there and fail miserably.
Then it'll be time to make an entirely new software accreditation system, simply so that anyone building such a thing can be disbarred/excommunicated.
fragmede 8 hours ago [-]
IBM's Watson has been used for elevator scheduling.
darkwater 18 hours ago [-]
Yeah, and definitely is not the right story for hotels. His premise of "morning traffic mostly from lobby to floors" is completely false in an hotel where you get it both ways due to people going down for breakfast and going back up and the down once again.
I see hotels with the kiosk model changing the UI depending on breakfast rush hour
icosian 5 hours ago [-]
> Yeah, and definitely is not the right story for hotels.
The first time I encountered Destination Dispatch was in a London hotel, maybe 15 years ago. Anyone unfamiliar with the system would naturally sprint towards an open elevator and end up in an elevator with no buttons, totally bewildered. It's not the right system for a transient population.
donalhunt 4 hours ago [-]
Maybe they were embracing YOLO - who knows the possibilities of putting your trust in others' decisions / destinations.
Or should it be YORO? You only ride once?
whartung 9 hours ago [-]
Most interesting hotel elevator system I’ve seen was in Washington DC.
Instead of hitting the call button, you started the request with your floor. Then the system would assign you an elevator (there were 6 cars as I recall).
I assume this gave the system more accurate routing data to make it more efficient for everyone.
nkjoep 8 hours ago [-]
It’s explained in the article
acomjean 18 hours ago [-]
Is it because the criteria is wait time not travel time? Destination dispatch would avoid some extra stops on the trip.
I just visited a new building with destination dispatch, so it seems to be still around.
My EE roommate in college had to build an elevator circuit as a final problem. It was on a bread board and had a bunch of call buttons and had a motor and a clear disk with black squares so it could figure out where it was…. I think it was the simple algorithm…
vova_hn2 15 hours ago [-]
> Is it because the criteria is wait time not travel time?
Yeah, it doesn't make any sense to optimize wait time instead of total time from pressing the button to reaching destination.
esikich 11 hours ago [-]
It very well could be the case that people get more upset about waiting for the car than total travel time when they are already in the car. Ie, pick them up sooner even if travel time is longer. In fact, I would bet that this is the case.
donalhunt 4 hours ago [-]
Having chatted with friends who have gotten stuck in elevators, you definitely should care about total travel time.
In one case, the building was still being commissioned and it took a while for anyone to even realize they were stuck (could spawn a whole discussion about launch processes in itself).
esikich 3 hours ago [-]
Obviously. I'm talking about waiting for the elevator for 30 seconds, total trip is 2 minutes vs 1 minute 30 sec wait and total trip is 1m45s.
kadoban 14 hours ago [-]
Human psychology might allow other reasonable criteria even if perfectly rational choice is just total time to destination.
taftster 19 hours ago [-]
Yes, it's definitely more likely for an individual already in an upper floor to return to ground than a stop above or below. The people queuing up in simulations don't seemingly get this right all the time.
Also the group of people going to or returning from lunch is real as well. The grouping factor happens more at the middle of the day and less at the morning or evening. Primarily because of lunch.
dawnerd 17 hours ago [-]
Cruise ships that use destination dispatch have been much nicer too. Ships that use the older algorithms are a pain to wait during peak times. Guess plus side you’ll use the stairs more.
ApolloFortyNine 18 hours ago [-]
Surely there's a dataset out there with elevator calls for an office building you could test on, instead of the poor random destination case.
Surprisingly, claude failed to find a good one.
Also, part of destination dispatch (I'm guessing based on experience) removes the 'stopping on every floor problem', so the real test would be total time including wait at that point I think.
alexpotato 17 hours ago [-]
> - People who are on the ground floor generally travel in large groups to the same destination.
I also thought that this is one of the biggest reasons destination dispatch was better.
There are even articles about switching to destination dispatch in office buildings or hotels lead to dramatic reductions in wait time.
I wish there were more games like this. It’s such a simple premise but so satisfyingly difficult after each level. And it even has a bit of randomish failure which makes for even more challenge.
darkvertex 19 hours ago [-]
If you buy the adorable monochrome console called the "Playdate" https://play.date it comes with a bunch of games included, including a cute elevator game where you help penguins to different floors while controlling the elevators yourself using the crank:
https://play.date/games/flipper-lifter/
That's the guy who created Infiniminer, which was essentially 3D multiplayer Motherlode (a game everyone was playing at school lunch and I never figured out why) and inspired Minecraft.
john_strinlai 19 hours ago [-]
at a quick glance, it reminds me of "the farmer was replaced", if you havent seen/heard of that one
but imo, unlike farmer, these games reaaaaly lack the ability to make functions/subroutines
manually doing all the goto loops becomes tiring
ftmch 15 hours ago [-]
I had the idea to build something like it but for traffic lights. Never got around to actually do it. I have a feeling it probably exists.
zengineer 5 hours ago [-]
same :) Although, I wonder if building it is more fun than actually playing it then
CobrastanJorji 19 hours ago [-]
This is great, but to me, the definitive elevator scheduling game was SimTower.
somat 7 hours ago [-]
I never really "got" sim tower growing up, I liked sim city but bounced off tower. It only clicked years later when I read that it was an elevator simulator that got fleshed out a bit, Knowing this I enjoy it quite a bit more today than younger me who I guess was expecting a vertical simcity.
bentcorner 6 hours ago [-]
> People don't usually remember the average amount of time they wait. They fixate on those times when the elevator took FOREVER, the p90 case.
I would always get a chuckle out of seeing some poor soul waiting 3 hours to go down a few floors after work, only because I failed to add stairs to the lobby.
genericone 17 hours ago [-]
Sid Meier's Elevator Manager was such a great game... so much nostalgia.
CobrastanJorji 14 hours ago [-]
Yoot Saito, actually, although it does really feel like a Sid Meier or a Will Wright game.
iqihs 14 hours ago [-]
Yoot Tower has been on my bucketlist of games to play for a while now
jcranmer 13 hours ago [-]
Waiting for Don Hopkins to jump into this thread, saying how he's going to release the source code soon...
I always come back to this game whenever I'm at a hotel for a conference waiting for the elevator.
perryprog 20 hours ago [-]
Wow, I just came here to comment that I've always wondered if a game where you have to program an elevator scheduler would be any fun. I thought surely no-one's thought to make that before, too! Glad to be proven wrong.
inkkin 15 hours ago [-]
Omg! <3
woeh 6 hours ago [-]
I am currently staying in an AirBnB of a 60 floor tower, and the three elevator shafts definitely cannot handle this (I don't think the building was designed with renting to tourists in mind). The elevators are frequently completely saturated during weekends, meaning that the elevator stops at each floor, but noone can get in because the elevator is already full. This means the backlog of people wanting to use the elevators is increasing until after rush hour, and I have at one time experienced a waiting time of over half an hour.
What I take from this is, elevators need a proper check to see if they are full, and if so skip floors.
Animats 5 hours ago [-]
> I am currently staying in an AirBnB of a 60 floor tower.
ICE Condominiums Tower I, Toronto?[1]
> elevators need a proper check to see if they are full, and if so skip floors.
Elevator load measurement is an option you can buy.[2] Somebody didn't.
60 stories with three elevators is underserved, and needs all the control help it can get.
I don't understand why the fact that it's an Airbnb really matters here? Unless a large number of apartments are meant to be empty, why does it matter if the tenant is short term or long term? Is it that short term users leave and enter their apartment more often?
woeh 4 hours ago [-]
I am of course just speculating (and I had a lot of waiting time to think about this), but there are a lot of people with a lot of luggage constantly going in and out. It makes the elevators be full faster (perhaps there is a weight based sensor to determine if the elevator is full, and the luggage tricks the system into thinking the elevator is not full yet, because a piece of luggage is lighter than a person but sometimes takes up more floor space than a person). Furthermore, people with luggage take longer to get in and out.
It's a tower in Kuala Lumpur btw. Since it is rather hot here and the elevators are not airconditioned, it's extra uncomfortable.
csomar 5 hours ago [-]
Because they are short-term and many are staying just for the day + bringing family (like kids, which is why they use AirBNB instead of a hotel). The check-in/check-out already add an entry-exit if the user is staying 24 hours only.
close04 4 hours ago [-]
It’s not super common to stay in one place only 24h when traveling with kids. Other than the luggage, tourists and residents move in an out of the building just the same. People who live there also need to go to work or school every morning, and come back in the afternoon creating choke points. And these people are there every day, not a handful of seasonal tourists.
The problem is probably the same as every other super tall building. It was impressive for the potential buyers but designed poorly and this only became apparent after they lived there a while (crappy elevators, probably often defective, building sway, plumbing issues, etc). So the owners started to move out and it’s possible the building is mostly short term rental now.
pudgywalsh 2 hours ago [-]
> 60 floor tower, and the three elevator shafts
I don't think I've ever seen a 20-story building with less than 4 elevators at a minimum.
I've worked in low-rise office buildings with no less than 10 elevators.
Seems like that gross deficiency should have been stopped at the city inspector's office before plans were approved.
mmmattt 1 hours ago [-]
I live in a 20 stories building with only two elevators, 4 3-bedrooms apartments per floor. And I don’t think I ever had to wait more than a couple minutes.
cammikebrown 5 hours ago [-]
A 60 floor Airbnb tower? 2026 is wild.
perpetuallunch 5 hours ago [-]
Or, the building / owners corp / code / city could simply ban short stay accommodation where it was never attended.
I would not want to be in that building if an evacuation alarm sounded.
CGamesPlay 4 hours ago [-]
> I would not want to be in that building if an evacuation alarm sounded.
You shouldn't be taking the elevator if you heard an evacuation alarm, but to be sure, you don't want to be an any 60-story building when you hear that alarm.
userbinator 4 hours ago [-]
I would not want to be in that building if an evacuation alarm sounded.
You are not supposed to use the elevator in emergencies.
matkoniecz 5 hours ago [-]
> I would not want to be in that building if an evacuation alarm sounded.
why short term/long term stay would matter here?
dsego 3 hours ago [-]
In my residential building we have two elevators, a big one and a small one, the small one can fit 3-4 people if they squeeze together, it can't fit a bicycle. And of course, they don't work independently, so if the small one is already on your floor the big one won't stop there, so if I have my bicycle with me, I need to send the small one to a higher floor first, and since people are using the lifts constantly, sometimes I need to wait for a while and repeat the same process. There were times where the small car came several times before I managed to stop the large one.
akoboldfrying 3 hours ago [-]
This is hilarious. But I'm also thinking: Maybe just use the stairs? Your bike suggests you aren't afraid of a little cardio.
hermanschaaf 20 hours ago [-]
Hah, I thought a lot about this problem while developing Sky Lobby, a mobile game (iOS / Android) about controlling and automating elevators.
In the game, some of the elevators are automated, and I wanted to choose an algorithm that best aligned with what players would expect an elevator to do. I ended up going with something close to LOOK, which (as the article states) is mostly what people expect. Except in case of ambiguity, I had it prioritise floors that have been waiting longer, to improve the p90, which is important in the game.
But now, add in these challenges:
- double-deck cabs (where attached cabs cover two floors at once)
- transfer floors between shafts
- express shafts
and the best (or at least, most expected) algorithm becomes much less obvious! I'll leave it as an exercise for the reader to figure out the best one.
Luckily I was in charge of a game, not a real elevator system, so I just had to find a heuristic that was good-enough, and could tweak the rules to let players manually override the elevator's plan if they don't like where it's going. This seems to have satisfied most players.
jamies 20 hours ago [-]
Thanks for sharing this. I was just commenting about the challenge of making a fun elevator sim game. This looks great -- can't wait to play with it this weekend!
hermanschaaf 17 hours ago [-]
Thanks! Would love to hear your thoughts if you get a chance to play it. I'm currently working on adding a few more towers and challenges. After that maybe I'll deep-dive into the "best" automated scheduling algorithm for all this :)
grishka 7 hours ago [-]
How often do people travel between non-ground floors though? In my own experience, whether it's a residential or an office building, 99% of elevator usage is a) someone going down to the ground floor, and b) someone going up from the ground floor. There are some exceptions like hotels that have amenities on different floors though.
The first elevator "algorithm", if you can even call it that, that I've ever encountered and that seems intuitive to me, is what Soviet relay logic elevators did. If it's not in use and someone calls it, it goes there. If it's in use, it will collect the calls on its way down (and ignore them on the way up, these had no up/down call buttons). It's surprisingly effective for apartment buildings.
noduerme 6 hours ago [-]
I was confused by this "LOOK" algo... I'm American and I've lived all over the place, and I'm not familiar with elevators that pick you up on the way up if you pushed the down button. As far as my experience, they only pick you up on the way back down. To the extent that if I did hit the down button and got in and it went up, I'd think I'd gotten in the wrong elevator or there had been a mistake.
socalgal2 3 hours ago [-]
It's extremely common in an office building I used to work in. The office has 21 floors and people shuffle between them often. Going up or down 1 or 2 floors there are stairs. Also the top 11 floors use different elevators than the bottom 11. They share 1 floor so you can switch
sixhobbits 6 hours ago [-]
Not sure how common it is but Bern train station has 3 elevators, usually 2 are set to normal and one to "express" which means all middle floors (mainly parking) are locked and you can only go ground to top (outside so a lot of people going to/from the station on foot)
It's super efficient for people who understand the system at the detriment of people who don't, as they get in and mash the middle buttons and get confused that they don't activate
akoboldfrying 2 hours ago [-]
Having visible, pressable buttons that do nothing is terrible UI. Why not just screw a metal plate over these do-nothing buttons, or at least tape a piece of cardboard?
deepspace 6 hours ago [-]
It depends on the building use. In residential buildings, people do tend to go to / from ground but in my building the parking garage has entrances on levels 1-4, the gym on 3-4 and the garden on 5. That distorts the traffic pattern.
The company where I work occupies an entire office building, so there is lots of travel between floors.
graton 6 hours ago [-]
There are also elevators in cruise ships. People get on and off at almost all the floors.
ebtebt 6 hours ago [-]
In mine it is far from 99%. I’d say maybe 50%.
olex 20 hours ago [-]
The biggest problem I always have with elevators is not the algorithm, it's the people seemingly being unable to grasp the concept of pressing either the up or the down request button, depending on where they want to go. Almost always I find someone will press both, because "then the elevator comes faster". Completely ignoring the fact that they end up going the wrong way first half the time, and adding an unnecessary halt for everyone already in there. How hard can it be to understand?..
Georgelemental 20 hours ago [-]
I don't think I've ever seen someone do that
summermusic 20 hours ago [-]
I haven't ever seen anyone do this in the United States, but I saw it in China and Italy.
esperent 20 hours ago [-]
I've never seen anyone do this anywhere in the world including Italy.
I've never been to China but wouldn't you learn quickly after getting in an elevator going the wrong way not to do that again?
The only exception I can see if there's way more people than elevators and you just need to get spot at all costs.
the_af 19 hours ago [-]
My wife always randomly hits the up or down button, then gets upset if I explain why she should only pick the one she really wants. She forgets the next time. I think some people never really understand how elevators work.
See also: the keep open / close doors button. I had one building administrator explain to me we should add a delay of 10 seconds to the "quickly shut door" button because otherwise she kept getting her arm hit by the door. When I asked why we would add a delay to the button that's meant to reduce delays (why not simply wait for the door to close on its own, then?), and whether we should fix the sensor that prevents doors from closing if there's an obstacle instead, she just kept staring blankly at me. I don't think she understood me at all.
Again, some people simply don't grasp how elevators work.
superhuzza 19 hours ago [-]
I fear in both cases, its not a lack of understanding of elevators but of common sense...
contingencies 15 hours ago [-]
For these people, replace the buttons entirely with a voice-activated destination request on proximity.
superhuzza 12 hours ago [-]
Full circle back to elevator operators!
chuckadams 9 hours ago [-]
More like Star Trek turbolifts. Make them grab the handle first for that TOS feel.
contingencies 6 hours ago [-]
Primarily this fixes the bug in the interface which is allowing the user to input data that does not match their declared destination. However, a second benefit is that you can then obtain per-user destination information, which is useful in capacity planning and currently lost in shared direction-only button pressing. Finally, you could usefully use non-floor specifications, ie. 'Ladies underwear', 'ACME Co.', etc.
18 hours ago [-]
20 hours ago [-]
tamimio 19 hours ago [-]
Because most buildings now they just put one button so people stop clicking both
rsanek 19 hours ago [-]
That has not been my experience, and logically it doesn't really make much sense. If you do so, you are making the problem strictly worse.
userbinator 9 hours ago [-]
Nondirectional calls are mostly found in very early (pre-war) or small building (3-4 floors) installations.
"2.3 Non-directional collective
Non-directive collective control provides a single pushbutton at each landing. This pushbutton is pressed by passengers to register a landing call irrespective of the desired direction of travel. Thus, a lift travelling upwards, for example, and detecting a landing call in its path stops to answer the call, although it may happen that the person waiting at the landing wishes to go down. This type of control is only acceptable for short travel lifts."
what 19 hours ago [-]
What? I’ve never seen that. The elevator needs to know which way you want to go.
Ekaros 1 hours ago [-]
It is reasonable if you either have low load say a residential building where lift is often idle. Or low number of floors where travel times in either case are short.
userbinator 4 hours ago [-]
It doesn't; it just needs to know it was called. You make your selection once it arrives.
Look up the early history of elevators and you'll see a progression from fully manual in-car up/down controls (often with a dedicated human operator); various semi-automatic systems with minor improvements like automatic leveling and door control; and then operatorless systems that started with nondirectional calls:
On the ground/lowest floor, there's only one button as there's only one way to go.
what 7 hours ago [-]
That’s not what they meant…
tamimio 9 hours ago [-]
And the top floor too
cozzyd 15 hours ago [-]
i just saw this for the first time today in Romania...
donalhunt 4 hours ago [-]
I live in Ireland. 10+ years ago I used to the travel to the US quite a bit (5-10 trips a year). The majority of the time I would fly via a major EU hub like AMS or CDG even if there was a direct flight from Ireland.
The reason? Other factors that were important to me!
Examples:
- cost optimisation. I could fly business within company budget rules.
- flight time. I highly valued longer flight times between Europe and the US west coast so I got a proper night's sleep when flying east-bound. Doing connections on the east coast often meant quite short transatlantic flights that arrived very early in the morning. Much harder to manage the jetlag.
- Product offering. Some of the routes from AMS and CDG had much newer planes and cabins.
- Airline alliance loyalty. Given the travel pattern it meant sense to pick an alliance that delivered some value. Irish airlines didn't have much to offer and were much more expensive for a worse end to end product.
ericpauley 12 minutes ago [-]
The difference is nobody is getting loyalty status on their elevator.
dsego 3 hours ago [-]
Yes, same here, in croatia people believe that you need to press the opposite direction to "summon" the elevator, if the elevator is on lower floor they will press the "up" arrow to bring it up to their floor. And then of course when the doors open they will ask "going up or down?", which is ridiculous. When I point out that the ground floor only has the "up" button they just ignore it (hard to unlearn ingrained beliefs).
trivo 20 hours ago [-]
And then when the elevator door opens, they ask the people inside: "Are you going up or down?" There's an arrow showing that, for Christ's sake.
ButlerianJihad 3 hours ago [-]
The direction is also indicated by the chime sound, which only blind people and YouTube viewers seem to know.
Yeah and you can flail your head around looking for the arrow or you can just ask. Especially on a busy elevator lobby there might be multiple cars opening at the same time so you cant even tell from the ding/ding-ding
ImPostingOnHN 7 hours ago [-]
or just point your eyes a few degrees away to look at the dedicated arrows next to each elevator, built for this exact use case, which indicate whether that specific elevator is going up or down?
I have to assume this is a cultural difference and you just don't have those indicators where you live, rather than "slightly moving my eyes is too hard, better make my problem into somebody else's problem"
themaninthedark 19 hours ago [-]
True but sometimes someone hits a button on the inside by mistake. Or someone was going to get off then decides not to.
SoMomentary 19 hours ago [-]
Sometimes I think "stupid" questions like these are just a way to break the ice, something that gets used to kindly acknowledge the momentary existence of others in our lives before we continue down our separate paths.
deathanatos 19 hours ago [-]
… and the elevator is still going the way it is going, and that way is still indicated by the illuminated arrow.
gabrieledarrigo 19 hours ago [-]
"Questions are never indiscreet. Answers sometimes are."
GurnBlandston 17 hours ago [-]
"Have you stopped urinating in public?"
gene91 18 hours ago [-]
In some places, I see people do that. It’s not stupidity. I learned the logical reason after observations. During busy hours in some busy buildings, there isn’t enough elevator capacity. Therefore, if you want to go down to the ground floor, taking a trip up and then down might be better (a less-bad worst case outcome, or even a better average outcome) than waiting for a non-full downward elevator. In such case, it’s logical to press both up and down.
davnicwil 19 hours ago [-]
In situations like this the answer usually comes by flipping it and assuming they do understand, and asking why it makes sense now.
It's probably just the old 'fake loader' psychology, to be honest. Waiting without knowing when the elevator will arrive is boring/frustrating, where getting into an elevator that moves, even if the wrong direction, feels like progress.
Things are happening, and even if it takes longer ultimately that's a less frustrating state to be in.
qurren 11 hours ago [-]
I often enter it in the wrong direction.
Like let's say elevator is at 5, I am at 1 wanting to go to 3, and before I arrive there is already someone else at 1 wanting to go to -1.
I'll get in with them going DOWN so that it doesn't have to stop a 2nd time on the way up.
There are also other situations where I'll press it in the wrong direction if I think it's already likely to stop on the way down (due to me being on a popular floor) to save an extra stop on the way back up.
kccqzy 9 hours ago [-]
That’s great, but a lot of buildings don’t tell you where the elevator currently is when you are about to press the button.
ivanjermakov 19 hours ago [-]
Elevator algorithm I'm used to always goes up from lobby and always goes down from any other floor. Meaning that it goes all the way to the highest order and picks orders top-down until reaching lobby. Only exception is going to underground parking floors which is relatively rare in my housing complex.
vel0city 16 hours ago [-]
When you're at a lower floor and you're trying to go down, but its a time period where traffic is trying to leave you can end up in a situation where nearly every elevator going down is already full. So you call for down, cab arrives but is already full, it goes, you call again, another comes, its already full, rinse/repeat. Sometimes there's not much up traffic during that time, so it can be a legit strategy to just go ahead and call on the up and ride it all the way instead of waiting and hoping for space coming down.
Although I guess that's not quite what you're talking about.
sorz 6 hours ago [-]
I just come back from a furry con hosted in hotel in China, and learn how every furry con like this completely break hotel's elevators:
- rooms are all booked
- young furries usually share one room with 4 or even up to 6 friends
- more guest room-lobby-ballroom traffic
- far more inter-guest-floor traffic than their usual tourists
- one full-suit furry take 1.5-2 human's space
Their elevators are not designed for this scenario and got overloaded all the day. Queueing for tens of minutes is not uncommon.
dguest 4 hours ago [-]
I would really love to see a regular a blog that details all the ways the world will need to adapt to furries. There are endless engineering challenges here!
Also, any spiritual successors to Sim Tower needs to include furry-con as a disaster scenario.
pavlov 3 hours ago [-]
One of the best-loved Maxis games of the 1990s was SimTower which was all about designing elevator flows for your skyscraper.
It might be fun to revisit. The game was actually of Japanese origin.
The Digital Antiquarian just wrote about it the other week:
(Part of an ongoing multi-part Maxis article, SimTower is halfway down in this part 2.)
The origin story:
”As Yoot Saito would be the first to tell you, the rest of the game was really born out of his odd fascination with elevator systems.
> ’Late one night, I was waiting in my building’s lobby for an elevator. There are two cars in my building’s shaft. I pushed the button, but instead of the closest car coming to my floor, the farthest car arrived first. In my usual questioning way, I asked myself, “What happened here? How are these cars logically synchronized?” That was the beginning of SimTower.’
psadri 18 hours ago [-]
Aside for the algorithms and how well they work, there is a psychological aspect to how people perceive "wait" times. It turns out just waiting is very annoying. But having people do anything during that same wait period → perceived as progress → not upset.
An example iirc was waiting for luggage at the airport. It takes min of x minutes for the first bags to show. In one version, passengers went directly from the gate to the luggage carousel and waited x mins for the first bag → unhappy. Then the airport decided to add a long, round-about "walk" path from the gate to the luggage area that burned some of those minutes → same total "wait" but happier passengers.
ericpauley 10 minutes ago [-]
This story is shared all the time, but what airport actually did this? I’m not aware of any major US hub that meaningfully delays passenger egress like this.
oliv__ 9 hours ago [-]
I don't see how that's perception then? It was just made inefficient on purpose.
If I have to walk to the luggage area 10min and wait another 10min for my luggage it's not the same as if i walk 5min to the luggage area and wait 15min for my bag.
Yes, total time is the same but one scenario is acceptable because it feels inevitable and is under control (cannot personally move across space/time faster) the other is not because it feels like it could be improved (staff could unload bags faster).
ImPostingOnHN 7 hours ago [-]
The perception angle is: customers are less unhappy waiting the required 20 minutes for luggage to show up, if they're doing something else during that time.
In this example, the passengers are still waiting while moving (the wait for luggage is 20 minutes either way), they just don't perceive that portion of the waiting as intolerable.
Bringing it home to elevators, the situation is pretty much the same, only in reverse: someone who waits 2 minutes for an elevator and 1 more once aboard it to get to their floor, likely perceives their 3 minute total wait as less tolerable, than if they waited 1 minutes for the elevator plus another 2 once aboard.
orliesaurus 20 hours ago [-]
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.
StableAlkyne 19 hours ago [-]
> 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!"
vova_hn2 15 hours ago [-]
> 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.
Rebelgecko 11 hours ago [-]
Some elevators have sensors that'll bypass pickups after a certain point. Super helpful for furry conventions
Quinner 15 hours ago [-]
The article describes the RSR algo which takes load into account.
BenjiWiebe 16 hours ago [-]
In that case, would it pay to call for an elevator going up, and then remain on it until it's being called down?
dbcurtis 19 hours ago [-]
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.
paradox460 11 hours ago [-]
Some older buildings in SF have the old school elevator panels in the lobby, with big vertical displays of all the floors, and a moving needle for each cab, and lights where there were calls. Big beautiful brass monster, polished to a shine. I think it was the flood building. Used to love watching it on my way up
dbcurtis 19 hours ago [-]
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.
cruffle_duffle 18 hours ago [-]
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
neutronicus 20 hours ago [-]
They might have other objective functions like wear-and-tear on the elevators, total energy usage, or something
dbcurtis 19 hours ago [-]
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.
cyberax 18 hours ago [-]
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.
fragmede 10 hours ago [-]
Interesting! It's counterbalanced though, so why does it go up if the brakes fail in a fire? That's counterintuitive.
ImPostingOnHN 7 hours ago [-]
Maybe it needs to be counterbalanced at maximum approved elevator+load weight?
Wowfunhappy 13 hours ago [-]
All I want to know is why the heck I can't un-press a button I pressed by accident. This should be very simple. Press once to turn the button on, press again to turn it off.
Or I guess you could do long-press to turn off or something if you're worried about confusing people, but I really don't think that should be necessary. We know how toggles work. The button lights up when it's on.
dguest 4 hours ago [-]
They had this in Korea when I was there a decade ago!
It works fine, but people's reaction on hearing this is always interesting, ranging from:
- enthusiasm: that's awesome everyone should do that
- skepticism: that seems like a terrible idea, people will un-press your floor and chaos will follow
- denial: you didn't see that
- cultural / racist: that would never work in <name your country> it must just be because Koreans are <random cultural conjecture>
dsego 3 hours ago [-]
In some elevators there is a stop lever for emergencies, but I found out it cleared all the selected floors as well. So in my building if I've made a mistake or a kid selected all the floors, I can just flip the stop toggle and reset everything.
ericbarrett 13 hours ago [-]
I lived in a high-rise that let you unselect a floor with a double press. Try that next time. Can confirm it's very nice!
Some elevators do this. It's usually a double tap to clear. THey are less common in the states
cwillu 9 hours ago [-]
The most common control circuit has the button triggering a relay which then powers its own trigger until the circuit is interrupted elsewhere; this isn't compatible with the same button cancelling the call.
userbinator 8 hours ago [-]
On the pop-out controls I mentioned in a sibling comment, the relay is the button, and you can pull it out to cancel.
magarnicle 13 hours ago [-]
What about jerks un-pressing your button cos they don't want to wait? Passive-aggressive button wars breaking out, escalating to active-aggressive wars...
Wowfunhappy 13 hours ago [-]
I don't know, what about jerks pressing every button because they want to make you wait? The downside risk here strikes me as much more unlikely than the upside.
voyagerfan5761 13 hours ago [-]
Jerks do push all the buttons to make everyone else wait. It's why newer elevator systems are often configured to ignore those if too many floor buttons get pressed at once.
Wowfunhappy 12 hours ago [-]
> Jerks do push all the buttons to make everyone else wait.
That's my point. The attack goes away if you can un-press buttons.
13 hours ago [-]
geephroh 20 hours ago [-]
Slightly OT, but this reminded me of Colson Whitehead's _The Intuitionist_[1], an amazing speculative mystery novel about two dueling schools of elevator inspection philosophies: the Empiricists and the Intuitionists.
Destination dispatch should be no worse than standard up/down buttons, right (at least in theory)? It provides additional information about the destination, but it should be possible for that information to be interpreted as if it were just an up/down button press, so RSR could still be used. I have a feeling a better algorithm could in fact make destination dispatch slightly better than RSR... or am I missing something?
Of course, user error is also a factor, so this isn't accounting for people not understanding how to use it and making things worse that way.
brd529 19 hours ago [-]
As the article says, the problem with destination dispatch is that it 'locks in' an elevator. The passenger gets told at call time what elevator to go to, and it can't change that mid flight. RSR has the advantage that the passenger has no idea which elevator will come, and so RSR can change the elevator they will get in real-time as conditions change. This was an insight I had not considered before reading the article.
dperfect 19 hours ago [-]
That sounds like two separate things then. Could you not have people select a destination without locking in an elevator?
(I've never encountered destination dispatch myself, so I'm not really sure how it works in practice)
hypersoar 19 hours ago [-]
The way I've seen it work is that there's a touch screen in the elevator lobby. You tap a floor, and then screen will say "Car C" (along with an audible message). The problem is that then the system can't reassign you to a different car after that. You'll typically have a bunch of different people going to a bunch of different floors, and there would be no reliable way to communicate to each individual their new assignment. Each car will also typically display which floors it's going to when it arrives. I suppose that, rather than assigning a car immediately, you could have passengers check cars as they arrive to see if they're going to their desired floor. Then the system could do reassignment, but people would be scrambling to check every car to see if it's the right one for them, and that's assuming that they understood the system. It would be way too chaotic in practice.
nicwolff 17 hours ago [-]
Little extra "fun" anecdote: my building has two banks of eight elevators, each servicing 20 or so floors, and has six destination dispatch kiosks: one at each end and the middle of each bank. The kiosks originally had nice metal buttons for each floor and you could easily tap yours as you walked by.
Sometime during Covid, the metal buttons were replaced with glass touch screens – which are totally unreadable on sunny days, because in our stunning glass-ceilinged atrium mezzanine they sit directly in sunbeams[0]. So now you have to walk up to the kiosk, shade it with your body, and squint at the screen to make out where to touch it.
You could give each one a diceware-eff-wordlist-like "ID" when they input where they want to go, perhaps have a "group" and "single" button/column per destination in the menu as well to inform the elevator if it's a group traveling together, and importantly have a fast-food-pickup-counter style dispatch screen up top visible from the waiting "hall", that assigns you a cab with an appropriate notice/heads-up period so you can make your way over to the assigned cab.
JoshTriplett 18 hours ago [-]
Display a set of floors on a big overhead screen (in floor order so they're easy to find), have the "elevator" column blank until the elevator is assigned, and let them watch the column that's going to show them which elevator to use.
But yes, this seems like a case of "unfortunately, people".
hypercube33 17 hours ago [-]
After visiting a hospital with like 5 floors and 2 elevators people were having a hell of a time with just 'going up ' or down arrows
dperfect 18 hours ago [-]
Thanks for the context. That makes sense.
joshjob42 13 hours ago [-]
Seems like the obvious solution is to put a bank of floor numbers above each elevator and when one arrives the floors it has been assigned to go to light up and the people going to them get in that one. So each person only needs to quickly to see if it's going to their floor or not, much like they need to look to see if it's going up or down. Then you can dynamically dispatch elevators right up until 5s or so before it arrives at a floor, with full knowledge of not just up/down but also destination. (And hell make 'em say how many people are in their party too so you also know how many people are traveling and where.)
fellowniusmonk 19 hours ago [-]
I think the problem with simulations like this is that it doesn't include the chaos of innatentive humans.
Forcing functions that dump people into well defined funnels can have such a high net positive effect it more than makes up for theoretical losses.
It's like narrow, hard road bike tires losing performance because of deflection from rough road surfaces and how long it took designers to factor that in to real bikes.
lefra 18 hours ago [-]
Kind of like airplane boarding. The ideal algorithm would be to make people board from back to front, and from window to aisle. However, people are not disciplined enough to strictly sort themselves, they won't all take the same time to sit, and some people want to board together (family with children for example).
Apparently, the fastest known way to fill up a plane in real-life conditions is to let people board in random order, without pre-assigning a seat.
taftster 19 hours ago [-]
In these various elevator algorithms, it's not commonly discussed the overall wear and tear on the elevator. More movements would typically translate to faster repair times. Hydraulic fluids needing to be replaced, parts breaking, etc.
Efficient elevator algorithms will often suggest moving an elevator into a preempted positioning strategy, based on time of day or peer elevator positions. The scheduler might move an elevator up to offset one coming down, for example. The demand-signal algorithms at least minimize movement in this way.
I think minimizing maintenance at the cost of increasing wait times is probably an important balance to get right. No doubt, the cost owners for maintenance are not going to perceive the wait time of passengers to be as important.
jasonlarue 19 hours ago [-]
Not to mention maintenance means taking an elevator out of service, meaning average wait times go up during that period.
brewdad 18 hours ago [-]
Someone needs to design an elevator that only breaks down between midnight and 5am. Maybe a different model to accommodate late night crowds returning to large residential buildings.
taftster 12 hours ago [-]
I mean, "breaks down" is different from "scheduled maintenance". Most definitely the later can be scheduled during less busy hours.
gregorvand 3 hours ago [-]
Amazing article and demos thank you. I’ve also been fascinated by what algorithms are driving elevators.
As someone often using destination dispatch, I am inclined to think after the elevator arrives, you get to the destination more quickly than RSR or LOOK because it’s optimised everyone to the same floor (less stopping)
So it may be a case of more waiting in the lobby but less in a claustrophobic box, which I’ll happily take
NikxDa 3 hours ago [-]
My biggest issue with elevators is that some places and hotels I‘ve been to use disconnected systems:
They have three elevators, but pressing one button only calls that specific elevator. So everyone presses all three buttons, meaning the three elevators basically turn into one.
I don‘t understand how this was ever signed off, but I‘ve seen it multiple times now...
Ekaros 1 hours ago [-]
Someone cheapened out is my guess. Group dispatch. That is having multiple elevators communicating with each other is added feature or was added box. Don't want to pay the extra. Don't get that feature.
In general my understanding is that every single cab is unit that can operate alone separate from any others. Then these are grouped together to operate more efficiently. But this is feature you need to buy. Going too cheap someone might choose not to.
altairprime 5 hours ago [-]
This is pretty cool. OP+author, I wish that it was possible to gray out the elevators as the speed increases, so that their high-contrast "flashing" is reduced while still allowing their movement patterns to emerge. You could even go as far as to fade their color back in once they're standing still, so that the 'stop' locations in the LOOK vs RSR diagram become really clearly apparent, while the elevators' non-stop movement fades into the woodwork as orange dots travel endlessly in the left.
I figure something like a simple weighted ratio of car color = { 1.0: car fg color, max(1,speed^0.1)-1: shaft bg color } would do, so that 2x only shifts the color 7% towards the background color, but 500x shifts the color 86% towards the background color — and a stationary elevator can fade in from 86% bgcolor to 0% bgcolor over a few ticks as it sits there.
I recognize that for most of us, the flashing elevators blur into motion blur, but I can see individual frames at 120fps and while I am not seizure-sensitive to high-contrast flashing, I imagine those folks would appreciate you going the extra mile to reduce contrast at higher velocities, too.
Waterluvian 20 hours ago [-]
Makes me want to play Sim Tower again.
There’s something so satisfying about watching a machine just dutifully work through queued tasks like this.
wlesieutre 18 hours ago [-]
A fun tidbit about Sim Tower:
> After my lecture, a Maxis employee who shall remain nameless buttonholed me. "You guessed right," she said. "Sim Tower was built around a real elevator simulation program we bought from a Japanese guy."
Project Highrise doesn't have elevator simulation. Elevator is just portal that teleports the sim to proper floor.
jcranmer 12 hours ago [-]
Yeah, the fact that Project Highrise doesn't handle the transportation part of the game means that it never scratched the same itch SimTower did.
Sohcahtoa82 12 hours ago [-]
Yeah, maybe that's what was it.
Tbh, while I bring up Project Highrise whenever someone mentions SimTower, I did always feel like it was missing something. Something always felt slightly soulless about Project Highrise.
Waterluvian 12 hours ago [-]
For me the issue is that it doesn’t look and sound like Sim Tower. Which I’m sure is mainly just nostalgia but that’s still a valid reason why I probably love it so.
We used to do this as an interview question at my current job. We didn't expect people to solve it necessarily, and we just specified to solve for a single elevator car. We just wanted to see how people would break down the problem.
Even at that relatively reduced level of complexity, it's quite tricky to figure out how to prioritize who gets served when.
kccqzy 9 hours ago [-]
I’ve gotten that interview problem! From a French company no less.
vova_hn2 15 hours ago [-]
> What if the nearest car is full?
I wonder how do elevators find out if the car is full or not.
I once been to an office building where it obviously didn't work properly.
I needed to get down from a pretty high (15+) floor to the bottom during the evening rush.
The elevator got full immediately but still stopped almost on every floor on the way down.
Each time an awkward scene ensued: a huge crowd of people outside elevator just standing and looking at the crowd in the elevator. Everyone has to just wait pointlessly.
hahahaa 15 hours ago [-]
I guess it could use weight. Since it should also refuse to go if overloaded.
pseudosudoer 19 hours ago [-]
This is commonly referred to as the "dial-a-ride" problem, which is an optimization problem with a multi-variate cost. Back in college for my senior design project we built a multi-axis closed loop servo system which would emulate a slide guitar. The dial-a-ride problem is identical to optimizing travel for a string of notes/chords.
danfunk 13 hours ago [-]
AI use in the creation of this article is inconsequential. There is obvious joy and high fidelity information here. Perhaps some vibe coding made the animations easier to develop, and made it possible to produce this in reasonable time. Who cares. Love of craft is evident. What more proof do you need that this is worthy of human attention?
effseven 13 hours ago [-]
[dead]
heironimus 19 hours ago [-]
No mention of an algorithm/sensor for checking capacity of the car. It's a pain when your elevator car shows, it's full, and your request is canceled, meaning you have to press again. Better if the car was full and just moved on.
I can see how that could be challenging when people get off on intermediate floors, making a full car available again, changing status. And, if 3 people are waiting and there is room for 1, should it stop or not? Etc.
My favorite takeaway from this is how simplicity often beats complexity.
barrkel 19 hours ago [-]
Load penalty is part of the Otis RSR algorithm, it's in the article.
oxag3n 18 hours ago [-]
User experience is not always correlated with metrics targeted by engineers.
I visit a building sometimes with destination dispatch elevators, and with low exposure across multiple years I'm confused every time the elevator I need to take is open behind me.
I once used the paternoster lift in Germany, beats any elevator algorithm efficiency because it's a non-stop "conveyor" with no doors. I still get nightmares about that elevator.
Bossie 15 hours ago [-]
Every time I enter an elevator, I wonder whether it will be the first one I've come across that supports deselect.
ericmcer 13 hours ago [-]
I used to access locked floors in my old office building by using these algos.
Just ride to the floor I have access too, stay in while the doors close, and it would take me to a random floor. Push open door and voila I was on some random corporations private floor.
hahahaa 15 hours ago [-]
Love the article.
> The state of the world 30sec after you called your elevator might be very different but the system is unable to adapt. Turns out the loss in flexibility is not worth the extra information for the optimizer.
Very interesting. I am on a 30 flr 8 car today so guess it made sense for Destination Dispatch. It does mean there is rarely a full elevator and usually 3 stops max allowing it to go fast to high floors.
Other things I thought could factor in elevators is shopping trolleys: both customers and trolley collectors. One level will have people coming in with full trolleys and almost always the other levels will not. I don't think elevators really care they just fill up and you need to call another one.
Also prams but they are 2-way.
besil 16 hours ago [-]
I currently work in one of the top global incumbent company in the elevator market in R&D software.
I would have never thought there were so many challenges behind a car moving up & down.
This industry is so niche and peculiar.
Elevator trip scheduling is one of the many challenges. Really a great experience so far
teepo 20 hours ago [-]
I've never really liked Destination Dispatch elevators. Besides struggling to find the car I've been assigned to, sometimes you really have to hustle across the lobby to catch it. Then you also run into visitors that assume it's a normal car and can hit a floor button when the get in, only to realize they've walked into a car without buttons.
why_at 19 hours ago [-]
>Then you also run into visitors that assume it's a normal car and can hit a floor button when the get in, only to realize they've walked into a car without buttons.
I work in a building with Destination Dispatch elevators so I'm used to them. I have the opposite problem where I'll get into a normal elevator and just stand there without pushing anything.
quietsegfault 20 hours ago [-]
What makes me more peeved about destination dispatch elevators are people who aren't used to them, and all pile into an elevator without hitting a floor, thinking one input is enough for everyone. Then, a totally full elevator stops at intermediate floors to pick up callers, but there's no room to get in. If everyone put the floor in as they arrive to the elevator lobby, then the elevator would know how many people are in the elevator and won't overfill them.
avidiax 20 hours ago [-]
The elevators I've seen have a "group call" feature slightly hidden in the menu.
quietsegfault 18 hours ago [-]
That’s awesome! I haven’t really played with them, only silently seethed when the elevator is crowded.
userbinator 16 hours ago [-]
It's worth noting that for roughly half of the last century, elevators were entirely controlled by relays, with no computers at all; these algorithms would be implemented in hardwired logic. Look at Otis' old patents for some interesting details, including schematics.
ChuckMcM 5 hours ago [-]
The "Elevator Problem" (and the "Street Light Problem") were both CS 200 exercises when I was in college. Along with a bunch of other 'game' type systems like 8 queens, Hanoi towers, maze solving, etc. Still, that is the most elegant web widget I've ever seen that illustrates the options. If you're reading this John I'd love to hear how you wrote them.
krishna180 4 hours ago [-]
An elevator that stops at every other floor is quite annoying. Someone pressed a button and then entered another elevator. just like in door, there shall be a sensor as well that will check if someone is waiting outside or not. if not, please pass that floor.
stkni 5 hours ago [-]
Great analysis! I used to ask a fairly open ended elevator system design question for engineering interviews. There is a lot of mileage in this topic and everyone has an understanding of the basics so the setup costs for the question are minimal. Always generated a lot of interesting discussion.
pwython 18 hours ago [-]
I was on a Royal Caribbean ship a couple weeks ago (Utopia, 18 decks, 5,668 passengers). It has 24 main elevators split between front and back, left and right. So a bank of 6 in front of you each time you needed a lift. You press your floor on a touchpad and it assigns you an elevator A through F.
I swear no matter if it was busy or not, it seemed like everyone was assigned to the same one or two elevators. The wait was always so long too, I used the stairs most of the time if just going <6 flights.
Someone besides RCCL needs to study that algorithm.
skullone 18 hours ago [-]
Possibly to balance the hours on elevator banks. Common in buildings to leave some out of the cycle, since elevator maintenance can be a year out to schedule. Probably much worse out at sea
sp0rk 18 hours ago [-]
This type of system is mentioned in the article under the "Destination Dispatch" section.
jamies 20 hours ago [-]
This is absolute catnip to me. Fantastic job to the author! It really scratches the itch of wanting to understand elevator dispatch algos!
I want something similar for advanced sensor stop lights...
I've long toyed with creating an elevator simulator game, but every time I build a prototype I realize it's not that fun to manually dispatch elevators, and playing with algos only goes so far! Elevator Saga is great for the programming side: https://play.elevatorsaga.com/
perilunar 8 hours ago [-]
It's a pity that paternoster lifts are so unsafe [0] — we could avoid all problems to do with scheduling if they were safer.
On a related note, could someone please design continuous spiral escalators with horizontal sections at each floor?
You have no idea how excited I was to see this article today. I've long been fascinated with elevators and the algorithms that control them. Thank you!
mr_wiglaf 8 hours ago [-]
My first thought with optimizing the elevators was to optimize where the elevator went when it was empty. Surely sticking around at the top floor decreases avg wait times, no? I feel like I've been in buildings where the elevator returned to the lobby after use (but perhaps there was always another person waiting...)
iancarroll 8 hours ago [-]
I agree, I have been in a lot of buildings where the elevators have extremely poor performance due to this. It can be 4AM but they are all configured to rest on one floor or something like that.
jp191919 20 hours ago [-]
Reminds of something I haven't thought about in a very long time... SimTower
dillutedfixer 10 hours ago [-]
If you want a trip down memory lane, go to InfiniteMac.org, spin up a System 7.5 emulator, go to the InfiniteHD/Games folder and launch SimTower!! Such a fun blast of nostalgia. I loved the game as a kid and can still very much enjoy it as a mid-40 year old.
Aunche 18 hours ago [-]
Our building installed destination dispatch system to their elevators and it seems to help overall. However, it breaks when say a team wants to get lunch together, but only one person presses the elevator button. The elevator thinks that it can keep on accepting new passengers so it stops at floors even though it's already full.
rrvsh 13 hours ago [-]
Yeah, intuitively the request floor instead of up-down paradigm always seemed inefficient. However, if the issue is that it forces a single elevator and doesn't allow reoptimisation, I wonder if there's a middle ground where instead of up down there's a button panel for the floors, but you still just take whatever elevator's going up? It technically wouldn't require double work but kind of feels like it does psychologically - anyone seen prior work on this?
abhaynayar 16 hours ago [-]
I have destination dispatch at my office, and while I don't like my personal user-experience of it, I can't imagine what would better suit a building when you have so many elevators in the same place i.e. in my case 10+ I think?
What I find annoying though is you clunkily go click a floor then clunkily wait then clunkily walk over to the elevator assigned which may or may not be on the other end of the space. Also another interesting thing I've seen is that it seems in my case the distance from destination selection and elevator assigned seems to reduce at times when the office is emptier so that too seems to def be accounted into the algorithm.
reader9274 20 hours ago [-]
I feel like most cases of wait times are due to elevators "waiting" empty in the wrong floor. They either all wait in the bottom floor, or all wait where they were last left at. Would be better if their waiting floors were distributed throughout the floors so that first response is fast.
Sohcahtoa82 19 hours ago [-]
In the middle or end of the day, yes. In the morning, waiting on the bottom floor is the best.
Unless you're a hotel. Then the timing is flipped: Wait in a distributed manner in the morning/mid-day, gather on the floor in the evening.
cruffle_duffle 19 hours ago [-]
The problem is that in the morning the “last stop” for the elevator might be the lobby not a mid floor. And so it would have to move itself back up without any passengers or calls to upper floors. Basically “optimistically” moving itself back up. And I wonder if some (most?) control systems don’t do that because of… well I dunno. Lots of elevators have pretty old or basic control systems in them. Maybe predate caring about energy and many also probably aren’t strictly smart enough to be concerned about wear factors and stuff.
It could also be that you and I simply aren’t privy to what is actually happening “the instant” you are waiting for the elevator.
…which makes me wonder how often the firmware in these get updated. Assuming it’s not just a pile of ancient relays and stuff. And if, when they do get updated, the algorithms get improved. Or if the algorithm is something that gets sold to the building and “upgrading” is an actual purchase.
Anyway, I could get a little LLM buddy to look it all up but where is the fun in that?
dbcurtis 19 hours ago [-]
Most systems to that. Empty-cab strategy is a programming option in the controller. If all cabs are idle (very rare) they are typically spread out.
rubslopes 19 hours ago [-]
Yes! I always thought that, when unused, elevators should distribute themselves along the floors, weighted by the floors that use them the most.
efavdb 19 hours ago [-]
I recently wrote an article about this problem, and detail one reasonable algo for minimizing wait time. (Doesn’t consider concept of cars being full though, interesting addition)
Disk drive read/write algorithms have a lot in common with elevator algorithms. At least they did in the days of physical heads moving across a platter.
paxys 20 hours ago [-]
My biggest pet peeve is elevator banks where they don’t make some number of idle elevators automatically come back to the lobby. Half your traffic is over there! Everyone coming in has to wait an extra minute or two because all your elevators were chilling on the 35th floor and above.
mapmeld 20 hours ago [-]
My apartment building is replacing the elevators, and someone on staff revealed that the first renovated elevator is intended to pick up only from the lobby (i.e. if you summon an elevator from the 10th floor, one of the others will come). This has caused some grumbling or calling it an "express elevator". In an apartment it really is mostly trips to many floors from the lobby. The only time this maybe would be inconvenient might be in the morning commute, when fewer people are re-entering.
cruffle_duffle 19 hours ago [-]
You should observe if it is the same elevator all the time and the building people just don’t understand it. Our building elevators (bank of 2) always seems to try to keep one in the lobby. About 75% of the time you get an elevator right away when you call it from the lobby. But it definitely isn’t the same elevator! Allocating an exclusive single elevator to that function would seem to be strictly worse from many angles. Like if you modeled having an algorithm like “elevator 2 only services calls from the lobby” you’d find it would be very inefficient and not every effective. But I can see having one in the bank always returning to lobby right away making sense.
My guess is whoever hinted at that didn’t fully understand what they were taking about.
cush 17 hours ago [-]
This is a fun simulation to play with. One variable I appreciate in efficient elevators is how the doors work. Usually they don't let you press the button to open a closing door - effectively delaying an already departing car
hypercube33 17 hours ago [-]
There are some awesome hacker talks about elevators on YouTube worth checking out
tegling 18 hours ago [-]
One case not covered, I believe I saw at London Heathrow was where 4 cars essentially moved people across only 2 floors. With only 1 centralized button, only 1-point-something car was effectively moving people on average, because people had to wait for the currently filled car to have its doors closed and starting to move, before hitting the button to call the next car to pick them up. Imaging 100-200 people in line and, often, overly eager would-be elevator passengers hitting the button too early. Thus leading to halting the just filled car and doing an additional full open and close doors cycle. Fun stuff!
socalgal2 3 hours ago [-]
Maybe they took their que from Apple. The Apple Store in Ginza Tokyo used to have a 3 floors and the elevator is just set to go 1, 2, 3, 2, 1, 2, 3, 2, 1. There are no buttons. It just goes, whether or not people need it. So if you just missed it it might be going up 2 floors and back down for no one. And of course it was slow and held the doors open 10 or 15 seconds per floor
Very form over function.
tomduncalf 14 hours ago [-]
Ha I know the exact ones you mean well, going to the train from terminal 5? I couldn’t have told you what was up with them but they seem very inefficient and there’s always a queue! Thanks for explaining
Himanshu_942 6 hours ago [-]
Finally someone looked at frustrating problem. What if lift manufacturers install all the algos and change the algo based on need?
duncangh 12 hours ago [-]
“The elevator did hear you, it just has a lot to think about”
Didn’t anticipate that my day would be bookended by relating to and empathizing with the plight of the elevators while I wait for one in a tall corporate building.
Pressed the kiosk some time ago but watching the sun begin to arc towards setting it does appear the world can change a lot in 30 seconds.
Another interesting, and underrated one: hotel keys.
gwbas1c 15 hours ago [-]
> Not all elevators have buttons in them. Some of the fancy new elevators have a kiosk on each floor that allows you to specify what floor you're heading to before the elevator even arrives. The kiosk then points you to which elevator you should wait for.
I stayed in a hotel with these. It was horrible. Most people didn't figure it out, would get in the wrong elevator, and just get lost in the building.
sambaumann 20 hours ago [-]
This reminds me of elevator saga (https://play.elevatorsaga.com/) - little programming game where you have to program elevator schedules.
jhaile 13 hours ago [-]
For a long time, this was one of my favorite interview questions - it is one of those problems that no candidate will ever fully solve, but you see how they think through problems. And it is a problem that seems simple at first but has layers of complexity that peel back like an onion - just like this article does.
JoshTriplett 18 hours ago [-]
> This counterintuitive result is all thanks to the rebalancing step where every 5 seconds, the system re-optimizes each elevator's path. The kiosk enforces rigidity, you must get in the assigned elevator.
Sounds like destination dispatch would work better if it didn't tell you which elevator to get into until the elevator arrived.
Elevators drive me crazy. One of the worst sins I've seen is an elevator that says, “Sorry to keep you waiting,” while continuing to hold the doors open for the entire sentence. Just be quiet and close the doors already.
FabHK 7 hours ago [-]
Wonder what would happen if the objective instead were to minimise sum of quadratic wait times (ie, penalise long waits explicitly).
senthilnayagam 5 hours ago [-]
wanted to create a lift simulator for a very long time, this looks pretty good.
claude could recreate it in unity in about 10 minutes. now ticked it off my "want to code" bucket list.
baxtr 6 hours ago [-]
I have never understood why it’s not possible to deselect a floor once you’ve pressed the button.
socalgal2 3 hours ago [-]
some elevators have this feature. Double tap a button to de-select a floor
appplication 6 hours ago [-]
It’s a sensible request, but we just don’t have the technology to do it.
jabroni_salad 16 hours ago [-]
This was fun to read and play with but I'd like to see it with different usage patterns, too.
The simulator seems to have passengers spawning on a random floor and then transiting to a different random floor. But for where I work, the trips are pretty much always from the lobby to a floor, or from a floor to the lobby. Nobody goes inbetween floors except maybe the cleaners.
jihadjihad 20 hours ago [-]
In a similar vein, there was an interesting discussion [0] a while back about elevator buttons [1] and how timing for door close/open works, along with a bit of the history and regulations that go into them.
And there's still no adequate explanation for what "Korean lunch mode" is!
nhhvhy 13 hours ago [-]
If you feel like going down an elevator rabbithole, Deviant Ollam has quite a few talks/videos about all sorts of niche elevator stuff. My personal favorite: https://youtu.be/ZUvGfuLlZus
bob1029 19 hours ago [-]
Parking is a big factor too. Where you put the elevator when it is not being used can mean the difference between the doors opening instantly and worst case scenario.
ryukoposting 19 hours ago [-]
My friend lives in a building with one of those super old elevators with the manual double doors and no queuing. It's the sort of elevator that someone probably got paid to operate once upon a time.
Using such a primitive elevator gave me a newfound appreciation for the complexity of modern designs. The queueing algorithms are subtle but clever, and the difference in efficiency is instantly obvious once you've dealt with the alternative.
danso 16 hours ago [-]
Oh wow, this is perfect reading for me. One of my first college career fair questions was "Tell me how you would program an elevator". Forgot what sad attempt at an answer I gave, but I pretty much thought about that algorithm every time I've ever waited for the elevator. Which was pretty much daily when living in NY.
Meanwhile, the elevator at my apartment building: hey only one floor at a time can call me! And no queueing, you must wait for me to be idle for someone to call me. (And yes, often someone beats me and presses the butter faster than I can).
efields 18 hours ago [-]
This is like the how it’s made of a website. I could read and click through an endless amount of these kinds of explainers.
That will need planning and assignment I guess? But at what load figures does it become more efficient?
pavinjoseph 5 hours ago [-]
Surprised that the LOOK algo beat RSR in the final sim!
andrewseanryan 9 hours ago [-]
As I step into an elevator, I often think about the algorithm that's driving it. Now I know what they are! Thanks!
ivanjermakov 18 hours ago [-]
I don't think it was mentioned, but the algorithm would be different based on the behavior of the majority. In some buildings most traffic is either up from lobby or down to lobby, e.g. it's very rare for people to go from floor 5 to floor 6. In some it's the other way around, where majority of moves don't involve lobby.
cyberrock 10 hours ago [-]
Very cool. I would be curious how elevator banking (elevators split into different floor ranges) and double decker elevators impact this.
kccqzy 9 hours ago [-]
I thought double decker elevators were a failed experiment. I don’t think anyone is even producing them any more.
frizlab 14 hours ago [-]
I’m surprised to not see any reference to the Happy Vertical People Transporters from The Hitch Hiker’s Guide to the Galaxy!
Them elevators are able to see into the future to be there even before we call them. Come on!
vachina 19 hours ago [-]
Anybody knows what algorithm HITACHI is using on their elevators? Their elevators feels most “responsive” in high rises.
esikich 11 hours ago [-]
I can't imagine any elevator just uses a set algorithm. I'm sure after installing, technicians work with facilities for a period to dial it in as every building will have different needs and traffic patterns.
nuker 10 hours ago [-]
Why not count people waiting on each floor? To add to the algo? A simple camera with basic computer vision will do.
tgsovlerkhgsel 20 hours ago [-]
Is there a comprehensive overview of a) multi-bank elevator algorithms that are out there, b) the config parameters that the elevator tech/company can set on an elevator system?
For example, some elevators allow adjusting the door closing/opening speeds etc., I'd be curious what other things can be adjusted.
If you optimize for initial wait times, someone who is going to a floor not usually visited might effectively get trapped on an elevator which shuttles between more trafficked floors to reduce wait for elevators overall. Maybe this is very unlikely in practice.
ncr100 14 hours ago [-]
Next time please add a cool potted plant that appears whenever you open a door, for the final full sim at the end of the article. Decorative plants for the win.
I love this by the way.
arm32 18 hours ago [-]
My autism just went KABLAOW when seeing this. I know what I'm doing the next hour.
salberts 17 hours ago [-]
Our elevator (4 cars) displays above each car the planned stops and can change mid-wait the car<>floor allocation and issue sound indication. I’d expect it to be allow optimal allocation.
jhallenworld 19 hours ago [-]
What this doesn't include: not all people are equal. Do you want the CEO of your new office building to have to wait behind a bunch of plebeians? At least one car is going to have to be reserved for the better people.
dbcurtis 19 hours ago [-]
This does happen. I also once worked on a destination-dispatch elevator system installed in a high-end condo building (high-end, as in concierge and parking valet for residents). Anyway... the resident's key card would of course automatically call a cab to take them to their unit's floor, but also the security system had entries for things like "dog owner" and "allergic to dogs" so that the DD system would never schedule them together for the same cab.
hagen8 16 hours ago [-]
Most importantly, after entering the elevator. First press the close button and then the floor. That way u, safe the time of pressing a button as the door is already closing.
TeMPOraL 2 hours ago [-]
Elevators are, in a way, a heap of social and psychological problems stuffed into a box that moves up and down a lot. The article briefly acknowledges it, but like ~all such articles I read over the years, it's primarily interested in wait time and focuses on which quantile to minimize and how. But I'd love to know if and how the soft, squishy thing is being accounted for.
The core problem: elevators are frustrating for many reasons, and that frustration often manifests as hidden blame and hate towards other fellow passengers. Like, IDK, I'm sitting there with a stroller and a kid on floor -1, trying to get to the train platform at floor 0, but the elevator isn't coming because it's going back and forth between 0 and 2 and 3, as people who came by cars shuttle their luggage to and from the parking lot. As a city dweller and non-car person, I can feel my hatred towards cars and drivers bubbling up right there.
I imagine the same is felt by them if I manage to snatch the lift and go from 0 to -1, when they'd really love to already be on +2.
There's many other cases. Mall problems are different than train station problem, different than tall residential building problems, different than office building problems. Destination Dispatch is its own special thing, with its own special psychological twists. But two things I observed in general are:
- If there is a control element available, you will blame people for using it (even internally). Like, "I'd be there a minute ago if not for this damn XYZ who just had to press the button at exactly this time, and they weren't even going in this direction!"
- If there is an indicator element available, people will optimize around whatever it shows.
Like, someone gets at floor N, sees most of the buttons between there and their destination M lit up, immediately presses N+1 to get off there and call another elevator. But if the buttons are visible enough from outside the lift, they may just not get in in the first place, saving themselves and the others time and trouble, etc.
The more I think about it, the more I see that placement of buttons and indicators in the lift is in itself an UX engineering problem with unusually high impact of every decision on well-being of the users.
EDIT: Also ironically, and in line with my feeling that Star Trek got more things right than people give it credit for, a lot of elevator problems - both scheduling and social/psychological ones - would be solved if elevators just moved faster, like 2-4x faster than now, and also in some cases, also moved sideways. I.e. turbolifts.
(That, and if it didn't immediately led to the building owners putting less of them. So put another way: frustrating lifts is the sign of building owners/designers cheapening out.)
I'd like to see skyscraper elevators simulated, not just a few floors.
They have to be built a certain way, and need super fancy dispatch algorithms.
sghiassy 9 hours ago [-]
As a software engineer who lives on the 58th floor this is gold!!
thenoblesunfish 6 hours ago [-]
Fun! I hate those new kiosk style elevators, because I can't reconfirm that I actually pressed the button, remember which one I am supposed to wait for or press the button again while I'm waiting to make sure I really pressed it. Also don't like that I can't change my mind inside the elevator. All in theory not problems if you were a rational person and the system WAI but I am not and things like elevators rarely do. The up/down buttons are more brainless and I like that. Interesting to hear that they might not even be more efficient!
cruffle_duffle 19 hours ago [-]
If you like elevator hacking don’t forget the seminal DEF CON talk by Deviant Ollam and Howard Payne: https://youtu.be/oHf1vD5_b5I
I watch it like once a year because it always tickles some part of me. Like all the different modes you can get an elevator into. The most fancy one people might encounter is when moving into or out of a building. The front office can give you a key to give exclusive control over an elevator so your movers aren’t waiting around on elevators. Put it in that mode and it will stop responding to calls from other floors. Only the person with the key can control the elevator. You get on, select the floor, door closes elevator goes, and then just chills there with the door open waiting for you. Annoying for the rest if the building (the building is down an elevator when in that mode) but is amazing for the person using it! But there are way, way more depending on the installation and function.
Fun fact: most elevator shafts are sealed at the top as tight as possible to prevent them from becoming a giant chimney in a fire. It never even occurred to me until I was in a mechanical room wondering “where is the hatch to look down the shaft?” The answer is “there is none, and it’s a feature not a bug.” You want to block all airflow so fire doesn’t chase up the shaft into neighboring floors. Who knew!
mallory854 19 hours ago [-]
Super interesting. I've always wondered how exactly they work.
zatkin 20 hours ago [-]
I think a small improvement that could be made is to have the dot representing the person be colored the same as a dot on each floor, which would obviate the destination floor for each individual.
soupspaces 20 hours ago [-]
Yes the visualization is great but overused and could also use a stop button. I would have also liked to see different kinds of plots.
hasteg 19 hours ago [-]
Lol, love this post. Every single day when I take the elevators at the office I try and figure out what the algorithm is behind it. Been too lazy to just research it. Now I know!
realaccfromPL 20 hours ago [-]
I absolutely adore this, I am always trying to guess whichever elevator will come in first in large crowded buildings. Thanks for this article.
yread 18 hours ago [-]
Our elevator doesnt stop for people who called it after it started on the way up. It only picks up people on the way down
proee 20 hours ago [-]
Don't forget the executive elevator algorithm (EEA), which uses a priority interrupt to take passengers directly to the top floor.
mekdoonggi 20 hours ago [-]
Also need to make sure you increase the speed going past floors 4 and 13 to avoid bad luck.
prometheus1992 19 hours ago [-]
This is beautiful. By the end of it I started to feel like I was calculating complicated chess lines in a middle game.
So many problems can be cast to arrays to be solved with various linear algebra.
Considering LLMs are "Level 1000+" puzzles in this analogy, I wonder if every problem could be represented by an n-dimensional vector and solvable with algebra.
They at least make great interview questions - Tic-Tac-Toe is commonly given, but is obvious. The board already "looks" like arrays. The less obvious ones, like elevators (or load balancing), are always interesting.
shadeslayer_ 20 hours ago [-]
This article gives me war flashbacks about a particularly irritating OO design interview from 5 years ago.
tintor 15 hours ago [-]
I am amazed how in US closing elevator doors switch to opening if someone touches the door edge. This results in abusive behavior of people intentionally jamming their arms in the path of closing doors, and delaying everyone else inside the stopped elevator.
rconti 15 hours ago [-]
I like to think I'm reasonably well-traveled, and I've never seen an elevator NOT do that.
However, I think you might be correct about transit systems, where the blocked doors might re-open a small amount before quickly attempting to re-close, to keep the train on schedule and prevent this behavior.
yossi_peti 15 hours ago [-]
The alternative being closing the doors on the person's arm and likely injuring them to avoid a minor incovenience?
slater 15 hours ago [-]
That's the case with most elevator doors, worldwide...? If you put your hand in a closing elevator door, it's supposed to open again.
npodbielski 4 hours ago [-]
How people do such nice animation? Is there is some nice program you can use? I looked and I could not find anything that seemed really easy to use. Llms can sometimes generate something usefull and sometimes something attrocious. I remember few months back article where someone create animation of how 3.5" 1.4MB disk is build, somebody asked about this in the comment and author said it was done mostly by hand. While this is impressive it would be cool to be able to draw some animation for work prestnation that looks nice but also so I do not have to spend 3 days crafting something like that. Would be nice to draw few of them in my blog too. Any recommendations?
Tomis02 3 hours ago [-]
Pretty sure this is vibecoded so don't feel too bad.
Quantumhunk 18 hours ago [-]
This is cool, but wondering which tool was used to build those animations?
supportm 17 hours ago [-]
The animation is really cool, how did you make it?
itunpredictable 20 hours ago [-]
I didn't realize that neal.fun had some competition.
oeitho 16 hours ago [-]
I am wondering where these more complex elevator algorithms are deployed, because I never see them.
I was recently at a Radisson hotel in Germany where I was tried to summon an car, but none would appear for a long time. I believe that someone was keeping the doors open on their floor to wait for someone. The fact that all the other elevators were passing by in both directions was actually a bit infuriating as well.
At that moment I really wished for an algorithm that would recognize when an car spent a significant amount of time on one floor and then reassign the other floors to a new elevator.
elisbce 7 hours ago [-]
This article didn't consider two very important optimizations: 1. Odd-even split with all-floor backup. 2. Low/High floor split.
kazinator 18 hours ago [-]
Over the years, I've witnessed numerous instances of poor elevator behavior:
- Two elevators ascending and descending in near lock step, in a two-elevator building, effectively reduced to one elevator.
- When going in a different direction from the requested one (e.g. called elevator to go up, but actually going down), the doors wastefully close, open and close again. Seen this in many elevators.
- At 3 a.m. you take the elevator to a parkade, like to get something from a car. When you return to the elevator a minute later, it is gone; it spontaneously moved away even though nobody is using it but you.
rrr_oh_man 10 hours ago [-]
> Another metric you can track is journey time, how long you're actually waiting in the elevator before getting to your floor. RSR and LOOK have different characteristics here as well but that's beyond the scope of this article.
AAAAAAAAAAAH. WHY.
crabbone 17 hours ago [-]
The question about designing elevators used to be the mainstay of programming job interviews. I had an annoying interview where I was asked, for the umpteens time to design an elevator. I already made up my mind at the time, knowing I'm not going to work for the company, but decided to have a... unexpected approach.
So, for instance, I didn't measure the elevator's efficiency in the wait time. I included (weighted) travel time. I assumed LOOK algorithm was used. And then when I tried to calculate various outcomes for different trips I suddenly realized that elevator's efficiency and fairness seem to go different ways.
Without trying to reproduce my evaluation system, here's my finding in fewer details: if you have two passengers, one going from the ground floor to the top floor and other joining for the shorter ride down in the middle, then the elevator that makes a "detour" is more efficient, but it hardly seems fair that the passenger traveling ground floor to the top should go even a single floor in the opposite direction.
Somehow, until that point, I lived with an illusion that the most efficient solution to a problem must be the most fair to every participant. Discovering this counterexample sent me on the "tour of discovery" of ethics and different philosophers who contributed to it... and while in the end it made me none the wiser, I'm happy to have discovered this field.
As someone who lives in a penthouse, elevator’s frustrations are real struggle especially in rush hours, because the elevator has to travel dedicated to you rather than you piggy backing on one that is already going up or down.
mallory854 19 hours ago [-]
This is super interesting. I've always wondered how the complicated things work!
danielvaughn 19 hours ago [-]
I've always wondered about elevator algorithms. This is awesome.
quietsegfault 20 hours ago [-]
I love elevator simulations.
gosub100 20 hours ago [-]
Maybe I missed it, but the algorithm should also redistribute empty elevators that stop too closely to each other.
moralestapia 20 hours ago [-]
>All this technology just to underperform the S&P
My takeaway is that the benefit of using a much more complex algorithm is marginal.
cubefox 20 hours ago [-]
> Everyone has shared the frustration of waiting for an elevator that never seems to arrive.
Really? Maybe I'm lucky I never had to deal a lot with elevators.
KomoD 15 hours ago [-]
I can’t say I have. The only two times I’ve been frustrated with an elevator were when I was inside one and the doors wouldn’t close, and when someone had pressed the emergency stop, so I couldn’t use it.
DoneWithAllThat 18 hours ago [-]
Having gone to many large furry cons(notoriously brutal on the elevators due to how much floor-to-floor traffic there is compared to other usage) I’ve seen these algos basically completely fail to adapt to unusual patterns. I once spent over half an hour on checkout day, in a hotel with 8 banks, to even have a car stop on our floor at all. Can’t really blame the algo for such a unique situation and at the end of the day a saturated system is a saturated system and nothing can be done to make it fast, but it’s always interesting to witness when a system is completely unable to accommodate a demand like that.
(In the example above we gave up and decided it was cardio time, five laps up and down 14 flights to escape with all our luggage.)
hnrprtlpdb 21 seconds ago [-]
[dead]
jmyeet 20 hours ago [-]
This is a good article. It reminds me of a story.
At a previous employer we had heteregenous elevators. In one bank, some went to the lower half of floors only while others went to all and the company installed a "smart" elevator system. I kind of became known because I was constantly yelling about this system in the feedback group because I hate "smart" elevators and and (IMHO) they just don't work. What actually works is express elevators and sky lobbies.
This article covers one of the deficiencies this system had: full elevators. For example, you'd want to go down and an elevator would skip your floor because another had already been assigned. That one would show up full and you couldn't go down. Down wasn't so bad because the stairs weren't a bad option but up was terrible. Going up a few floors was fine. Going up 20 was... a bigger issue.
Back in the day we had elevator operators and people in the lobby during the morning rush who would shepherd people into particular elevators. I actually think this system works way better than anything technology has come up with. Even if you nail the implementation (and I've never experienced elevators that have), people don't read and will just get into elevators anyway.
Anyway the article says that generally speaking on smaller banks simple up and down buttons work best. I absolutely agree.
There's a deeper issue here though and that is solutions looking for a problem. Nobody is making money from up and down buttons. They are fromn selling smart elevator solutions. And you see this everywhere in life. It basically devolves into rent-seeking behavior. Salespeople wine and dine a couple of people responsible for making decisions and then make bank on selling something nobody wants or needs as well as the constant maintenance and updates.
socalgal2 3 hours ago [-]
According do this video, some of it is I guess regulatory capture? (my memory of that video might be bad)
> people in the lobby during the morning rush who would shepherd people into particular elevators
That's what the no-button elevators with the kiosk does.
nc55g3g 2 hours ago [-]
[dead]
hn3ufz62f7 1 hours ago [-]
[dead]
yucongchen 18 hours ago [-]
[flagged]
mito88 20 hours ago [-]
did he factor in the lifting speed?
cpuguy83 19 hours ago [-]
Enjoyed the read, thanks!
Beyond the content, the font, style, etc made it a pleasant experience for me.
OJFord 20 hours ago [-]
I think this comparison is also assuming the distribution of request & requested floor is uniform? When actually near pairs are less likely (I'll just take the stairs) than bottom to top, so even analysing it is more complex than at first glance.
A cool connection is that a spinning-disk hard drive (HDD) is actually kind of like one really long elevator, just wrapped around a spindle instead of perfectly vertical. The SCAN algorithm is actually a disk-scheduling algorithm!
https://en.wikipedia.org/wiki/Elevator_algorithm
I don't know why, because they all look fine to me...
I wonder if this is an artifact of how the author used random destinations. I worked in a building that used Destination Dispatch, and the common travel pattern seemed to be:
- Everyone who is not on the ground floor generally want to go to the ground floor.
- People who are on the ground floor generally travel in large groups to the same destination.
This happens because people who worked on the same floor often leave for lunch at the same time, and return at the same time to the same floor. Destination Dispatch helps in this case because it's batching large groups of people with the same destination.
Ideally a new elevator installation would have a trial period where they record usage and then run it through a simulator like this to determine the optimal strategy for that particular building. And you'd want to re-run it every once in a while as the building tenants/usage changes. I wonder if this actually happens, though.
There's a tricky problem here: as a user, the first thing you do upon discovering a new elevator, especially if you expect to be using it regularly, is to observe how it behaves and adjust your own expectations/behavior to it.
In the simplest sense, I've seen this tied into security gates so as people badge on when entering the building there's already suitable elevator movement to meet demand by time the foot traffic reaches the lift lobby. That can then also feed into destination dispatch if you move from just people counts to identity (and known/most likely work floor).
From there you can move into wifi trilateration and have a live and quite accurate view of both how and who interacts with a physical space. This can feed into HVAC load shedding, JIT bookings for meeting rooms or workspaces, and a lot of very good things from a sustainability and general optimisation perspective. The flip side is it also has the potential to be an absolute dystopian privacy nightmare.
Privacy is an illusion for most people, and in office spaces, it's also a red herring. Wifi trilateration doesn't make things worse when you have a CCTV camera on every corner, badge reader at every other door, and presence sensing in conference rooms. Dystopia does not materialize without a severe regime shift.
Nah, my main worry is precisely sustainability and optimization, i.e. cost-cutting, because the more tools you give a business to optimize, and the more bullshit excuses ("sustainability! saving the planet!") you give a business, the worse the outcome is for users (here: employees). And a lot of that is doubly annoying, because it's counter-productive.
So what you have smart sensors in every room, and combine it with badge readers and wifi trilat and what not, and have smart auto-routing/rebooking algorithm: half the week, all conference rooms are always booked full, and yet somehow when you physically go and check, a good half sits empty, and it's apparently an impossible problem to solve.
So what the bathroom wall says, "with water-saving fixtures, we're using much less water in this building", and "we're now saving 2L water per flush". It's all bullshit, because those eco inventions mean I need to flush 3 times instead of once, and it means that I spend a minute washing my hands instead of 10 seconds - especially because both the soap and the dispenser are also optimized, so it takes 20 seconds to get enough soap on your hands, and then extra 20 seconds to get it off afterwards, because unlike normal people soap, it leaves your hands slippery for some reason.
And then they say "scientists said you can dry your hands with just 2 paper towels". At that point I'm getting red, because yes, I saw that TED talk 15 years ago too, and yes, it's total bullshit. Maybe it was true then, but the industry and the beancounters have value-optimized paper towels 15 times since that.
The generalization and summary of this rant is: slack is good. Happiness lives in slack. There is such thing as optimizing too much. Also the small, isolated systems under optimization, are in reality neither small nor isolated.
Indeed, the Boimler Effect, amongst other things.
I see an analogy, Food : Malthusian catastrophe :: Money : No room for profit in an economy.
I see hotels with the kiosk model changing the UI depending on breakfast rush hour
The first time I encountered Destination Dispatch was in a London hotel, maybe 15 years ago. Anyone unfamiliar with the system would naturally sprint towards an open elevator and end up in an elevator with no buttons, totally bewildered. It's not the right system for a transient population.
Or should it be YORO? You only ride once?
Instead of hitting the call button, you started the request with your floor. Then the system would assign you an elevator (there were 6 cars as I recall).
I assume this gave the system more accurate routing data to make it more efficient for everyone.
I just visited a new building with destination dispatch, so it seems to be still around.
My EE roommate in college had to build an elevator circuit as a final problem. It was on a bread board and had a bunch of call buttons and had a motor and a clear disk with black squares so it could figure out where it was…. I think it was the simple algorithm…
Yeah, it doesn't make any sense to optimize wait time instead of total time from pressing the button to reaching destination.
In one case, the building was still being commissioned and it took a while for anyone to even realize they were stuck (could spawn a whole discussion about launch processes in itself).
Also the group of people going to or returning from lunch is real as well. The grouping factor happens more at the middle of the day and less at the morning or evening. Primarily because of lunch.
Surprisingly, claude failed to find a good one.
Also, part of destination dispatch (I'm guessing based on experience) removes the 'stopping on every floor problem', so the real test would be total time including wait at that point I think.
I also thought that this is one of the biggest reasons destination dispatch was better.
There are even articles about switching to destination dispatch in office buildings or hotels lead to dramatic reductions in wait time.
I remember this one, it deserves all sorts of praise
but imo, unlike farmer, these games reaaaaly lack the ability to make functions/subroutines
manually doing all the goto loops becomes tiring
I would always get a chuckle out of seeing some poor soul waiting 3 hours to go down a few floors after work, only because I failed to add stairs to the lobby.
(https://github.com/YootTowerManagement/YootTower if you haven't seen one of his messages on the topic before)
Can't believe, that this [0] solution to Challenge #5 actually worked, lol
Challenge #6 is "Transport 40 people using 60 elevator moves or less". Unfortunately docs don't make it clear what exactly counts as a "move".
[0] https://gist.github.com/vovanz/66e4396934ac656a8f8c32fcee43d...
What I take from this is, elevators need a proper check to see if they are full, and if so skip floors.
ICE Condominiums Tower I, Toronto?[1]
> elevators need a proper check to see if they are full, and if so skip floors.
Elevator load measurement is an option you can buy.[2] Somebody didn't. 60 stories with three elevators is underserved, and needs all the control help it can get.
[1] https://en.wikipedia.org/wiki/ICE_Condominiums
[2] https://elevatormotors.com/load-weighing-devices/
It's a tower in Kuala Lumpur btw. Since it is rather hot here and the elevators are not airconditioned, it's extra uncomfortable.
The problem is probably the same as every other super tall building. It was impressive for the potential buyers but designed poorly and this only became apparent after they lived there a while (crappy elevators, probably often defective, building sway, plumbing issues, etc). So the owners started to move out and it’s possible the building is mostly short term rental now.
I don't think I've ever seen a 20-story building with less than 4 elevators at a minimum.
I've worked in low-rise office buildings with no less than 10 elevators.
Seems like that gross deficiency should have been stopped at the city inspector's office before plans were approved.
I would not want to be in that building if an evacuation alarm sounded.
You shouldn't be taking the elevator if you heard an evacuation alarm, but to be sure, you don't want to be an any 60-story building when you hear that alarm.
You are not supposed to use the elevator in emergencies.
why short term/long term stay would matter here?
In the game, some of the elevators are automated, and I wanted to choose an algorithm that best aligned with what players would expect an elevator to do. I ended up going with something close to LOOK, which (as the article states) is mostly what people expect. Except in case of ambiguity, I had it prioritise floors that have been waiting longer, to improve the p90, which is important in the game.
But now, add in these challenges:
- double-deck cabs (where attached cabs cover two floors at once)
- transfer floors between shafts
- express shafts
and the best (or at least, most expected) algorithm becomes much less obvious! I'll leave it as an exercise for the reader to figure out the best one.
Luckily I was in charge of a game, not a real elevator system, so I just had to find a heuristic that was good-enough, and could tweak the rules to let players manually override the elevator's plan if they don't like where it's going. This seems to have satisfied most players.
The first elevator "algorithm", if you can even call it that, that I've ever encountered and that seems intuitive to me, is what Soviet relay logic elevators did. If it's not in use and someone calls it, it goes there. If it's in use, it will collect the calls on its way down (and ignore them on the way up, these had no up/down call buttons). It's surprisingly effective for apartment buildings.
It's super efficient for people who understand the system at the detriment of people who don't, as they get in and mash the middle buttons and get confused that they don't activate
The company where I work occupies an entire office building, so there is lots of travel between floors.
I've never been to China but wouldn't you learn quickly after getting in an elevator going the wrong way not to do that again?
The only exception I can see if there's way more people than elevators and you just need to get spot at all costs.
See also: the keep open / close doors button. I had one building administrator explain to me we should add a delay of 10 seconds to the "quickly shut door" button because otherwise she kept getting her arm hit by the door. When I asked why we would add a delay to the button that's meant to reduce delays (why not simply wait for the door to close on its own, then?), and whether we should fix the sensor that prevents doors from closing if there's an obstacle instead, she just kept staring blankly at me. I don't think she understood me at all.
Again, some people simply don't grasp how elevators work.
"2.3 Non-directional collective Non-directive collective control provides a single pushbutton at each landing. This pushbutton is pressed by passengers to register a landing call irrespective of the desired direction of travel. Thus, a lift travelling upwards, for example, and detecting a landing call in its path stops to answer the call, although it may happen that the person waiting at the landing wishes to go down. This type of control is only acceptable for short travel lifts."
Look up the early history of elevators and you'll see a progression from fully manual in-car up/down controls (often with a dedicated human operator); various semi-automatic systems with minor improvements like automatic leveling and door control; and then operatorless systems that started with nondirectional calls:
https://liftescalatorlibrary.org/paper_indexing/papers/00000...
The reason? Other factors that were important to me!
Examples:
- cost optimisation. I could fly business within company budget rules.
- flight time. I highly valued longer flight times between Europe and the US west coast so I got a proper night's sleep when flying east-bound. Doing connections on the east coast often meant quite short transatlantic flights that arrived very early in the morning. Much harder to manage the jetlag.
- Product offering. Some of the routes from AMS and CDG had much newer planes and cabins.
- Airline alliance loyalty. Given the travel pattern it meant sense to pick an alliance that delivered some value. Irish airlines didn't have much to offer and were much more expensive for a worse end to end product.
As for button pressing: https://en.wikipedia.org/wiki/Cargo_cult#As_a_metaphor
I have to assume this is a cultural difference and you just don't have those indicators where you live, rather than "slightly moving my eyes is too hard, better make my problem into somebody else's problem"
It's probably just the old 'fake loader' psychology, to be honest. Waiting without knowing when the elevator will arrive is boring/frustrating, where getting into an elevator that moves, even if the wrong direction, feels like progress.
Things are happening, and even if it takes longer ultimately that's a less frustrating state to be in.
Like let's say elevator is at 5, I am at 1 wanting to go to 3, and before I arrive there is already someone else at 1 wanting to go to -1.
I'll get in with them going DOWN so that it doesn't have to stop a 2nd time on the way up.
There are also other situations where I'll press it in the wrong direction if I think it's already likely to stop on the way down (due to me being on a popular floor) to save an extra stop on the way back up.
Although I guess that's not quite what you're talking about.
- rooms are all booked
- young furries usually share one room with 4 or even up to 6 friends
- more guest room-lobby-ballroom traffic
- far more inter-guest-floor traffic than their usual tourists
- one full-suit furry take 1.5-2 human's space
Their elevators are not designed for this scenario and got overloaded all the day. Queueing for tens of minutes is not uncommon.
Also, any spiritual successors to Sim Tower needs to include furry-con as a disaster scenario.
It might be fun to revisit. The game was actually of Japanese origin.
The Digital Antiquarian just wrote about it the other week:
https://www.filfre.net/2026/07/the-life-and-times-of-maxis-p...
(Part of an ongoing multi-part Maxis article, SimTower is halfway down in this part 2.)
The origin story:
”As Yoot Saito would be the first to tell you, the rest of the game was really born out of his odd fascination with elevator systems.
> ’Late one night, I was waiting in my building’s lobby for an elevator. There are two cars in my building’s shaft. I pushed the button, but instead of the closest car coming to my floor, the farthest car arrived first. In my usual questioning way, I asked myself, “What happened here? How are these cars logically synchronized?” That was the beginning of SimTower.’
An example iirc was waiting for luggage at the airport. It takes min of x minutes for the first bags to show. In one version, passengers went directly from the gate to the luggage carousel and waited x mins for the first bag → unhappy. Then the airport decided to add a long, round-about "walk" path from the gate to the luggage area that burned some of those minutes → same total "wait" but happier passengers.
If I have to walk to the luggage area 10min and wait another 10min for my luggage it's not the same as if i walk 5min to the luggage area and wait 15min for my bag.
Yes, total time is the same but one scenario is acceptable because it feels inevitable and is under control (cannot personally move across space/time faster) the other is not because it feels like it could be improved (staff could unload bags faster).
In this example, the passengers are still waiting while moving (the wait for luggage is 20 minutes either way), they just don't perceive that portion of the waiting as intolerable.
Bringing it home to elevators, the situation is pretty much the same, only in reverse: someone who waits 2 minutes for an elevator and 1 more once aboard it to get to their floor, likely perceives their 3 minute total wait as less tolerable, than if they waited 1 minutes for the elevator plus another 2 once aboard.
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!"
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.
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.
(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.
Or I guess you could do long-press to turn off or something if you're worried about confusing people, but I really don't think that should be necessary. We know how toggles work. The button lights up when it's on.
It works fine, but people's reaction on hearing this is always interesting, ranging from:
- enthusiasm: that's awesome everyone should do that
- skepticism: that seems like a terrible idea, people will un-press your floor and chaos will follow
- denial: you didn't see that
- cultural / racist: that would never work in <name your country> it must just be because Koreans are <random cultural conjecture>
More examples:
https://www.youtube.com/watch?v=JzC5Bpz-PkQ
https://www.youtube.com/watch?v=xYtsNxzDR50
That's my point. The attack goes away if you can un-press buttons.
1. https://en.wikipedia.org/wiki/The_Intuitionist
Of course, user error is also a factor, so this isn't accounting for people not understanding how to use it and making things worse that way.
(I've never encountered destination dispatch myself, so I'm not really sure how it works in practice)
Sometime during Covid, the metal buttons were replaced with glass touch screens – which are totally unreadable on sunny days, because in our stunning glass-ceilinged atrium mezzanine they sit directly in sunbeams[0]. So now you have to walk up to the kiosk, shade it with your body, and squint at the screen to make out where to touch it.
[0] http://www.angel.net/~nic/photos/elevators.jpg
But yes, this seems like a case of "unfortunately, people".
Forcing functions that dump people into well defined funnels can have such a high net positive effect it more than makes up for theoretical losses.
It's like narrow, hard road bike tires losing performance because of deflection from rough road surfaces and how long it took designers to factor that in to real bikes.
Apparently, the fastest known way to fill up a plane in real-life conditions is to let people board in random order, without pre-assigning a seat.
Efficient elevator algorithms will often suggest moving an elevator into a preempted positioning strategy, based on time of day or peer elevator positions. The scheduler might move an elevator up to offset one coming down, for example. The demand-signal algorithms at least minimize movement in this way.
I think minimizing maintenance at the cost of increasing wait times is probably an important balance to get right. No doubt, the cost owners for maintenance are not going to perceive the wait time of passengers to be as important.
As someone often using destination dispatch, I am inclined to think after the elevator arrives, you get to the destination more quickly than RSR or LOOK because it’s optimised everyone to the same floor (less stopping)
So it may be a case of more waiting in the lobby but less in a claustrophobic box, which I’ll happily take
They have three elevators, but pressing one button only calls that specific elevator. So everyone presses all three buttons, meaning the three elevators basically turn into one.
I don‘t understand how this was ever signed off, but I‘ve seen it multiple times now...
In general my understanding is that every single cab is unit that can operate alone separate from any others. Then these are grouped together to operate more efficiently. But this is feature you need to buy. Going too cheap someone might choose not to.
I figure something like a simple weighted ratio of car color = { 1.0: car fg color, max(1,speed^0.1)-1: shaft bg color } would do, so that 2x only shifts the color 7% towards the background color, but 500x shifts the color 86% towards the background color — and a stationary elevator can fade in from 86% bgcolor to 0% bgcolor over a few ticks as it sits there.
I recognize that for most of us, the flashing elevators blur into motion blur, but I can see individual frames at 120fps and while I am not seizure-sensitive to high-contrast flashing, I imagine those folks would appreciate you going the extra mile to reduce contrast at higher velocities, too.
There’s something so satisfying about watching a machine just dutifully work through queued tasks like this.
> After my lecture, a Maxis employee who shall remain nameless buttonholed me. "You guessed right," she said. "Sim Tower was built around a real elevator simulation program we bought from a Japanese guy."
https://web.archive.org/web/20090916193335/http://www.gamasu...
https://store.steampowered.com/app/423580/Project_Highrise/
Tbh, while I bring up Project Highrise whenever someone mentions SimTower, I did always feel like it was missing something. Something always felt slightly soulless about Project Highrise.
https://archive.org/details/elevator_nes
Even at that relatively reduced level of complexity, it's quite tricky to figure out how to prioritize who gets served when.
I wonder how do elevators find out if the car is full or not.
I once been to an office building where it obviously didn't work properly.
I needed to get down from a pretty high (15+) floor to the bottom during the evening rush.
The elevator got full immediately but still stopped almost on every floor on the way down.
Each time an awkward scene ensued: a huge crowd of people outside elevator just standing and looking at the crowd in the elevator. Everyone has to just wait pointlessly.
I can see how that could be challenging when people get off on intermediate floors, making a full car available again, changing status. And, if 3 people are waiting and there is room for 1, should it stop or not? Etc.
My favorite takeaway from this is how simplicity often beats complexity.
I visit a building sometimes with destination dispatch elevators, and with low exposure across multiple years I'm confused every time the elevator I need to take is open behind me.
I once used the paternoster lift in Germany, beats any elevator algorithm efficiency because it's a non-stop "conveyor" with no doors. I still get nightmares about that elevator.
Just ride to the floor I have access too, stay in while the doors close, and it would take me to a random floor. Push open door and voila I was on some random corporations private floor.
> The state of the world 30sec after you called your elevator might be very different but the system is unable to adapt. Turns out the loss in flexibility is not worth the extra information for the optimizer.
Very interesting. I am on a 30 flr 8 car today so guess it made sense for Destination Dispatch. It does mean there is rarely a full elevator and usually 3 stops max allowing it to go fast to high floors.
Other things I thought could factor in elevators is shopping trolleys: both customers and trolley collectors. One level will have people coming in with full trolleys and almost always the other levels will not. I don't think elevators really care they just fill up and you need to call another one.
Also prams but they are 2-way.
I would have never thought there were so many challenges behind a car moving up & down.
This industry is so niche and peculiar.
Elevator trip scheduling is one of the many challenges. Really a great experience so far
I work in a building with Destination Dispatch elevators so I'm used to them. I have the opposite problem where I'll get into a normal elevator and just stand there without pushing anything.
I swear no matter if it was busy or not, it seemed like everyone was assigned to the same one or two elevators. The wait was always so long too, I used the stairs most of the time if just going <6 flights.
Someone besides RCCL needs to study that algorithm.
I want something similar for advanced sensor stop lights...
I've long toyed with creating an elevator simulator game, but every time I build a prototype I realize it's not that fun to manually dispatch elevators, and playing with algos only goes so far! Elevator Saga is great for the programming side: https://play.elevatorsaga.com/
On a related note, could someone please design continuous spiral escalators with horizontal sections at each floor?
0: https://en.wikipedia.org/wiki/Paternoster_lift#Safety
https://elevation.fandom.com/wiki/Sabbath_service_(SHO)
What I find annoying though is you clunkily go click a floor then clunkily wait then clunkily walk over to the elevator assigned which may or may not be on the other end of the space. Also another interesting thing I've seen is that it seems in my case the distance from destination selection and elevator assigned seems to reduce at times when the office is emptier so that too seems to def be accounted into the algorithm.
Unless you're a hotel. Then the timing is flipped: Wait in a distributed manner in the morning/mid-day, gather on the floor in the evening.
It could also be that you and I simply aren’t privy to what is actually happening “the instant” you are waiting for the elevator.
…which makes me wonder how often the firmware in these get updated. Assuming it’s not just a pile of ancient relays and stuff. And if, when they do get updated, the algorithms get improved. Or if the algorithm is something that gets sold to the building and “upgrading” is an actual purchase.
Anyway, I could get a little LLM buddy to look it all up but where is the fun in that?
https://jslandy.com/elevators/
[1]: https://clarkmoody.com/Moody_AgentBasedElevatorControl.pdf
My guess is whoever hinted at that didn’t fully understand what they were taking about.
Very form over function.
Didn’t anticipate that my day would be bookended by relating to and empathizing with the plight of the elevators while I wait for one in a tall corporate building.
Pressed the kiosk some time ago but watching the sun begin to arc towards setting it does appear the world can change a lot in 30 seconds.
https://github.com/tlaplus/Examples/blob/master/specificatio...
Another interesting, and underrated one: hotel keys.
I stayed in a hotel with these. It was horrible. Most people didn't figure it out, would get in the wrong elevator, and just get lost in the building.
Sounds like destination dispatch would work better if it didn't tell you which elevator to get into until the elevator arrived.
EDIT: already being discussed in the thread at https://news.ycombinator.com/item?id=49125423
claude could recreate it in unity in about 10 minutes. now ticked it off my "want to code" bucket list.
The simulator seems to have passengers spawning on a random floor and then transiting to a different random floor. But for where I work, the trips are pretty much always from the lobby to a floor, or from a floor to the lobby. Nobody goes inbetween floors except maybe the cleaners.
0: https://news.ycombinator.com/item?id=35152341
1: https://computer.rip/2023-03-13-the-door-close-button.html
Using such a primitive elevator gave me a newfound appreciation for the complexity of modern designs. The queueing algorithms are subtle but clever, and the difference in efficiency is instantly obvious once you've dealt with the alternative.
That will need planning and assignment I guess? But at what load figures does it become more efficient?
Them elevators are able to see into the future to be there even before we call them. Come on!
For example, some elevators allow adjusting the door closing/opening speeds etc., I'd be curious what other things can be adjusted.
Now maybe I can beat that game!
1. https://www.dosgames.com/game/elevators-from-hell/
I love this by the way.
The core problem: elevators are frustrating for many reasons, and that frustration often manifests as hidden blame and hate towards other fellow passengers. Like, IDK, I'm sitting there with a stroller and a kid on floor -1, trying to get to the train platform at floor 0, but the elevator isn't coming because it's going back and forth between 0 and 2 and 3, as people who came by cars shuttle their luggage to and from the parking lot. As a city dweller and non-car person, I can feel my hatred towards cars and drivers bubbling up right there.
I imagine the same is felt by them if I manage to snatch the lift and go from 0 to -1, when they'd really love to already be on +2.
There's many other cases. Mall problems are different than train station problem, different than tall residential building problems, different than office building problems. Destination Dispatch is its own special thing, with its own special psychological twists. But two things I observed in general are:
- If there is a control element available, you will blame people for using it (even internally). Like, "I'd be there a minute ago if not for this damn XYZ who just had to press the button at exactly this time, and they weren't even going in this direction!"
- If there is an indicator element available, people will optimize around whatever it shows.
Like, someone gets at floor N, sees most of the buttons between there and their destination M lit up, immediately presses N+1 to get off there and call another elevator. But if the buttons are visible enough from outside the lift, they may just not get in in the first place, saving themselves and the others time and trouble, etc.
The more I think about it, the more I see that placement of buttons and indicators in the lift is in itself an UX engineering problem with unusually high impact of every decision on well-being of the users.
EDIT: Also ironically, and in line with my feeling that Star Trek got more things right than people give it credit for, a lot of elevator problems - both scheduling and social/psychological ones - would be solved if elevators just moved faster, like 2-4x faster than now, and also in some cases, also moved sideways. I.e. turbolifts.
(That, and if it didn't immediately led to the building owners putting less of them. So put another way: frustrating lifts is the sign of building owners/designers cheapening out.)
Deviant Ollam on Elevator Hacking https://youtu.be/ZUvGfuLlZus
They have to be built a certain way, and need super fancy dispatch algorithms.
I watch it like once a year because it always tickles some part of me. Like all the different modes you can get an elevator into. The most fancy one people might encounter is when moving into or out of a building. The front office can give you a key to give exclusive control over an elevator so your movers aren’t waiting around on elevators. Put it in that mode and it will stop responding to calls from other floors. Only the person with the key can control the elevator. You get on, select the floor, door closes elevator goes, and then just chills there with the door open waiting for you. Annoying for the rest if the building (the building is down an elevator when in that mode) but is amazing for the person using it! But there are way, way more depending on the installation and function.
Fun fact: most elevator shafts are sealed at the top as tight as possible to prevent them from becoming a giant chimney in a fire. It never even occurred to me until I was in a mechanical room wondering “where is the hatch to look down the shaft?” The answer is “there is none, and it’s a feature not a bug.” You want to block all airflow so fire doesn’t chase up the shaft into neighboring floors. Who knew!
Level 2: Traffic lights, graphics (2D arrays)
Level 3: Flight control, simulations (3D arrays)
Level 4: Satellite tracking, virtual worlds (4D arrays)
...
So many problems can be cast to arrays to be solved with various linear algebra.
Considering LLMs are "Level 1000+" puzzles in this analogy, I wonder if every problem could be represented by an n-dimensional vector and solvable with algebra.
They at least make great interview questions - Tic-Tac-Toe is commonly given, but is obvious. The board already "looks" like arrays. The less obvious ones, like elevators (or load balancing), are always interesting.
However, I think you might be correct about transit systems, where the blocked doors might re-open a small amount before quickly attempting to re-close, to keep the train on schedule and prevent this behavior.
I was recently at a Radisson hotel in Germany where I was tried to summon an car, but none would appear for a long time. I believe that someone was keeping the doors open on their floor to wait for someone. The fact that all the other elevators were passing by in both directions was actually a bit infuriating as well.
At that moment I really wished for an algorithm that would recognize when an car spent a significant amount of time on one floor and then reassign the other floors to a new elevator.
- Two elevators ascending and descending in near lock step, in a two-elevator building, effectively reduced to one elevator.
- When going in a different direction from the requested one (e.g. called elevator to go up, but actually going down), the doors wastefully close, open and close again. Seen this in many elevators.
- At 3 a.m. you take the elevator to a parkade, like to get something from a car. When you return to the elevator a minute later, it is gone; it spontaneously moved away even though nobody is using it but you.
AAAAAAAAAAAH. WHY.
So, for instance, I didn't measure the elevator's efficiency in the wait time. I included (weighted) travel time. I assumed LOOK algorithm was used. And then when I tried to calculate various outcomes for different trips I suddenly realized that elevator's efficiency and fairness seem to go different ways.
Without trying to reproduce my evaluation system, here's my finding in fewer details: if you have two passengers, one going from the ground floor to the top floor and other joining for the shorter ride down in the middle, then the elevator that makes a "detour" is more efficient, but it hardly seems fair that the passenger traveling ground floor to the top should go even a single floor in the opposite direction.
Somehow, until that point, I lived with an illusion that the most efficient solution to a problem must be the most fair to every participant. Discovering this counterexample sent me on the "tour of discovery" of ethics and different philosophers who contributed to it... and while in the end it made me none the wiser, I'm happy to have discovered this field.
My takeaway is that the benefit of using a much more complex algorithm is marginal.
Really? Maybe I'm lucky I never had to deal a lot with elevators.
(In the example above we gave up and decided it was cardio time, five laps up and down 14 flights to escape with all our luggage.)
At a previous employer we had heteregenous elevators. In one bank, some went to the lower half of floors only while others went to all and the company installed a "smart" elevator system. I kind of became known because I was constantly yelling about this system in the feedback group because I hate "smart" elevators and and (IMHO) they just don't work. What actually works is express elevators and sky lobbies.
This article covers one of the deficiencies this system had: full elevators. For example, you'd want to go down and an elevator would skip your floor because another had already been assigned. That one would show up full and you couldn't go down. Down wasn't so bad because the stairs weren't a bad option but up was terrible. Going up a few floors was fine. Going up 20 was... a bigger issue.
Back in the day we had elevator operators and people in the lobby during the morning rush who would shepherd people into particular elevators. I actually think this system works way better than anything technology has come up with. Even if you nail the implementation (and I've never experienced elevators that have), people don't read and will just get into elevators anyway.
Anyway the article says that generally speaking on smaller banks simple up and down buttons work best. I absolutely agree.
There's a deeper issue here though and that is solutions looking for a problem. Nobody is making money from up and down buttons. They are fromn selling smart elevator solutions. And you see this everywhere in life. It basically devolves into rent-seeking behavior. Salespeople wine and dine a couple of people responsible for making decisions and then make bank on selling something nobody wants or needs as well as the constant maintenance and updates.
https://www.youtube.com/watch?v=Or1_qVdekYM
That's what the no-button elevators with the kiosk does.
Beyond the content, the font, style, etc made it a pleasant experience for me.