Vaccari's Code

Elevadores

8/1/2026

Todos nós já compartilhamos a frustração de esperar por um elevador que parece nunca chegar. "Apertei o botão, por que não vem?", você se pergunta. Para algo tão comum, elevadores são muito mais complexos do que aparentam. Por trás daquele simples botão, há um universo de algoritmos e decisões que impactam diretamente o seu tempo de espera.

Além do Botão: Como um Único Elevador Pensa

A base de qualquer sistema de elevadores é seu algoritmo de despacho. Para um único elevador, o mais simples é o SCAN, patenteado em 1961. Imagine um elevador que começa no térreo, sobe até o último andar, pegando e deixando passageiros no caminho, e então inverte o sentido, descendo e repetindo o processo. É um ciclo completo.

No entanto, na maioria das vezes, você não precisa ir até o último andar. Se o elevador sobe apenas até o andar mais alto solicitado antes de inverter, o algoritmo é chamado LOOK. Este é o comportamento que a maioria das pessoas conhece e espera, otimizando o percurso ao evitar viagens desnecessárias até o topo.

O Desafio da Frota: Coordenando Múltiplos Elevadores

Aqui é onde o mistério realmente começa. Se há vários elevadores em um banco, como eles coordenam quem atende qual chamada? No sistema mais básico, um agendador central atribui cada nova solicitação ao elevador mais próximo. Parece lógico, mas como veremos, podemos fazer melhor.

Para avaliar a eficácia de um algoritmo de elevador, a métrica mais óbvia é o tempo de espera. Simplesmente, "com que frequência o elevador chega em 30 segundos?" ou "em 90 segundos?". De forma mais rigorosa, olhamos para a distribuição dos tempos de espera. Se plotarmos esses tempos em um histograma (um gráfico que mostra a frequência de diferentes tempos de espera), podemos entender melhor o desempenho. Por exemplo, um p90 de 2 minutos significa que 90% das vezes os passageiros esperam 2 minutos ou menos. Um p50 de 1 minuto indica que metade das vezes o elevador chega em 1 minuto. É crucial notar que as pessoas não se lembram da média; elas se fixam naqueles momentos em que o elevador demorou "uma eternidade", o famoso caso do p90.

Os padrões de tráfego também são cruciais. Em um grande edifício corporativo, pela manhã, o tr tráfego é quase todo do térreo para os andares superiores. À noite, inverte. Na hora do almoço, é uma mistura. A distribuição dos tempos de espera varia drasticamente dependendo desses padrões, sendo o "horário de pico da manhã" notoriamente o pior em termos de estatísticas de espera.

Elevadores Inteligentes e a Surpreendente Realidade dos Quiosques

Retornando ao algoritmo LOOK, percebemos que simplesmente atribuir a solicitação ao elevador mais próximo é ingênuo. E se o elevador mais próximo estiver lotado? Sistemas mais inteligentes, como o RSR (Relative System Response) da Otis, marcam cada elevador pela sua adequação para atender um passageiro, com pontuações mais baixas sendo melhores. O RSR incorpora regras como:

  • Anti-Bunching: Penaliza um elevador se outro já estiver indo para o mesmo andar na mesma direção, evitando que vários elevadores se aglomerem.
  • Idle Nearby: Recompensa elevadores parados dentro de dois andares do solicitante, incentivando a prontidão.

O segredo do RSR é sua capacidade de re-otimizar a cada 5 segundos. Um passageiro inicialmente atribuído ao elevador A pode ser redirecionado para o elevador B se o A encontrar atrasos. Essa flexibilidade na re-otimização é fundamental para otimizar o fluxo de tráfego.

Ao comparar o LOOK com o RSR, vemos que, embora o RSR geralmente melhore o tempo de espera, o LOOK pode superá-lo em cenários específicos. Quando o fluxo de passageiros é altíssimo e os elevadores estão sempre cheios, parando em todos os andares, as regras extras do RSR importam menos. O LOOK também tende a ter melhor desempenho em edifícios menores com menos elevadores por banco. Às vezes, manter a simplicidade é a melhor abordagem.

Outra inovação são os elevadores com Destination Dispatch, aqueles com quiosques no andar onde você especifica seu destino antes mesmo do elevador chegar, e o sistema te direciona para o elevador certo. Intuitivamente, mais informações para o otimizador deveriam reduzir os tempos de espera, certo? O resultado é, na verdade, contraintuitivo: esses quiosques sofisticados geralmente levam a tempos de espera piores em comparação com os bons e velhos botões de "subir" e "descer". Há exceções, como edifícios extremamente altos com 8 ou mais elevadores por banco, mas na maioria dos casos, a simplicidade vence.

A razão para isso é a rigidez imposta pelo quiosque. Ele te atribui a um elevador, e você deve pegá-lo. A flexibilidade do sistema de re-otimização a cada 5 segundos, que permite redirecionar passageiros em tempo real, é perdida. A perda de flexibilidade não compensa a informação extra para o otimizador.

Por que isso importa para você?

Este mergulho nos algoritmos de elevadores nos lembra que a otimização de sistemas complexos raramente é trivial. Nem sempre a solução mais "inteligente" ou com mais dados é a melhor. Como builders e tomadores de decisão, precisamos entender as métricas certas (como o p90), os padrões de uso e, crucialmente, reconhecer o valor da flexibilidade e da simplicidade. Da próxima vez que estiver esperando, tente não levar para o lado pessoal; o elevador te ouviu, ele só tem muito a pensar.


Fontes


📬 Gostou? Assine a newsletter do Vaccari's Code e receba as próximas tendências em software e IA direto no seu e-mail: Assinar aqui

← todos os posts · ouça o episódio →