Modellera en bilproduktionslinje: Python-generatorer
Du har fått i uppdrag att bygga en diskret händelsemodell för att optimera en bilproduktionslinje. Som ett första steg identifierade du de viktigaste processgrupperna i produktionslinjen: (1) svetsning och målning samt (2) montering och testning. Varje processgrupp innehåller givetvis många delprocesser och moment, men för tillfället fokuserar du på att koda en första, övergripande version av modellen.
Eftersom du redan har identifierat de kritiska processgrupperna är nästa steg att fastställa den genomsnittliga tid varje process tar. Din undersökning visade att svetsning och målning tar 15 timmar, medan montering och testning tar 24 timmar.
Paketet simpy är redan importerat.
Tiden i modellen anges i timmar.
Den här övningen är en del av kursen
Diskret händelsesimulering i Python
Övningsinstruktioner
- Definiera Python-generatorn med namnet
car_production_line_gen. - Registrera tidsåtgången för svetsning och målning i produktionslinjen.
- Registrera på motsvarande sätt tidsåtgången för montering och testning.
- Skriv ut den aktuella simuleringstiden.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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")