Zacznij terazZacznij za darmo

Linia montażu samochodów: dodawanie zdarzeń deterministycznych

To ćwiczenie skupia się na procesach deterministycznych bez użycia SimPy. W kolejnym ćwiczeniu zajmiemy się SimPy.

Zlecono stworzenie modelu dyskretno-zdarzeniowego symulującego linię produkcji samochodów. Model ma pomóc w zwiększeniu wydajności, identyfikacji wąskich gardeł i zarządzaniu zasobami. Na początek trzeba było zidentyfikować główne grupy procesów zachodzących na linii produkcyjnej. Są to: (1) spawanie i lakierowanie oraz (2) montaż i testowanie. Oczywiście każda z tych grup obejmuje wiele podprocesów i zadań, ale na razie skupiasz się na zakodowaniu pierwszej wersji modelu na wysokim poziomie ogólności.

Po zidentyfikowaniu kluczowych grup procesów czas określić średni czas realizacji każdego z nich. Na podstawie badań przyjęto 15 godzin dla spawania i lakierowania oraz 24 godziny dla montażu części i testowania. Teraz przedstawmy te procesy deterministyczne w modelu dyskretno-zdarzeniowym – bez użycia SimPy.

To ćwiczenie jest częścią kursu

Symulacja zdarzeń dyskretnych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zarejestruj czas trwania procesu "Spawanie i lakierowanie".
  • Zarejestruj czas trwania procesu "Montaż i testowanie".

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
Edytuj i uruchom kod