프로젝트 & 과제/2학년

[랜덤] Monte Carlo Project

qqlzzb 2022. 1. 16. 22:10

개요

프로그래밍 언어 : 매트랩

과제 수행 날짜 : 2019.10.16

과제 개요 : 가상의 가게를 설정하여 monte carlo 방법으로 100회의 시뮬레이션 후 획득한 데이터를 분석하는 프로젝트

 

프로젝트 설명

아래의 초기 설정값에 근거한 가상의 가게를 생성하여 그 가게에 방문하는 고객들을 monte carlo 방법으로 시뮬레이션을 수행한다. 그 결과로 획득할 수 있는 데이터를 각종 그래프로 표현하고, 확률통계학적인 분석을 수행한다.

 

초기 설정값

- 데이터 수집하는 시간 = 12시 ~ 14시

- 다음 손님이 들어오는 시간 간격의 범위 = 100초 ~ 300초

- 그룹의 인원수의 범위 = 1명 ~ 8명

- 주문한 것을 받기까지 걸리는 시간의 범위 = 30초 ~ 120초

next_time = (100+200*(rand(1,100))); // 다음 손님이 들어오는 시간 간격 범위는 100~300초
num_gro = (1+7*(rand(1,100)));       // 그룹의 인원수 범위는 1~8명
time_res = (30+90*(rand(1,100)));    // 주문한 것 받기까지 시간 범위는 30~120초
counter=(1+1*(rand(1,100)));         // 카운터 1인지 2인지 범위는 1~2번

for a=1:length(next_time)
    cnt_num(a)=round(7200/next_time(a)); // 2시간 동안 받는 그룹수
end

//중략

for k=1:length(next_time)
    
	if(next_time(k)>time_res(k))
    	num_peo(k)=round(num_gro(k))*cnt_num(k);
    	num_peo1(k)=num_peo(k)*(cnt1/100);
    	num_peo2(k)=num_peo(k)*(cnt2/100);
	end 
end

Monte carlo 방법으로 시뮬레이션 하기 위해 각 초기 설정 값에 랜덤 값을 반영해준다.

 

결과

 

결과 분석

위의 결과에 따라 이 가게는 점심시간 동안 최대 469명을 받을 수 있다.

Histogram Box whisker chart
누적도수표를 분석해보면, 12시부터 14시까지 손님이 200명 이하일 확률은 약 80%이다. 또한 손님이 300명 이하일 확률은 약 95%이다. 카운터가 1개인 경우의 누적도수표를 분석해보면, 12시에서 14시 사이에 손님이 100명 이하일 확률은 약 75%이다. 손님이 50명 이하일 확률은 약 40%이다.

 

'프로젝트 & 과제 > 2학년' 카테고리의 다른 글

단기 SW 보조 강사 2  (0) 2022.01.18
[랜덤] Digital Sound Design  (0) 2022.01.17
[랜덤] 랜덤 수 생성기  (0) 2022.01.15
[선형] PCA 얼굴 인식  (0) 2022.01.14
[선형] 태양계 애니메이션 구현  (0) 2022.01.13