Catch up on stories from the past week (and beyond) at the Slashdot story archive


Forgot your password?
Math Software Hardware Games

One Cool Day Job: Building Algorithms For Elevators 203

McGruber writes "The Wall Street Journal has an article about Theresa Christy, a mathematician who develops algorithms for Otis Elevator Company, the world's largest manufacturer and maintainer of people-moving products including elevators, escalators and moving walkways. As an Otis research fellow, Ms. Christy writes strings of code that allow elevators to do essentially the greatest good for the most people — including the building's owner, who has to allocate considerable space for the concrete shafts that house the cars. Her work often involves watching computer simulation programs that replay elevator decision-making. 'I feel like I get paid to play videogames. I watch the simulation, and I see what happens, and I try to improve the score I am getting,' she says."
This discussion has been archived. No new comments can be posted.

One Cool Day Job: Building Algorithms For Elevators

Comments Filter:
  • by Anonymous Coward on Saturday December 01, 2012 @04:02PM (#42156255) []

    * Thought that might "pique" a few folks' interests...


    P.S.=> However - I'd wager that MOST of you know about this though... Especially the "hardware heads" into hard disk drives!

    ... apk

  • by GoodNewsJimDotCom ( 2244874 ) on Saturday December 01, 2012 @04:08PM (#42156303)
    I just realized something else, everyone would be playing with the elevator even more if it talked to you... so maybe it isn't a good thing to emit a sound... Maybe just call security.
  • Re:Mathematician? (Score:5, Interesting)

    by Samantha Wright ( 1324923 ) on Saturday December 01, 2012 @04:19PM (#42156397) Homepage Journal

    A professor once described to me an elevator system at his former place of employment that used machine learning to try and anticipate where the elevator should be when not in use. At the start of the day, for example, the elevators should rest on the ground floor, so that they can collect people going up; similarly, toward the end of the day, they should rest at the top, since the overwhelming majority of people would be going down.

    In a real-world setting you may have other phenomena that actually need to be learned, such as different groups taking lunches at set times of day, large meetings that cause several floors to congregate on one, et cetera. This problem can be considered from several different angles within ML; either as a regression problem or classification, for example.

    Speed also needs to be optimized not just based upon the desire to reach the destination quickly, but also considering the rate at which the mechanisms will wear out, the energy consumption caused by more rapid movement, and to encourage people to use the stairs.

    Given the potential complexity of how many parameters and models can potentially be considered... yeah, you want someone with a serious background in applied optimization, statistics, or artificial intelligence.

  • by westlake ( 615356 ) on Saturday December 01, 2012 @04:21PM (#42156413)

    I've been looking for a more sophisticated follow-up to SimTower for a while now. I'd buy Otis Elevator Tycoon.

    This gets modded up as a joke, but the interaction of tech and people within a mega-structure seems to me a solid foundation on which to build a game. But I can think of only Sim Tower and Startopia as examples.

  • by Sir_Sri ( 199544 ) on Saturday December 01, 2012 @05:04PM (#42156623)

    That's an undergraduate level general optimization problem.

    The one in TFA is a graduate level optimization under a particular set of data constraints. So the generally optimal algorithm for elevators has to a assume a random distribution of people to be picked up and destination floors (head is in a random location wants data from some other random location) - but in practice you may be need sequential access or the like. With elevators, I would expect that in mornings in residential buildings people want to empty out so the 'resting' point would to close to 2/3rds or 3/4ths of the way up, but in the evenings it would be the reverse direction, and business would be the reverse of residential. Schools have a somewhat more random use of bursty every hour up and down, and really big businesses may want dedicated elevators between floors shared by particular companies because there's a lot of daily movement within the floors of a company but not so much outside their area.

    Lunch of course adds another complication.

    There's a lot of neat work into simulating the data for a building that doesn't exist yet, or measuring the data for a building that exists but has a bad algorithm. And then trying to tailor your elevator to the specific behaviours that actually exist.

  • by plover ( 150551 ) on Saturday December 01, 2012 @05:35PM (#42156799) Homepage Journal

    Actually, long ago I remember reading the story of SimTower, and it actually started out as an elevator simulator research tool! It turned out that the simulator was so much fun to play that someone had the bright idea to morph it into a video game.

  • by udachny ( 2454394 ) on Saturday December 01, 2012 @05:52PM (#42156903) Journal

    There are so many different algorithms for hard disk seek, read and write functions that I think it would be a complete waste not to look at them when creating an elevator algorithm. Look it up, I think it's all there.

  • by ShanghaiBill ( 739463 ) on Saturday December 01, 2012 @07:21PM (#42157487)

    So the generally optimal algorithm for elevators has to a assume a random distribution of people to be picked up and destination floors

    It seems to me that assuming a poisson distribution []) or other random distribution, is a bad assumption. Passengers would be likely to arrive in clumps as meetings ended or buses arrived, and some destination floors would be far more popular than others

    One thing that would help, but I have never seen, would be a way to cancel a button push (either the call button, or a floor button inside the elevator). Buttons are often pushed in error, resulting in wasted time.

    I once heard a funny story about an engineer assigned to optimize an elevator system. The building supervisor had received numerous complaints about the elevator delays, so he told a young engineer to fix the problem. The engineer tried several adjustments, but still had just as many complaints. So he had mirrors installed next to each elevator, so people could adjust their hair, tie, clothing or whatever while they were waiting. Since people now had something to do while they were waiting, most of the complaints stopped.

  • by Anonymous Coward on Saturday December 01, 2012 @08:54PM (#42158041)

    Is that the resting place of the diskdrive head probably doesn't vary (like you describe for start of workday, lunch, & of course, quitting time - moving it to the most optimal spots during certain daily time periods).

    Afaik? The HDD tends to try to keep the read-write heads in the CENTER of the disk (or rather, center of the filemass (moved to outermost fastest tracks with defraggers for fastest access/seek due to larger rotational diameters)).

    You can't "move" the MFT$ (master file table) & certain other system files during usermode after all!

    (At least NOT during usermode access to accomodate for times it *MIGHT* be different for differing work patterns (say you work @ home, & do your work the 1st 8 hours you wake up, & then the rest is family usage, your leisure, etc./et al)).

    However, with NTFS & probably other modern filesystems?

    MFT$ is placed in the MIDDLE of the "filemass" though for "optimality", since it's needed for file accesses of any kind (time of access stampings too, etc.) & then binary search patterns (like NTFS uses in b-tree seeks) do the rest!

    I find this algorithm pretty amazing & VERY "common-sense", & that elevator algorithm & its variants, do one hell of a good job on QUEUEING UP REQUESTS, & then issuing them in the order the disk drive head passes over the areas concerned, in the most efficient order possible.

    1 of its variants use 2 buffers (1 = currently being serviced requests, & 2 = upcoming requests to service): THIS seems like the smartest way to go about it imo @ least.

    * Anyhow/anyways - I didn't think you were being a jerk, I hope you feel the same way regarding myself...

    (Actually? I thought you offered some decent enough points, but you MUST ADMIT, the algorithms here are AMAZINGLY similar & I didn't SAY they were the "exact same" either)

    Plus - I'd wager since the one for HDD's is named "Elevator Algorithm", the harddisk folks GOT THE IDEA from folks like this lady!


    P.S.=> Lastly - Sorry: Not "graduate level student"/postgrad/postdoc etc., in CSC!

    I got the AAS 60 credit hours outta the way & went to work in the field as a programmer back in 1994 onwards!

    (I've been "chipping away @ the stone" since then, & am 90/120 credit hours into the B.S. in CSC currently, taking coursework here and there as time & money permit)...

    ... apk

  • Re:Noooooo! (Score:2, Interesting)

    by Anonymous Coward on Saturday December 01, 2012 @10:44PM (#42158585)

    Elevator pseudocode is the heart of many a CS course. And CS courses were promised to be devoid of practical application.

    Little known fact--if you are on a moving elevator and start to force the doors open, it will stop in between floors. Just don't try to get out when the elevator floor is high enough above a building floor that the shaft is exposed. How do I know? In the words of my roommate, I was shafted, literally -- fell into the shaft on the 14th and caught my self on the cables level with the 11th floor doors. My partner (in elevator hacking) quickly ran down the three flights of stairs, I was able to swing over, release the door catch and he opened the doors so I could swing out of the shaft...

    As I was falling, my partner claims that he shouted "Nooooooo!", but I never heard him, I guess my reflexes were too busy getting a grip on the control cables?

COMPASS [for the CDC-6000 series] is the sort of assembler one expects from a corporation whose president codes in octal. -- J.N. Gray