Kom igångKom igång gratis

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

Visa kurs

Ö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")
Redigera och kör kod