Inizia subitoInizia 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 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 interattivo pratico

Prova questo esercizio completando questo 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