Engage 또는 Workspace를 사용해 Monte Carlo 시뮬레이션을 제작할 수 있는 간단한 4단계 The 4 Simple Steps for Creating a Monte Carlo Simulation with Engage or Workspace

Minitab Blog Editor | 05 August, 2022

주제: Monte Carlo Simulation, Articles, Minitab Engage, Minitab Workspace, Minitab Statistical Software

Monte Carlo 시뮬레이션은 원자 폭탄에 대한 연구를 진행하던 과학자들이 우라늄 원자가 다른 원자에서 핵분열 반응을 일으킬 확률을 계산했던 1940년대에 처음 적용된 이후로 많은 발전을 이루었습니다. 오늘은 Minitab의 알려진 공학 공식 및 DOE 방정식에 대해 Monte Carlo 시뮬레이션을 만드는 방법을 알아보겠습니다.

우라늄이 부족해 실험에서 시행착오를 겪을 여지가 거의 없었던 시절 이후로 Monte Carlo 시뮬레이션은 항상 시뮬레이션 데이터에서 신뢰할 있는 확률을 계산하는 것에 특화되어 왔습니다. 오늘날 시뮬레이션 데이터는 재료 엔지니어링부터 의료기기 포장 씰링, 제강 이르기까지 다양한 시나리오에서 일상적으로 사용됩니다. 자원이 제한적이거나 실제 데이터를 수집하는 것이 너무 비싸고 실용적이지 않은 여러 상황에서도 사용될 있습니다. Engage 또는 Workspace Monte Carlo 시뮬레이션 도구를 사용하면 다음을 수행할 있습니다.

  • 의사결정에 도움이 되도록 가능한 결과의 범위 시뮬레이션

  • 재무 결과를 예측하거나 프로젝트 일정 추정

  • 공정 또는 시스템의 변동성 이해

  • 공정 또는 시스템 내의 문제 파악

  • 비용/편익 관계를 파악하여 위험 관리


MONTE CARLO 시뮬레이션을 시작하기 위한 4단계

시뮬레이션은 관련 요인의 수에 따라 매우 복잡해질 수 있습니다. 하지만 기본적인 수준에서 모든 Monte Carlo 시뮬레이션에는 4가지 간단한 단계가 있습니다.

1. 전달 방정식 파악

Monte Carlo 시뮬레이션을 만들려면 탐구하고자 하는 비즈니스 활동, 계획 또는 공정의 정량적 모델이 필요합니다. 공정의 수학식을 '전달 방정식'이라고 합니다. 이는 알려진 공학 또는 비즈니스 공식일 있으며, 실험계획법(DOE) 또는 회귀 분석에서 생성된 모델을 기반으로 수도 있습니다. Minitab Engage  Minitab Workspace 같은 소프트웨어는 여러 반응이 서로 종속적일 있는 경우에도 복잡한 방정식을 만들 있습니다.

2. 입력 매개변수 정의

전달 방정식의 각 요인에 대해 데이터가 어떻게 분포되는지 확인합니다. 일부 입력은 정규 분포를 따르는 반면, 다른 입력은 삼각 분포 또는 균등 분포를 따를 수 있습니다. 그런 다음 각 입력에 대한 분포 매개변수를 결정해야 합니다. 예를 들어 정규 분포를 따르는 입력에 대한 평균 및 표준 편차를 지정해야 합니다. 데이터가 어떤 분포를 따르는지 잘 모르는 경우 Engage 및 Workspace의 도구를 활용해 결정하는 데 도움을 받을 수 있습니다.

3. 시뮬레이션 설정

유효한 시뮬레이션을 위해서는 각 입력에 대해 100,000개 인스턴스 정도로 대량의 랜덤 데이터 집합을 생성해야 합니다. 이러한 랜덤 데이터 포인트는 각 입력에 대해 장기간에 걸쳐 나타나는 값을 시뮬레이션합니다. 많은 작업이 필요한 것처럼 들리지만 지금이 바로 Engage와 Workspace의 장점이 빛나는 순간입니다. 입력 값과 모델을 제출하기만 하면 여기 있는 모든 것이 알아서 처리됩니다.

4. 공정 출력 분석

