저희 팀은 수십 년 동안 공정 및 포장 시스템의 이산 사건 시뮬레이션 모델을 개발해 왔습니다. 2024년에는 이러한 모델의 통계적 결과 해석 방식을 간소화하고 강화하기 위해 JMP를 도입했습니다.
시뮬레이션 모델은 실행에 시간과 비용이 많이 소요될 수 있으므로, 이제 JMP를 사용하여 설계된 실험을 기반으로 대리 메타모델을 구축합니다. 이 메타모델은 시뮬레이션에서 통찰력을 추출하는 효율성을 획기적으로 향상시킵니다. 이 메타모델은 단일 모델 실행 중에 제공되는 3D 시각화나 상세 실행 통계와 같은 기존 출력보다 시스템 동작에 대한 더 심층적인 통찰력을 제공합니다.
첫 번째 메타모델은 오랜 시간 동안 지속되어 온 분석 과제에 대한 명확한 해결책을 제시했습니다. 포장 라인에 여러 개의 버퍼가 있는 경우, 제한된 자본 자원을 고려하여 라인 성능을 최적화하려면 각 버퍼의 크기를 얼마나 해야 할까요? 병합-전환 메커니즘을 적용한 라인의 여러 레이아웃 옵션을 비교하고, 위치에 따른 성능에 미치는 비선형적 영향을 분석하는 등 여러 메타모델을 제시합니다.
마지막으로 두 창고 간 직접 연결 구축 여부에 대한 투자 결정을 뒷받침하는 데 사용된 지게차 시뮬레이션 사례 연구를 제시합니다. 대리 모델링은 시뮬레이션 워크플로우의 핵심 부분이 되었으며, JMP는 이러한 접근 방식을 팀과 이해관계자 모두에게 더욱 접근성, 효율성, 그리고 영향력을 높이는 데 중요한 역할을 했습니다.
안녕하세요, 저는 섀넌 브라우닝입니다. Haskell Company에서 시스템 분석 기술 책임자로 일하고 있습니다. 저희는 2023년부터 JMP를 사용하기 시작했지만, 이산 사건 시뮬레이션은 오랜 경험을 바탕으로 구축되어 왔습니다. 이산 사건 시뮬레이션은 제조 시스템 및 서비스 시스템에서 널리 사용되는 도구로, 실제 현장에 적용하기 전에 가상 환경에서 새로운 제어 전략, 레이아웃, 다양한 흐름, 로직 등을 시험해 볼 수 있도록 해줍니다.
JMP를 도입한 이후, 저희는 대리 모델 또는 메타 모델, 즉 모델의 모델이라고 부르는 기법을 활용하여 추가적인 통찰력을 제공하는 데 큰 성공을 거두었습니다. 따라서 시뮬레이션 모델 자체를 중심으로 실험 계획을 수립하고, 입력값을 체계적으로 변화시켜 더 높은 수준에서 시스템 동작을 관찰할 수 있도록 합니다.
물리적 또는 파괴적 실험에 더 가까운 실험 설계와는 다른 몇 가지 과제에 직면합니다. 컴퓨터 시간이 유일한 제약입니다. 기존 DOE에서 반복 실험이나 시나리오 횟수를 줄이게 만드는 물질적 제약이나 실현 가능성에 대한 여러 제약은 걱정하지 않습니다. 이는 실제로 많은 기회를 열어주지만, 동시에 흥미로운 과제도 안겨줍니다. 많은 이산 사건 시뮬레이션은 본질적으로 확률론적인 경향이 있는데, 이는 모델에 무작위적인 변화가 생성된다는 것을 의미합니다.
공통 난수(Common Random Numbers)라는 기법을 사용할 수 있습니다. 이 기법에서는 각기 다른 설정을 여러 번 반복하지만, 각 설정마다 동일한 난수 시드를 적용합니다. 충분히 유사한 동작이 나오기 때문에, 혼합 효과 모델에서처럼 이를 난수 효과로 처리할 수 있습니다. 하지만 이 중 일부를 자세히 살펴보고 다양한 응용 사례를 살펴보는 것이 정말 도움이 될 것 같습니다.
저희가 검토하면서 매력적이라고 생각했던 세 가지 사용 사례가 있습니다. 그중 하나는 고도로 자동화된 고속 포장 라인에서 버퍼를 어디에 배치해야 할지 파악하는 오랜 문제입니다. 두 번째 사례는 제어 장치와 운반 시스템의 물리적 레이아웃에 대한 세부 사항을 좀 더 자세히 다루는 것입니다. 세 번째 사례는 시설 내 지게차 이동량을 살펴보고 레이아웃 변경에 대한 상당한 투자가 투자 대비 효과나 결과를 가져올지 파악하는 것입니다.
먼저 병입 라인 시뮬레이션에 대해 자세히 살펴보겠습니다. 왼쪽 하단을 살펴보면 시스템을 흐름도 수준으로 표현하고 있습니다. 여기 소프트웨어 도구에서 다양한 프로세서와 큐를 끌어와 배열하고 있습니다. 각 프로세서와 큐는 무작위로 다운타임이 발생하며, 그 사이에는 고정된 속도로 실행됩니다. 약간의 과속이 발생하는데, 이를 통해 버퍼가 이러한 다운타임을 시간 내에 분리할 수 있는지 확인할 수 있습니다. 즉, 한 프로세서가 중단되더라도 상위 프로세서가 즉시 중단되지는 않습니다. 버퍼가 많을수록 설치가 더 많이 이루어집니다. 하지만 수익이 감소하는 부분도 있습니다. 여기에는 비선형적인 응답이 있습니다.
오른쪽 하단은 시간 경과에 따른 대기열 동태를 보여줍니다. 무언가가 멈추면 대기열이 매우 빠르게 쌓입니다. 그런 다음 복구될 때 속도 차이가 발생하여 버퍼가 시간이 지남에 따라 줄어듭니다. 여기서는 몇 가지 변수를 고려해야 합니다. 기계의 신뢰성, 과속, 버퍼 크기 등입니다. 우리의 과제 중 하나는 너무 많은 변수 중에서 어떤 변수를 고려해야 하는지입니다. 의사 결정 과정의 어느 단계에 있는지에 따라 원하는 위치에 도달하는 경향이 있거나 조정할 수 있는 변수가 결정됩니다. 여기까지 왔을 때쯤에는 이미 많은 기계가 선택되어 있었습니다. 사실, 남은 유일한 일은 이러한 버퍼를 살펴보는 것이었습니다.
전통적으로는 이러한 요소들을 개별적으로 살펴볼 것입니다. "여기에 버퍼 하나를 두고, 한 번에 한 가지 요인만 바꿔 보겠습니다."라고 생각할 것입니다. 하지만 JMP를 활용해서 각 버퍼를 0분에서 4분까지 설정할 수 있었습니다. 각 조합에 대해 10번씩 반복 실험을 진행했습니다. 각 조합에 대해 9단계를 설정했고, 이를 통해 반응의 곡률을 상당히 정확하게 조절할 수 있었습니다. 컴퓨터 시뮬레이션이라는 세계에서는 729가지의 조합이 존재한다는 것을 의미합니다.
모델은 꽤 빨리 실행되지만, 여전히 각각 10번씩 반복됩니다. 이 모델을 7,000번 이상 실행했고, 모든 시나리오를 실행하는 데 반나절 이상이 걸렸습니다. 하지만 데이터를 생성한 후에는 JMP에서 살펴볼 수 있습니다. 여기 오른쪽 상단에 예측 프로파일러가 표시되어 있습니다. 이 모든 버퍼의 기준선을 0으로 설정하면 이 위치에서 버퍼에 대한 최상의 응답을 얻고, 세 개에서는 약간 덜 좋은 응답을 얻고, 두 개에서는 전혀 그렇지 않다는 것을 분명히 알 수 있습니다. 하지만 상호 작용 효과도 모델링했습니다. 이 예측 프로파일러에서 버퍼 2에서 2분 30초를 선택하고 버퍼 3에서 2분을 선택하면 버퍼 1의 곡선이 더 평평해지는 것을 볼 수 있습니다. 이 세 가지의 이점을 한 번에 모두 얻을 수 없기 때문입니다. 버퍼 2에 많은 버퍼를 넣으면 세 개가 덜 효과적인 등의 상호 작용이 있습니다.
정말 강력한 통찰력이었습니다. 원래 프로젝트 계획에는 이 세 가지 버퍼 각각에 약 50만 달러가 투자되었던 것 같은데, 적어도 한 버퍼는 필요하지 않다고 확실하게 말할 수 있었습니다. 그래서 최소 50만 달러의 자본을 확보할 수 있었습니다. 그리고 세 번째 버퍼는 미세 조정이 가능했습니다. 즉, 해당 버퍼에 전액 투자하지 않아도 된다는 것입니다. 프로젝트에 대한 정말 좋은 통찰력이었습니다.
다시 돌아와서, 다음으로 살펴볼 내용은 시스템의 실제 작동 방식에 대한 세부 사항입니다. 이 경우에는 기존 라인이 있었고, 지난번에 두 유닛 간의 과속 차이가 버퍼 용량을 어떻게 줄이는지 살펴봤던 것을 기억하시나요? 시스템 병목 현상을 개선하여 약 10% 더 빠르게 작동하도록 했습니다. 그 결과 과속 차이가 상당히 줄어들었고, 이는 컨베이어 시스템 자체의 작동 방식에 문제를 야기했습니다.
두 개의 차선으로 제품이 들어오고 있었고, 제품을 다시 공급하는 오프라인 호퍼와 이 모든 것이 합쳐지는 병합-전환 단지가 있었습니다. 현장 자동화 엔지니어들은 해당 지점의 거리를 기준으로 일부 간격을 좁히는 데 어려움이 있음을 발견했습니다. 병목 현상이 발생하면서 속도가 증가했습니다. 시뮬레이션을 통해 이 지점을 상류로 12피트(약 3.6미터) 이동하면 어떻게 될지, 24피트(약 7.6미터) 이동하면 어떻게 될지 검토하고 있다고 말했습니다.
당연히 강철을 자르고, 컨베이어 전체를 재배치하고, 모든 것을 조정하는 데 상당한 투자가 필요했습니다. 개별 이벤트 모델링 관점에서도 레이아웃을 세 가지 다른 방식으로 재현해야 했기 때문에 조금 더 어려웠습니다. 원래 레이아웃과 그 위에 두 가지 다른 반복 작업을 했습니다. 레이아웃을 변경하고, 제어 기능을 미세 조정한 후, 다시 검토했습니다. 앞서 말씀드렸듯이 이번에는 좀 더 세부적인 여러 반복 작업을 진행할 수 있었지만, 이러한 모델 조정을 위한 각 시나리오마다 비용이 조금씩 더 많이 들었습니다.
JMP에 숫자를 입력하기 전까지는 예상하지 못했던 점 중 하나는 상류에 제약 조건이 있다는 것이었습니다. 하류에서는 다음 기계와 이 병합-전환 시스템 사이에 충분한 공간이 없다는 것을 알고 있었습니다. 하지만 상류로 12피트, 그리고 다시 24피트로 이동하면서 상류 부분에 너무 가까워지고 있다는 것을 발견했습니다. 그래서 이 문제를 JMP에 입력했습니다. 적합 모델 플랫폼을 사용했습니다. 이 모델에는 이차 적합을 사용했습니다. 그리고 상류에 점점 더 가까워질수록 성능이 저하되는 것을 확인할 수 있었습니다.
이걸 연결하지 않았다면 알아차리지 못했을지도 모르는, 우리에게는 약간 놀라운 사실이었습니다. 화면에는 없지만, 여기서 이 피팅 방정식을 꺼내고 미분을 해서 여기서 최댓값을 찾을 수 있습니다. 하지만 물론, 문제는 12피트에서 24피트 사이 어딘가에 있는 이 지점 주변의 불확정성이 얼마냐는 것입니다.
물론 한 가지 방법은 최적 지점에서 18피트(약 5.7미터) 떨어진 지점에 모델을 만든 다음 해당 데이터에 맞춰 다시 조정하는 것입니다. 하지만 예측 프로파일러에서는 이차 함수 적합의 1차 및 2차 미분값에 대한 불확실성도 확인할 수 있습니다. 이를 통해 상황을 이해하는 데 큰 도움이 될 수 있습니다. 최대값이 12피트(약 3.6미터)에서 24피트(약 7.6미터) 사이에 위치하는 경향이 있다는 것은 알지만, 정확한 위치는 알 수 없습니다. 이 문제를 복잡하게 만드는 다른 변수들도 있습니다. 시스템을 실제로 구축하는 방법에 대한 현실적인 문제도 있습니다. 하지만 이 방법을 통해 좀 더 깊이 있는 통찰력을 얻을 수 있었습니다.
마지막으로 살펴볼 것은 지게차 교통량입니다. 이 시설은 생산량을 늘리고 있었습니다. 아직 생산 단계에 이르지 않았기 때문에 실제로 어떤 일이 일어날지 경험적으로 관찰할 수는 없었습니다. 하지만 포장 라인의 흐름도 모델을 구축하고 이를 이 모델의 핵심 요소로 사용했습니다. 그런 다음 지게차 배차 규칙과 작업, 그리고 지게차가 라인에 자재를 공급하고 라인에서 자재를 꺼내기 위해 수행하는 모든 작업을 프로그래밍했습니다.
여기서 우리가 발견한 한 가지는 이 지게차를 범주형 변수로 처리해야 한다는 것입니다. 이 모델을 처음 적용했을 때, 비선형 관계가 있다는 것을 발견했습니다. 이것을 범주형 변수로 처리할 때까지는 확실히 알지 못했습니다. 그런 다음 이 커넥터 없이, 여기서 5개의 활성 지게차를 얻을 때, 6개에서 더 이상의 이점을 얻을 수 없다는 것을 알 수 있습니다. 그런 다음 이 예측 프로필에서 6개에 있다는 것을 알 수 있습니다. 이 특정 상황에 대한 레이아웃 혁신이었던 이 커넥터를 추가한다면, 이 커넥터를 추가한다면, 실제로 큰 잠재적 이득이 있습니다. 이것이 우리가 이것이 투자할 가치가 있다고 말할 수 있는 근거입니다. 그 레이아웃 변경에 상당한 투자였습니다.
이러한 상호작용 프로파일러를 살펴볼 수도 있습니다. 여기 상호작용 프로파일에서 이 커넥터가 있든 없든, 이 커넥터가 없으면 실제로 제약이 된다는 것을 분명히 알 수 있습니다. 병목 현상 해소나 트래픽 정체 완화에 투자하지 않았다면 운영 측면에서 아무것도 할 수 없었을 것입니다.
이미 구축 중인 시뮬레이션 모델에 JMP를 적용하는 몇 가지 방법을 간략하게 살펴보겠습니다. 이러한 메타 모델 덕분에 시뮬레이션 분석가들이 나무만 보고 숲을 볼 수 있었다고 말씀드리고 싶습니다. 이러한 이산 이벤트 모델은 너무 많은 변수를 고려해야 하기 때문에 때로는 핵심을 파악하지 못할 수 있습니다. 또한, 너무 많은 데이터가 생성되어 실제 비즈니스 문제나 해결하려는 항목과 연결하기 어려울 수 있습니다. 시간 내주셔서 감사하며, 궁금한 점이 있으시면 언제든지 문의해 주세요.