Python으로 배우는 이산 사건 시뮬레이션
Diogo Costa (PhD, MSc)
Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific
활용 분야
샘플 수 증가에 따른 파라미터 공간



예시: 정규(가우스) 분포 기반 이벤트 생성기의 출력 범위를 파악하기 위한 몬테카를로 실행
import random as rd
import numpy as np
import matplotlib.pyplot as plt
# Generating samples: Gaussian distribution
duration_sample = [rd.gauss(25, 5)
for i in range(5000)]
# Plotting
plt.scatter(duration_sample, np.r_[0:5000],
marker='.', c=duration_sample, cmap='CMRmap')
plt.xlabel("Duration [min]")
plt.ylabel("Monte Carlo Runs")
결과 시각화

핵심 목표

각 프로세스 지속 시간의 불확실성이 시스템 전체에 전파됨
다양한 모델 궤적을 생성함
응답 범위(Response Envelope) 라고 부름
예시:
n_trajectories = 50
process_1 = {"Name": "Raw_material",
"OperationTime": 20,
"MaxDelayTimePercent": 10}
process_2 = {"Name": "Unloading",
"OperationTime": 15,
"MaxDelayTimePercent": 5}

Python으로 배우는 이산 사건 시뮬레이션