몬테카를로 시뮬레이션

From CS Wiki
Monte Carlo Simulation
우연현상의 경과를 난수를 써서 수치적, 모형적으로 실현시켜 그것을 관찰함으로써 문제의 근사 해를 얻는 방법
  • 가능한 원가 또는 기간의 확률 분포에서 임의로 선정한(random) 값을 사용하여 프로젝트 원가나 프로젝트 일정을 여러 차례 계산하거나 반복하는 방법
  • 총 프로젝트 원가 또는 완료날짜의 분포를 산출하는 기법으로 사용한다.

활용[edit | edit source]

프로젝트의 성공 확률, 위험 등에 대해 확률적으로 접근할 수 있다.
  • 금액
    • 이 금액으로 프로젝트를 성공시킬 수 있는 확률은?
    • 프로젝트를 80% 이상의 확률로 성공시키려면 드는 비용은?
  • 기간
    • 이 기간으로 프로젝트를 성공시킬 수 있는 확률은?
    • 프로젝트를 80% 이상의 확률로 성공시키려면 필요한 기간은?
  • 위험
    • 이 작업을 했을 때 실패할 확률은?
    • 이 작업이 실패했을 때 들 비용은?

예시[edit | edit source]

  • A프로젝트는 a b c d 과정을 거친다.
  • a는 10~15일, b는 1~4일, c는 3~9일, d는 24~30일이 걸린다.
  • A프로젝트의 최소 수행기간은 38일, 최대 수행 기간은 58일이 걸린다.
    1. 0~1 사이의 난수를 발생시켜 a에서 10~15일 중 하나를 선택한다.
    2. 0~1 사이의 난수를 발생시켜 b에서 1~4일 중 하나를 선택한다.
    3. 0~1 사이의 난수를 발생시켜 c에서 3~9일 중 하나를 선택한다.
    4. 0~1 사이의 난수를 발생시켜 d에서 24~30일 중 하나를 선택한다.
    5. 값을 더한다.
  • 1~5를 10000번 정도 반복하면 정규분포 그래프가 그려진다.
  • 그 그래프를 기준으로 '기간'에 따른 성공 확률을 계산한다.