Aan de slagGa gratis aan de slag

Auto-assemblagelijn: niet-deterministische events toevoegen met SimPy

Deze oefening draait om niet-deterministische processen met SimPy.

Je past de SimPy-versie van je model van de auto-assemblagelijn aan en voegt dezelfde deterministische events toe met SimPy-methoden.

Onthoud dat "Lassen en spuiten" gemiddeld 15 uur duurt, maar dat die duur 5 uur kan variëren (omhoog of omlaag). "Assemblage van onderdelen en testen" duurt gemiddeld 24 uur, met een variatie van 6 uur (omhoog of omlaag).

De SimPy-bibliotheek is al voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Discrete Event Simulation in Python

Cursus bekijken

Oefeninstructies

  • Log de doorlooptijd van het proces "Lassen en spuiten", met de nieuwe informatie over de variatie met behulp van random.randint().
  • Log de doorlooptijd van het proces "Assemblage van onderdelen en testen", met de nieuwe informatie over de variatie met behulp van random.randint().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

def car_production_line(env):
    car_number = 0
    while True:
        car_number += 1

        # Adding process 1: Clock-in time requirement for Welding and Painting
        yield env.____(random.____(10, 20))
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Welding and Painting")

        # Adding process 2: Return/yield time after completing the process and print the current time
        yield env.____(random.____(18, 30))
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Car ready for shipping!")

env = simpy.Environment()
env.process(car_production_line(env))
env.run(until=SIMULATION_TIME)
Code bewerken en uitvoeren