Qual algoritmo é usado pelos elevadores para encontrar o caminho mais curto para as ordens de andar?

Estou tentando simular um elevador, como sempre, comecei muito simples, executando apenas uma única ordem de cada vez e adicionei memória ao elevador na forma de filas, para que os pisos fossem percorridos na ordem em que foram pressionados, o que obviamente não é a melhor abordagem. Então, no...