Otimização do despacho de elevadores usando algoritmo genético em Python
By Mohammadreza Eskafi | Análise de Tráfego | Março 1, 2021
Tempo de leitura: 13 minutos
Um modelo de simulação baseado em Python simula o despacho de elevadores em grupo para um edifício de 20 andares com seis cabines, cinemática realista e padrões de chegada de Poisson para avaliar os tempos de espera, serviço e total. A seleção da cabine mais próxima utiliza um índice de adequação calculado por quatro regras que consideram a direção da cabine, a distância e o número de andares. A otimização por algoritmo genético ajusta os coeficientes nessas regras do índice de adequação, resultando em tempos totais de viagem significativamente menores. Os resultados indicam uma taxa de chegada adequada em torno de 0.2 passageiros/s com um tempo total próximo a 70 s, e com 0.5 passageiros/s o índice de adequação otimizado reduz o tempo total de cerca de 114.7 s para 52.4 s. O despacho otimizado, portanto, reduz substancialmente os tempos de espera e serviço.
O autor afirma que a linguagem de programação pode reduzir o tempo de espera e o tempo de atendimento para os passageiros.
Este artigo apresenta uma simulação desenvolvida em linguagem de programação Python para o despacho de elevadores. O modelo simula o transporte vertical (TV), especificamente elevadores, em um edifício, considerando o número de andares, o número de elevadores e os parâmetros relevantes dos elevadores. Um algoritmo de controle é definido para selecionar o elevador específico a atender as chamadas em um sistema de grupo. O sistema de despacho de elevadores é otimizado por meio do algoritmo genético (AG). O resultado oferece condições adequadas para os passageiros, com menores tempos de espera e de atendimento.
Introdução
Reduzir o tempo de espera em edifícios comerciais e de grande altura é um dos aspectos mais importantes na operação de elevadores. O despacho de elevadores desempenha um papel crucial no atendimento da demanda de viagens verticais. O controle otimizado de grupos de elevadores melhora a qualidade das viagens verticais, pois não só minimiza o tempo de espera, como também aumenta o conforto dos passageiros. Isso significa menos tempo de espera, o que leva a uma maior satisfação. Portanto, o desenvolvimento de sistemas de despacho de elevadores sempre foi considerado uma importante área de pesquisa. Nesta pesquisa, um grupo de seis elevadores é estudado com parâmetros e restrições realistas para otimizar o despacho do grupo, visando obter o menor tempo de espera e o menor custo de energia.
Neste artigo, uma ferramenta de simulação VT é desenvolvida em Python para avaliar as condições de acesso a qualquer andar em edifícios altos com um grupo de elevadores. Parâmetros realistas são usados para animar os movimentos dos elevadores com a maior precisão possível.[1 & 4] Em seguida, usando GA em Python, uma otimização é realizada para tornar as condições VT mais convenientes.
Parâmetros de Simulação
Para aumentar a precisão da simulação, é importante calcular e considerar parâmetros realistas dos movimentos dos elevadores, como o modelo de chegada, o cálculo do carro mais próximo e a cinemática do elevador.[1 & 5] Além disso, outros parâmetros importantes dos elevadores, incluindo velocidade, tempo e altura de viagem, são discutidos.[6]
Modelo de chegada
Um dos parâmetros mais importantes na simulação de elevadores é o modelo de chegada. Ambos os modelos de chegada — chegada de Poisson individual e em lote — são discutidos nesta pesquisa. Conforme ilustrado na Figura 1, considera-se o pico de tráfego pela manhã e após o horário de almoço, quando a tendência de passageiros é de aumento. A distribuição das chegadas segue uma distribuição de Poisson em lotes, na qual os passageiros vão almoçar em grupos. Taxa de chegada em lotes
(
) é calculado pela Eq. (1).
(1)
onde
é a taxa de chegada coletada, e
é metade do valor do lote.
Carro mais próximo
A seleção de qual elevador deve atender a qual chamada de andar é outra tarefa importante do controlador. De fato, a análise de tráfego é diretamente afetada por essa seleção. O sistema de controle do elevador mais próximo (NC, na sigla em inglês) é um dos processos mais comuns na indústria de elevadores, usado pelo controlador para selecionar o elevador apropriado para atender os passageiros na área de espera.

