IniziaInizia gratis

Linea di assemblaggio auto: aggiungere eventi non deterministici

Questo esercizio si concentra su processi non deterministici senza usare SimPy. Nel prossimo esercizio ci concentreremo su SimPy.

Ti è stato chiesto di tenere conto della variabilità nella durata dei processi nel precedente modello a eventi discreti di una linea di produzione di auto. I gruppi di processi individuati in precedenza sono (1) "Saldatura e verniciatura" e (2) "Assemblaggio delle parti e collaudo". Ricorda che ciascuno di questi gruppi di processi comprende molti sottoprocessi e attività, ma per ora ti concentri nel codificare la prima versione del modello a un livello alto.

In precedenza avevi determinato che saldatura e verniciatura richiedevano in media 15 ore per completarsi, mentre l’assemblaggio delle parti e il collaudo richiedevano in media 24 ore per finire.

Ora hai svolto ulteriori analisi e monitoraggi per studiare la variabilità nella durata di questi processi. Hai concluso che saldatura e verniciatura possono variare di cinque ore (in più o in meno) e che la durata dell’assemblaggio delle parti può variare di sei ore (in più o in meno).

Aggiorna il tuo modello a eventi discreti per tenere conto delle variazioni nella durata di questi eventi. Il pacchetto random è stato caricato 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 variabilità usando un metodo del pacchetto random che genera numeri interi casuali.
  • Registra la durata del processo "Assemblaggio delle parti e collaudo", tenendo conto delle nuove informazioni sulla variabilità usando un metodo del pacchetto random che genera numeri interi casuali.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

def car_production_line(SIMULATION_TIME):
    car_number, time  = 0, 0
    while time < SIMULATION_TIME:
        car_number += 1

        # Clock the time requirement for: Welding and Painting
        time += ____
        if time >= SIMULATION_TIME: break
        print(f"Time = {time:7.4f} | Car {car_number:02d} | Welding and Painting")

        # Clock the time requirement for: Assembly of parts and Testing 
        time += ____
        if time >= SIMULATION_TIME: break
        print(f"Time = {time:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
        print(f"Time = {time:7.4f} | Car {car_number:02d} | Car ready for shipping!")

car_production_line(SIMULATION_TIME)
Modifica ed esegui il codice