Aan de slagGa gratis aan de slag

Auto-montagelijn: deterministische gebeurtenissen toevoegen

Deze oefening richt zich op deterministische processen zonder SimPy te gebruiken. In de volgende oefening gaan we met SimPy aan de slag.

Er is gevraagd om een discrete-eventsmodel te bouwen om een autoproductielijn te simuleren. Het model moet helpen om de productiviteit te verhogen, knelpunten te identificeren en resources te beheren. Om te beginnen moest je eerst de belangrijkste groepen processen in de productielijn vaststellen. Dat zijn (1) lassen en schilderen en (2) assemblage en testen. Natuurlijk bevatten deze groepen veel subprocessen en taken, maar voor nu focus je op het coderen van de eerste versie van je model op hoofdlijnen.

Nu je de kritieke procesgroepen hebt geïdentificeerd, is het tijd om de gemiddelde tijd te bepalen die elk proces nodig heeft om te voltooien. Je onderzoek leverde 15 uur op voor lassen en schilderen en 24 uur voor onderdelen assembleren en testen. Laten we deze deterministische processen representeren in een discrete-eventsmodel zonder SimPy te gebruiken.

Deze oefening maakt deel uit van de cursus

Discrete Event Simulation in Python

Cursus bekijken

Oefeninstructies

  • Registreer de duur van het proces "Welding and Painting".
  • Registreer de duur van het proces "Assembly and Testing".

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

def car_production_line(SIMULATION_TIME):
    car_number, time  = 0, 0
    while time < SIMULATION_TIME:

        car_number += 1

        # Clock-in the time requirement for: Welding and Painting
        time += ____
        if time >= SIMULATION_TIME: break
        print(f"Time = {time:7.4f} | Car {car_number:02d} | Welding and Painting")

        # Clock-in the time requirement for: Assembly and testing
        time += ____
        if time >= SIMULATION_TIME: break
        print(f"Time = {time:7.4f} | Car {car_number:02d} | Assembly of parts and Testing")
        print(f"Time = {time:7.4f} | Car {car_number:02d} | Car ready for shipping!")

SIMULATION_TIME = 1000
car_production_line(SIMULATION_TIME)
Code bewerken en uitvoeren