A posição do elevador, o destino solicitado pelo passageiro e o reconhecimento do trajeto ascendente ou descendente do elevador são parâmetros consideráveis aplicados neste processo. O índice de adequação (IA) é uma função desses parâmetros, e a posição dos elevadores no grupo é quantificada para o controlador. Assim, o controlador seleciona o elevador com o maior valor de IA para atender à chamada do andar. Para calcular o valor de IA, existem quatro regras. .
- Quando o carro se dirige para a área de espera na mesma direção do destino do passageiro, FS = (N + 2) − d.
- Quando o carro se dirige para a área de espera na direção oposta ao destino dos passageiros, FS = (N + 1) − d.
- Quando o carro está parado (em marcha lenta), FS = (N + 1) − d.
- Quando o carro está saindo da área de espera, FS = 1, onde d é o número de andares entre a área de espera e a posição atual do carro, e N é o número de andares do prédio.
A Figura 2 ilustra o processo de seleção de elevadores com cálculo do FS em um edifício de sete andares e cinco elevadores operacionais.

Por exemplo, um passageiro no quinto andar deseja descer para o térreo. Os valores de FS na quinta linha da Figura 2 são calculados com base na chamada de descida para cada elevador. Como mencionado anteriormente, em um controle de grupo de elevadores, a cabine com o maior número de FS é selecionada para atender o passageiro na área de espera. Neste exemplo, o primeiro elevador será selecionado para esta chamada de descida. Portanto, os valores de FS deste exemplo são:
- Elevador 1: A Regra 1 é aplicada quando a cabine desce (na mesma direção) em direção à área de espera:d = 1 andar, portanto, FS = (6 + 2) − 1 = 7.
- Elevador 2: A regra 4 é usada quando a cabine desce (com direção semelhante) para longe da área de espera: Portanto, FS=1.
- Elevador 3: A regra 3 é aplicada quando o elevador está parado (em marcha lenta):d = 5 andares, portanto, FS = (6 + 1) − 5 = 2.
- Elevador 4: A regra 2 é usada quando o carro sobe (com direção oposta) em direção à área de espera: d = 1 andar, portanto, FS = (6 + 1) − 1 = 6.
- Elevador 5: A regra 2 é usada quando o carro sobe (com direção oposta) em direção à área de espera: d = 4 andares, portanto, FS = (6 + 1) − 4 = 3.
Portanto, o primeiro carro tem o valor máximo do índice de adequação, FS = 7. Nesse sentido, o controlador seleciona o primeiro carro do grupo de elevadores para atender o passageiro na área de espera.
Cinemática do elevador
Os dados cinemáticos dos elevadores são usados para simular o movimento dos elevadores entre os andares e otimizar o despacho dos elevadores. A Tabela 1 apresenta os símbolos utilizados.
|
Definição |
Símbolos |
|
Distância percorrida (m) |
d |
|
Distância percorrida no momento t (M) |
D(t) |
|
Velocidade máxima (m/s) |
v |
|
Velocidade no instante t (M / s) |
V(t) |
|
Aceleração máxima (m/s2) |
a |
|
Aceleração no tempo t (em2) |
No) |
|
Jerk máximo (m/s)3) |
j |
|
Idiota de vez em quando t (em3) |
J(t) |
Tabela 1: Introdução aos símbolos cinemáticos do elevador
A seleção dos valores de aceleração e solavanco é um compromisso entre minimizar o tempo de viagem e maximizar o conforto. Valores comumente usados para conforto humano em elevadores são 1 para aceleração e 1 para solavanco. No entanto, diferentes valores são utilizados — mais baixos (em torno de 0.5 para aceleração) por fabricantes japoneses, mais altos (em torno de 1.5 para aceleração) na América do Norte e intermediários na Europa. Nesta pesquisa, três estados alcançados pelo carro são considerados para a simulação do movimento do elevador, como segue:
- Velocidade e aceleração máximas (a)
- Maior aceleração, mas não a maior velocidade (b)
- Nem a velocidade máxima, nem a aceleração (c)
Com base nesses três estados, a distância (d) e tempo de viagem (t) são calculados como :

