Sto avendo un problema particolare da risolvere. Quello che dovrei implementare è una simulazione di transito in autobus in cui ci sono passeggeri che arrivano ad intervalli di tempo generati casualmente e vengono aggiunti in una coda e aspettano che l'autobus arrivi alle fermate dell'autobus e le fermate degli autobus lì e salgono sull'autobus fino a quando la coda è vuota. Si presume che ogni passeggero prende esattamente lo stesso tempo per salire sull'autobus. Poiché la coda è vuota, l'autobus si sposta verso la fermata dell'autobus successiva per la stessa cosa. Ci sono diversi autobus e diverse fermate degli autobus. Diciamo che se una persona che fa la coda ad una fermata dell'autobus è più grande della coda della persona ad un'altra fermata dell'autobus, il bus impiegherà più tempo per riempire a quella fermata e, a causa di ciò, la fermata dell'autobus successiva avrà una coda più grande e ancora una volta il bus ho dovuto aspettare lì per un tempo più lungo. Questo problema continuerà fino a quando gli autobus si raggruppano come un tutt'uno e si spostano uno dietro l'altro. I bus non possono incrociarsi tra loro.
Devo implementarlo in qualsiasi lingua. Penso che Python andrebbe bene per questo lavoro. Positivamente pensando di andare con Python.
Ho provato a suddividere questo problema in parti. Quindi, prima di iniziare le soste sono equidistanti l'una dall'altra e la coda delle persone è vuota. Quindi gli autobus iniziano a muoversi e la coda delle persone inizia ad aumentare e non appena un autobus raggiunge una coda di persone a una particolare fermata dell'autobus, la coda delle persone diminuirà fino a zero e il bus si sposterà alla fermata dell'autobus successiva. Una cosa da notare qui è che la coda delle persone viene troncata in modo che ciascuna operazione di rimozione della coda venga eseguita in un determinato intervallo di tempo. Quindi se 5 persone devono essere rimosse dalla coda, impiegheranno 3 secondi * 5 = 15 secondi per l'intera dequeue o il troncamento di una coda di persone. Il bus al raggiungimento della fermata dell'autobus successivo controllerà se la coda della persona è vuota o no e in caso contrario, si disconnetterà fino a quando non verrà troncata e proseguirà. Questa implementazione, quando estesa per 5 autobus e 15 fermate di autobus, porterà ad accumulare bus in un dato momento, poiché gli autobus non possono incrociarsi tra loro.
Gentilmente dammi alcune idee per renderlo il più semplice possibile perché è qualcosa che devo dimostrare ma non usare da nessuna parte come un'implementazione reale.