Linea di assemblaggio auto: aggiungere eventi non deterministici con SimPy
Questo esercizio è incentrato sui processi non deterministici con SimPy.
Modificherai la versione SimPy del tuo modello di linea di assemblaggio di auto, concentrandoti sull'aggiunta degli stessi eventi deterministici usando i metodi di SimPy.
Ricorda che "Saldatura e verniciatura" richiedono in media 15 ore per essere completate, ma la durata varia di cinque ore (in più o in meno). A sua volta, "Assemblaggio dei componenti e collaudo" richiede in media 24 ore per essere completato, ma la durata varia di sei ore (in più o in meno).
La libreria SimPy è già stata importata per te.
Questo esercizio fa parte del corso
Simulazione a eventi discreti in Python
Istruzioni dell'esercizio
- Registra la durata del processo "Saldatura e verniciatura", tenendo conto delle nuove informazioni sulla sua variabilità usando il metodo
random.randint(). - Registra la durata del processo "Assemblaggio dei componenti e collaudo", tenendo conto delle nuove informazioni sulla sua variabilità usando il metodo
random.randint().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
def car_production_line(env):
car_number = 0
while True:
car_number += 1
# Adding process 1: Clock-in time requirement for Welding and Painting
yield env.____(random.____(10, 20))
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Welding and Painting")
# Adding process 2: Return/yield time after completing the process and print the current time
yield env.____(random.____(18, 30))
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Car ready for shipping!")
env = simpy.Environment()
env.process(car_production_line(env))
env.run(until=SIMULATION_TIME)