시뮬레이션 데이터를 준비하면 전달 방정식을 사용하여 시뮬레이션 결과를 계산할 수 있습니다. 모델을 통해 충분한 양의 시뮬레이션 입력 데이터를 실행하면 입력의 예상되는 변동을 고려하여 시간 흐름에 따른 공정의 출력 결과를 확실하게 알 수 있습니다.

MONTE CARLO에서 알려진 공학 공식을 사용하기 위한 4단계

한 제조 회사에서 제안된 제품(분당 12ml의 액체를 펌핑해야 하는 소형 피스톤 펌프)의 설계를 평가하려고 합니다. 피스톤 직경(D), 스트로크 길이(L), 분당 스트로크(RPM)의 자연스러운 변동을 고려하여 수천 가지 펌프에서 가능한 성능을 추정하려고 합니다. 수천 개의 펌프에서 펌프 유량의 표준 편차가 0.2ml를 넘지 않는 것이 좋습니다.

1. 전달 방정식 파악

Monte Carlo 시뮬레이션의 첫 단계는 전달 방정식을 결정하는 것입니다. 이 경우 간단하게 펌프 유량을 측정하는 확립된 공학 공식을 사용할 수 있습니다.

유량 (in ml) = π(D/2)2 ∗ L ∗ RPM

2. 입력 매개변수 정의

이제 전달 방정식에 사용되는 각 입력의 분포와 매개변수를 정의해야 합니다. 펌프의 피스톤 직경과 스트로크 길이는 알려져 있지만 분당 12ml의 원하는 유량에 도달하기 위해 필요한 분당 스트로크(RPM)는 계산해야 합니다. 스트로크당 펌핑되는 양은 다음 방정식으로 계산됩니다.

π(D/2)2 * L

여기서 D = 0.8, L = 2.5, 각 스트로크는 1.256ml로 치환합니다. 따라서 분당 12ml의 유량을 달성하기 위한 RPM은 9.549입니다.
시설에서 제조한 다른 펌프의 성능을 바탕으로 피스톤 직경은 평균 0.8cm, 표준 편차 0.003cm로 정규 분포를 따른다고 할 수 있습니다. 스트로크 길이는 평균 2.5cm, 표준 편차 0.15cm로 정규 분포를 따릅니다. 마지막으로 분당 스트로크는 평균 9.549RPM, 표준 편차 0.17RPM으로 정규 분포를 따릅니다.

3. Engage 또는 Workspace에서 시뮬레이션 설정

상단 리본 메뉴의 삽입 탭을 클릭한 다음 Monte Carlo 시뮬레이션 선택합니다.

Monte-Carlo-Simulation

 

다음 단계는 쉽습니다. 각 변수의 이름을 지정하고 드롭다운 메뉴에서 분포를 선택한 다음 매개변수를 입력하기만 하면 됩니다. 위에서 설명한 내용을 따르도록 하겠습니다. 분포를 모르는 경우 데이터를 사용하여 결정을 선택합니다. 그러면 .csv 파일로 데이터를 업로드하라는 메시지가 표시되고 다음 몇 가지 옵션을 선택하게 됩니다.

test-data

define-model

 

4. 공정 출력 시뮬레이션 및 분석

다음 단계는 방정식을 지정하는 것입니다. 여기에서는 출력에 이름(이 예시에서는 Flow)을 지정하고 위에서 확인한 올바른 전달 방정식을 입력하기만 하면 됩니다. 또한 규격 상한과 규격 하한을 추가하여 시뮬레이션이 어떻게 비교되는지 확인할 수 있습니다.

process-output

 

그런 다음 리본 메뉴에서 실행할 시뮬레이션 수(적당한 기준은 100,000개)를 선택하고 버튼을 클릭하여 시뮬레이션을 실행합니다.

run-simulation-option

이 문서를 작성하기 위해 생성된 랜덤 데이터의 경우 100,000개의 표본을 기준으로 평균 유량은 11.996입니다. 평균적으로 목표값에 도달했지만 가장 작은 값은 8.7817이고 가장 큰 값은 15.7057로 범위가 꽤 넓습니다. (모든 구성 요소의) 전송된 변동의 표준 편차는 0.756ml로 목표치인 0.2ml를 크게 상회합니다.


