AI for Elevator Scheduling

In a high-rise building, with big number of elevators, there are many ways to move passengers from their source floor to their destination (like moving different elevators to each floor, and deciding which elevator each passenger will take).

Our project should learn an algorithm that chooses, for each state, the best action for all the elevators. The chosen action is the action that will probably give the highest reward for that specific state.

The reward depends on the total time of the passengers until they get to their destination.

By using DQN, a Q-Learning algorithm with deep learning, the elevators perform the action which will lead to the highest reward for the current state of the system.

To fit the system’s parameters (floors, passengers, elevators) to the Net, we modelized it as a graph. The system’s parameters are the nodes, their location is represented by the edges, and the information of the node is represented by  the node’s features (such as number of passengers in each elevator etc.).

The Net’s input is the graph (num_of_feature x num_of_edges), and the output is another graph (num_of_actions x num_of_edges). In output graph we take only the lines relevant to elevator. The chosen action (each elevator) is the action with the biggest number in its column.