KR20210030311A - 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
KR20210030311A
KR20210030311A KR1020210027661A KR20210027661A KR20210030311A KR 20210030311 A KR20210030311 A KR 20210030311A KR 1020210027661 A KR1020210027661 A KR 1020210027661A KR 20210027661 A KR20210027661 A KR 20210027661A KR 20210030311 A KR20210030311 A KR 20210030311A
Authority
KR
South Korea
Prior art keywords
model
matlab
parameter
unit
parameters
Prior art date
Application number
KR1020210027661A
Other languages
Korean (ko)
Other versions
KR102364390B1 (en
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/en
Application filed by 울산과학기술원, 광주과학기술원 filed Critical 울산과학기술원
Priority to KR1020210027661A priority Critical patent/KR102364390B1/en
Publication of KR20210030311A publication Critical patent/KR20210030311A/en
Priority to KR1020210125955A priority patent/KR20210123247A/en
Application granted granted Critical
Publication of KR102364390B1 publication Critical 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 a technique for data analysis and optimization which automates correction inputs of parameters and boundary conditions which were relied upon manual work in Matlab and carries out parameter optimization, model uncertainty, and parameter sensitivity analysis. A Matlab modeling automation apparatus comprises: an input unit which receives data used in variable creation; a variable creation unit which uses data received from the input unit to create parameters, and uses model error values generated after executing a Matlab model to optimize parameters; an application unit which applies parameters created by the variable creation unit to an input file of the Matlab model; an execution unit which executes the Matlab model when the application unit applies the parameters to the input file; and a postprocessing unit which uses execution result values of the Matlab model executed by the execution unit to generate model error values.

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 a modeling automation apparatus and method using MATLAB, and more particularly, to automate correction input of boundary conditions and parameters, which had been dependent on conventional manual work in MATLAB, and parameter optimization, model uncertainty. 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 an 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 to provide all related libraries.

도 1을 참조하면, 매트랩은 수학적 분석 및 설계 프로세스에 적합한 데스크탑 환경을 제공한다. 또한, 응용프로그램을 활용하면 다양한 알고리즘을 적용하는 것이 가능하다.Referring to Fig. 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, each step of (1) adding a boundary condition, (2) correcting parameters, (3) executing the model, and (4) checking output and drawing a graph is described in EFDC Explorer. You have to manually click one by one of the related icons 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 frequently made because the icon in the interface must be manually clicked each 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 relied 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 to generate a variable; A variable generator for generating a parameter using 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 파일에 적용하는 것을 특징으로 할 수 있다.In addition, the data received by the input unit may include a boundary condition, and the application unit may apply the boundary condition to a 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 in which a 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 generate 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, a 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 generation unit, 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 if 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 by that.

또한, 상기 변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계는, 패턴서치 알고리즘을 이용하여 복수의 매개변수 중 하나의 매개변수를 선택하는 것을 특징으로 할 수 있다.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 parameter 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 using the sensitivity of the array.

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

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

둘째, 본 발명은 EFDC(Environmental Fluid Dynamics Code) 모델뿐만 아니라, 다양한 모델에도 적용이 가능하므로, 매트랩을 이용한 시뮬레이션을 더 용이하게 실시할 수 있게 되어 연구개발에 큰 도움을 줄 수 있게 된다.Second, since the present invention can be applied not only to the Environmental Fluid Dynamics Code (EFDC) model, but also to various models, it is possible to more easily perform a simulation using MATLAB, thereby contributing greatly 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 device 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 generation unit using a pattern search algorithm.
6 is a diagram showing the inquiry contents and parameters of the efdc.inp file in red boxes.
FIG. 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 a red box.
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.
FIG. 10 is a view showing an example of a result of executing an EFDC model and a result of being mapped to a map using information on the behavior of substances and fluids in a water system.
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, it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. 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 the present 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 is distributedly 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)를 포함한다.Referring to FIG. 3, the MATLAB modeling automation apparatus according to an embodiment of the present invention generates a parameter using data received from an input unit 110 and an input unit 110 for receiving data used for variable generation, and (MATLAB) A variable generation unit 120 that optimizes the parameters using model error values generated after the model is executed, and an 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 It includes a post-processing unit 180 for generating 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 can calculate the equations of three-dimensional vertical constant, free surface, and turbulent mean motion for variable density fluids. In addition, dynamically coupled transport equations for turbulent kinetic energy, turbulent length scale, salinity and temperature can be solved.

