IniziaInizia gratis

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

Visualizza il corso

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)
Modifica ed esegui il codice