A Figura 3 ilustra os três estados para jerk (impulso), aceleração, velocidade e distância.

Forma
Para comparar os resultados da presente pesquisa com a literatura, Os três estados do carro mencionados anteriormente são investigados com a mesma metodologia. Assim:
- Em movimento: o carro está em movimento.
- Parada: o carro para para embarque/desembarque de passageiros em quatro etapas possíveis: 1) a porta abre; 2) os passageiros saem; 3) os passageiros entram; e 4) a porta fecha.
- Ocioso: o carro não está em movimento, nem tem uma chamada de aterrissagem para cumprir.
Três estados de elevadores podem ser conectados com base na demanda do passageiro (Figura 4).

A simulação é executada com passageiros aleatórios, horário de chegada aleatório e condições de andar de destino aleatórias. Quando o horário de chegada dos passageiros coincide com o tempo do sistema, o cálculo do FS (Flight System - Sistema de Fluxo) envia o status do elevador para o controlador. Em seguida, o controlador decide se deve alocar um elevador para atender à solicitação do passageiro. Posteriormente, o FS da cabine é alterado com base na posição atual da cabine, e o controlador seleciona a próxima cabine para atender os passageiros na área de espera.
Resultado e discussão
A Tabela 2 apresenta os valores dos parâmetros de simulação: o sistema de controle do grupo de elevadores é simulado para um edifício comercial com 20 andares e seis elevadores. A distribuição de Poisson individual, considerando o tráfego ascendente, e a simulação do despacho de elevadores durante 1 hora são investigadas. O movimento animado dos elevadores é mostrado na Figura 5, ilustrando uma operação similar na qual as cabines transportam os passageiros do térreo para os andares de destino. Nesta imagem, o retângulo verde indica as cabines subindo; o retângulo vermelho, as cabines descendo; o retângulo amarelo, a posição de parada das cabines; e o retângulo cinza, o estado ocioso das cabines.
|
Unid |
Valor |
|
Número de pisos |
20 |
|
Número de elevadores |
6 |
|
Distância do piso (m) |
4 |
|
Velocidade máxima (m/s) |
2.5 |
|
Aceleração máxima (m/s2) |
1 |
|
Jerk máximo (m/s)3) |
2 |
|
Capacidade (pessoas/elevador) |
24 |
|
Horário de abertura (s) |
1.5 |
|
Tempo do passageiro (s) |
1.5 |
Tabela 2: Valores dos parâmetros dos elevadores simulados
O tempo de espera, o tempo de serviço e o tempo total (tempo de espera + tempo de serviço) são investigados por meio da simulação do sistema de controle do grupo de elevadores.

A Figura 6 mostra que o tempo de espera e o tempo de serviço têm relação direta com a taxa de chegada. No entanto, o tempo de serviço se estabiliza após uma determinada faixa de taxas de chegada. Um tempo médio de espera inferior a 25 segundos resulta em um serviço de elevador adequado. Assim, a taxa de chegada adequada é de 0.2 passageiros/s (720 passageiros/hora). O tempo total com uma taxa de chegada de 0.2 passageiros/s é de aproximadamente 70 segundos.

