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

Connected

ćwiczenie

Próbkowanie Monte Carlo dla modelu zdarzeniowego w SimPy

Zbudujmy teraz tę samą analizę próbkowania Monte Carlo, korzystając z wersji modelu opartej na SimPy. Model SimPy zawiera generator o nazwie manufacturing_process, który symuluje różne procesy, oraz funkcję run_monte_carlo, która uruchamia model wielokrotnie i zapisuje wyniki w tablicy NumPy o nazwie time_record.

Kod rysujący wyniki jest podobny do tego z poprzedniego ćwiczenia, ale został przeniesiony do funkcji plot_results(), pokazanej poniżej.

def plot_results():

    df_disc = pd.DataFrame({cNam[0]: process_line_space, cNam[1]: time_record})
    fig = sns.lineplot(data=df_disc, x=cNam[0], y=cNam[1], marker="o")
    fig.set(xlim=(0, len(processes) + 1))
    plt.plot() 

Pętla próbkowania Monte Carlo wygeneruje szereg możliwych trajektorii procesów, jak pokazano na rysunku. Trajektorie Monte Carlo dla różnych scenariuszy procesów.

Instrukcje

100 XP
  • Zarejestruj i wykonaj yield dla process_duration.
  • Zapisz bieżący czas w time_record.
  • Uruchom pętlę for dla n_trajectories próbek ze zmienną pomocniczą t.
  • Utwórz środowisko SimPy, dodaj procesy i uruchom model.