1. Nauka
  2. /
  3. Kursy
  4. /
  5. Symulacja zdarzeń dyskretnych w Pythonie

Connected

ćwiczenie

Produkcja odzieży: wiele procesów i modułowość

Masz za zadanie zbudować model symulacji dyskretnej, który pomoże zoptymalizować fabrykę odzieży w Mediolanie – włoskiej stolicy mody.

Jesteś bardzo podekscytowany(-a) tym projektem i chcesz mieć pewność, że stworzysz pomocny i skalowalny model. Wiesz, że branża odzieżowa jest złożona i obejmuje wiele procesów oraz zasobów, z którymi wciąż się zapoznajesz.

Po przeprowadzeniu badań opracowałeś(-aś) listę procesów przedstawioną w poniższej tabeli. Podszedłeś(-aś) do zadania rzetelnie i dla każdego procesu stworzyłeś(-aś) oddzielną funkcję, aby model był modularny i mógł rozrastać się w kontrolowany sposób.

Teraz otrzymałeś(-aś) informację zwrotną od swojego menedżera – poproszono cię o dodanie do modelu nowego procesu: „Czyszczenie miejscowe i pranie", który powinien znaleźć się między krokiem 8 a 9 (patrz wiersz tabeli wyróżniony na czerwono). Pakiety random i simpy zostały już zaimportowane.

Tabela z nazwami procesów, odpowiadającymi im funkcjami oraz informacją o tym, czy dany proces został uwzględniony w modelu.

Instrukcje 1/3

undefined XP
    1
    2
    3
  • Utwórz nową funkcję spot_cleaning_and_laundry(), która obliczy czas trwania nowego procesu.
  • W głównym generatorze all_processes() dodaj wywołanie tej nowej funkcji i ustaw gen_type=gauss, aby użyć rozkładu Gaussa, przekazując argumenty gauss_mean=60 (średnia) i gauss_std=10 (odchylenie standardowe). Argumentów unif_start i unif_end nie trzeba podawać – dotyczą one gen_type=uniform i domyślnie mają wartość None.
  • Uwzględnij obliczony czas trwania nowego procesu (tnew) w zmiennej total_duration.