Generic Algorithm For Elevator Operations Software For 'N' Floors

I want to post this as a challenge to all CEans. Can we come up with a generic algorithm for elevator operations software; for a building with 'N' floors? Let's make this more complicated with following extra parameters:-
  • There are X number of elevators.
  • There are Y number of floors were no elevator can stop.
  • There are 'f' numbers of elevators non-functional; where f < X (obviously).
Make your own assumptions about how the preferences of picking up the passengers are set up.
PS: I haven't verified whether the problem is 'sensible'. Just dumping it right out of my mind 😀

Replies

  • Ramani Aswath
    Ramani Aswath
    In Texas, US, I found a building where the elevators are controlled in such a way that one which is going down will come up a couple of floors if some others are going down at the same time to minimise waiting time for the caller above. This does not happen if some other elevator is on the way up. I do not think that this is a Texas speciality. Only that I had to spend about a month there on a technical visit.
    Also there is an annunciator that tells which elevator is coming to that floor and which way it is going.
    There appears to be a dynamic look up table of request location and requested function (go up or down) and location and direction of movement of various elevators.
    The algorithm seems to calculate a priority function and deploys the elevators.
  • Dancer_Engineer
    Dancer_Engineer
    The_Big_K
    • There are 'f' numbers of elevators non-functional; where f < X (obviously).
    #-Link-Snipped-#, I didn't get this point.
    Why would the elevators be non-functional? What purpose would it serve?

    The elevator in the building where I stay operates on a similar algorithm as mentioned by Ramani Sir.
    I wish it had the Texas elevator specialty. 😁

    Is it possible that there are elevators which would only operate between a certain range of floors? For example: Elevator 1 would operate between podium and floor no. 10. Elevator 2 would operate between podium and floor no. 20, and ofcourse elevator 2 will not stop on floors 1 to 10. Probably this could reduce the wait time of an user.
  • silverscorpion
    silverscorpion
    ^^ In that case, people who need to go from 1st floor to the 15th floor will need to switch elevators at 10th floor. So, they need to kind of wait twice..

    Instead, we can have one elevator covering all even numbered floors and another covering all odd numbered floors.. This way, people can know which elevator they need to take, based on their destination floor. If we have more than 2 elevators, the aim would be to group the floors accordingly, so that all floors are reachable from all other floors, and also the number of floors covered by a single elevator is minimized.

You are reading an archived discussion.

Related Posts

https://fora.tv/2012/02/09/How_to_Hi...king_for_a_Job_How_to_Catch_Googles_Attention
This is the basic declaration we do while working on linked lists. struct node { int data; struct node* next; }; why is the next declared as a pointer? and...
hello guys, there is a robotics competition being held at RRS college of engineering & tech in muthangi, patancheru, hyderabad. the events that will take place are 1. robo wars...
The Dolphin browser has finally arrived in the Blackberry App world. It's free to download and promises to be the free, fun and fast browser for your BBs. It's also...
New layout is just like gmail and discussion thread is also very simple yet beatiful. I don't know if anyone here using google groups. but now its pretty good. Earlier...