2001-03-12 13:41
■ 시작하며...
시뮬레이션. 어디선가 들어본 말이다. 또 어디어디에서 사용되고 있다는 얘기도 들어본 적이 있다. 그러나 대다수의 사람들은 “시뮬레이션이란 것은 나와는 별 관계가 없다" 라고 생각한다. 그러나 우리는 일상생활에서 이 시뮬레이션을 알게 모르게 쓰고 있다. 그것도 매우 많은 곳에서.
A씨가 아침에 출근을 한다. ‘오늘은 어떻게 출근을 할까? 자가용을 이용하면 편하긴 하지만 차가 막힐 위험이 있고, 지하철을 타자니 너무 힘들고.' 이런 생각들이 머리속에서 A씨를 망설이게 만든다.
A씨의 상황은 대다수의 사람들이 자주 겪는 일중의 하나이다. 어떤 선택을 하는 것이 적절한 선택을 하는 것일까? 이것은 우리의 생활 주변에 무수히 많지 않은가!
이런 것들이 시뮬레이션과 어떤 관계가 있는지 궁금하다면 다음을 보자.
■ 시뮬레이션이란?
우리가 여러가지 선택을 해야하는 상황에서, 각 상황의 결과를 미리 알 수 있다면 정말 편리할 것이다. 그러나 우리는 그 결과에 대해서 전혀 모른다. 다만 예상만을 할 수 있을 뿐이다. 시뮬레이션이란 바로 우리가 선택할 수 있는 행동을 실험해 보는 것이다. 즉, 우리가 선택할 결과들을 미리 알아보는 것이다.
앞서 언급한 A씨를 예로 들어보자.
A씨가 자신의 차로 출근하기로 했다치자. 그런데 앞 도로에서 사고가 나서 회사에 30분 지각을 했다. 만약 이런 상황을 시뮬레이션 할 수 있었다면 A씨는 지각하지 않았을 것이다. 그 결과를 미리 알고 있는데 잘못된 선택을 할 사람이 누가 있겠는가?
자, 이제 구체적으로 시뮬레이션을 알아보자. 시뮬레이션은 실제로 존재하는 물리적인 시스템의 모델을 디자인하고, 그 모델을 컴퓨터에서 실행하고, 그 실행 결과를 분석하는 학문이다. 즉, 컴퓨터 시스템을 통해서 가상 공간에 인공적인 시스템을 만들고 실행해 보는 것이다.
■ 왜 시뮬레이션을 하는가?
우리가 살고 있는 현실세계는 굉장히 복잡하다. 이러한 현실문제를 육감이나 수학적 모델(Analytic Model)만으로 해결책을 찾기에는 대부분 불가능하다. 현실 세계는 1 더하기 1이 2가 아닌 경우가 더 많지 않은가. 이러한 경우에는 시뮬레이션 방법만이 유일한 해결책이다. 또한 우리가 아직 경험하지 못했던 시스템을 실제로 실험하기에는 대단히 위험한 시스템, 실험하기 위해서는 많은 비용이나 인력이 필요한 시스템에도 시뮬레이션 방법을 사용하는 것이 효과적이다.
만일 “비행기 추락시 조종사의 대응 훈련"을 실제로 한다면, 한 번의 훈련을 할 때마다 비행기를 한 대씩 추락시켜야 하고, 조종사의 안전도 보장할 수 없게 될 것이다. 그러나 이러한 시스템을 시뮬레이션 한다면 매우 많은 비용을 절감할 수 있고, 조종사 역시 편하게 훈련을 할 수 있을 뿐 아니라 한 번의 시뮬레이션으로 많은 조종사들이 훈련을 받을 수 있다.
■ 어떻게 시뮬레이션을 할 것인가?
시뮬레이션을 하기 위해서는 반드시 해야 할 것이 있다. 바로 모델을 만드는 일이다. 모델은 실제의 시스템을 수학적으로 또는 컴퓨터로 구현한 것을 말한다.
대부분의 사람들은 바로 이 절차를 무시하고 넘어가는 경우가 많다. 즉, 머리속에서만 모델이 존재하고, 머리속에서 시뮬레이션이 수행된다. 그리고는 자신 있게 결과를 얘기한다. 우리는 이것을 보통 ‘감’이라고 한다. ‘감’과 시뮬레이션 결과는 완전히 틀리다. ‘감’은 다른 사람들을 설득할 근거가 없다. “왜 당신의 결과가 옳다고 생각하느냐"라고 묻는다면 할 말이 없는 것이다. 그러나 시뮬레이션 결과는 현재의 시스템을 그대로 구현한 모델에 근거한 결과이기 때문에 보다 신뢰성 있는 결과를 얻을 수 있다.
한편 시뮬레이션을 하기 위한 순서는 다음과 같은 3부분으로 나눌 수 있다.
모델 디자인은 실제 시스템을 컴퓨터로 작성하는 것이다. 이 작업은 굉장히 중요하다. 최대한 실제 시스템과 똑같이 작성해야만 의미가 있기 때문이다. 어느 도로의 교통량을 알아보기 위해서 도로를 모델링 했는데 구현한 모델은 오직 1차선뿐이라면 그 모델은 아무 의미도 없는 것이다.
또한 모델을 완성했다면 그것을 컴퓨터로 실행해 보아야 한다. 컴퓨터로 모델을 실행하기 위해서는 프로그램을 작성해야 하는데, 이미 많은 시뮬레이션 프로그램이 공개 또는 상용 버전으로 나와 있다. 이것들에 대해서는 다음 회에 다시 언급하겠다.
그리고 모델을 실행시켰으면 그 결과를 분석해야 한다. 모델의 실행 결과는 시뮬레이션 모델에 제공된 입력 데이터와 함께 분석됨으로써 모델의 검증이 이루어진다. 어느 정도 모델의 신뢰성이 인정이 되면 시뮬레이션 모델의 결과는 곧바로 모델링의 대상이 되었던 실제 시스템의 검증에 사용된다.
■ 시뮬레이션의 장점은 무엇인가?
시뮬레이션을 사용하였을 경우의 장점에 대해서 좀 더 자세히 알아보자.
첫번째로 수학적 방법으로 해결할 수 없는 복잡한 문제를 해결할 수 있다. 물론 표현이 가능하다면 수학적 방법이 문제를 해결하는 데에 쉬울 수도 있다. 그러나 앞에서 언급했듯이 수학적 방법에는 한계가 있기 때문에 시뮬레이션을 사용하면 복잡한 문제도 해결이 가능해진다.
두번째로 시뮬레이션 모델을 구현하면 여러가지 대안을 쉽게 비교할 수 있다. 한번 모델을 구현하면, 그 모델을 사용하여 약간의 변형만으로도 여러가지의 변형된 모델을 구현할 수 있기 때문에 여러가지 대안을 실험하여 비교, 검토할 수 있다. 만약 현재의 공장을 한번 모델로 만들었다면 그 레이아웃의 변경이나 확장 등은 약간의 수정만으로 쉽게 모델을 구현할 수 있게 된다.
세번째로 비용, 시간, 자원의 절감이 가능하다.
실제로 시스템을 구현하여 실험하다보면 앞에서 언급한 것과 같은 많은 어려움이 따른다. 그러므로 시뮬레이션을 사용하면 적은 비용으로 단기간에 모델의 구현이 가능해지고, 최적의 결과를 얻을 수 있다. 현재의 공장을 확장했을 때, 그 효과가 어떻게 될지를 실제로 실험해 본다고 생각해 보라. 그 막대한 비용과 엄청난 시간의 손실을 누가 보상해 주겠는가. 게다가 애써 확장한 공장이 별다른 이익이 없다면 그 피해는 상상할 수 없을 것이다.
■ 끝내며...
이번 회에서는 시뮬레이션의 정의와 그 필요성에 대해서 얘기해 보았다.
국내의 시뮬레이션 사용은 선진국에 비하면 극히 미비하다. 우리나라는 자원도, 영토도 다른 나라에 비하면 상당히 부족하다. 그렇다면 우리 나라의 기업은 어떤 방법으로 세계무대에 나서야할까. 특출한 아이디어나 유서 깊은 문화재 등을 무기로 하는 방법도 있지만, 기존의 시스템을 보다 효율적으로 사용하는 것이 정답일 것이다. 그리고 그것의 중심에 시뮬레이션이 있는 것을 잊지 말아야 하겠다.
바로 지금 우리 회사의 시스템이 최적의 환경인지 한 번 생각해 보자.
다음 회에는 시뮬레이션을 사용한 제조, 자동차 업체 쪽의 응용사례를 중심으로 효과적인 시뮬레이션 방법과 툴에 대해서 얘기하도록 하겠다.
0/250
확인