KR102364390B1 - 매트랩을 활용한 모델링 자동화 장치 및 방법 - Google Patents

매트랩을 활용한 모델링 자동화 장치 및 방법 Download PDF

Info

Publication number
KR102364390B1
KR102364390B1 KR1020210027661A KR20210027661A KR102364390B1 KR 102364390 B1 KR102364390 B1 KR 102364390B1 KR 1020210027661 A KR1020210027661 A KR 1020210027661A KR 20210027661 A KR20210027661 A KR 20210027661A KR 102364390 B1 KR102364390 B1 KR 102364390B1
Authority
KR
South Korea
Prior art keywords
model
parameter
matlab
unit
parameters
Prior art date
Application number
KR1020210027661A
Other languages
English (en)
Other versions
KR20210030311A (ko
Inventor
조경화
김민정
Original Assignee
울산과학기술원
광주과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020190051683A external-priority patent/KR20200127483A/ko
Application filed by 울산과학기술원, 광주과학기술원 filed Critical 울산과학기술원
Priority to KR1020210027661A priority Critical patent/KR102364390B1/ko
Publication of KR20210030311A publication Critical patent/KR20210030311A/ko
Priority to KR1020210125955A priority patent/KR20210123247A/ko
Application granted granted Critical
Publication of KR102364390B1 publication Critical patent/KR102364390B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 매트랩에서 종래 수작업에 의존했었던 경계조건(boundary condition) 및 매개변수의 수정 입력을 자동화 하고, 매개변수 최적화, 모델의 불확정성 및 매개변수의 민감도 분석을 자동으로 실시하는 데이터 분석 및 최적화 기술에 관한 것으로, 변수 생성에 이용되는 데이터를 수신하는 입력부, 입력부에서 수신된 데이터를 이용하여 매개변수를 생성하고, 매트랩(MATLAB) 모델의 실행 후 생성되는 모델 오류 값을 이용하여 매개변수를 최적화하는 변수생성부, 변수생성부에서 생성된 매개변수를 매트랩 모델의 입력파일에 적용하는 적용부, 적용부가 입력파일에 매개변수를 적용하면 매트랩 모델을 실행시키는 실행부, 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 후처리부를 포함한다.

Description

매트랩을 활용한 모델링 자동화 장치 및 방법 {APPARATUS AND METHOD FOR AUTO-PROCESSING MODELING USING MATLAB}
본 발명은 매트랩을 활용한 모델링 자동화 장치 및 방법에 관한 것으로서, 보다 상세하게는 매트랩에서 종래 수작업에 의존했었던 경계조건(boundary condition) 및 매개변수의 수정 입력을 자동화 하고, 매개변수 최적화, 모델의 불확정성 및 매개변수의 민감도 분석을 자동으로 실시하는 데이터 분석 및 최적화 기술에 관한 것이다.
매트랩(MATLAB)은 MathWorks사에서 개발한 수치 해석 및 프로그래밍 환경을 제공하는 공학용 소프트웨어이다. 행렬을 기반으로 한 계산 기능을 지원하며, 함수나 데이터를 그림으로 그리는 기능 및 프로그래밍을 통한 알고리즘 구현 등을 제공한다. 매트랩은 수치 계산이 필요한 과학 및 공학 분야에서 다양하게 사용된다.
매트랩은 프로그래밍 언어라고 볼 수 있고, 애플리케이션으로도 볼 수 있으나, 사용하는 사람의 목적에 따라 두 가지 성격이 모두 나타나기도 한다. 현재 사용되는 프로그래밍 언어 중 17위 정도로 사용자의 층이 많다.
매트랩은 자체적으로 여러 모터와 같은 하드웨어와의 인터페이스, 이미지 프로세싱 등의 유용한 툴박스들을 제공하고 있어 이공계 학부 및 공학 분야에서 손쉽게 사용할 수 있다. 예를 들어, 모터가 4개 있는 쿼드콥터에 카메라를 설치하여 시각 비행알고리즘을 시험하고 싶으면, 모터제어, 드론과의 통신, 이미지 프로세싱, 위치/자세 추정, 위치/자세 제어 알고리즘 등이 필요하다. 다른 개발 환경에서는 각각의 기능을 제공하는 환경은 있어도, 관련된 모든 라이브러리를 제공하는 경우는 매트랩 외에 드물다.
도 1을 참조하면, 매트랩은 수학적 분석 및 설계 프로세스에 적합한 데스크탑 환경을 제공한다. 또한, 응용프로그램을 활용하면 다양한 알고리즘을 적용하는 것이 가능하다.
도 2를 참조하면, 현재 수계모델을 실행하기 위해서는 (1)경계조건(Boundary condition) 추가, (2)파라미터 보정, (3)모델 실행, (4)output 확인 및 그래프 그리기의 각 단계를 EFDC Explorer라는 인터페이스 내의 관련 아이콘을 수동으로 하나하나 클릭하여 수행해야한다.
다양한 시나리오 조건의 모델을 테스트하기 위해서는 경계조건을 자주 수정해야 하는데, 현재는 경계조건을 수정할 때마다 인터페이스 내의 아이콘을 수동으로 클릭해야 되기 때문에 불편하고, 수정작업에 시간이 많이 소요되며, 실수도 빈번히 발생되는 문제가 있었다.
또한, 파라미터 보정은 인터페이스 상에서 값을 하나씩 수동으로 변경하는 방식으로 수행되기 때문에 노동집약적이고, 최적화나 민감도 분석 등을 수행할 수 없어 결과가 부정확한 문제가 있었다.
한국등록특허공보 제10-1670307호
이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 매트랩에서 종래 수작업에 의존했었던 경계조건(boundary condition) 및 매개변수의 수정 입력을 자동화 하고, 매개변수 최적화, 모델의 불확정성 및 매개변수의 민감도 분석을 자동으로 실시하는 데이터 분석 및 최적화 기술을 제공하는 것을 과제로 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 매트랩을 활용한 모델링 자동화 장치는, 변수 생성에 이용되는 데이터를 수신하는 입력부; 상기 입력부에서 수신된 데이터를 이용하여 매개변수를 생성하고, 매트랩(MATLAB) 모델의 실행 후 생성되는 모델 오류 값을 이용하여 상기 매개변수를 최적화하는 변수생성부; 상기 변수생성부에서 생성된 매개변수를 매트랩 모델의 입력파일에 적용하는 적용부; 상기 적용부가 상기 입력파일에 매개변수를 적용하면 상기 매트랩 모델을 실행시키는 실행부; 및 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 후처리부를 포함하는 것을 특징으로 한다.
또한, 상기 모델은 EFDC(Environmental Fluid Dynamics Code)인 것을 특징으로 할 수 있다.
또한, 상기 적용부는 efdc.inp 파일에 상기 매개변수를 적용하는 것을 특징으로 할 수 있다.
또한, 상기 입력부가 수신하는 데이터는 경계조건(boundary condition)을 포함하고, 상기 적용부는 상기 경계조건을 qser.inp 파일에 적용하는 것을 특징으로 할 수 있다.
또한, 상기 변수생성부는 LH-OAT(Latin Hypercube-One-factor-At-a-Time) 및 패턴서치(Pattern search) 알고리즘을 이용하는 것을 특징으로 할 수 있다.
또한, 상기 변수생성부는 LH-OAT를 이용하여 매트랩 모델의 입력파일에 적용될 매개변수를 생성하는 것을 특징으로 할 수 있다.
또한, 상기 변수생성부는 패턴서치 알고리즘을 이용하여 모델 오류 값이 기 설정된 기준을 만족하는 매개변수를 탐색하는 것을 특징으로 할 수 있다.
또한, 상기 입력부가 수신하는 데이터에는 관측 값이 포함되고, 상기 후처리부는 상기 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하는 것을 특징으로 할 수 있다.
또한, 상기 후처리부는 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매개변수의 민감도를 분석하는 것을 특징으로 할 수 있다.
또한, 상기 후처리부는 상기 매트랩 모델의 실행 결과, 모델 오류 및 매개변수의 민감도를 이용하여 그래프를 생성하는 것을 특징으로 할 수 있다.
한편, 상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 매트랩을 활용한 모델링 자동화 방법은, 입력부가 변수 생성에 이용되는 데이터를 수신하는 단계; 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계; 적용부가 상기 변수생성부에서 선택된 매개변수를 매트랩 모델의 입력파일에 적용하는 단계; 실행부가 상기 매트랩 모델을 실행시키는 단계; 후처리부가 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계; 상기 변수생성부가 상기 모델 오류 값이 기 설정된 기준을 만족하는지 확인하는 단계; 및 상기 모델 오류 값이 기 설정된 기준을 만족하는지 못하면, 상기 변수생성부가 복수의 매개변수 중 매트랩 모델에 적용될 다른 매개변수를 선택하는 단계를 포함하고, 상기 모델 오류 값이 기 설정된 기준을 만족하면, 상기 변수생성부가 매트랩 모델에 적용된 매개변수가 최적의 매개변수인 것으로 판단하는 것을 특징으로 한다.
또한, 상기 모델은 EFDC(Environmental Fluid Dynamics Code)인 것을 특징으로 할 수 있다.
또한, 상기 입력파일은 efdc.inp 파일인 것을 특징으로 할 수 있다.
또한, 상기 데이터에는 경계조건(boundary condition)이 포함되고, 상기 적용부가 매개변수를 매트랩 모델의 입력파일에 적용하는 단계는, 상기 경계조건을 qser.inp 파일에 적용하는 것을 특징으로 할 수 있다.
또한, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는, LH-OAT(Latin Hypercube-One-factor-At-a-Time) 및 패턴서치(Pattern search) 알고리즘을 이용하는 것을 특징으로 할 수 있다.
또한, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는, LH-OAT를 이용하여 복수의 매개변수를 생성하는 것을 특징으로 할 수 있다.
또한, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는, 패턴서치 알고리즘을 이용하여 복수의 매개변수 중 하나의 매개변수를 선택하는 것을 특징으로 할 수 있다.
또한, 상기 입력부가 수신하는 데이터에는 관측 값이 포함되고, 상기 후처리부가 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계는, 상기 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하는 것을 특징으로 할 수 있다.
또한, 상기 후처리부가 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계 후, 상기 후처리부가 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매트랩 모델에 적용된 매개변수의 민감도를 분석하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또한, 상기 후처리부가 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매트랩 모델에 적용된 매개변수의 민감도를 분석하는 단계 후, 상기 후처리부가 상기 매트랩 모델의 실행 결과 값, 모델 오류 값 및 배열의 민감도를 이용하여 그래프를 생성하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
본 발명에 의한 매트랩을 활용한 모델링 자동화 장치 및 방법에 따르면,
첫째, 본 발명은 종래 수작업으로 실시되던 입력과정과, 적용이 어려웠던 매개변수 최적화, 모델 불확정성 분석, 매개변수 민감도 분석, 그래프 생성 및 오류 연산을 자동화할 수 있게 됨에 따라, 인력의 수고 및 작업을 위한 시간을 절감할 수 있게 된다.
둘째, 본 발명은 EFDC(Environmental Fluid Dynamics Code) 모델뿐만 아니라, 다양한 모델에도 적용이 가능하므로, 매트랩을 이용한 시뮬레이션을 더 용이하게 실시할 수 있게 되어 연구개발에 큰 도움을 줄 수 있게 된다.
도 1은 컴퓨터 장치에서 실행된 매트랩(MATLAB)의 GUI를 나타낸 도면.
도 2는 종래 매트랩의 EFDC(Environmental Fluid Dynamics Code) 모델에서 수작업으로 경계조건(Boundary condition)을 추가하고 매개변수를 정정하여 결과 값을 조회하는 과정을 나타낸 도면.
도 3은 본 발명의 실시예에 따른 매트랩을 활용한 모델링 자동화 장치의 구성을 나타낸 블록도.
도 4는 변수생성부가 LH-OAT를 이용하여 생성한 복수의 매개변수를 나타낸 예시 도면.
도 5는 변수생성부가 패턴서치 알고리즘을 이용하여 입력파일에 매개변수를 업데이트하는 과정을 나타낸 예시 도면.
도 6은 efdc.inp 파일의 조회 내용 및 매개변수를 붉은색 박스로 표시한 도면.
도 7은 qser.inp 파일의 조회 내용 및 경계조건의 시계열 데이터가 적용되는 시계열 데이터 영역을 붉은색 박스로 표시한 도면.
도 8은 EET를 이용하여 매개변수의 민감도를 연산한 결과를 나타낸 예시 도면.
도 9는 EET를 이용하여 연산된 매개변수의 민감도를 그래프화하여 나타낸 도면.
도 10은 EFDC 모델의 실행 결과, 수계 내 물질 및 유체 거동 정보를 이용하여 지도에 맵핑된 결과 예를 나타낸 도면.
도 11은 화학사고 시뮬레이션 모델의 실행 결과를 나타낸 예시 도면.
도 12는 본 발명의 실시예에 따른 매트랩을 활용한 모델링 자동화 방법의 각 단계를 나타낸 순서도.
첨부한 도면을 참조하여 본 발명의 실시예들에 의한 매트랩을 활용한 모델링 자동화 장치 및 방법에 대하여 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 실시예에 따른 매트랩을 활용한 모델링 자동화 장치 및 방법은 매트랩(MATLAB)이 설치된 하나의 컴퓨터 장치에 설치 운영되거나, 복수의 컴퓨터 장치에 분산 설치되고 유선 또는 무선으로 각 컴퓨터 장치가 서로 연결되어 연동되는 것으로 실시될 수 있다.
매트랩은 다양한 시뮬레이션 모델을 이용할 수 있는 환경을 제공한다. 예를 들어, 매트랩에서 이용할 수 있는 모델에는 EFDC(Environmental Fluid Dynamics Code), 화학사고 시뮬레이션 등이 있다.
도 3을 참조하면, 본 발명의 실시예에 따른 매트랩 모델링 자동화 장치는 변수 생성에 이용되는 데이터를 수신하는 입력부(110), 입력부(110)에서 수신된 데이터를 이용하여 매개변수를 생성하고, 매트랩(MATLAB) 모델의 실행 후 생성되는 모델 오류 값을 이용하여 상기 매개변수를 최적화하는 변수생성부(120), 변수생성부(120)에서 생성된 매개변수를 매트랩 모델의 입력파일에 적용하는 적용부(140), 적용부(140)가 상기 입력파일에 매개변수를 적용하면 상기 매트랩 모델을 실행시키는 실행부(160), 실행부(160)가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 후처리부(180)를 포함한다.
다음에서는 일 실시예로서 매트랩 모델이 EFDC(Environmental Fluid Dynamics Code)인 것을 기준으로 설명한다.
EFDC 수계 모델은 기능성 지표수 모델링 시스템으로 유체 역학, 퇴적물 오염 및 부영양화 구성 요소를 포함한다. EFDC는 수력 시스템을 1차원, 2차원 및 3차원으로 시뮬레이션 하는데 이용할 수 있는 유체 역학 모델이다. EFDC는 환경 평가, 관리 및 규제 요건을 지원하기 위해 강, 호수, 저수지, 습지, 강어귀 및 연안 해역 등 다양한 수역 환경에서 이용된다.
EFDC는 확장 또는 시그마 수직 좌표, 직각, 곡선 또는 직교 수평 좌표를 사용하여 수체의 물리적 특성을 나타낸다. EFDC는 가변 밀도 유체의 3차원 수직 정수, 자유 표면, 난류 평균 운동 방정식을 연산할 수 있다. 또한, 난류 운동 에너지, 난류 길이 척도, 염도 및 온도에 대한 동적으로 결합된 수송 방정식도 해결할 수 있다.
국내에서 EFDC 모델은 국립환경과학원과 그 소속기관 및 환경공학 관련 대학 연구소 등에서 높은 빈도로 활용하고 있다.
매트랩에서는 EFDC 모델의 시뮬레이션을 지원한다. 매트랩에서 EFDC 모델과 관련된 파일에는 efdc.inp 및 qser.inp가 포함된다.
변수생성부(120)는 매개변수의 생성 및 최적화에 LH-OAT(Latin Hypercube-One-factor-At-a-Time) 및 패턴서치(Pattern search) 알고리즘을 이용한다.
LH-OAT 방법은 매개변수 공간을 N개의 구간으로 나누어 각 구간 별 변수를 임의로 추출한 후, 다변량 선형 회귀 방법을 이용하여 전역적 민감도를 분석하는 라틴 하이퍼큐브(Latin Hypercube, LH) 방법과, 매개변수 공간에서 다른 매개변수를 고정한 상태로 매개변수를 하나씩 변화시켜 국부적 민감도를 분석하는 One-Factor-At-a-Time(OAT) 방법을 결합한 기법이다. LH-OAT 방법은 보정 및 민감도 분석 대상 매개변수의 선택을 효과적으로 수행할 수 있다.
변수생성부(120)는 LH-OAT를 이용하여 매트랩 모델의 입력파일에 적용될 복수의 매개변수를 생성한다. 도 4를 참조하면, 변수생성부(120)는 LH-OAT를 이용하여 복수의 매개변수(OAT)를 생성한다. 하나의 매개변수는 복수의 값으로 구성되어 세트를 이룬다. 이때 생성된 매개변수 배열은 개별적으로 EFDC 모델에 적용되어 모델의 실행에 이용된다.
패턴서치(Pattern search) 알고리즘은 수치 최적화 방법의 하나이다. 패턴서치 알고리즘은 다차원 분석 공간에서 매개변수의 값을 변경해가며 오류를 확인하고, 오류가 감소되면 스텝크기(step size)를 축소하며 최소 오류를 가지는 해를 탐색하는 것으로 최적화를 실시한다.
변수생성부(120)는 패턴서치 알고리즘를 이용하여 앞서 LH-OAT를 이용하여 생성된 복수의 매개변수 중 모델 오류 값이 기 설정된 기준을 만족하는 매개변수를 탐색한다. 도 5를 참조하면, 변수생성부(120)는 복수의 매개변수 중 매트랩 모델에 적용될 하나의 매개변수를 선택한다. 선택된 매개변수가 적용되어 실행된 매트랩 모델의 오류 값이 기 설정된 기준을 만족하지 못하면, 변수생성부(120)는 복수의 매개변수 중에서 다른 매개변수를 선택한다. 변수생성부(120)가 선택한 다른 매개변수는 다시 매트랩 모델에 적용되어 실행된다. 변수생성부(120)는 복수의 매개변수를 하나씩 매트랩 모델에 적용하여 결과를 비교하는 것으로 최적의 매개변수를 탐색하게 된다.
모델 오류 값의 기 설정된 기준은 오류를 허용할 수 있을 정도의 크기인 것이 바람직하다. 예를 들어, 모델 오류 지표 중 NSE(Nash Sutcliffe Efficiency)는 -∞에서 1사이의 값을 가지고, NSE 값은 모델 값의 오류가 없는 경우 1, 오류가 최대인 경우 -∞의 값을 가진다. 일반적으로 NSE 값이 0.5 이상이면 모델 성능이 충분하다고 판단되므로, 0.5를 모델 오류 판단을 위한 기 설정된 기준으로 설정할 수 있다. 이때, 실행된 매트랩 모델의 NSE 값이 0.5 미만이면 변수생성부(120)가 복수의 매개변수 중 매트랩 모델에 적용될 다른 매개변수를 선택한다. 모델의 NSE 값이 0.5 이상이면 매트랩 모델에 적용된 매개변수가 기 설정된 기준을 만족하므로, 해당 매개변수를 최적화된 매개변수인 것으로 판단하고, 다른 매개변수를 선택하는 과정을 종료한다.
다른 실시예로서, 기 설정된 기준은 변수생성부(120)에서 생성된 전체 매개변수 중 모델 오류 값이 가장 작은 매개변수인 것이 될 수도 있다. 이 경우, 복수의 매개변수가 하나씩 매트랩 모델에 적용 및 실행되어 모델 오류 값이 가장 작은 경우를 탐색하게 된다.
적용부(140)는 efdc.inp 파일에 변수생성부(120)가 선택한 매개변수를 적용한다.
종래는 EFDC 인터페이스에서 수동으로 매개변수 또는 경계조건(boundary condition)의 데이터를 수정하면 efdc.inp이나 qser.inp가 업데이트 된다(도 2 (1) 참조). efdc.inp 및 qser.inp의 업데이트는 EFDC 인터페이스를 이용하여 가능하지만, efdc.inp와 qser.inp 파일이 저장된 경로에 직접 접근하여 해당 파일을 편집기로 실행하면 사용자가 인위적으로 수정하는 것도 가능하다.
적용부(140)는 자동으로 efdc.inp 파일을 조회하고, efdc.inp 파일에 매개변수의 값을 적용한다. 이때, 적용에는 추가, 치환, 삭제 등이 포함된다. 도 6은 efdc.inp 파일의 조회 내용 중 일부를 나타낸 것이며, 붉은색 박스 영역이 매개변수이다. 또한, efdc.inp 파일에는 경계조건의 종류에 대한 정보가 라벨링된다. 적용부(140)는 도 6의 붉은색 박스와 같이 매개변수와 관련된 영역에 변수생성부(120)에서 선택된 매개변수의 값을 적용한다.
또한, 이 실시예는 입력부(110)가 수신하는 데이터에 경계조건(boundary condition)을 더 포함한다. 경계조건은 수치해석 모델의 미분방정식을 연산할 때 추가적으로 제한이 되는 조건을 의미한다. 예를 들어, EFDC와 같은 수계모델의 경계조건은 상류 및 하류의 수위, 유량, 수질 등이 될 수 있다. 경계조건은 시계열 데이터의 형식을 가진다. 도 7은 qser.inp 파일의 조회 내용 중 일부를 나타낸 것이며, 붉은색 박스 영역은 경계조건의 시계열 데이터이다. 적용부(140)는 qser.inp 파일에 기록된 기존 시계열 데이터를 경계조건의 시계열 데이터로 정정하는 것으로 qser.inp 파일에 경계조건을 적용한다. 또한, 적용부(140)는 경계조건의 종류가 정정되어야 한다면 efdc.inp 파일에 라벨링된 정보와 qser.inp 파일의 시계열 데이터를 함께 정정한다.
적용부(140)가 매트랩 모델의 입력파일에 매개변수 및 경계조건을 적용하면, 실행부(160)가 매트랩 모델을 실행시킨다.
매트랩 모델의 실행 후 매트랩의 연산이 종료되면, 후처리부(180)가 매트랩에서 실행 결과 값을 수집한다. 이 실시예의 입력부(110)가 수신하는 데이터에는 관측 값이 더 포함된다. 모델의 오류를 연산하기 위해서는 기준이 되는 참 값이 필요하다. 수계 모델에서는 참 값으로 실제 관측 데이터를 이용한다. 실제 관측된 데이터에는 수위, 수온, 염분, 화학물질 농도 등이 있다. 이러한 실제 관측된 데이터가 관측 값이 된다.
후처리부(180)는 매트랩 모델의 실행 결과 값 및 관측 값을 이용하여 모델 오류 값을 생성한다. 모델 오류는 NSE, 평균 제곱근 편차(Root Mean Square Deviation, RMSD) 등을 이용하여 연산할 수 있다.
후처리부(180)는 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 현재 매트랩 모델에 적용된 매개변수의 민감도를 분석한다. 도 8은 5개의 값을 가지는 매개변수의 각 값의 민감도를 분석한 결과를 나타낸 예시이다.
EET(Elementary Effect Test) 방법은 전체적 감도 해석(Global sensitivity analysis) 기법으로, 많은 수의 입력자료를 가지고 있는 모델 또는 계산 과정이 복잡한 모델에서 민감도를 분석하는데 활용된다.
매개변수의 값이 모델의 실행 결과 값에 큰 영향을 줄수록 mean(EE) 값이 크게 나타난다. 또한, 다른 매개변수와의 조합에 따라 현재 매개변수가 모델에 미치는 영향의 차이가 클수록 std(EE) 값이 크게 나타난다.
후처리부(180)가 EET를 이용하여 매개변수의 민감도를 연산하는 방법은 수학식1과 같다.
[수학식 1]
Figure 112021024640070-pat00001
이때, EE(elementary effect)는 민감도를 보여주는 인덱스이다. X는 모델에 적용된 매개변수이다. Y는 모델의 값이다. 모델 오류 값은 실행결과 값에서 참 값을 차감한 값이므로 모델의 값에는 실행결과 값과 모델 오류 값이 모두 활용될 수 있다. i는 민감도를 분석하려는 매개변수의 인덱스(index), k는 모델에 적용된 매개별수의 총 개수, Δ는 민감도 분석을 위해 변화시킨 매개변수 값의 증감(increment)이다. 예를 들어, 모델에 적용된 매개변수, a, b, c가 있는 것으로 가정할 때,
Figure 112021024640070-pat00002
=a,
Figure 112021024640070-pat00003
=b,
Figure 112021024640070-pat00004
=c가 된다. 이 중 민감도를 분석하려는 매개변수가 b인 경우 i는 2가 된다. 매개변수가 총 3개이므로, k=3이 된다. b=2일 때 모델을 실행한 결과와, b=3일 때 모델을 실행한 결과를 비교하면 b에 대한 민감도를 분석할 수 있고, 이때의 Δ는 1이 된다(2→3).
도 9는 EET를 이용하여 매개변수의 민감도를 분석한 결과를 나타낸 예시 그래프이다. 이 예시 그래프에서는 매개변수 중 AHO 요소의 민감도가 가장 높은 것으로 나타나고 있다.
후처리부(180)는 매트랩 모델의 실행 결과, 모델 오류 및 매개변수의 민감도를 이용하여 그래프를 생성한다.
도 10은 매트랩에서 EFDC 모델이 실행되어 수계 내 물질 및 유체 거동의 결과 값이 획득되고, 그것을 이용하여 지도에 맵핑(mapping)된 그림이다.
도 11은 다른 실시예로서, 매트랩의 화학사고 시뮬레이션 모델에서 경계조건을 화재, 누출, 폭발 시나리오로 자동 수정하여, 각 사고 별로 수계 내 톨루엔의 농도 변화를 그래프로 나타낸 도면이다.
이어서, 본 발명의 실시예에 따른 매트랩 모델링 자동화 방법을 설명한다.
도 12를 참조하면, 이 실시예는 입력부(110)가 변수 생성에 이용되는 데이터를 수신하는 단계(S110), 변수생성부(120)가 입력부(110)에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계(S122, S126), 적용부(140)가 변수생성부(120)에서 선택된 매개변수를 매트랩 모델의 입력파일에 적용하는 단계(S140), 실행부(160)가 매트랩 모델을 실행시키는 단계(S160), 후처리부(180)가 실행부(160)가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계(S184), 변수생성부(120)가 상기 모델 오류 값이 기 설정된 기준을 만족하는지 확인하는 단계(S192)를 포함한다.
만약, 모델 오류가 기 설정된 기준을 만족하는지 못하면, 변수생성부(120)가 복수의 매개변수 중 매트랩 모델에 적용될 다른 매개변수를 선택(S126)한다. 변수생성부(120)가 다른 매개변수를 선택하면, 다시 S140 단계부터 순차적으로 실행된다.
모델 오류가 기 설정된 기준을 만족하면, 변수생성부(120)가 매트랩 모델에 적용된 매개변수가 최적의 매개변수인 것으로 판단한다(S194).
매트랩 모델이 EFDC이면, 입력파일은 efdc.inp 파일 및 qser.inp 파일을 포함한다.
또한, S110 단계에서 수신되는 데이터에는 경계조건(boundary condition)이 포함된다. 이때, S140 단계는 경계조건을 qser.inp 파일에 적용한다.
변수생성부(120)가 상기 입력부(110)에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는, LH-OAT를 이용하여 복수의 매개변수를 생성하는 단계(S122)와, 패턴서치 알고리즘을 이용하여 복수의 매개변수 중 하나의 매개변수를 선택하는 단계(S126)로 구성된다. S126 단계는 모델 오류 값이 기 설정된 기준을 만족하지 못할 때 복수의 매개변수 중 다른 매개변수를 선택한다.
또한, S110 단계에서 수신되는 데이터에는 관측 값이 포함된다. 이때, S184 단계는 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하게 된다.
또한, 이 실시예는 S184 단계 후, 후처리부(180)가 모델 오류 값 및 EET를 이용하여 매트랩 모델에 적용된 매개변수의 민감도를 분석하는 단계(S186)를 더 포함한다.
또한, 이 실시예는 S186 단계 후, 후처리부(180)가 매트랩 모델의 실행 결과 값, 모델 오류 값 및 배열의 민감도를 이용하여 그래프를 생성하는 단계를 더 포함한다.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 다음 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.
10 : 매트랩 100 : 매트랩 모델링 자동화 장치
110 : 입력부 120 : 변수생성부
140 : 적용부 160 : 실행부
180 : 후처리부

Claims (20)

  1. 변수 생성에 이용되는 데이터를 수신하는 입력부;
    상기 입력부에서 수신된 데이터를 이용하여 매개변수를 생성하고, EFDC(Environmental Fluid Dynamics Code) 매트랩 모델의 실행 후 생성되는 모델 오류 값을 이용하여 상기 매개변수들 중 상기 매트랩 모델의 입력파일 적용될 최적의 매개변수를 생성하는 변수생성부;
    상기 변수생성부에서 생성된 매개변수를 매트랩 모델의 입력파일에 적용하는 적용부;
    상기 적용부가 상기 입력파일에 매개변수를 적용하면 상기 매트랩 모델을 실행시키는 실행부; 및
    상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류값을 생성하는 후처리부를 포함하되,
    상기 입력부는 데이터에는 모델 오류의 기준이 되는 참값인 관측값과 시계열 데이터의 형식을 가진 경계조건(boundary condition)을 더 포함하는 데이터를 수신하고,
    상기 변수생성부는 LH-OAT(Latin Hypercube-One-factor-At-a-Time)를 이용하여 매트랩 모델의 입력파일에 적용될 복수의 매개변수들을 생성하고, 패턴 서치 (Pattern search) 알고리즘을 이용하여 상기 LH-OAT를 이용하여 생성된 복수의 매개변수들을 상기 적용부, 상기 실행부, 상기 후처리부를 거쳐 도출되는 모델 오류 값이 기 설정된 기준을 만족하는 매개변수 중 1개의 매개변수를 최적의 매개변수를 탐색하는 것을 특징으로 하고,
    상기 적용부는 상기 매개변수를 efdc.inp 파일에 적용하고, 상기 경계조건을 qser.inp 파일에 적용하는 것을 특징으로 하며,
    상기 후처리부는 상기 실행부에서 실행한 상기 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하고, 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매개변수의 민감도를 아래의 수학식1에 따라 연산하며,
    [수학식 1]
    Figure 112022500374984-pat00017

    (이때, EE(elementary effect)는 민감도를 보여주는 인덱스이고, X는 모델에 적용된 매개변수, Y는 모델의 값, i는 민감도를 분석하려는 매개변수의 인덱스(index), k는 모델에 적용된 매개별수의 총 개수, Δ는 민감도 분석을 위해 변화시킨 매개변수 값의 증감(increment)임)
    상기 매트랩 모델의 실행 결과, 모델 오류 및 매개변수의 민감도를 이용하여 그래프를 생성하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 입력부가 변수 생성에 이용되는 데이터를 수신하는 단계;
    변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, EFDC(Environmental Fluid Dynamics Code) 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계;
    적용부가 상기 변수생성부에서 선택된 매개변수를 매트랩 모델의 입력파일에 적용하는 단계;
    실행부가 상기 매트랩 모델을 실행시키는 단계;
    후처리부가 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계;
    상기 변수생성부가 상기 모델 오류 값이 기 설정된 기준을 만족하는지 확인하는 단계; 및
    상기 모델 오류 값이 기 설정된 기준을 만족하는지 못하면, 상기 변수생성부가 복수의 매개변수 중 매트랩 모델에 적용될 다른 매개변수를 선택하는 단계를 포함하고,
    상기 모델 오류 값이 기 설정된 기준을 만족하면, 상기 변수생성부가 매트랩 모델에 적용된 매개변수가 상기 매트랩 모델의 입력파일 적용될 최적의 매개변수인 것으로 판단하는 것을 특징으로 하고,
    상기 입력부는 데이터에는 모델 오류의 기준이 되는 참값인 관측값과 시계열 데이터의 형식을 가진 경계조건(boundary condition)을 더 포함하는 데이터를 수신하고,
    상기 변수생성부는 LH-OAT(Latin Hypercube-One-factor-At-a-Time)를 이용하여 매트랩 모델의 입력파일에 적용될 복수의 매개변수들을 생성하고, 패턴 서치 (Pattern search) 알고리즘을 이용하여 상기 LH-OAT를 이용하여 생성된 복수의 매개변수들을 상기 적용부, 상기 실행부, 상기 후처리부를 거쳐 도출되는 모델 오류 값이 기 설정된 기준을 만족하는 매개변수 중 1개의 매개변수를 최적의 매개변수를 탐색하는 것을 특징으로 하고,
    상기 적용부는 상기 매개변수를 efdc.inp 파일에 적용하고, 상기 경계조건을 qser.inp 파일에 적용하는 것을 특징으로 하며,
    상기 후처리부는 상기 실행부에서 실행한 상기 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하고, 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매개변수의 민감도를 아래의 수학식1에 따라 연산하며,
    [수학식 1]
    Figure 112022500374984-pat00018

    (이때, EE(elementary effect)는 민감도를 보여주는 인덱스이고, X는 모델에 적용된 매개변수, Y는 모델의 값, i는 민감도를 분석하려는 매개변수의 인덱스(index), k는 모델에 적용된 매개별수의 총 개수, Δ는 민감도 분석을 위해 변화시킨 매개변수 값의 증감(increment)임)
    상기 매트랩 모델의 실행 결과, 모델 오류 및 매개변수의 민감도를 이용하여 그래프를 생성하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020210027661A 2019-05-02 2021-03-02 매트랩을 활용한 모델링 자동화 장치 및 방법 KR102364390B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210027661A KR102364390B1 (ko) 2019-05-02 2021-03-02 매트랩을 활용한 모델링 자동화 장치 및 방법
KR1020210125955A KR20210123247A (ko) 2021-03-02 2021-09-23 매트랩을 활용한 모델링 자동화 장치 및 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190051683A KR20200127483A (ko) 2019-05-02 2019-05-02 매트랩을 활용한 모델링 자동화 장치 및 방법
KR1020210027661A KR102364390B1 (ko) 2019-05-02 2021-03-02 매트랩을 활용한 모델링 자동화 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190051683A Division KR20200127483A (ko) 2019-05-02 2019-05-02 매트랩을 활용한 모델링 자동화 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210125955A Division KR20210123247A (ko) 2021-03-02 2021-09-23 매트랩을 활용한 모델링 자동화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210030311A KR20210030311A (ko) 2021-03-17
KR102364390B1 true KR102364390B1 (ko) 2022-02-18

Family

ID=80494999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210027661A KR102364390B1 (ko) 2019-05-02 2021-03-02 매트랩을 활용한 모델링 자동화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102364390B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007229550A (ja) * 2006-02-27 2007-09-13 Toshiba Corp 下水処理場運転支援装置
KR101234761B1 (ko) * 2012-11-16 2013-02-19 인하대학교 산학협력단 Efdc 모델 대용량 결과자료의 gis기반 가시화를 위한 후처리 시스템
KR101327111B1 (ko) * 2012-05-31 2013-11-08 서울시립대학교 산학협력단 유한요소해석 프로그램과 수치해석 프로그램을 연계한 위상최적화 방법 및 이를 이용한 초음파 트랜스듀서의 위상최적화 설계 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101670307B1 (ko) 2015-09-21 2016-10-31 국방과학연구소 컴포넌트기반 통합 시뮬레이션 환경과 matlab/simulink 레거시 시뮬레이션 프로그램 간 연동방법 및 연동인터페이스 설계방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007229550A (ja) * 2006-02-27 2007-09-13 Toshiba Corp 下水処理場運転支援装置
KR101327111B1 (ko) * 2012-05-31 2013-11-08 서울시립대학교 산학협력단 유한요소해석 프로그램과 수치해석 프로그램을 연계한 위상최적화 방법 및 이를 이용한 초음파 트랜스듀서의 위상최적화 설계 방법
KR101234761B1 (ko) * 2012-11-16 2013-02-19 인하대학교 산학협력단 Efdc 모델 대용량 결과자료의 gis기반 가시화를 위한 후처리 시스템

Also Published As

Publication number Publication date
KR20210030311A (ko) 2021-03-17

Similar Documents

Publication Publication Date Title
Bohlin Practical grey-box process identification: theory and applications
US7930153B2 (en) Adaptive look up table: a graphical simulation component for recursively updating numeric data storage in table form
US10439594B2 (en) Actually-measured marine environment data assimilation method based on sequence recursive filtering three-dimensional variation
JP5028268B2 (ja) 制御システムの解析のための方法
Mackman et al. Investigation of an adaptive sampling method for data interpolation using radial basis functions
US8180619B2 (en) System and method for digital effects analysis
RU2595535C1 (ru) Моделирование бассейн-пласт
AU2007211291A1 (en) Methods, systems, and computer-readable media for fast updating of oil and gas field production models with physical and proxy simulators
Haghighat Sefat et al. Reservoir uncertainty tolerant, proactive control of intelligent wells
US10970434B2 (en) Variable equivalency on connection in a process simulation
Bazil et al. A global parallel model based design of experiments method to minimize model output uncertainty
CN113627098A (zh) 一种cfd模型确认方法及产品设计方法
Chung et al. Comparison of approximation models with merit functions for design optimization
CN114429525A (zh) 裂缝性油藏多尺度裂缝模拟方法及计算机可读存储介质
Henson et al. CRT--Cascade Routing Tool to define and visualize flow paths for grid-based watershed models
KR102364390B1 (ko) 매트랩을 활용한 모델링 자동화 장치 및 방법
US7054799B1 (en) Method and system for reduction of a network topology-based system having automated optimization features
KR20200127483A (ko) 매트랩을 활용한 모델링 자동화 장치 및 방법
KR20210123247A (ko) 매트랩을 활용한 모델링 자동화 장치 및 방법
Willkomm et al. A new user interface for ADiMat: toward accurate and efficient derivatives of MATLAB programmes with ease of use
Stinstra et al. Metamodeling by symbolic regression and Pareto simulated annealing
WO2010132986A1 (en) Method, apparatus and system for improved groundwater modeling
He et al. Aerodynamic data fusion with a multi-fidelity surrogate modeling method
Owen et al. A Bayesian statistical approach to decision support for TNO OLYMPUS well control optimisation under uncertainty
Jourdan How to repair a second-order surface for computer experiments by Kriging

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant