Get startedGet started for free

Car assembly line: adding deterministic events with SimPy

This exercise focuses on deterministic processes using SimPy.

Let's build the same car assembly line model using the SimPy package.

We will focus on adding the same deterministic events using SimPy methods. Recall that you did your research and came up with 15 hours for welding and painting and 24 hours for the assembly of parts and testing.

The SimPy library has been imported for you.

This exercise is part of the course

Discrete Event Simulation in Python

View Course

Exercise instructions

  • Complete the code to clock-in the duration of process 1.
  • Complete the code to clock-in the duration of process 2.
  • Create a SimPy environment and store it in a variable named env.
  • Run the model until SIMULATION_TIME.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

def car_production_line(env):
    car_number = 0

    while True:
        car_number += 1

        # Clock-in the time requirement for: Welding and Painting
        yield env.____(15)
        print(f"Time = {env.now:7.4f} | Car {car_number:02d} | Welding and Painting")

        # Clock-in the time requirement for: Assembly and Testing
        yield env.timeout(____)
        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!")

SIMULATION_TIME = 1000

# Create the SimPy environment
env = simpy.____()

env.process(car_production_line(env))

# Run the SimPy model
env.____(until=SIMULATION_TIME)
Edit and Run Code