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
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)