국내에서 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 generator 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 the global sensitivity using a multivariate linear regression method after dividing the parameter space into N intervals, randomly extracting the 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 generator 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 generator 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. When 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 a 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 greater than 0.5, it is determined that the model performance is sufficient, so 0.5 can be set as a preset criterion for determining the 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 parameters or boundary condition data are manually modified in the EFDC interface (see FIG. 2 (1)). Updates of efdc.inp and qser.inp are possible using the EFDC interface, but users can modify them artificially by directly accessing the path where the 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. At this time, the application includes additions, substitutions, and deletions. 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 an 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. Boundary conditions are conditions that are additionally limited when calculating differential equations in numerical analysis models. For example, boundary conditions of a water system model such as EFDC may be upstream and downstream water levels, flow rates, and water quality. Boundary conditions take the form of time series data. 7 shows a part of the inquiry contents of the qser.inp file, and the red box area is time series data of the boundary condition. 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 the time series data in the qser.inp file together if the type of the 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 from 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 value and the observed value of the MATLAB model. The 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 by 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 Elementary Effect Test (EET) method is a global sensitivity analysis technique, and is used to analyze sensitivity in models with a large number of input data or models with complex calculation processes.

매개변수의 값이 모델의 실행 결과 값에 큰 영향을 줄수록 mean(EE) 값이 크게 나타난다. 또한, 다른 매개변수와의 조합에 따라 현재 매개변수가 모델에 미치는 영향의 차이가 클수록 std(EE) 값이 크게 나타난다.The mean(EE) value appears larger as the parameter value has a greater influence on the model's execution result. In addition, 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, the 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. In this example graph, it is shown that the sensitivity of the AHO factor is the highest among the 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 an EFDC model being executed in MATLAB, obtaining a result value of a substance and fluid behavior in a water system, and mapping it to a map using the result.

도 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 method for automating MATLAB modeling 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. Steps of creating a variable and selecting one parameter to be applied to the MATLAB model (S122, S126), applying the parameter selected in the variable generation unit 120 by the application unit 140 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 generation unit 120 selects another parameter to be applied to the MATLAB model 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. At this time, 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 includes 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 of executing 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 a 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 is not intended to 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 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
And a post-processing unit that generates a model error value by using an execution result value of the MATLAB model executed by the execution unit.
제1항에 있어서,
상기 모델은 EFDC(Environmental Fluid Dynamics Code)인 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 1,
Matlab modeling automation device, characterized in that the model is EFDC (Environmental Fluid Dynamics Code).
제2항에 있어서,
상기 적용부는 efdc.inp 파일에 상기 매개변수를 적용하는 것을 특징으로 하는 매트랩 모델링 자동화 장치.
The method of claim 2,
MATLAB modeling automation device, characterized in that the application unit applies 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 generation unit LH-OAT (Latin Hypercube-One-factor-At-a-Time) and a pattern search (Pattern search) algorithm, characterized in that using a MATLAB modeling automation device.
제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 a result of executing the MATLAB model, a model error, and a sensitivity of a parameter.
입력부가 변수 생성에 이용되는 데이터를 수신하는 단계;
변수생성부가 상기 입력부에서 수신된 데이터를 이용하여 복수의 매개변수를 생성하고, 매트랩 모델에 적용될 하나의 매개변수를 선택하는 단계;
적용부가 상기 변수생성부에서 선택된 매개변수를 매트랩 모델의 입력파일에 적용하는 단계;
실행부가 상기 매트랩 모델을 실행시키는 단계;
후처리부가 상기 실행부가 실행시킨 매트랩 모델의 실행 결과 값을 이용하여 모델 오류 값을 생성하는 단계;
상기 변수생성부가 상기 모델 오류 값이 기 설정된 기준을 만족하는지 확인하는 단계; 및
상기 모델 오류 값이 기 설정된 기준을 만족하는지 못하면, 상기 변수생성부가 복수의 매개변수 중 매트랩 모델에 적용될 다른 매개변수를 선택하는 단계를 포함하고,
상기 모델 오류 값이 기 설정된 기준을 만족하면, 상기 변수생성부가 매트랩 모델에 적용된 매개변수가 최적의 매개변수인 것으로 판단하는 것을 특징으로 하는 매트랩 모델링 자동화 방법.
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 generator 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 from among the plurality of parameters,
When the model error value satisfies a preset criterion, the variable generator 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, by the application unit, the parameter to the input file of the MATLAB model, 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 a LH-OAT (Latin Hypercube-One-factor-At-a-Time) and a pattern search algorithm.
제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, by the post-processing unit, a model error value using the execution result value of the MATLAB model, comprises generating a model error value using the execution result value and the observation 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 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.
KR1020210027661A 2019-05-02 2021-03-02 Apparatus and method for auto-processing modeling using matlab KR102364390B1 (en)

