KR20200127483A - Apparatus and method for auto-processing modeling using matlab - Google Patents

Apparatus and method for auto-processing modeling using matlab Download PDF

Info

Publication number
KR20200127483A
KR20200127483A KR1020190051683A KR20190051683A KR20200127483A KR 20200127483 A KR20200127483 A KR 20200127483A KR 1020190051683 A KR1020190051683 A KR 1020190051683A KR 20190051683 A KR20190051683 A KR 20190051683A KR 20200127483 A KR20200127483 A KR 20200127483A
Authority
KR
South Korea
Prior art keywords
model
matlab
parameter
unit
error value
Prior art date
Application number
KR1020190051683A
Other languages
Korean (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
Application filed by 울산과학기술원, 광주과학기술원 filed Critical 울산과학기술원
Priority to KR1020190051683A priority Critical patent/KR20200127483A/en
Publication of KR20200127483A publication Critical patent/KR20200127483A/en
Priority to KR1020210027661A priority patent/KR102364390B1/en

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

The present invention relates to data analysis and optimization technology that automates correction and input of a boundary condition and a parameter, which have been manually performed in MATLAB, and automatically performs parameter optimization and analysis of uncertainty of a model and sensitivity of the parameter. According to the present invention, the apparatus comprises: an input unit receiving data used for generating a variable; a various generation unit using the data received by the input unit to generate a parameter and using a model error value generated after execution of a MATLAB model to optimize the parameter; an application unit applying the parameter generated by the parameter generation unit to an input file of the MATLAB model; an execution unit executing the MATLAB when the application unit applies the parameter to the MATLAB model; and a post-processing unit using an execution result value of the MATLAB model executed by the execution unit to generate the model error value.

Description

매트랩을 활용한 모델링 자동화 장치 및 방법 {APPARATUS AND METHOD FOR AUTO-PROCESSING MODELING USING MATLAB}Modeling automation device and method using MATLAB {APPARATUS AND METHOD FOR AUTO-PROCESSING MODELING USING MATLAB}

본 발명은 매트랩을 활용한 모델링 자동화 장치 및 방법에 관한 것으로서, 보다 상세하게는 매트랩에서 종래 수작업에 의존했었던 경계조건(boundary condition) 및 매개변수의 수정 입력을 자동화 하고, 매개변수 최적화, 모델의 불확정성 및 매개변수의 민감도 분석을 자동으로 실시하는 데이터 분석 및 최적화 기술에 관한 것이다.The present invention relates to an apparatus and method for modeling automation using MATLAB, and more particularly, to automate correction input of boundary conditions and parameters, which have been dependent on conventional manual work in MATLAB, and optimize parameters, and uncertainty of models. And it relates to a data analysis and optimization technology for automatically performing the sensitivity analysis of the parameters.

매트랩(MATLAB)은 MathWorks사에서 개발한 수치 해석 및 프로그래밍 환경을 제공하는 공학용 소프트웨어이다. 행렬을 기반으로 한 계산 기능을 지원하며, 함수나 데이터를 그림으로 그리는 기능 및 프로그래밍을 통한 알고리즘 구현 등을 제공한다. 매트랩은 수치 계산이 필요한 과학 및 공학 분야에서 다양하게 사용된다.MATLAB is an engineering software that provides a numerical analysis and programming environment developed by MathWorks. It supports a matrix-based calculation function, and provides a function or data drawing function and algorithm implementation through programming. MATLAB is used in various fields of science and engineering that require numerical calculations.

매트랩은 프로그래밍 언어라고 볼 수 있고, 애플리케이션으로도 볼 수 있으나, 사용하는 사람의 목적에 따라 두 가지 성격이 모두 나타나기도 한다. 현재 사용되는 프로그래밍 언어 중 17위 정도로 사용자의 층이 많다.MATLAB can be viewed as a programming language and as an application, but both characteristics may appear depending on the purpose of the person using it. The number of users is as high as 17th among currently used programming languages.

매트랩은 자체적으로 여러 모터와 같은 하드웨어와의 인터페이스, 이미지 프로세싱 등의 유용한 툴박스들을 제공하고 있어 이공계 학부 및 공학 분야에서 손쉽게 사용할 수 있다. 예를 들어, 모터가 4개 있는 쿼드콥터에 카메라를 설치하여 시각 비행알고리즘을 시험하고 싶으면, 모터제어, 드론과의 통신, 이미지 프로세싱, 위치/자세 추정, 위치/자세 제어 알고리즘 등이 필요하다. 다른 개발 환경에서는 각각의 기능을 제공하는 환경은 있어도, 관련된 모든 라이브러리를 제공하는 경우는 매트랩 외에 드물다.Matlab provides useful toolboxes such as interface with hardware such as several motors and image processing, so it can be easily used in science and engineering departments and engineering fields. For example, if you want to test a visual flight algorithm by installing a camera on a quadcopter with four motors, you need motor control, communication with drones, image processing, position/position estimation, and position/position control algorithms. In other development environments, there is an environment that provides each function, but it is rare except for MATLAB that all related libraries are provided.

도 1을 참조하면, 매트랩은 수학적 분석 및 설계 프로세스에 적합한 데스크탑 환경을 제공한다. 또한, 응용프로그램을 활용하면 다양한 알고리즘을 적용하는 것이 가능하다.Referring to Figure 1, MATLAB provides a desktop environment suitable for the mathematical analysis and design process. In addition, it is possible to apply various algorithms by using an application program.

도 2를 참조하면, 현재 수계모델을 실행하기 위해서는 (1)경계조건(Boundary condition) 추가, (2)파라미터 보정, (3)모델 실행, (4)output 확인 및 그래프 그리기의 각 단계를 EFDC Explorer라는 인터페이스 내의 관련 아이콘을 수동으로 하나하나 클릭하여 수행해야한다.Referring to FIG. 2, in order to execute the current water-based model, EFDC Explorer describes each step of (1) adding a boundary condition, (2) correcting parameters, (3) executing the model, and (4) checking output and drawing a graph. It must be done by manually clicking each related icon in the interface called.

다양한 시나리오 조건의 모델을 테스트하기 위해서는 경계조건을 자주 수정해야 하는데, 현재는 경계조건을 수정할 때마다 인터페이스 내의 아이콘을 수동으로 클릭해야 되기 때문에 불편하고, 수정작업에 시간이 많이 소요되며, 실수도 빈번히 발생되는 문제가 있었다.Boundary conditions must be frequently modified in order to test models of various scenario conditions. Currently, it is inconvenient, time consuming to modify, and mistakes are frequent because the icon in the interface has to be manually clicked every time the boundary conditions are modified. There was a problem that occurred.

또한, 파라미터 보정은 인터페이스 상에서 값을 하나씩 수동으로 변경하는 방식으로 수행되기 때문에 노동집약적이고, 최적화나 민감도 분석 등을 수행할 수 없어 결과가 부정확한 문제가 있었다.In addition, since parameter correction is performed by manually changing values one by one on the interface, it is labor-intensive, and results are inaccurate because optimization or sensitivity analysis cannot be performed.

한국등록특허공보 제10-1670307호Korean Registered Patent Publication No. 10-1670307

이에 본 발명은 상기와 같은 종래의 제반 문제점을 해소하기 위해 제안된 것으로, 본 발명의 목적은 매트랩에서 종래 수작업에 의존했었던 경계조건(boundary condition) 및 매개변수의 수정 입력을 자동화 하고, 매개변수 최적화, 모델의 불확정성 및 매개변수의 민감도 분석을 자동으로 실시하는 데이터 분석 및 최적화 기술을 제공하는 것을 과제로 한다.Accordingly, the present invention has been proposed to solve the problems of the prior art, and the object of the present invention is to automate the correction input of boundary conditions and parameters that have been dependent on conventional manual work in MATLAB, and parameter optimization. In addition, the task is to provide a data analysis and optimization technology that automatically performs model uncertainty and parameter sensitivity analysis.

상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 매트랩을 활용한 모델링 자동화 장치는, 변수 생성에 이용되는 데이터를 수신하는 입력부; 상기 입력부에서 수신된 데이터를 이용하여 매개변수를 생성하고, 매트랩(MATLAB) 모델의 실행 후 생성되는 모델 오류 값을 이용하여 상기 매개변수를 최적화하는 변수생성부; 상기 변수생성부에서 생성된 매개변수를 매트랩 모델의 입력파일에 적용하는 적용부; 상기 적용부가 상기 입력파일에 매개변수를 적용하면 상기 매트랩 모델을 실행시키는 실행부; 및 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 후처리부를 포함하는 것을 특징으로 한다.In order to achieve the above object, a modeling automation apparatus using MATLAB according to the technical idea of the present invention includes: an input unit for receiving data used for variable generation; A variable generator for generating a parameter using the data received from the input unit and optimizing the parameter using a model error value generated after execution of a MATLAB model; An application unit that applies the parameters generated by the variable generation unit to the input file of the MATLAB model; An execution unit that executes the MATLAB model when the application unit applies a parameter to the input file; And a post-processing unit that generates a model error value by using the execution result value of the MATLAB model executed by the execution unit.

또한, 상기 모델은 EFDC(Environmental Fluid Dynamics Code)인 것을 특징으로 할 수 있다.In addition, the model may be characterized in that EFDC (Environmental Fluid Dynamics Code).

또한, 상기 적용부는 efdc.inp 파일에 상기 매개변수를 적용하는 것을 특징으로 할 수 있다.In addition, the application unit may be characterized in that it applies the parameter to the efdc.inp file.

또한, 상기 입력부가 수신하는 데이터는 경계조건(boundary condition)을 포함하고, 상기 적용부는 상기 경계조건을 qser.inp 파일에 적용하는 것을 특징으로 할 수 있다.Further, the data received by the input unit may include a boundary condition, and the application unit may apply the boundary condition to the qser.inp file.

또한, 상기 변수생성부는 LH-OAT(Latin Hypercube-One-factor-At-a-Time) 및 패턴서치(Pattern search) 알고리즘을 이용하는 것을 특징으로 할 수 있다.In addition, the variable generator may be characterized by using a Latin Hypercube-One-factor-At-a-Time (LH-OAT) and a pattern search algorithm.

또한, 상기 변수생성부는 LH-OAT를 이용하여 매트랩 모델의 입력파일에 적용될 매개변수를 생성하는 것을 특징으로 할 수 있다.In addition, the variable generator may be characterized in that it generates a parameter to be applied to the input file of the MATLAB model using LH-OAT.

또한, 상기 변수생성부는 패턴서치 알고리즘을 이용하여 모델 오류 값이 기 설정된 기준을 만족하는 매개변수를 탐색하는 것을 특징으로 할 수 있다.In addition, the variable generator may be characterized in that it searches for a parameter whose model error value satisfies a preset criterion using a pattern search algorithm.

또한, 상기 입력부가 수신하는 데이터에는 관측 값이 포함되고, 상기 후처리부는 상기 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하는 것을 특징으로 할 수 있다.In addition, the data received by the input unit may include an observation value, and the post-processing unit may generate a model error value using a result of executing the MATLAB model and the observed value.

또한, 상기 후처리부는 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매개변수의 민감도를 분석하는 것을 특징으로 할 수 있다.In addition, the post-processing unit may analyze the sensitivity of the parameter using the model error value and the Elementary Effect Test (EET).

또한, 상기 후처리부는 상기 매트랩 모델의 실행 결과, 모델 오류 및 매개변수의 민감도를 이용하여 그래프를 생성하는 것을 특징으로 할 수 있다.In addition, the post-processing unit may be characterized in that it generates a graph using a result of executing the MATLAB model, a model error, and a sensitivity of a parameter.

한편, 상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 매트랩을 활용한 모델링 자동화 방법은, 입력부가 변수 생성에 이용되는 데이터를 수신하는 단계; 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계; 적용부가 상기 변수생성부에서 선택된 매개변수를 매트랩 모델의 입력파일에 적용하는 단계; 실행부가 상기 매트랩 모델을 실행시키는 단계; 후처리부가 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계; 상기 변수생성부가 상기 모델 오류 값이 기 설정된 기준을 만족하는지 확인하는 단계; 및 상기 모델 오류 값이 기 설정된 기준을 만족하는지 못하면, 상기 변수생성부가 복수의 매개변수 중 매트랩 모델에 적용될 다른 매개변수를 선택하는 단계를 포함하고, 상기 모델 오류 값이 기 설정된 기준을 만족하면, 상기 변수생성부가 매트랩 모델에 적용된 매개변수가 최적의 매개변수인 것으로 판단하는 것을 특징으로 한다.On the other hand, in order to achieve the above object, the method for modeling automation using MATLAB according to the technical idea of the present invention includes the steps of: receiving data used for generating a variable by an input unit; Generating a plurality of parameters by using the data received from the input unit by the variable generation unit and selecting one parameter to be applied to the MATLAB model; Applying, by an application unit, the parameter selected by the variable generation unit to the input file of the MATLAB model; Executing the MATLAB model by an execution unit; Generating, by a post-processing unit, a model error value using an execution result value of the MATLAB model executed by the execution unit; Checking, by the variable generator, whether the model error value satisfies a preset criterion; And if the model error value does not satisfy a preset criterion, the variable generation unit selects another parameter to be applied to the MATLAB model among a plurality of parameters, and when the model error value satisfies a preset criterion, It is characterized in that the variable generator determines that the parameter applied to the MATLAB model is an optimal parameter.

또한, 상기 모델은 EFDC(Environmental Fluid Dynamics Code)인 것을 특징으로 할 수 있다.In addition, the model may be characterized in that EFDC (Environmental Fluid Dynamics Code).

또한, 상기 입력파일은 efdc.inp 파일인 것을 특징으로 할 수 있다.Also, the input file may be an efdc.inp file.

또한, 상기 데이터에는 경계조건(boundary condition)이 포함되고, 상기 적용부가 매개변수를 매트랩 모델의 입력파일에 적용하는 단계는, 상기 경계조건을 qser.inp 파일에 적용하는 것을 특징으로 할 수 있다.Further, the data includes a boundary condition, and the step of applying the parameter to the input file of the MATLAB model by the application unit may be characterized in that the boundary condition is applied to the qser.inp file.

또한, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는, LH-OAT(Latin Hypercube-One-factor-At-a-Time) 및 패턴서치(Pattern search) 알고리즘을 이용하는 것을 특징으로 할 수 있다.In addition, the step of generating a plurality of parameters by the variable generation unit using data received from the input unit and selecting one parameter to be applied to the MATLAB model may include: Latin Hypercube-One-factor-At-LH-OAT (Latin Hypercube-One-factor-At- a-Time) and a pattern search algorithm may be used.

또한, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는, LH-OAT를 이용하여 복수의 매개변수를 생성하는 것을 특징으로 할 수 있다.In addition, the step of generating a plurality of parameters by the variable generation unit using the data received from the input unit, and selecting one parameter to be applied to the MATLAB model may include generating a plurality of parameters using LH-OAT. It can be characterized.

또한, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는, 패턴서치 알고리즘을 이용하여 복수의 매개변수 중 하나의 매개변수를 선택하는 것을 특징으로 할 수 있다.In addition, the step of generating a plurality of parameters by the variable generation unit using data received from the input unit and selecting one parameter to be applied to the MATLAB model may include one of the plurality of parameters using a pattern search algorithm. It may be characterized by selecting a parameter.

또한, 상기 입력부가 수신하는 데이터에는 관측 값이 포함되고, 상기 후처리부가 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계는, 상기 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하는 것을 특징으로 할 수 있다.In addition, the data received by the input unit includes an observation value, and in the post-processing unit generating a model error value using the execution result value of the MATLAB model, the execution result value and the observation value of the MATLAB model are used. Thus, it may be characterized in that the model error value is generated.

또한, 상기 후처리부가 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계 후, 상기 후처리부가 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매트랩 모델에 적용된 매개변수의 민감도를 분석하는 단계를 더 포함하는 것을 특징으로 할 수 있다.In addition, after the post-processing unit generates a model error value using the execution result value of the MATLAB model executed by the execution unit, the post-processing unit uses the model error value and the Elementary Effect Test (EET) to generate a model error value. It may be characterized in that it further comprises the step of analyzing the sensitivity of the applied parameter.

또한, 상기 후처리부가 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매트랩 모델에 적용된 매개변수의 민감도를 분석하는 단계 후, 상기 후처리부가 상기 매트랩 모델의 실행 결과 값, 모델 오류 값 및 배열의 민감도를 이용하여 그래프를 생성하는 단계를 더 포함하는 것을 특징으로 할 수 있다.In addition, after the post-processing unit analyzes the sensitivity of the parameters applied to the MATLAB model using the model error value and the Elementary Effect Test (EET), the post-processing unit performs an execution result value of the MATLAB model, a model error value, and It may be characterized in that it further comprises the step of generating a graph by using the sensitivity of the array.

본 발명에 의한 매트랩을 활용한 모델링 자동화 장치 및 방법에 따르면,According to the apparatus and method for modeling automation using MATLAB according to the present invention,

첫째, 본 발명은 종래 수작업으로 실시되던 입력과정과, 적용이 어려웠던 매개변수 최적화, 모델 불확정성 분석, 매개변수 민감도 분석, 그래프 생성 및 오류 연산을 자동화할 수 있게 됨에 따라, 인력의 수고 및 작업을 위한 시간을 절감할 수 있게 된다.First, the present invention is capable of automating the input process conventionally carried out manually, parameter optimization, model uncertainty analysis, parameter sensitivity analysis, graph generation, and error calculation, which were difficult to apply. You can save time.

둘째, 본 발명은 EFDC(Environmental Fluid Dynamics Code) 모델뿐만 아니라, 다양한 모델에도 적용이 가능하므로, 매트랩을 이용한 시뮬레이션을 더 용이하게 실시할 수 있게 되어 연구개발에 큰 도움을 줄 수 있게 된다.Second, since the present invention can be applied not only to an EFDC (Environmental Fluid Dynamics Code) model, but also to a variety of models, it is possible to more easily perform a simulation using MATLAB, thereby contributing to research and development.

도 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는 본 발명의 실시예에 따른 매트랩을 활용한 모델링 자동화 방법의 각 단계를 나타낸 순서도.
1 is a diagram showing a GUI of MATLAB executed on a computer device.
FIG. 2 is a diagram showing a process of manually adding a boundary condition and correcting a parameter to query a result value in a conventional MATLAB EFDC (Environmental Fluid Dynamics Code) model.
3 is a block diagram showing the configuration of a modeling automation apparatus using MATLAB according to an embodiment of the present invention.
4 is an exemplary diagram showing a plurality of parameters generated by a variable generation unit using LH-OAT.
5 is an exemplary diagram showing a process of updating a parameter in an input file by a variable generator using a pattern search algorithm.
6 is a diagram showing the inquiry contents and parameters of the efdc.inp file in red boxes.
7 is a diagram showing a time series data area to which time series data of an inquiry content of a qser.inp file and boundary condition is applied, with red boxes.
8 is an exemplary diagram showing the result of calculating the sensitivity of a parameter using EET.
9 is a graph showing the sensitivity of parameters calculated using EET.
10 is a view showing an example of the result of the execution of the EFDC model and the result of mapping to a map using information on the behavior of substances and fluids in water.
11 is an exemplary view showing an execution result of a chemical accident simulation model.
12 is a flow chart showing each step of a modeling automation method using MATLAB according to an embodiment of the present invention.

첨부한 도면을 참조하여 본 발명의 실시예들에 의한 매트랩을 활용한 모델링 자동화 장치 및 방법에 대하여 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.With reference to the accompanying drawings will be described in detail with respect to the modeling automation apparatus and method using MATLAB according to embodiments of the present invention. Since the present invention can apply various changes and have various forms, specific embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to a specific form of disclosure, and it should be understood that all changes, equivalents, and substitutes included in the spirit and scope of the present invention are included. In describing each drawing, similar reference numerals have been used for similar elements.

또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in this application. Does not.

본 발명의 실시예에 따른 매트랩을 활용한 모델링 자동화 장치 및 방법은 매트랩(MATLAB)이 설치된 하나의 컴퓨터 장치에 설치 운영되거나, 복수의 컴퓨터 장치에 분산 설치되고 유선 또는 무선으로 각 컴퓨터 장치가 서로 연결되어 연동되는 것으로 실시될 수 있다.The modeling automation device and method using MATLAB according to an embodiment of the present invention is installed and operated on a single computer device on which MATLAB is installed, or distributed and installed on a plurality of computer devices, and each computer device is connected to each other by wire or wirelessly. It can be implemented as being interlocked.

매트랩은 다양한 시뮬레이션 모델을 이용할 수 있는 환경을 제공한다. 예를 들어, 매트랩에서 이용할 수 있는 모델에는 EFDC(Environmental Fluid Dynamics Code), 화학사고 시뮬레이션 등이 있다.MATLAB provides an environment in which various simulation models can be used. For example, models available in MATLAB include EFDC (Environmental Fluid Dynamics Code) and chemical accident simulation.

도 3을 참조하면, 본 발명의 실시예에 따른 매트랩 모델링 자동화 장치는 변수 생성에 이용되는 데이터를 수신하는 입력부(110), 입력부(110)에서 수신된 데이터를 이용하여 매개변수를 생성하고, 매트랩(MATLAB) 모델의 실행 후 생성되는 모델 오류 값을 이용하여 상기 매개변수를 최적화하는 변수생성부(120), 변수생성부(120)에서 생성된 매개변수를 매트랩 모델의 입력파일에 적용하는 적용부(140), 적용부(140)가 상기 입력파일에 매개변수를 적용하면 상기 매트랩 모델을 실행시키는 실행부(160), 실행부(160)가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 후처리부(180)를 포함한다.3, the MATLAB modeling automation apparatus according to an embodiment of the present invention generates a parameter using data received from the input unit 110 and the input unit 110 for receiving data used for variable generation, and (MATLAB) Variable generation unit 120 that optimizes the parameters using model error values generated after execution of the model, and application unit that applies the parameters generated by the variable generation unit 120 to the input file of the MATLAB model (140), When the application unit 140 applies the parameter to the input file, the execution unit 160 that executes the MATLAB model, and the model error using the execution result value of the MATLAB model executed by the execution unit 160 And a post-processing unit 180 that generates a value.

다음에서는 일 실시예로서 매트랩 모델이 EFDC(Environmental Fluid Dynamics Code)인 것을 기준으로 설명한다.In the following, as an embodiment, a description will be made on the basis that the MATLAB model is EFDC (Environmental Fluid Dynamics Code).

EFDC 수계 모델은 기능성 지표수 모델링 시스템으로 유체 역학, 퇴적물 오염 및 부영양화 구성 요소를 포함한다. EFDC는 수력 시스템을 1차원, 2차원 및 3차원으로 시뮬레이션 하는데 이용할 수 있는 유체 역학 모델이다. EFDC는 환경 평가, 관리 및 규제 요건을 지원하기 위해 강, 호수, 저수지, 습지, 강어귀 및 연안 해역 등 다양한 수역 환경에서 이용된다.The EFDC water system model is a functional surface water modeling system that includes fluid dynamics, sediment contamination and eutrophication components. EFDC is a hydrodynamic model that can be used to simulate hydraulic systems in one, two and three dimensions. EFDC is used in a variety of water environments, including rivers, lakes, reservoirs, wetlands, estuaries and coastal waters, to support environmental assessment, management and regulatory requirements.

EFDC는 확장 또는 시그마 수직 좌표, 직각, 곡선 또는 직교 수평 좌표를 사용하여 수체의 물리적 특성을 나타낸다. EFDC는 가변 밀도 유체의 3차원 수직 정수, 자유 표면, 난류 평균 운동 방정식을 연산할 수 있다. 또한, 난류 운동 에너지, 난류 길이 척도, 염도 및 온도에 대한 동적으로 결합된 수송 방정식도 해결할 수 있다.EFDC uses extended or sigma vertical coordinates, orthogonal, curved or rectangular horizontal coordinates to represent the physical properties of a water body. EFDC is capable of calculating the equations of three-dimensional vertical constant, free surface, and turbulent mean motion for variable density fluids. It can also solve dynamically coupled transport equations for turbulent kinetic energy, turbulent length scale, salinity and temperature.

국내에서 EFDC 모델은 국립환경과학원과 그 소속기관 및 환경공학 관련 대학 연구소 등에서 높은 빈도로 활용하고 있다.In Korea, the EFDC model is frequently used by the National Institute of Environmental Sciences, its affiliated institutions, and research institutes related to environmental engineering.

매트랩에서는 EFDC 모델의 시뮬레이션을 지원한다. 매트랩에서 EFDC 모델과 관련된 파일에는 efdc.inp 및 qser.inp가 포함된다.MATLAB supports the simulation of EFDC models. In MATLAB, the files related to the EFDC model include efdc.inp and qser.inp.

변수생성부(120)는 매개변수의 생성 및 최적화에 LH-OAT(Latin Hypercube-One-factor-At-a-Time) 및 패턴서치(Pattern search) 알고리즘을 이용한다.The variable generation unit 120 uses LH-OAT (Latin Hypercube-One-factor-At-a-Time) and pattern search algorithms to generate and optimize parameters.

LH-OAT 방법은 매개변수 공간을 N개의 구간으로 나누어 각 구간 별 변수를 임의로 추출한 후, 다변량 선형 회귀 방법을 이용하여 전역적 민감도를 분석하는 라틴 하이퍼큐브(Latin Hypercube, LH) 방법과, 매개변수 공간에서 다른 매개변수를 고정한 상태로 매개변수를 하나씩 변화시켜 국부적 민감도를 분석하는 One-Factor-At-a-Time(OAT) 방법을 결합한 기법이다. LH-OAT 방법은 보정 및 민감도 분석 대상 매개변수의 선택을 효과적으로 수행할 수 있다.The LH-OAT method is the Latin Hypercube (LH) method, which analyzes global sensitivity using a multivariate linear regression method after dividing the parameter space into N intervals, randomly extracting variables for each interval, and parameters. It is a technique that combines the One-Factor-At-a-Time (OAT) method, which analyzes local sensitivity by changing parameters one by one while other parameters are fixed in space. The LH-OAT method can effectively perform calibration and selection of parameters for sensitivity analysis.

변수생성부(120)는 LH-OAT를 이용하여 매트랩 모델의 입력파일에 적용될 복수의 매개변수를 생성한다. 도 4를 참조하면, 변수생성부(120)는 LH-OAT를 이용하여 복수의 매개변수(OAT)를 생성한다. 하나의 매개변수는 복수의 값으로 구성되어 세트를 이룬다. 이때 생성된 매개변수 배열은 개별적으로 EFDC 모델에 적용되어 모델의 실행에 이용된다.The variable generation unit 120 generates a plurality of parameters to be applied to the input file of the MATLAB model using LH-OAT. Referring to FIG. 4, the variable generation unit 120 generates a plurality of parameters OAT using LH-OAT. One parameter consists of multiple values to form a set. At this time, the generated parameter array is individually applied to the EFDC model and used for model execution.

패턴서치(Pattern search) 알고리즘은 수치 최적화 방법의 하나이다. 패턴서치 알고리즘은 다차원 분석 공간에서 매개변수의 값을 변경해가며 오류를 확인하고, 오류가 감소되면 스텝크기(step size)를 축소하며 최소 오류를 가지는 해를 탐색하는 것으로 최적화를 실시한다.The pattern search algorithm is one of the numerical optimization methods. The pattern search algorithm performs optimization by checking the error by changing the parameter value in the multidimensional analysis space, reducing the step size when the error is reduced, and searching for a solution with the least error.

변수생성부(120)는 패턴서치 알고리즘를 이용하여 앞서 LH-OAT를 이용하여 생성된 복수의 매개변수 중 모델 오류 값이 기 설정된 기준을 만족하는 매개변수를 탐색한다. 도 5를 참조하면, 변수생성부(120)는 복수의 매개변수 중 매트랩 모델에 적용될 하나의 매개변수를 선택한다. 선택된 매개변수가 적용되어 실행된 매트랩 모델의 오류 값이 기 설정된 기준을 만족하지 못하면, 변수생성부(120)는 복수의 매개변수 중에서 다른 매개변수를 선택한다. 변수생성부(120)가 선택한 다른 매개변수는 다시 매트랩 모델에 적용되어 실행된다. 변수생성부(120)는 복수의 매개변수를 하나씩 매트랩 모델에 적용하여 결과를 비교하는 것으로 최적의 매개변수를 탐색하게 된다.The variable generation unit 120 searches for a parameter whose model error value satisfies a preset criterion among a plurality of parameters previously generated using LH-OAT using a pattern search algorithm. Referring to FIG. 5, the variable generator 120 selects one parameter to be applied to the MATLAB model from among a plurality of parameters. If the selected parameter is applied and the error value of the executed MATLAB model does not satisfy a preset criterion, the variable generator 120 selects another parameter from among the plurality of parameters. The other parameters selected by the variable generation unit 120 are again applied to the MATLAB model and executed. The variable generator 120 searches for an optimal parameter by applying a plurality of parameters to the MATLAB model one by one and comparing the results.

모델 오류 값의 기 설정된 기준은 오류를 허용할 수 있을 정도의 크기인 것이 바람직하다. 예를 들어, 모델 오류 지표 중 NSE(Nash Sutcliffe Efficiency)는 -∞에서 1사이의 값을 가지고, NSE 값은 모델 값의 오류가 없는 경우 1, 오류가 최대인 경우 -∞의 값을 가진다. 일반적으로 NSE 값이 0.5 이상이면 모델 성능이 충분하다고 판단되므로, 0.5를 모델 오류 판단을 위한 기 설정된 기준으로 설정할 수 있다. 이때, 실행된 매트랩 모델의 NSE 값이 0.5 미만이면 변수생성부(120)가 복수의 매개변수 중 매트랩 모델에 적용될 다른 매개변수를 선택한다. 모델의 NSE 값이 0.5 이상이면 매트랩 모델에 적용된 매개변수가 기 설정된 기준을 만족하므로, 해당 매개변수를 최적화된 매개변수인 것으로 판단하고, 다른 매개변수를 선택하는 과정을 종료한다.It is preferable that the predetermined criterion of the model error value is a size sufficient to allow errors. For example, among the model error indicators, NSE (Nash Sutcliffe Efficiency) has a value between -∞ and 1, and the NSE value has a value of 1 when there is no error in the model value, and -∞ when the error is maximum. In general, if the NSE value is 0.5 or more, it is determined that the model performance is sufficient, so 0.5 can be set as a preset criterion for determining model error. At this time, if the NSE value of the executed MATLAB model is less than 0.5, the variable generator 120 selects another parameter to be applied to the MATLAB model from among the plurality of parameters. If the model's NSE value is greater than 0.5, the parameter applied to the MATLAB model satisfies the preset criterion. Therefore, it is determined that the parameter is an optimized parameter, and the process of selecting another parameter is terminated.

다른 실시예로서, 기 설정된 기준은 변수생성부(120)에서 생성된 전체 매개변수 중 모델 오류 값이 가장 작은 매개변수인 것이 될 수도 있다. 이 경우, 복수의 매개변수가 하나씩 매트랩 모델에 적용 및 실행되어 모델 오류 값이 가장 작은 경우를 탐색하게 된다.As another embodiment, the preset criterion may be a parameter having the smallest model error value among all parameters generated by the variable generator 120. In this case, a plurality of parameters are applied and executed one by one to the MATLAB model to search for the case with the smallest model error value.

적용부(140)는 efdc.inp 파일에 변수생성부(120)가 선택한 매개변수를 적용한다. The application unit 140 applies the parameter selected by the variable generation unit 120 to the efdc.inp file.

종래는 EFDC 인터페이스에서 수동으로 매개변수 또는 경계조건(boundary condition)의 데이터를 수정하면 efdc.inp이나 qser.inp가 업데이트 된다(도 2 (1) 참조). efdc.inp 및 qser.inp의 업데이트는 EFDC 인터페이스를 이용하여 가능하지만, efdc.inp와 qser.inp 파일이 저장된 경로에 직접 접근하여 해당 파일을 편집기로 실행하면 사용자가 인위적으로 수정하는 것도 가능하다.Conventionally, efdc.inp or qser.inp is updated when data of parameters or boundary conditions are manually modified in the EFDC interface (see FIG. 2 (1)). Updating efdc.inp and qser.inp is possible using the EFDC interface, but users can artificially modify them by directly accessing the path where efdc.inp and qser.inp files are stored and executing the corresponding file with an editor.

적용부(140)는 자동으로 efdc.inp 파일을 조회하고, efdc.inp 파일에 매개변수의 값을 적용한다. 이때, 적용에는 추가, 치환, 삭제 등이 포함된다. 도 6은 efdc.inp 파일의 조회 내용 중 일부를 나타낸 것이며, 붉은색 박스 영역이 매개변수이다. 또한, efdc.inp 파일에는 경계조건의 종류에 대한 정보가 라벨링된다. 적용부(140)는 도 6의 붉은색 박스와 같이 매개변수와 관련된 영역에 변수생성부(120)에서 선택된 매개변수의 값을 적용한다.The application unit 140 automatically searches the efdc.inp file and applies the parameter value to the efdc.inp file. In this case, the application includes addition, substitution, deletion, etc. 6 shows some of the inquiry contents of the efdc.inp file, and the red box area is a parameter. In addition, information on the type of boundary condition is labeled in the efdc.inp file. The application unit 140 applies the value of the parameter selected by the variable generation unit 120 to the area related to the parameter as shown in the red box of FIG. 6.

또한, 이 실시예는 입력부(110)가 수신하는 데이터에 경계조건(boundary condition)을 더 포함한다. 경계조건은 수치해석 모델의 미분방정식을 연산할 때 추가적으로 제한이 되는 조건을 의미한다. 예를 들어, EFDC와 같은 수계모델의 경계조건은 상류 및 하류의 수위, 유량, 수질 등이 될 수 있다. 경계조건은 시계열 데이터의 형식을 가진다. 도 7은 qser.inp 파일의 조회 내용 중 일부를 나타낸 것이며, 붉은색 박스 영역은 경계조건의 시계열 데이터이다. 적용부(140)는 qser.inp 파일에 기록된 기존 시계열 데이터를 경계조건의 시계열 데이터로 정정하는 것으로 qser.inp 파일에 경계조건을 적용한다. 또한, 적용부(140)는 경계조건의 종류가 정정되어야 한다면 efdc.inp 파일에 라벨링된 정보와 qser.inp 파일의 시계열 데이터를 함께 정정한다.In addition, this embodiment further includes a boundary condition in the data received by the input unit 110. The boundary condition refers to a condition that is additionally limited when calculating the differential equation of the numerical analysis model. For example, boundary conditions of a water system model such as EFDC can be upstream and downstream water levels, flow rates, and water quality. Boundary conditions have the format of time series data. 7 shows some of the inquiry contents of the qser.inp file, and the red box area is time series data of boundary conditions. The application unit 140 applies the boundary condition to the qser.inp file by correcting the existing time series data recorded in the qser.inp file as the boundary condition time series data. In addition, the application unit 140 corrects the information labeled in the efdc.inp file and time series data in the qser.inp file together if the type of boundary condition is to be corrected.

적용부(140)가 매트랩 모델의 입력파일에 매개변수 및 경계조건을 적용하면, 실행부(160)가 매트랩 모델을 실행시킨다.When the application unit 140 applies the parameters and boundary conditions to the input file of the MATLAB model, the execution unit 160 executes the MATLAB model.

매트랩 모델의 실행 후 매트랩의 연산이 종료되면, 후처리부(180)가 매트랩에서 실행 결과 값을 수집한다. 이 실시예의 입력부(110)가 수신하는 데이터에는 관측 값이 더 포함된다. 모델의 오류를 연산하기 위해서는 기준이 되는 참 값이 필요하다. 수계 모델에서는 참 값으로 실제 관측 데이터를 이용한다. 실제 관측된 데이터에는 수위, 수온, 염분, 화학물질 농도 등이 있다. 이러한 실제 관측된 데이터가 관측 값이 된다.After the MATLAB model is executed, when the Matlab operation is finished, the post-processing unit 180 collects the execution result value in MATLAB. The data received by the input unit 110 of this embodiment further includes an observation value. In order to calculate the error of the model, a true value as a reference is required. In the water system model, actual observed data are used as true values. Actually observed data include water level, water temperature, salinity, and chemical concentration. These actual observed data become observed values.

후처리부(180)는 매트랩 모델의 실행 결과 값 및 관측 값을 이용하여 모델 오류 값을 생성한다. 모델 오류는 NSE, 평균 제곱근 편차(Root Mean Square Deviation, RMSD) 등을 이용하여 연산할 수 있다. The post-processing unit 180 generates a model error value by using the result of the MATLAB model and the observed value. Model error can be calculated using NSE and Root Mean Square Deviation (RMSD).

후처리부(180)는 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 현재 매트랩 모델에 적용된 매개변수의 민감도를 분석한다. 도 8은 5개의 값을 가지는 매개변수의 각 값의 민감도를 분석한 결과를 나타낸 예시이다.The post-processing unit 180 analyzes the sensitivity of the parameter applied to the current MATLAB model using the model error value and the Elementary Effect Test (EET). 8 is an example showing a result of analyzing the sensitivity of each value of a parameter having five values.

EET(Elementary Effect Test) 방법은 전체적 감도 해석(Global sensitivity analysis) 기법으로, 많은 수의 입력자료를 가지고 있는 모델 또는 계산 과정이 복잡한 모델에서 민감도를 분석하는데 활용된다.The EET (Elementary Effect Test) method is a global sensitivity analysis technique, and is used to analyze the sensitivity in a model with a large number of input data or a model with a complex calculation process.

매개변수의 값이 모델의 실행 결과 값에 큰 영향을 줄수록 mean(EE) 값이 크게 나타난다. 또한, 다른 매개변수와의 조합에 따라 현재 매개변수가 모델에 미치는 영향의 차이가 클수록 std(EE) 값이 크게 나타난다.As the value of the parameter has a greater influence on the result value of the model, the mean(EE) value appears larger. Also, the greater the difference in the effect of the current parameter on the model according to the combination with other parameters, the larger the std(EE) value appears.

후처리부(180)가 EET를 이용하여 매개변수의 민감도를 연산하는 방법은 수학식1과 같다.A method in which the post-processing unit 180 calculates the sensitivity of the parameter using EET is as shown in Equation 1.

[수학식 1][Equation 1]

Figure pat00001
Figure pat00001

이때, EE(elementary effect)는 민감도를 보여주는 인덱스이다. X는 모델에 적용된 매개변수이다. Y는 모델의 값이다. 모델 오류 값은 실행결과 값에서 참 값을 차감한 값이므로 모델의 값에는 실행결과 값과 모델 오류 값이 모두 활용될 수 있다. i는 민감도를 분석하려는 매개변수의 인덱스(index), k는 모델에 적용된 매개별수의 총 개수, Δ는 민감도 분석을 위해 변화시킨 매개변수 값의 증감(increment)이다. 예를 들어, 모델에 적용된 매개변수, a, b, c가 있는 것으로 가정할 때,

Figure pat00002
=a,
Figure pat00003
=b,
Figure pat00004
=c가 된다. 이 중 민감도를 분석하려는 매개변수가 b인 경우 i는 2가 된다. 매개변수가 총 3개이므로, k=3이 된다. b=2일 때 모델을 실행한 결과와, b=3일 때 모델을 실행한 결과를 비교하면 b에 대한 민감도를 분석할 수 있고, 이때의 Δ는 1이 된다(2→3).In this case, EE (elementary effect) is an index showing sensitivity. X is the parameter applied to the model. Y is the value of the model. Since the model error value is a value obtained by subtracting the true value from the execution result value, both the execution result value and the model error value can be used for the model value. i is the index of the parameter to be analyzed for sensitivity, k is the total number of parameters applied to the model, and Δ is the increment of the parameter value changed for the sensitivity analysis. For example, assuming that the model has parameters a, b, c applied,
Figure pat00002
=a,
Figure pat00003
=b,
Figure pat00004
=c. Among these, if the parameter to be analyzed for sensitivity is b, i becomes 2. Since there are a total of 3 parameters, k=3. By comparing the result of executing the model when b=2 and the result of executing the model when b=3, the sensitivity to b can be analyzed, and Δ at this time becomes 1 (2→3).

도 9는 EET를 이용하여 매개변수의 민감도를 분석한 결과를 나타낸 예시 그래프이다. 이 예시 그래프에서는 매개변수 중 AHO 요소의 민감도가 가장 높은 것으로 나타나고 있다.9 is an exemplary graph showing the result of analyzing the sensitivity of a parameter using EET. This example graph shows that the AHO factor has the highest sensitivity among parameters.

후처리부(180)는 매트랩 모델의 실행 결과, 모델 오류 및 매개변수의 민감도를 이용하여 그래프를 생성한다.The post-processing unit 180 generates a graph using the execution result of the MATLAB model, model error, and sensitivity of parameters.

도 10은 매트랩에서 EFDC 모델이 실행되어 수계 내 물질 및 유체 거동의 결과 값이 획득되고, 그것을 이용하여 지도에 맵핑(mapping)된 그림이다.FIG. 10 is a diagram illustrating that the EFDC model is executed in MATLAB, the resultant values of the behavior of substances and fluids in the water system are obtained, and mapped on a map using the values.

도 11은 다른 실시예로서, 매트랩의 화학사고 시뮬레이션 모델에서 경계조건을 화재, 누출, 폭발 시나리오로 자동 수정하여, 각 사고 별로 수계 내 톨루엔의 농도 변화를 그래프로 나타낸 도면이다.11 is a graph showing the change in the concentration of toluene in the water system for each accident by automatically correcting the boundary conditions to fire, leakage, and explosion scenarios in Matlab's chemical accident simulation model as another embodiment.

이어서, 본 발명의 실시예에 따른 매트랩 모델링 자동화 방법을 설명한다.Next, a MATLAB modeling automation method according to an embodiment of the present invention will be described.

도 12를 참조하면, 이 실시예는 입력부(110)가 변수 생성에 이용되는 데이터를 수신하는 단계(S110), 변수생성부(120)가 입력부(110)에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계(S122, S126), 적용부(140)가 변수생성부(120)에서 선택된 매개변수를 매트랩 모델의 입력파일에 적용하는 단계(S140), 실행부(160)가 매트랩 모델을 실행시키는 단계(S160), 후처리부(180)가 실행부(160)가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계(S184), 변수생성부(120)가 상기 모델 오류 값이 기 설정된 기준을 만족하는지 확인하는 단계(S192)를 포함한다.Referring to FIG. 12, in this embodiment, the input unit 110 receives data used for variable generation (S110), and the variable generation unit 120 uses the data received from the input unit 110 to obtain a plurality of parameters. Creating a variable and selecting one parameter to be applied to the MATLAB model (S122, S126), the application unit 140 applying the parameter selected in the variable generation unit 120 to the input file of the MATLAB model ( S140), the step of executing the MATLAB model by the execution unit 160 (S160), the step of generating a model error value by the post-processing unit 180 using the execution result value of the MATLAB model executed by the execution unit 160 ( S184), the variable generation unit 120 includes a step (S192) of checking whether the model error value satisfies a preset criterion.

만약, 모델 오류가 기 설정된 기준을 만족하는지 못하면, 변수생성부(120)가 복수의 매개변수 중 매트랩 모델에 적용될 다른 매개변수를 선택(S126)한다. 변수생성부(120)가 다른 매개변수를 선택하면, 다시 S140 단계부터 순차적으로 실행된다.If the model error does not satisfy the preset criterion, the variable generator 120 selects another parameter to be applied to the MATLAB model from among the plurality of parameters (S126). If the variable generator 120 selects another parameter, it is sequentially executed from step S140 again.

모델 오류가 기 설정된 기준을 만족하면, 변수생성부(120)가 매트랩 모델에 적용된 매개변수가 최적의 매개변수인 것으로 판단한다(S194).If the model error satisfies a preset criterion, the variable generator 120 determines that the parameter applied to the MATLAB model is an optimal parameter (S194).

매트랩 모델이 EFDC이면, 입력파일은 efdc.inp 파일 및 qser.inp 파일을 포함한다.If the MATLAB model is EFDC, the input files include the efdc.inp file and the qser.inp file.

또한, S110 단계에서 수신되는 데이터에는 경계조건(boundary condition)이 포함된다. 이때, S140 단계는 경계조건을 qser.inp 파일에 적용한다.In addition, the data received in step S110 includes a boundary condition. In this case, in step S140, the boundary condition is applied to the qser.inp file.

변수생성부(120)가 상기 입력부(110)에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는, LH-OAT를 이용하여 복수의 매개변수를 생성하는 단계(S122)와, 패턴서치 알고리즘을 이용하여 복수의 매개변수 중 하나의 매개변수를 선택하는 단계(S126)로 구성된다. S126 단계는 모델 오류 값이 기 설정된 기준을 만족하지 못할 때 복수의 매개변수 중 다른 매개변수를 선택한다.The step of the variable generation unit 120 to generate a plurality of parameters using the data received from the input unit 110, and to select one parameter to be applied to the MATLAB model, may include a plurality of parameters using LH-OAT. It consists of a step of generating a variable (S122), and a step (S126) of selecting one of the plurality of parameters using a pattern search algorithm. In step S126, when the model error value does not satisfy a preset criterion, another parameter is selected among a plurality of parameters.

또한, S110 단계에서 수신되는 데이터에는 관측 값이 포함된다. 이때, S184 단계는 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하게 된다.In addition, the data received in step S110 includes the observed value. In this case, in step S184, a model error value is generated by using the result value of the MATLAB model and the observed value.

또한, 이 실시예는 S184 단계 후, 후처리부(180)가 모델 오류 값 및 EET를 이용하여 매트랩 모델에 적용된 매개변수의 민감도를 분석하는 단계(S186)를 더 포함한다.In addition, this embodiment further includes a step (S186) of analyzing the sensitivity of the parameter applied to the MATLAB model by the post-processing unit 180 using the model error value and EET after step S184.

또한, 이 실시예는 S186 단계 후, 후처리부(180)가 매트랩 모델의 실행 결과 값, 모델 오류 값 및 배열의 민감도를 이용하여 그래프를 생성하는 단계를 더 포함한다.In addition, this embodiment further includes the step of generating, by the post-processing unit 180 after step S186, a graph using the execution result value of the MATLAB model, the model error value, and the sensitivity of the array.

이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 다음 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.Although the preferred embodiment of the present invention has been described above, the present invention can use various changes, modifications, and equivalents. It is clear that the present invention can be applied in the same manner by appropriately modifying the above embodiments. Therefore, the above description does not limit the scope of the present invention determined by the limits of the following claims.

10 : 매트랩 100 : 매트랩 모델링 자동화 장치
110 : 입력부 120 : 변수생성부
140 : 적용부 160 : 실행부
180 : 후처리부
10: MATLAB 100: MATLAB modeling automation device
110: input unit 120: variable generation unit
140: application unit 160: execution unit
180: post-processing unit

Claims (20)

변수 생성에 이용되는 데이터를 수신하는 입력부;
상기 입력부에서 수신된 데이터를 이용하여 매개변수를 생성하고, 매트랩(MATLAB) 모델의 실행 후 생성되는 모델 오류 값을 이용하여 상기 매개변수를 최적화하는 변수생성부;
상기 변수생성부에서 생성된 매개변수를 매트랩 모델의 입력파일에 적용하는 적용부;
상기 적용부가 상기 입력파일에 매개변수를 적용하면 상기 매트랩 모델을 실행시키는 실행부; 및
상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 후처리부를 포함하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
An input unit for receiving data used to generate a variable;
A variable generator for generating a parameter using the data received from the input unit and optimizing the parameter using a model error value generated after execution of a MATLAB model;
An application unit for applying the parameter generated by the variable generation unit to an input file of a MATLAB model;
An execution unit that executes the MATLAB model when the application unit applies a parameter to the input file; And
And a post-processing unit that generates a model error value by using the execution result value of the MATLAB model executed by the execution unit.
제1항에 있어서,
상기 모델은 EFDC(Environmental Fluid Dynamics Code)인 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 1,
The matlab modeling automation device, characterized in that the model is EFDC (Environmental Fluid Dynamics Code).
제2항에 있어서,
상기 적용부는 efdc.inp 파일에 상기 매개변수를 적용하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 2,
The application unit, MATLAB modeling automation device, characterized in that to apply the parameter to the efdc.inp file.
제3항에 있어서,
상기 입력부가 수신하는 데이터는 경계조건(boundary condition)을 포함하고,
상기 적용부는 상기 경계조건을 qser.inp 파일에 적용하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 3,
The data received by the input unit includes a boundary condition,
The application unit applies the boundary condition to a qser.inp file.
제2항에 있어서,
상기 변수생성부는 LH-OAT(Latin Hypercube-One-factor-At-a-Time) 및 패턴서치(Pattern search) 알고리즘을 이용하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 2,
The variable generator is a MATLAB modeling automation device, characterized in that using a LH-OAT (Latin Hypercube-One-factor-At-a-Time) and a pattern search algorithm.
제5항에 있어서,
상기 변수생성부는 LH-OAT를 이용하여 매트랩 모델의 입력파일에 적용될 매개변수를 생성하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 5,
The variable generation unit generates a parameter to be applied to the input file of the MATLAB model using LH-OAT.
제5항에 있어서,
상기 변수생성부는 패턴서치 알고리즘를 이용하여 모델 오류 값이 기 설정된 기준을 만족하는 매개변수를 탐색하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 5,
The variable generation unit searches for a parameter in which a model error value satisfies a preset criterion using a pattern search algorithm.
제5항에 있어서,
상기 입력부가 수신하는 데이터에는 관측 값이 포함되고,
상기 후처리부는 상기 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 5,
The data received by the input unit includes an observation value,
The post-processing unit generates a model error value using a result of executing the MATLAB model and the observed value.
제5항에 있어서,
상기 후처리부는 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매개변수의 민감도를 분석하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 5,
The post-processing unit analyzes the sensitivity of the parameter using the model error value and the Elementary Effect Test (EET).
제9항에 있어서,
상기 후처리부는 상기 매트랩 모델의 실행 결과, 모델 오류 및 매개변수의 민감도를 이용하여 그래프를 생성하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 9,
The post-processing unit generates a graph using the execution result of the MATLAB model, model error, and sensitivity of parameters.
입력부가 변수 생성에 이용되는 데이터를 수신하는 단계;
변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계;
적용부가 상기 변수생성부에서 선택된 매개변수를 매트랩 모델의 입력파일에 적용하는 단계;
실행부가 상기 매트랩 모델을 실행시키는 단계;
후처리부가 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계;
상기 변수생성부가 상기 모델 오류 값이 기 설정된 기준을 만족하는지 확인하는 단계; 및
상기 모델 오류 값이 기 설정된 기준을 만족하는지 못하면, 상기 변수생성부가 복수의 매개변수 중 매트랩 모델에 적용될 다른 매개변수를 선택하는 단계를 포함하고,
상기 모델 오류 값이 기 설정된 기준을 만족하면, 상기 변수생성부가 매트랩 모델에 적용된 매개변수가 최적의 매개변수인 것으로 판단하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
Receiving data used for generating a variable by an input unit;
Generating a plurality of parameters by using the data received from the input unit by the variable generation unit and selecting one parameter to be applied to the MATLAB model;
Applying, by an application unit, the parameter selected by the variable generation unit to the input file of the MATLAB model;
Executing the MATLAB model by an execution unit;
Generating, by a post-processing unit, a model error value using an execution result value of the MATLAB model executed by the execution unit;
Checking, by the variable generator, whether the model error value satisfies a preset criterion; And
If the model error value does not satisfy a preset criterion, the variable generation unit comprises the step of selecting another parameter to be applied to the MATLAB model among a plurality of parameters,
When the model error value satisfies a preset criterion, the variable generation unit determines that the parameter applied to the MATLAB model is an optimal parameter.
제11항에 있어서,
상기 모델은 EFDC(Environmental Fluid Dynamics Code)인 것을 특징으로 하는 매트랩 모델링 자동화 방법.
The method of claim 11,
The matlab modeling automation method, characterized in that the model is EFDC (Environmental Fluid Dynamics Code).
제12항에 있어서,
상기 입력파일은 efdc.inp 파일인 것을 특징으로 하는 매트랩 모델링 자동화 방법.
The method of claim 12,
The input file is a MATLAB modeling automation method, characterized in that the efdc.inp file.
제13항에 있어서,
상기 데이터에는 경계조건(boundary condition)이 포함되고,
상기 적용부가 매개변수를 매트랩 모델의 입력파일에 적용하는 단계는, 상기 경계조건을 qser.inp 파일에 적용하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
The method of claim 13,
The data includes a boundary condition,
In the step of applying the parameter to the input file of the MATLAB model by the application unit, the boundary condition is applied to a qser.inp file.
제12항에 있어서, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는,
LH-OAT(Latin Hypercube-One-factor-At-a-Time) 및 패턴서치(Pattern search) 알고리즘을 이용하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
The method of claim 12, wherein the variable generation unit generates a plurality of parameters using data received from the input unit, and selects one parameter to be applied to the MATLAB model,
A MATLAB modeling automation method characterized by using LH-OAT (Latin Hypercube-One-factor-At-a-Time) and Pattern Search algorithms.
제15항에 있어서, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는,
LH-OAT를 이용하여 복수의 매개변수를 생성하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
The method of claim 15, wherein the variable generation unit generates a plurality of parameters using data received from the input unit and selects one parameter to be applied to the MATLAB model,
MATLAB modeling automation method, characterized in that generating a plurality of parameters using LH-OAT.
제15항에 있어서, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는,
패턴서치 알고리즘을 이용하여 복수의 매개변수 중 하나의 매개변수를 선택하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
The method of claim 15, wherein the variable generation unit generates a plurality of parameters using data received from the input unit and selects one parameter to be applied to the MATLAB model,
MATLAB modeling automation method, characterized in that selecting one of a plurality of parameters using a pattern search algorithm.
제14항에 있어서,
상기 입력부가 수신하는 데이터에는 관측 값이 포함되고,
상기 후처리부가 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계는, 상기 매트랩 모델의 실행 결과 값 및 상기 관측 값을 이용하여 모델 오류 값을 생성하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
The method of claim 14,
The data received by the input unit includes an observation value,
The step of generating a model error value by the post-processing unit using the execution result value of the MATLAB model comprises generating a model error value using the execution result value and the observed value of the MATLAB model. .
제14항에 있어서,
상기 후처리부가 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계 후,
상기 후처리부가 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매트랩 모델에 적용된 매개변수의 민감도를 분석하는 단계를 더 포함하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
The method of claim 14,
After the post-processing unit generates a model error value using the execution result value of the MATLAB model executed by the execution unit,
And analyzing, by the post-processing unit, the sensitivity of the parameter applied to the MATLAB model by using the model error value and Elementary Effect Test (EET).
제19항에 있어서, 상기 후처리부가 상기 모델 오류 값 및 EET(Elementary Effect Test)를 이용하여 매트랩 모델에 적용된 매개변수의 민감도를 분석하는 단계 후,
상기 후처리부가 상기 매트랩 모델의 실행 결과 값, 모델 오류 값 및 배열의 민감도를 이용하여 그래프를 생성하는 단계를 더 포함하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
The method of claim 19, wherein after the post-processing unit analyzes the sensitivity of the parameter applied to the MATLAB model using the model error value and the Elementary Effect Test (EET),
And generating, by the post-processing unit, a graph using an execution result value of the MATLAB model, a model error value, and a sensitivity of an array.
KR1020190051683A 2019-05-02 2019-05-02 Apparatus and method for auto-processing modeling using matlab KR20200127483A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190051683A KR20200127483A (en) 2019-05-02 2019-05-02 Apparatus and method for auto-processing modeling using matlab
KR1020210027661A KR102364390B1 (en) 2019-05-02 2021-03-02 Apparatus and method for auto-processing modeling using matlab

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190051683A KR20200127483A (en) 2019-05-02 2019-05-02 Apparatus and method for auto-processing modeling using matlab

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210027661A Division KR102364390B1 (en) 2019-05-02 2021-03-02 Apparatus and method for auto-processing modeling using matlab

Publications (1)

Publication Number Publication Date
KR20200127483A true KR20200127483A (en) 2020-11-11

Family

ID=73451922

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190051683A KR20200127483A (en) 2019-05-02 2019-05-02 Apparatus and method for auto-processing modeling using matlab

Country Status (1)

Country Link
KR (1) KR20200127483A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210111011A (en) * 2020-03-02 2021-09-10 오성배 System for providing visualization service regarding pre-processing and post-processing of open field operation and manipulation solver

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101670307B1 (en) 2015-09-21 2016-10-31 국방과학연구소 Method for enabling interoperation between component-based integrative simulation environment and matlab/simulink legacy simulation program, and an interface design method for interoperation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101670307B1 (en) 2015-09-21 2016-10-31 국방과학연구소 Method for enabling interoperation between component-based integrative simulation environment and matlab/simulink legacy simulation program, and an interface design method for interoperation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210111011A (en) * 2020-03-02 2021-09-10 오성배 System for providing visualization service regarding pre-processing and post-processing of open field operation and manipulation solver

Similar Documents

Publication Publication Date Title
Bohlin Practical grey-box process identification: theory and applications
US8024164B1 (en) Adaptive lookup table: a graphical simulation component for recursively updating numeric data storage in table form
Palar et al. Global sensitivity analysis via multi-fidelity polynomial chaos expansion
US10439594B2 (en) Actually-measured marine environment data assimilation method based on sequence recursive filtering three-dimensional variation
RU2595535C1 (en) Simulation of basin-formation
US8180619B2 (en) System and method for digital effects analysis
US10719645B1 (en) Model structure analysis with integration of transformed slice
Bazil et al. A global parallel model based design of experiments method to minimize model output uncertainty
Dimov et al. Variance-based sensitivity analysis of the unified Danish Eulerian model according to variations of chemical rates
Chung et al. Comparison of approximation models with merit functions for design optimization
Henson et al. CRT--Cascade Routing Tool to define and visualize flow paths for grid-based watershed models
KR20200127483A (en) Apparatus and method for auto-processing modeling using matlab
KR102364390B1 (en) Apparatus and method for auto-processing modeling using matlab
Kucherenko SobolHDMR: a general-purpose modeling software
KR102484587B1 (en) Method to Build a Reduced Order Model based on Eigenmodes from Simulation and Eigenvalues based on Machine Learning by Measurement Data
Müller et al. Parallel multilevel Monte Carlo for two-phase flow and transport in random heterogeneous porous media with sampling-error and discretization-error balancing
Stinstra et al. Metamodeling by symbolic regression and Pareto simulated annealing
Willkomm et al. A new user interface for ADiMat: toward accurate and efficient derivatives of MATLAB programmes with ease of use
KR20210123247A (en) Apparatus and method for auto-processing modeling using matlab
RU2591239C1 (en) Systems and methods for assessment of capability of collector system
Ostashev Automated verification of information models for capital construction projects to mitigate environmental impact
Glimm et al. Solution error models for uncertainty quantification
Owen et al. A Bayesian statistical approach to decision support for TNO OLYMPUS well control optimisation under uncertainty
Flechsig et al. Techniques for quality assurance of models in a multi-run simulation environment
Jourdan How to repair a second-order surface for computer experiments by Kriging

Legal Events

Date Code Title Description
E601 Decision to refuse application
E601 Decision to refuse application
E801 Decision on dismissal of amendment