Zacznij terazZacznij za darmo

Budowanie modelu: tworzenie środowiska i zasobów

Masz za zadanie pomóc zoptymalizować linię montażową producenta samolotów. Główne komponenty samolotu to: (1) kadłub, (2) skrzydła, (3) statecznik (ogon), (4) układ napędowy (silnik i śmigło) oraz (5) podwozie.

Każdy z tych komponentów jest montowany w osobnej sekcji, która dysponuje odpowiednio 3, 2, 2 i 3 stanowiskami (ang. slots). Oznacza to, że po zakończeniu danego kroku element przechodzi do następnego, jeśli dostępne jest wolne stanowisko – w przeciwnym razie musi czekać. Kolejność montażu musi odpowiadać krokom 1–4 przedstawionym na poniższym diagramie. Czas w modelu wyrażony jest w godzinach.

Airplane assembly sequence showing the different processes and limited shared resources.

Zbuduj model dyskretno-zdarzeniowy do symulacji linii montażowej.

To ćwiczenie jest częścią kursu

Symulacja zdarzeń dyskretnych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij słownik informacjami o zasobach; klucze to step_1_fuselage, step_2_wings, step_3_power_plant i step_4_landing_gear, a odpowiadające im wartości (czasy trwania procesów) wynoszą: 20, 8, 10 i 8 godzin.
  • Utwórz środowisko SimPy i przypisz je do zmiennej o nazwie env.
  • Uzupełnij zasoby modelu, nadając im odpowiednie pojemności widoczne na diagramie (tj. liczbę stanowisk – slots), i przypisz je do zmiennych o nazwach step_1_fuselage, step_2_wings, step_3_power_plant i step_4_landing_gear.

Interaktywne ćwiczenie praktyczne

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

# Define a dictionary with your processes
processing_time = {
  "____": 20,
  "____": 8,
  "step_3_power_plant": ____,
  "step_4_landing_gear": ____
}

# Create your SimPy Environment with the name env
env = simpy.____()

# Create resources for each assembly step
step_1_fuselage = simpy.____(env, capacity=____)
step_2_wings = simpy.____(env, capacity=2)
step_3_power_plant = simpy.____(env, capacity=2)
step_4_landing_gear = simpy.____(env, capacity=3)

env.process(order_aircraft(env, PLANE_ORDERS, step_1_fuselage, step_2_wings, step_3_power_plant, step_4_landing_gear))

env.run()
Edytuj i uruchom kod