Ottimizzazione dell'invio dell'ascensore utilizzando l'algoritmo genetico in Python

By Mohammadreza Eskafi | Analisi del traffico | Marzo 1, 2021

13 minuti di lettura

Ottimizzazione dell'invio dell'ascensore utilizzando l'algoritmo genetico in Python
Panoramica dell'IA

Un modello di simulazione basato su Python simula la gestione degli ascensori di gruppo per un edificio di 20 piani con sei cabine, cinematica realistica e modelli di arrivo di Poisson per valutare i tempi di attesa, di servizio e totali. La selezione della cabina più vicina utilizza un indice di idoneità calcolato tramite quattro regole che tengono conto della direzione della cabina, della distanza e del numero di piani. L'ottimizzazione tramite algoritmo genetico regola i coefficienti di queste regole di selezione della cabina, ottenendo tempi di percorrenza totali notevolmente inferiori. I risultati indicano un tasso di arrivo appropriato di circa 0.2 passeggeri/s con un tempo totale di circa 70 s, e a 0.5 passeggeri/s la selezione della cabina ottimizzata riduce il tempo totale da circa 114.7 s a 52.4 s. La gestione ottimizzata riduce quindi sostanzialmente i tempi di attesa e di servizio.

Il tuo autore afferma che il linguaggio di programmazione può ridurre i tempi di attesa e di servizio per i passeggeri.

Questo articolo presenta una simulazione sviluppata dell'invio di ascensori dal linguaggio di programmazione Python. Modella il trasporto verticale (VT), in particolare gli ascensori, in un edificio rispetto al numero di piani, al numero di ascensori e ai relativi parametri dell'ascensore. Viene definito un algoritmo del sistema di controllo per selezionare un ascensore specifico per il servizio di chiamate al piano in un sistema di gruppo. Il sistema di dispacciamento degli ascensori è ottimizzato mediante il metodo dell'algoritmo genetico (GA). Il risultato offre una condizione adatta per i passeggeri con tempi di attesa e di servizio ridotti.

Introduzione

La riduzione dei tempi di attesa nei grattacieli e negli edifici commerciali è uno degli aspetti più importanti nel funzionamento degli ascensori. L'invio di ascensori svolge un ruolo fondamentale nel soddisfare le richieste di VT. Il controllo di gruppo ottimizzato degli ascensori migliora la qualità dei viaggi verticali, poiché non solo riduce al minimo i tempi di attesa, ma aumenta anche il comfort mentale dei passeggeri. Questo significa meno tempo di attesa, che porta a una maggiore soddisfazione. Quindi, lo sviluppo del dispacciamento degli ascensori è sempre stato considerato un'importante area di ricerca. In questa ricerca, viene studiato un gruppo di sei ascensori con parametri e vincoli realistici per ottimizzare il dispacciamento del gruppo finalizzato all'ottenimento di tempi di attesa e costi energetici minimi.

In questo articolo viene sviluppato uno strumento di simulazione VT in Python per valutare le condizioni di accesso a qualsiasi piano in grattacieli con un gruppo di ascensori. Vengono utilizzati parametri realistici per animare i movimenti degli ascensori nel modo più accurato possibile.[1 e 4] Quindi, utilizzando GA in Python, viene eseguita un'ottimizzazione per rendere più convenienti le condizioni VT.

Parametri di simulazione

Per aumentare l'accuratezza della simulazione, è importante calcolare e considerare parametri realistici dei movimenti degli ascensori, come il modello di arrivo, il calcolo della cabina più vicina e la cinematica dell'ascensore.[1 e 5] Inoltre, altri parametri importanti degli ascensori, inclusa la velocità , tempo e altezza di viaggio, sono discussi.[6]

Modello di arrivo

Uno dei parametri più importanti nella simulazione degli ascensori è il modello di arrivo. In questa ricerca vengono discussi entrambi i modelli di arrivo, l'arrivo di Poisson individuale e in batch.[7] Come mostrato nella Figura 1, il traffico di punta è considerato al mattino e dopo l'ora di pranzo, quando la tendenza dei passeggeri è in aumento. La distribuzione dell'arrivo segue un arrivo a lotti Poisson, in cui i passeggeri vanno a pranzo in gruppi. Tasso di arrivo del lotto

() è calcolato dall'Eq. (1).[6]

(1) 

where  è il tasso di arrivo raccolto, e è il semivalore del lotto.