Otimização usando o método GA em Python
Para obter um melhor serviço dos elevadores coletivos e reduzir o tempo total (tempo de espera mais tempo de serviço), um método de otimização é desenvolvido usando um algoritmo genético (AG) em Python. Um processo de controle é definido e, em seguida, o fator de serviço (FS) é calculado com base em quatro regras para determinar qual elevador deve ser selecionado em um controle de grupo para atender os passageiros na área de espera. Para otimizar os valores de FS, coeficientes desconhecidos são alocados por meio das quatro regras, conforme mostrado na Eq. (3):
- Regra 1: FS = a1 N + c1 − b1 d.
- Regra 2: FS = a2 N + c2 − b2 d. (3)
- Regra 3: FS = a3 N + c3 − b3 d.
- Regra 4: FS = a4 N + c4 − b4 d.
Em seguida, pelo método de seleção por torneio no algoritmo genético, os coeficientes otimizados são identificados como:

Assim, utilizando os coeficientes identificados, os valores de FS são otimizados para selecionar a melhor opção para atender às chamadas de andar pelos sistemas de controle de grupo de elevadores. Esse método de otimização resulta em uma redução significativa no tempo total de viagem do elevador (Figura 7). Este é um princípio importante na indústria de elevadores.

Na Figura 8, é apresentado o tempo total calculado a partir da simulação em Python, com o aumento da taxa de chegada utilizando o FS convencional e o FS otimizado. Assim, para comparação, com uma taxa de chegada de 0.5 passageiros/s, o tempo total relacionado ao FS convencional e ao FS otimizado é de aproximadamente 114.69 s e 52.38 s, respectivamente. Como pode ser observado, esse resultado representa uma redução considerável no tempo total.

Conclusão
Este artigo investiga o desenvolvimento de um método de otimização utilizando algoritmos genéticos (GA) em Python para o despacho de grupos de elevadores. Um sistema de controle de um grupo de elevadores em um edifício de vários andares é simulado com parâmetros realistas, incluindo taxa de chegada, seleção da cabine mais próxima e cinemática do elevador, para obter resultados precisos. Além disso, o despacho dos elevadores é animado para proporcionar uma melhor análise visual.
Os resultados mostram que a aplicação dos coeficientes otimizados no cálculo do FS leva a uma redução considerável no tempo total, que é uma combinação do tempo de espera e do tempo de serviço. Assim, os passageiros que chegam desfrutam de viagens verticais mais convenientes.
Agradecimentos
O autor agradece à ASCEND Co. e à Universidade da Islândia por compartilharem os dados técnicos necessários para este projeto de pesquisa e agradece aos especialistas em tecnologia da informação que ofereceram orientação para a recodificação da simulação em Python.
Referência
[1] JR Fernandez e P. Cortes. “Um levantamento de sistemas de controle de grupo de elevadores para transporte vertical, IEEE Control Systems, Vol. 35, No. 4, p. 38-55, 2015.
[2] VC Galpin e ST Rock. “Um protótipo de simulação de elevação”, Wiley Online Library, 1995.
[3] R. Braun. “Precisa de um elevador? Um problema de fila de elevadores”, Centro de Pesquisa da United Technologies, 14 de agosto de 2003, p. 1-28.
[4] N. Pariyatdulapak. “Desenvolvimento de uma simulação para sistemas de transporte vertical, Relatório de Projeto Sênior”, Universidade Chulalongkorn, 2016.
[5] GC Barney. Manual de tráfego de elevadores: teoria e prática, Taylor Francis, 2003.
[6] N. Chaosangket, P. Sasithong, S. Wijayasekara, W. Asdornwised, L. Wuttisittikulkij, P. Vanichchanunt, M. Saadi. “Uma ferramenta de simulação para sistemas de transporte vertical usando Python”, 5ª Conferência Internacional sobre Pesquisa Empresarial e Industrial, Bangkok, Tailândia 2018.
[7] J. Dallas. “Uma metodologia sistemática para a geração de passageiros de elevador sob um processo de chegada em lote de Poisson” (peters-research.com), 2017.
[8] R. Peters. “Ideal Lift Kinematics” (peters-research.com/index.php/support/articles-and-papers/53-ideal-lift-kinematics), 1995.
[9] Adsimulo.com. “Critérios de desempenho de elevação” (adsimulo.com/support/adsimulo-university/lift-performance-criteria).