Priority Applications (2)

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

Applications Claiming Priority (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

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190051683A Division 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
KR1020210125955A Division KR20210123247A (en) 2021-03-02 2021-09-23 Apparatus and method for auto-processing modeling using matlab

Publications (2)

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

Family

ID=80494999

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR102364390B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007229550A (en) * 2006-02-27 2007-09-13 Toshiba Corp Sewage treatment plant operation support arrangement
KR101234761B1 (en) * 2012-11-16 2013-02-19 인하대학교 산학협력단 Postprocessing system for a gis based visualization of massive results data from the efdc model
KR101327111B1 (en) * 2012-05-31 2013-11-08 서울시립대학교 산학협력단 Topology optimization method of linking finite element analysis program and numerical analysis program and design method for ultrasonic transducer using the same
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007229550A (en) * 2006-02-27 2007-09-13 Toshiba Corp Sewage treatment plant operation support arrangement
KR101327111B1 (en) * 2012-05-31 2013-11-08 서울시립대학교 산학협력단 Topology optimization method of linking finite element analysis program and numerical analysis program and design method for ultrasonic transducer using the same
KR101234761B1 (en) * 2012-11-16 2013-02-19 인하대학교 산학협력단 Postprocessing system for a gis based visualization of massive results data from the efdc model
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

Also Published As

Publication number Publication date
KR102364390B1 (en) 2022-02-18

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
US8180619B2 (en) System and method for digital effects analysis
US20140306964A1 (en) Incremental compiling of a declarative program
RU2595535C1 (en) Simulation of basin-formation
US9354846B2 (en) Bidomain simulator
US20130116988A1 (en) Automatic solver selection
MX2013006155A (en) Systems and methods for reducing reservoir simulator model run time.
US20210264077A1 (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
Salomon et al. Efficient reliability analysis of complex systems in consideration of imprecision
Do et al. Particle filter–based model for online estimation of demand multipliers in water distribution systems under uncertainty
Chung et al. Comparison of approximation models with merit functions for design optimization
Fillacier et al. Calculating Prediction Uncertainty using Posterior Ensembles Generated from Proxy 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
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
KR20210123247A (en) Apparatus and method for auto-processing modeling using matlab
Ostashev Automated verification of information models for capital construction projects to mitigate environmental impact
Glimm et al. Solution error models for uncertainty quantification
Flechsig et al. Techniques for quality assurance of models in a multi-run simulation environment
CN111966431A (en) Calculation formula self-defining method applied to laboratory management system

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