Auto più vicina

La selezione di quale auto dovrebbe servire quale chiamata di piano è un altro importante compito del controller. In effetti, l'analisi del traffico è direttamente interessata da questa selezione. Il sistema di controllo della cabina più vicina (NC) è uno dei processi più comuni nel settore degli ascensori, utilizzato dal controller per selezionare l'ascensore appropriato per gestire i passeggeri nell'area di attesa.[5]

Figure 1
Figura 1: Dimensioni del gruppo di passeggeri in arrivo[6]

La posizione dell'ascensore, la destinazione richiesta dal passeggero e il riconoscimento della corsa in salita o in discesa dell'ascensore sono parametri considerevoli applicati in questo processo. La figura di idoneità (FS) è una funzione di questi parametri e la posizione degli ascensori nel gruppo è quantificata per il controller. Pertanto, il controller seleziona l'ascensore con un valore FS più alto per servire la chiamata di piano. Per calcolare il valore FS, ci sono quattro regole[6].

  • Quando l'auto si sta dirigendo verso l'area di attesa con simile direzione di destinazione del passeggero, FS = (N + 2) - d.
  • Quando l'auto si dirige verso l'area di attesa con direzione opposta a quella di destinazione del passeggero, FS = (N + 1) - d.
  • Quando l'auto è ferma (inattiva), FS = (N + 1) - d.
  1. Quando la cabina si allontana dall'area di attesa, FS = 1. dove d è il numero di piani tra l'area di attesa e la posizione attuale della cabina, e N sono i piani dell'edificio.[6]

La Figura 2 illustra il processo della procedura di selezione dell'ascensore con calcolo FS in un edificio di sette piani e cinque ascensori operativi.

Figura 2: Metodo di calcolo FS per trovare l'auto più vicina[6]

Ad esempio, un passeggero al quinto piano desidera viaggiare al piano terra. I valori FS nella quinta riga della Figura 2 sono calcolati in base alla chiamata al piano discendente per ciascun ascensore. Come accennato in precedenza, in un controllo di gruppo ascensore, la cabina con il numero massimo di FS viene selezionata per gestire il passeggero nella zona di attesa. In questo esempio, verrà selezionato il primo ascensore per questa chiamata di piano. Quindi, i valori FS di questo esempio sono:

  • Ascensore 1: si usa la regola 1 quando la macchina scende (con direzione simile) verso l'area di attesa:d = 1 piano, quindi FS = (6 + 2) − 1 = 7.
  • Ascensore 2: la regola 4 viene utilizzata quando l'auto scende (con direzione simile) lontano dall'area di attesa: quindi, FS=1.
  • Ascensore 3: la regola 3 viene utilizzata quando l'auto è ferma (inattiva):d = 5 piani, quindi FS = (6 + 1) − 5 = 2.
  • Ascensore 4: si usa la Regola 2 quando l'auto sale (in direzione opposta) verso l'area di attesa: d = 1 piano, quindi FS = (6 + 1) − 1 = 6.
  • Ascensore 5: si usa la Regola 2 quando la cabina sale (in senso opposto) verso la zona di attesa: d = 4 piani, quindi FS = (6 + 1) − 4 = 3.

La prima cabina ha quindi il valore massimo di figura di idoneità, FS = 7. A questo proposito, il controllore seleziona la prima cabina del gruppo di ascensori per servire il passeggero in sala d'attesa.

Cinematica dell'ascensore

I dati cinematici degli ascensori vengono utilizzati per simulare il movimento dell'ascensore tra i piani e ottimizzare l'invio degli ascensori. La tabella 1 presenta i simboli utilizzati.[6]

Definizione

Simboli

Distanza percorsa (m)

d

Distanza di viaggio alla volta t (M)

D(t)

Velocità massima (m/s)

v

Velocità al tempo t (SM)

V(t)

Accelerazione massima (m/s2)

a

Accelerazione a tempo t (SM2)

In)

Strappo massimo (m/s3)

j

Coglione al momento t (SM3)

J(t)

Tabella 1: Introduzione dei simboli cinematici dell'ascensore