이 펌프 설계는 변동이 너무 크므로 생산에 들어가기 전에 좀 더 다듬어야 할 것 같습니다. 여기서 시뮬레이션의 이점을 확인할 수 있습니다. 만약 바로 생산에 들어갔다면 꽤 많은 펌프가 불합격 판정을 받았을 것입니다. Monte Carlo 시뮬레이션을 사용하면 수천 가지 프로토타입의 제조 및 테스트 또는 조기 생산에 비용을 들이지 않고도 이 모든 것을 파악할 수 있습니다.
simulation-results

 

시뮬레이션 결과에 효과가 있었는지 궁금하다면 직접 시도해 보세요! 다양한 시뮬레이션을 실행하다 보면 약간의 변동이 발생할 수 있지만 최종 결과(허용할 수 없는 유량 변동)는 항상 일관됩니다. 이것이 바로 Monte Carlo 방법의 강점입니다.

추가 단계: 매개변수 최적화

표준 편차가 너무 높다는 것을 알게 된 것만으로도 가치가 크지만 Engage와 Workspace는 상황을 개선하는 기능에서 더욱 빛을 발합니다. 매개변수 최적화는 바로 이런 경우에 유용합니다.

첫 번째 입력 값인 피스톤 직경을 살펴보겠습니다. 평균 0.8이면 대부분의 데이터가 해당 값에 근접하거나 한 두 개의 표준 편차 내에 들어갑니다. 하지만 피스톤의 직경이 더 작은 경우가 유량에 더 효과적이라면 어떻게 될까요? 매개변수 최적화가 이 질문에 답하는 데 도움이 됩니다.

매개변수 최적화를 수행하려면 각 입력에 대한 검색 범위를 지정해야 합니다. 이 예시에서는 간단하게 하기 위해 알고리즘이 +/- 3 표준 편차 범위를 검색하도록 지정했습니다. 그러면 Engage 또는 Workspace에서 각 입력 또는 목표에 대한 최적의 설정을 찾아서 표준 편차를 줄일 수 있습니다. 적절한 범위를 선택하는 것은 중요합니다. 입력한 전체 범위가 실행 가능한지 확인해야 합니다. 생산 환경에서 복제할 수 없는 최적의 솔루션을 찾는 것은 좋은 방법이 아닙니다.

parameter-optimization

 

Minitab Statistical Software의 반응 최적화 도구를 사용한 적이 있다면 이와 비슷하다는 것을 알 수 있습니다. 결과는 다음과 같습니다.

assumptions

 

이를 바탕으로 표준 편차를 줄이려면 스트로크 길이와 분당 스트로크를 줄여야 합니다. 피스톤 직경은 비슷한 수준으로 유지해도 됩니다. Monte Carlo 시뮬레이션의 핵심은 새로운 프로토타입을 제작하거나 새로운 실험을 수행하지 않고도 이 모든 것을 확인할 수 있다는 것입니다.

실험계획법(DOE)의 반응 방정식을 사용하는 MONTE CARLO

어떤 방정식을 사용해야 할지 모르거나 고유한 공정의 결과를 시뮬레이션하려고 한다면 어떻게 해야 할까요? 이 경우 Minitab Statistical Software의 실험계획법 기능과 Engage 또는 Workspace의 시뮬레이션 기능을 결합할 수 있습니다.

한 전자제품 제조업체에서 전기 도금을 위한 금속 부품을 준비하는 전해 세정 작업을 지시했다고 가정해 보겠습니다. 전기 도금을 통해 제조업체는 원재료에 다른 금속 층을 코팅하여 원하는 특성을 얻을 수 있습니다. 도금은 더러운 표면에 달라붙지 않기 때문에 이 회사는 자동 전기 도금 기계에 연결된 연속 흐름 전해 세정 시스템을 가지고 있습니다. 컨베이어는 각 부품을 수조에 담가 부품을 통해 전압을 보내는 방식으로 세정합니다. 제대로 세정하지 않으면 거칠기의 평균 제곱근 값(RMS)이 높아지고 표면 마감이 불량해집니다. 부품을 제대로 세정하면 표면이 매끄러워지고 RMS가 낮아집니다.

공정을 최적화하기 위해 전압(Vdc)과 전류 밀도(ASF)의 두 가지 중요한 입력 값을 조정할 수 있습니다. 전해 세정 방법의 경우 Vdc에 대한 일반적인 공학적 한계는 3~12볼트입니다. 전류 밀도 한계는 평방 피트당 10~150암페어입니다(ASF).

