Modellare una linea di produzione di auto: generatori Python
Ti è stato chiesto di costruire un modello a eventi discreti per ottimizzare una linea di produzione di auto. Per iniziare, dovevi identificare i principali gruppi di processi coinvolti nella linea. Sono (1) saldatura e verniciatura e (2) assemblaggio e collaudo. Naturalmente, ciascuno di questi gruppi comprende molti sotto-processi e attività, ma per ora ti concentri sullo sviluppo di una prima versione di alto livello del modello.
Dal momento che hai già individuato i gruppi di processi critici, è ora di determinare il tempo medio necessario per completare ciascun processo. Hai fatto le tue ricerche e hai stimato 15 ore per saldatura e verniciatura e 24 ore per assemblaggio dei pezzi e collaudo.
Il pacchetto simpy è già stato importato per te.
Il tempo nel modello è espresso in ore.
Questo esercizio fa parte del corso
Simulazione a eventi discreti in Python
Istruzioni dell'esercizio
- Definisci il generatore Python con il nome
car_production_line_gen. - Registra nel modello il tempo richiesto per saldatura e verniciatura.
- Allo stesso modo, registra il tempo necessario per completare l'assemblaggio dei pezzi e il collaudo.
- Stampa l'ora corrente della simulazione.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Defining a Generator that includes the processes
def ____(env):
car_number = 0
while True:
car_number += 1
# Process 1: Clock the time requirement for welding and painting
yield env.____(____)
print(f"Car {car_number}: Welding and painting (completed) => time = {env.now}")
# Process 2: Clock in time for process 2 and yield it
____
print(f"Car {car_number}: Assembly of parts and testing (completed) => time = {env.now}")
# Print car ready for shipment
print(f"Car {car_number}: Car ready for shipping! time = {env.____} hours")