La selezione dei valori di accelerazione e strappo è un compromesso tra minimizzazione del tempo di percorrenza e massimizzazione del comfort. I valori comunemente usati per il comfort umano negli ascensori sono 1 per l'accelerazione e lo strappo. Tuttavia, vengono utilizzati valori diversi: inferiori (circa 0.5 per l'accelerazione) dai produttori giapponesi, superiori (circa 1.5 per l'accelerazione) in Nord America e intermedi in Europa.[8] In questa ricerca, vengono considerati tre stati raggiunti dalla cabina per la simulazione del movimento dell'ascensore, come segue:

  • Velocità e accelerazione massime (a)
  • Massima accelerazione ma non la massima velocità (b)
  • Né velocità massima, né accelerazione (c)

Sulla base di questi tre stati, la distanza (d) e tempo di percorrenza (t) sono calcolati come[8]:

La Figura 3 illustra i tre stati per jerk, accelerazione, velocità e distanza.[6]

Figure 3
Figura 3: I tre stati citati nel testo[8]

Metodo

Per confrontare il risultato della presente ricerca con la letteratura,[6] con la stessa metodologia vengono indagati i tre stati della vettura sopra menzionati. Così:

  • In movimento: l'auto è in movimento.
  • Arresto: la cabina si ferma per caricare/scaricare i passeggeri in quattro possibili fasi di 1) apertura porta; 2) i passeggeri scendono; 3) i passeggeri entrano; e 4) la porta si chiude.
  • Inattivo: l'auto non è in movimento, né ha una chiamata di piano da servire.

È possibile collegare tre stati di ascensori in base alla richiesta del passeggero (Figura 4).[6]

Figure 4
Figura 4: Tre stati principali dell'auto

La simulazione viene eseguita con passeggeri casuali, orario di arrivo casuale e condizioni casuali del piano di destinazione. Quando l'orario di arrivo dei passeggeri è uguale all'orario di sistema, il calcolo FS invia lo stato dell'ascensore al controllore. Quindi, il controllore decide se assegnare un ascensore per soddisfare la richiesta del passeggero. Successivamente, l'auto FS viene modificata in base alla posizione attuale dell'auto e il controller seleziona l'auto successiva per gestire i passeggeri nell'area di attesa.[6]

Risultato e discussione

La tabella 2 presenta il valore dei parametri di simulazione: il sistema di controllo del gruppo di ascensori è simulato per un edificio commerciale con 20 piani e sei ascensori. Vengono studiati i singoli Poisson distribuiti come traffico verso l'alto e l'invio simulato di ascensori per 1 h. Il movimento animato degli ascensori è mostrato in Figura 5, che illustra un'operazione simile in cui le auto portano i passeggeri dal piano terra verso l'alto in base ai piani di destinazione. In questa immagine, il riquadro verde indica le auto in salita; la scatola rossa, auto in discesa; la scatola gialla, posizione di arresto delle auto; e la scatola grigia, lo stato di inattività delle auto.

articoli

Valore

Numero di piani

20

Numero di ascensori

6

Distanza dal pavimento (m)

4

Velocità massima (m/s)

2.5

Accelerazione massima (m/s2)

1

Strappo massimo (m/s3)

2

Capacità (persona/ascensore)

24

Tempo (i) della porta

1.5

Tempo/i passeggeri

1.5

Tabella 2: Valori dei parametri degli ascensori simulati

Il tempo di attesa, il tempo di servizio e il tempo totale (tempo di attesa + tempo di servizio) vengono analizzati simulando il sistema di controllo del gruppo di ascensori.

Figure 5
Figura 5: animazione del movimento degli ascensori

La Figura 6 mostra che il tempo di attesa e il tempo di servizio hanno una connessione diretta con la tariffa di arrivo. Tuttavia, il tempo di servizio si stabilizza dopo un intervallo specifico di tariffe di arrivo. Un tempo medio di attesa inferiore a 25 s porta ad un adeguato servizio di ascensori.[9] Quindi, il tasso di arrivo appropriato è 0.2 passeggeri/s (720 passeggeri/ora).[6] Il tempo totale con un tasso di arrivo di 0.2 passeggeri/s è di circa 70 s.

Figure 6
Figura 6: Tempi di viaggio dei passeggeri nel processo di spedizione dell'ascensore

Ottimizzazione utilizzando il metodo GA in Python