1. 전달 방정식 파악

이 공정을 위해 확립된 교과서적인 공식은 없지만 Minitab에서 반응 표면 DOE를 설정하면 전달 방정식을 결정할 수 있습니다. 반응 표면 DOE는 종종 '적지만 핵심적인' 제어 가능 요인에 대한 최적의 설정을 찾아 반응을 최적화하는 데 사용됩니다.

이 경우 반응은 세정 후 부품의 표면 품질입니다.

Minitab에서 반응 표면 설계를 만들려면 통계 > 실험계획법 > 반응 표면 > 반응 표면 설계 만들기를 선택합니다. 전압(Vdc)과 전류 밀도(ASF)라는 두 가지 요인이 있으므로 13회 실행하는 이중 중앙 합성 설계를 선택하겠습니다.

create-response-surface-design

 

Minitab에서 실험계획법을 생성하면 13회 실험을 수행하고 데이터를 수집한 다음 13개 완성품의 표면 거칠기를 기록해야 합니다. Minitab에서는 잔차 그림을 사용하여 DOE 결과를 쉽게 분석하고 모델을 축소하고 가정을 확인할 수 있습니다. 최종 모델과 Minitab의 반응 최적화 도구를 사용하면 변수에 대한 최적의 설정을 찾을 수 있습니다. 이 경우 볼트를 7.74로 설정하고 ASF를 77.8로 설정하면 39.4의 거칠기 값이 나옵니다.

반응 표면 DOE는 Monte Carlo 시뮬레이션에 대해 다음과 같은 전달 방정식을 산출합니다.

Roughness = 957.8 − 189.4(Vdc) − 4.81(ASF) + 12.26(Vdc2) + 0.0309(ASF2)

2. 입력 매개변수 정의

이제 Monte Carlo 시뮬레이션 입력에 대한 매개변수 정의를 설정하여 Engage 또는 Workspace로 가져올 수 있습니다.

표준 편차는 기존 공정 지식을 바탕으로 알려지거나 추정되어야 합니다. 이는 모든 Monte Carlo 입력에 적용됩니다. 볼트는 평균 7.74Vdc, 표준 편차 0.14Vdc로 정규 분포를 따릅니다. 평방 피트당 암페어(ASF)는 평균 77.8ASF, 표준 편차 3ASF로 정규 분포를 따릅니다.

3. Engage 또는 Workspace에서 시뮬레이션 설정

이 작업은 3단계와 정확히 일치합니다. 리본 메뉴에서 삽입 > Monte Carlo 시뮬레이션을 클릭하고 입력 값을 추가하여 매개변수를 정의한 다음, 모델을 입력합니다. 최신 버전의 Minitab을 사용하는 경우 마우스 오른쪽 버튼을 클릭하고 Engage로 전송 또는 Minitab Workspace로 전송을 누릅니다. 또는 Minitab 출력에서 수동으로 복사하여 Engage 또는 Workspace의 모델 필드에 붙여넣을 수도 있습니다.

4. 공정 출력 시뮬레이션 및 분석

요약은 기본 입력이 정규 분포를 따르더라도 RMS 거칠기의 분포는 비정규적이라는 것을 보여줍니다. 또한 모든 구성 요소의 전송된 변동으로 인해 0.521의 표준 편차가 발생한다는 것을 보여주며, 공정 지식은 이것이 양호한 공정 결과임을 나타냅니다. 13회 실행한 DOE를 토대로 공정에서 실제로 어떤 상황이 발생하는지 확인할 수 있습니다. 다시 말하지만 이는 시뮬레이션 데이터를 기반으로 하기 때문에 여러분이 얻게 되는 답은 약간 다를 수 있지만 일반적으로 옳은 답을 얻을 수 있을 것입니다. 필요한 경우 매개변수 최적화를 검토하여 답을 수정하고 최적의 솔루션을 찾을 수 있습니다.

이 문서는 2012년 2월 ASQ Lean Six Sigma 컨퍼런스에서 Minitab 기술 교육 전문가인 Paul Sheehy가 발표한 프레젠테이션을 기반으로 합니다.