Per ottenere un servizio migliore dagli ascensori di gruppo e ridurre il tempo totale (tempo di attesa più tempo di servizio), viene sviluppato un metodo di ottimizzazione utilizzando un GA in Python. Viene definito un processo di controllo e quindi FS viene calcolato in base alle quattro regole per determinare quale ascensore deve essere selezionato in un controllo di gruppo per servire i passeggeri nell'area di attesa. Per ottimizzare i valori FS, i coefficienti incogniti vengono allocati attraverso le quattro regole, come visto nell'Eq. (3):

  • Regola 1: FS = a1 N + c1 - b1 d.
  • Regola 2: FS = a2 N + c2 - b2 d. (3)
  • Regola 3: FS = a3 N + c3 - b3 d.
  • Regola 4: FS = a4 N + c4 - b4 d.

Quindi, con il metodo di selezione del torneo in GA, i coefficienti ottimizzati sono identificati come:

Quindi, utilizzando i coefficienti identificati, i valori FS sono ottimizzati per selezionare un'opzione migliore per servire le chiamate di piano da parte dei sistemi di controllo del gruppo di ascensori. Questo metodo di ottimizzazione si traduce in una significativa riduzione del tempo totale di viaggio dell'ascensore (Figura 7). Questo è un principio importante nel settore degli ascensori.

Figure 7
Figura 7: Tempi di viaggio dei passeggeri dopo l'utilizzo di FS ottimizzati ottenuti da GA

Nella Figura 8 è illustrato il tempo totale calcolato dalla simulazione Python aumentando il tasso di arrivo utilizzando FS convenzionali e FS ottimizzati. Quindi, per il confronto nel tasso di arrivo di 0.5 passeggeri/s, il tempo totale relativo al FS convenzionale e al FS ottimizzato è rispettivamente di circa 114.69 e 52.38 s. Come mostrato, questo risultato è una notevole riduzione del tempo totale.

Figure 8
Figura 8: Confronto del tempo totale di FS conventional convenzionale e ottimizzato

Conclusione

In questo articolo viene analizzato lo sviluppo di un metodo di ottimizzazione utilizzando GA in Python per l'invio di ascensori di gruppo. Viene simulato un sistema di controllo di un gruppo di ascensori in un grattacielo con parametri realistici degli ascensori, tra cui la velocità di arrivo, la selezione della cabina più vicina e la cinematica dell'ascensore per ottenere risultati accurati. Inoltre, l'invio degli ascensori è animato per fornire una migliore indagine visiva.

I risultati mostrano che l'applicazione dei coefficienti ottimizzati nel calcolo FS porta a una notevole riduzione del tempo totale, che è una combinazione di tempo di attesa e tempo di servizio. Pertanto, i passeggeri in arrivo sperimentano viaggi verticali più convenienti.

Ringraziamenti

Il tuo autore è grato ad ASCEND Co. e all'Università islandese per aver condiviso i dati tecnici richiesti per questo progetto di ricerca e ringrazia gli esperti di tecnologia dell'informazione che hanno offerto una guida per ricodificare la simulazione in Python.

Referenze

[1] JR Fernandez e P. Cortes. "Un'indagine sui sistemi di controllo del gruppo di ascensori per il trasporto verticale, sistemi di controllo IEEE, vol. 35, n. 4, pag. 38-55, 2015.

[2] VC Galpin e ST Rock. "Un prototipo di simulazione di ascensore", Wiley Online Library, 1995.

[3] R. Braun. "Serve un passaggio? An Elevator Queuing Problem”, United Technologies Research Center, 14 agosto 2003, p. 1-28.

[4] N. Pariyatdulapak. "Sviluppo di una simulazione per sistemi di trasporto verticale, relazione sul progetto senior", Chulalongkorn University, 2016.

[5] GC Barney. Manuale sul traffico degli ascensori: teoria e pratica, Taylor Francis, 2003.

[6] N. Chaosangket, P. Sasithong, S. Wijayasekara, W. Asdornwised, L. Wuttisittikulkij, P. Vanichchanunt, M. Saadi. "Uno strumento di simulazione per sistemi di trasporto verticale utilizzando Python", 5a Conferenza internazionale sulla ricerca aziendale e industriale, Bangkok, Thailandia 2018.

[7] J. Dallas. "Una metodologia sistematica per la generazione di passeggeri degli ascensori in un processo di arrivo di un lotto di Poisson" (peters-research.com), 2017.

[8] R. Pietro. "Ideal Lift Kinematics" (peters-research.com/index.php/support/articles-and-papers/53-ideal-lift-kinematics), 1995.

[9] Adsimulo.com. "Criteri delle prestazioni di sollevamento" (adsimulo.com/support/adsimulo-university/lift-performance-criteria).

azioni