KR20210096875A - Method for generating simulation model and apparatus thereof - Google Patents

Method for generating simulation model and apparatus thereof Download PDF

Info

Publication number
KR20210096875A
KR20210096875A KR1020200010461A KR20200010461A KR20210096875A KR 20210096875 A KR20210096875 A KR 20210096875A KR 1020200010461 A KR1020200010461 A KR 1020200010461A KR 20200010461 A KR20200010461 A KR 20200010461A KR 20210096875 A KR20210096875 A KR 20210096875A
Authority
KR
South Korea
Prior art keywords
generating
model
task
log data
time
Prior art date
Application number
KR1020200010461A
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 KR1020200010461A priority Critical patent/KR20210096875A/en
Publication of KR20210096875A publication Critical patent/KR20210096875A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • G06Q10/06375Prediction of business process outcome or impact based on a proposed change
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063116Schedule adjustment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063118Staff planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Disclosed are a simulation model creation method and a device. According to the present invention, the simulation model creation method includes the steps of: obtaining log data; generating a leading and lagging table based on the log data; generating a process model based on the leading and lagging tables; generating a probabilistic model based on the process model; generating an event sequence based on the probabilistic model; predicting a required work time based on the log data; and generating the simulation model based on the probabilistic model, the event sequence, and the required work time. Accordingly, the more accurate simulation model can be generated.

Description

시뮬레이션 모델 생성 방법 및 장치{METHOD FOR GENERATING SIMULATION MODEL AND APPARATUS THEREOF}Method and apparatus for generating a simulation model

본 발명은, 시뮬레이션 모델 생성 방법 및 장치에 관한 것으로 더욱 상세하게는 프로세스 마이닝에 기반한 시뮬레이션 모델 생성 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for generating a simulation model, and more particularly, to a method and apparatus for generating a simulation model based on process mining.

프로세스 마이닝은 시스템 및 디바이스가 생성한 이벤트 로그를 수집하여 프로세스 모델 및 패턴을 용이하게 분석하도록 하는 방법일 수 있다. 프로세스 마이닝을 이용하여 이벤트 로그를 바탕으로 순차적인 프로세스 모델을 도출하면, 사용자는 도출된 프로세스 모델을 기초로 이벤트 로그를 생성한 시스템 혹은 디바이스의 특성을 분석할 수 있다. 프로세스 마이닝은 사용자에게 프로세스 모델을 제공하여 사용자로 하여금 주된 업무의 흐름 및 지연 업무 등 병목 구간을 파악하는데 도움을 줄 수 있다.Process mining may be a method for collecting event logs generated by systems and devices to facilitate analysis of process models and patterns. If a sequential process model is derived based on the event log using process mining, the user can analyze the characteristics of the system or device that generated the event log based on the derived process model. Process mining can help users to identify bottlenecks such as main flow of work and delayed tasks by providing a process model to users.

한편, 프로세스 마이닝은 이벤트 로그로부터 선후행 관계 테이블을 도출하여 프로세스 모델을 생성할 수 있다. 다만, 기존 기술의 경우, 업무 프로세스 맵을 도출하여 과거 업무 이벤트간 선 후행 관계만 파악할 뿐 업무 공정 계획 시에 필요한 특정 이벤트에서 다음 이벤트로의 분기 확률에 의한 이벤트 시퀀스 및 임의 이벤트 발생 후 다음 이벤트가 발생하기까지의 시각은 예측하지 못하는 문제점이 있을 수 있다.On the other hand, process mining may generate a process model by deriving a precedence and trailing relation table from an event log. However, in the case of the existing technology, only the precedence and trailing relationships between past business events are identified by deriving a business process map, and the sequence of events by the probability of branching from a specific event to the next event required for business process planning and the next event after a random event occurs There may be problems that cannot be predicted until the time of occurrence.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 작업간 전이 확률 모델 및 발생 가능한 이벤트 시퀀스를 생성하고 작업의 스케줄을 예측하는 시뮬레이션 모델 생성 방법 및 장치를 제공하는데 있다.An object of the present invention for solving the above problems is to provide a simulation model generating method and apparatus for generating a transition probability model between tasks and a sequence of possible events and predicting a schedule of a task.

상기와 같은 문제점을 해결하기 위한 본 발명의 일 실시예에 따른, 시뮬레이션 모델 생성 방법은 로그 데이터를 획득하는 단계, 상기 로그 데이터를 기초로 선후행 테이블을 생성하는 단계, 상기 선후행 테이블을 기초로 프로세스 모델을 생성하는 단계, 상기 프로세스 모델을 기초로 확률 모델을 생성하는 단계, 상기 확률 모델을 기초로 이벤트 시퀀스를 생성하는 단계, 상기 로그 데이터를 기초로 작업 소요 시간을 예측하는 단계 및 상기 확률 모델, 이벤트 시퀀스 및 상기 작업 소요 시간을 기초로 시뮬레이션 모델을 생성하는 단계를 포함할 수 있다.According to an embodiment of the present invention for solving the above problems, a simulation model generation method includes: obtaining log data; generating a preceding and succeeding table based on the log data; based on the preceding and succeeding table generating a process model, generating a probabilistic model based on the process model, generating an event sequence based on the probabilistic model, estimating a task required time based on the log data, and the probabilistic model , generating a simulation model based on the sequence of events and the time required for the task.

여기서, 상기 로그 데이터는, 작업의 케이스 ID(identifier), 상기 작업의 종류 및 상기 작업의 소요 시간 중 하나 이상을 포함할 수 있다.Here, the log data may include one or more of a case ID (identifier) of a job, a type of the job, and a required time of the job.

여기서, 상기 선후행 테이블을 생성하는 단계는, 상기 로그 데이터를 기초로 프로세스 패턴을 파악하는 단계, 상기 프로세스 패턴을 기초로 작업 간 선후행 관계를 파악하는 단계 및 상기 선후행 관계를 기초로 선후행 테이블을 생성하는 단계를 포함할 수 있다.Here, the step of generating the precedence table includes: identifying a process pattern based on the log data; identifying a precedence and subsequent relationship between tasks based on the process pattern; It may include creating a table.

여기서, 상기 확률 모델을 생성하는 단계는, 상기 선후행 테이블을 기초로 전이 지점 및 전이 빈도수를 획득하는 단계, 상기 전이 지점 및 전이 빈도수를 기초로 전이 확률을 획득하는 단계 및 상기 전이 확률을 기초로 상기 확률 모델을 생성하는 단계를 포함할 수 있다.Here, the generating of the probabilistic model includes: obtaining a transition point and a transition frequency based on the preceding and succeeding table; obtaining a transition probability based on the transition point and transition frequency; and based on the transition probability and generating the probabilistic model.

여기서, 상기 확률 모델은 마코프 체인(markov chain)일 수 있다.Here, the probabilistic model may be a markov chain.

여기서, 상기 이벤트 시퀀스를 생성하는 단계는, 상기 확률 모델을 기초로 작업간 순서를 획득하는 단계, 상기 획득한 순서대로 작업이 수행될 확률을 획득하는 단계 및 상기 순서 및 확률을 기초로 이벤트 시퀀스를 생성하는 단계를 포함할 수 있다.Here, the generating of the event sequence includes: obtaining an order between tasks based on the probabilistic model; obtaining a probability that tasks are performed in the obtained order; and generating an event sequence based on the order and probability. It may include the step of generating.

여기서, 상기 작업 소요 시간을 예측하는 단계는, 미리 학습된 머신러닝 모델에 의해 상기 작업 소요 시간을 예측하는 단계를 포함할 수 있다.Here, the predicting of the task required time may include predicting the task required time by a pre-trained machine learning model.

여기서, 상기 머신러닝 모델은 Xgboost일 수 있다.Here, the machine learning model may be Xgboost.

여기서, 상기 작업 소요 시간을 예측하는 단계는, 상기 로그 데이터에 포함된 작업별 소요 시간의 평균을 연산하는 단계, 상기 평균을 기초로 표준 편차를 연산하는 단계, 상기 평균 및 상기 표준 편차를 기초로 정규 분포 함수를 획득하는 단계 및 상기 정규 분포 함수를 기초로 작업 소요 시간을 예측하는 단계를 포함할 수 있다.Here, the predicting of the time required for the job may include calculating an average of the time required for each job included in the log data, calculating a standard deviation based on the average, and based on the average and the standard deviation It may include obtaining a normal distribution function and estimating the required work time based on the normal distribution function.

여기서, 상기 시뮬레이션 모델을 생성하는 단계는, 상기 작업 소요 시간을 기초로 작업의 스케줄 시간을 예측하는 단계 및 상기 확률 모델 상기 이벤트 시퀀스 및 상기 스케줄 시간을 기초로 상기 시뮬레이션 모델을 생성하는 단계를 포함할 수 있다.Here, generating the simulation model may include predicting a schedule time of a task based on the task required time, and generating the simulation model based on the event sequence and the schedule time of the probabilistic model. can

본 발명의 다른 실시예에 따른 시뮬레이션 모델 생성 장치는 프로세서(processor) 및 상기 프로세서에 의해 실행되는 하나 이상의 명령들이 저장된 메모리(memory)를 포함할 수 있고, 상기 하나 이상의 명령들은, 로그 데이터를 획득하고, 상기 로그 데이터를 기초로 선후행 테이블을 생성하고, 상기 선후행 테이블을 기초로 프로세스 모델을 생성하고, 상기 프로세스 모델을 기초로 확률 모델을 생성하고, 상기 확률 모델을 기초로 이벤트 시퀀스를 생성하고, 상기 로그 데이터를 기초로 작업 소요 시간을 예측하고 그리고, 상기 확률 모델, 이벤트 시퀀스 및 상기 작업 소요 시간을 기초로 시뮬레이션 모델을 생성하도록 수행될 수 있다.A simulation model generating apparatus according to another embodiment of the present invention may include a processor and a memory in which one or more instructions executed by the processor are stored, and the one or more instructions obtain log data and , generating a preceding and succeeding table based on the log data, generating a process model based on the preceding and succeeding table, generating a probabilistic model based on the process model, generating an event sequence based on the probabilistic model, , predicting a task required time based on the log data, and generating a simulation model based on the probabilistic model, the event sequence, and the task required time.

여기서, 상기 로그 데이터는 작업의 케이스 ID(identifier), 상기 작업의 종류 및 상기 작업의 소요 시간 중 하나 이상을 포함할 수 있다.Here, the log data may include at least one of a case ID (identifier) of a job, a type of the job, and a required time of the job.

여기서, 상기 선후행 테이블을 생성하는 경우, 상기 하나 이상의 명령들은, 상기 로그 데이터를 기초로 프로세스 패턴을 파악하고, 상기 프로세스 패턴을 기초로 작업 간 선후행 관계를 파악하고 그리고, 상기 선후행 관계를 기초로 선후행 테이블을 생성하도록 수행될 수 있다.Here, when generating the precedence table, the one or more commands determine a process pattern based on the log data, determine a precedence relationship between tasks based on the process pattern, and determine the precedence relationship. It may be performed to create a leading and trailing table based on it.

여기서, 상기 확률 모델을 생성하는 경우, 상기 하나 이상의 명령들은, 상기 선후행 테이블을 기초로 전이 지점 및 전이 빈도수를 획득하고, 상기 전이 지점 및 전이 빈도수를 기초로 전이 확률을 획득하고 그리고, 상기 전이 확률을 기초로 상기 확률 모델을 생성하도록 수행될 수 있다.Here, when generating the probabilistic model, the one or more instructions are configured to: obtain a transition point and a transition frequency based on the preceding and subsequent table, obtain a transition probability based on the transition point and the transition frequency, and It may be performed to generate the probabilistic model based on probabilities.

여기서, 상기 확률 모델은 마코프 체인(markov chain)일 수 있다.Here, the probabilistic model may be a markov chain.

여기서, 상기 이벤트 시퀀스를 생성하는 경우, 상기 하나 이상의 명령들은,Here, when generating the sequence of events, the one or more instructions include

상기 확률 모델을 기초로 작업간 순서를 획득하고, 상기 획득한 순서대로 작업이 수행될 확률을 획득하고 그리고, 상기 순서 및 확률을 기초로 이벤트 시퀀스를 생성하도록 수행될 수 있다.Obtaining an order between tasks based on the probabilistic model, obtaining a probability that tasks are performed in the obtained order, and generating an event sequence based on the order and probability.

여기서, 상기 작업 소요 시간을 예측하는 경우, 상기 하나 이상의 명령들은, 미리 학습된 머신러닝 모델에 의해 상기 작업 소요 시간을 예측하도록 수행될 수 있다.Here, when predicting the task required time, the one or more instructions may be performed to predict the task required time by a pre-trained machine learning model.

여기서, 상기 머신러닝 모델은 Xgboost일 수 있다.Here, the machine learning model may be Xgboost.

여기서, 상기 작업 소요 시간을 예측하는 경우, 상기 하나 이상의 명령들은, 상기 로그 데이터에 포함된 작업별 소요 시간의 평균을 연산하고, 상기 평균을 기초로 표준 편차를 연산하고, 상기 평균 및 상기 표준 편차를 기초로 정규 분포 함수를 획득하고 그리고, 상기 정규 분포 함수를 기초로 작업 소요 시간을 예측하도록 수행될 수 있다.Here, when estimating the task required time, the one or more commands calculate an average of the required time for each task included in the log data, calculate a standard deviation based on the average, and calculate the average and the standard deviation It may be performed to obtain a normal distribution function based on , and to predict the operation time required based on the normal distribution function.

여기서, 상기 시뮬레이션 모델을 생성하는 경우, 상기 하나 이상의 명령들은, 상기 작업 소요 시간을 기초로 작업의 스케줄 시간을 예측하고 그리고, 상기 확률 모델 상기 이벤트 시퀀스 및 상기 스케줄 시간을 기초로 상기 시뮬레이션 모델을 생성하도록 수행될 수 있다.Here, when generating the simulation model, the one or more instructions predict a schedule time of a task based on the task required time, and generate the simulation model based on the event sequence and the schedule time of the probabilistic model can be performed to

본 발명에 의하면, 마코프 체인(Markov Chain)확률 모델을 기초로 이벤트 시퀀스를 생성하고, 작업의 스케줄을 예측하며, 이벤트 시퀀스 및 예측한 스케줄을 기초로 시뮬레이션 모델을 생성함으로써, 더욱 정확한 시뮬레이션 모델을 생성할 수 있다.According to the present invention, a more accurate simulation model is generated by generating an event sequence based on a Markov Chain probability model, predicting the schedule of a task, and generating a simulation model based on the event sequence and the predicted schedule. can do.

도 1은 본 발명의 일 실시예에 따른 시뮬레이션 모델 생성 장치의 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 시뮬레이션 모델 생성 장치의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 프로세스 모델의 개념도이다.
도 4는 본 발명의 일 실시예에 따른 확률 모델의 개념도이다.
도 5 내지 13은 본 발명의 일 실시예에 따른 머신 러닝 모델의 적용을 설명하기 위한 개념도이다.
도 14는 본 발명의 일 실시예에 따른 시뮬레이션 생성 방법의 흐름도이다.
1 is a block diagram of an apparatus for generating a simulation model according to an embodiment of the present invention.
2 is a block diagram of an apparatus for generating a simulation model according to another embodiment of the present invention.
3 is a conceptual diagram of a process model according to an embodiment of the present invention.
4 is a conceptual diagram of a probabilistic model according to an embodiment of the present invention.
5 to 13 are conceptual diagrams for explaining application of a machine learning model according to an embodiment of the present invention.
14 is a flowchart of a simulation generating method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it is understood that the other component may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that no other element is present in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

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

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. In describing the present invention, in order to facilitate the overall understanding, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.

도 1은 본 발명의 일 실시예에 따른 시뮬레이션 모델 생성 장치의 블록도이다.1 is a block diagram of an apparatus for generating a simulation model according to an embodiment of the present invention.

도 1을 참조하면, 시뮬레이션 모델 생성 장치(100)는 적어도 하나의 프로세서(110), 메모리(120) 및 네트워크와 연결되어 통신을 수행하는 송수신 장치(130)를 포함할 수 있다. 또한, 시뮬레이션 모델 생성 장치(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 시뮬레이션 모델 생성 장치(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.Referring to FIG. 1 , the simulation model generating apparatus 100 may include at least one processor 110 , a memory 120 , and a transceiver 130 connected to a network to perform communication. In addition, the simulation model generating apparatus 100 may further include an input interface device 140 , an output interface device 150 , a storage device 160 , and the like. Each of the components included in the simulation model generating apparatus 100 may be connected by a bus 170 to communicate with each other.

다만, 시뮬레이션 모델 생성 장치(100)에 포함된 각각의 구성요소들은 공통 버스(170)가 아니라, 프로세서(110)를 중심으로 개별 인터페이스 또는 개별 버스를 통하여 연결될 수도 있다. 예를 들어, 프로세서(110)는 메모리(120), 송수신 장치(130), 입력 인터페이스 장치(140), 출력 인터페이스 장치(150) 및 저장 장치(160) 중에서 적어도 하나와 전용 인터페이스를 통하여 연결될 수도 있다.However, each of the components included in the simulation model generating apparatus 100 may be connected through an individual interface or an individual bus centered on the processor 110 instead of the common bus 170 . For example, the processor 110 may be connected to at least one of the memory 120 , the transceiver 130 , the input interface device 140 , the output interface device 150 , and the storage device 160 through a dedicated interface. .

프로세서(110)는 메모리(120) 및 저장 장치(160) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 또한 프로세서(110)는 머신러닝 알고리즘을 포함할 수 있다. 머신러닝 알고리즘은 XGBoost일 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다. The processor 110 may execute a program command stored in at least one of the memory 120 and the storage device 160 . The processor 110 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed. In addition, the processor 110 may include a machine learning algorithm. The machine learning algorithm may be XGBoost. Each of the memory 120 and the storage device 160 may be configured as at least one of a volatile storage medium and a non-volatile storage medium. For example, the memory 120 may be configured as at least one of a read only memory (ROM) and a random access memory (RAM).

메모리(120) 및 저장 장치(160)는 로그 데이터를 포함할 수 있다. 로그 데이터는 작업 프로세스를 수행하면서 프로세스에 속한 이벤트들의 수행 결과를 기록한 이벤트 로그를 포함할 수 있다. 이벤트 로그는 프로세스에 속한 개별 이벤트의 실행에 관한 정보인 복수의 내역을 포함할 수 있다.The memory 120 and the storage device 160 may include log data. The log data may include an event log in which performance results of events belonging to the process are recorded while the work process is performed. The event log may include a plurality of details that are information on the execution of individual events belonging to a process.

도 2는 본 발명의 다른 실시예에 따른 시뮬레이션 모델 생성 장치의 블록도이다.2 is a block diagram of an apparatus for generating a simulation model according to another embodiment of the present invention.

도 2의 시뮬레이션 모델 생성 장치(200)는 도 1의 시뮬레이션 모델 생성 장치(100)와 동일하거나 유사하게 구성될 수 있다.The simulation model generating apparatus 200 of FIG. 2 may be configured the same as or similar to the simulation model generating apparatus 100 of FIG. 1 .

도 2를 참조하면, 본 발명의 일 실시예에 따른 시뮬레이션 모델 생성 장치(200)는 로그 데이터 획득부(210), 프로세서 모델 생성부(220), 확률 모델 생성부(230) 및 스케줄 예측부(240)를 포함할 수 있다.Referring to FIG. 2 , an apparatus 200 for generating a simulation model according to an embodiment of the present invention includes a log data acquisition unit 210 , a processor model generation unit 220 , a probability model generation unit 230 , and a schedule prediction unit ( 240) may be included.

로그 데이터 획득부(210)는 메모리(예를 들어, 도 1의 메모리(120)) 및 저장 장치(예를 들어, 도 1의 저장 장치(160))로부터 로그 데이터를 획득할 수 있다. 로그 데이터는 이벤트 로그를 포함할 수 있다. 이벤트 로그는 다음 표 1과 같이 나타낼 수 있다.The log data acquisition unit 210 may acquire log data from a memory (eg, the memory 120 of FIG. 1 ) and a storage device (eg, the storage device 160 of FIG. 1 ). The log data may include an event log. The event log can be represented as shown in Table 1 below.

Figure pat00001
Figure pat00001

표 1을 참조하면, 이벤트 로그는 프로세스의 객체를 의미하는 케이스 아이디(CaseID), 프로세스를 구성하는 작업(Activity), 작업 소요 시간을 포함할 수 있다. 또한, 표 1에는 포함되지 않았으나 이벤트 로그는 작업을 수행한 주체인 작업 수행자에 대한 정보, 작업 환경 및 작업 목표 등을 더 포함할 수 있다.Referring to Table 1, the event log may include a case ID (CaseID) indicating an object of a process, an activity (Activity) constituting a process, and an operation time required. In addition, although not included in Table 1, the event log may further include information on a task performer who is a subject who performed the task, a work environment, and a task goal.

예를 들어, 시뮬레이션 모델 생성 장치(200)가 슬라브 열간 압연 공정의 작업 시간에 대한 시뮬레이션 모델을 생성하는 경우, 작업은 슬라브의 가열, 조압연, 사상압연, 권취 단계 등을 포함할 수 있다. 이벤트 로그는 해당 슬라브의 무게, 철강 탄소 성분, 철강의 두께, 철강의 길이, 가열로의 목표 온도 등이 더 포함할 수 있다.For example, when the simulation model generating apparatus 200 generates a simulation model for the working time of the slab hot rolling process, the operation may include heating of the slab, rough rolling, finishing rolling, winding step, and the like. The event log may further include the weight of the slab, the carbon content of the steel, the thickness of the steel, the length of the steel, the target temperature of the heating furnace, and the like.

시뮬레이션 모델 생성 장치(200)가 병원에 외래 환자가 머무는 시간에 대한 시뮬레이션 모델을 생성하는 경우, 작업(Activity)은 접수, 진료, 검사, 수납 등을 의미하고 이에 대한 작업 시간 소요 시간 및 스케줄을 포함 할 수 있다. 이벤트 로그는 외래 환자의 연령이나, 외래 환자의 초진 또는 재진 여부, 진료 과목 및 검사 종류를 더 포함할 수 있다. 로그 데이터 획득부(210)는 로그 데이터를 프로세스 모델 생성부(220) 및 스케줄 예측부(240)에 전송할 수 있다.When the simulation model generating device 200 generates a simulation model for the time an outpatient stays in the hospital, the activity means reception, treatment, examination, receipt, etc., and includes the time required for the operation and the schedule can do. The event log may further include the age of the outpatient, whether the outpatient is the first or revisit, the treatment subject, and the type of examination. The log data obtaining unit 210 may transmit the log data to the process model generating unit 220 and the schedule predicting unit 240 .

프로세스 모델 생성부(220)는 로그 데이터를 로그 데이터 획득부(210)로부터 수신할 수 있다. 프로세스 모델 생성부(220)는 로그 데이터로부터 프로세스 패턴을 획득할 수 있다. 프로세스 패턴은 각각의 케이스 ID에서의 작업 순서일 수 있다.The process model generator 220 may receive log data from the log data acquirer 210 . The process model generator 220 may acquire a process pattern from log data. The process pattern may be a sequence of operations in each case ID.

예를 들어, 프로세스 모델 생성부(220)는 표 1의 이벤트 로그를 기초로 프로세스 패턴을 획득할 수 있다. 프로세스 모델 생성부(220)는 <A, B, C, E, G>를 케이스 ID 1의 프로세스 패턴으로 획득할 수 있고, <A, B, D, E, G>를 케이스 ID 2의 프로세스 패턴으로 획득할 수 있으며, <A, F, G>를 케이스 ID 3의 프로세스 패턴으로 획득할 수 있다.For example, the process model generator 220 may acquire a process pattern based on the event log of Table 1 . The process model generator 220 may obtain <A, B, C, E, G> as the process pattern of case ID 1 and <A, B, D, E, G> as the process pattern of case ID 2 can be obtained as , and <A, F, G> can be obtained as a process pattern of case ID 3.

한편, 케이스 ID 1의 프로세스 패턴은 20회 수행될 수 있고, 케이스 ID 2의 프로세스 패턴은 10회 수행될 수 있으며, 케이스 ID 3의 프로세스 패턴은 5회 수행될 수 있다. 프로세스 모델 생성부(220)는 프로세스 패턴 및 프로세스 패턴의 수행 횟수를 포함하는 프로세스 패턴 테이블을 생성할 수 있다. 프로세스 모델 생성부(220)가 표 1을 기초로 생성한 프로세스 패턴 테이블은 다음 표 2와 같을 수 있다.Meanwhile, the process pattern of case ID 1 may be performed 20 times, the process pattern of case ID 2 may be performed 10 times, and the process pattern of case ID 3 may be performed 5 times. The process model generator 220 may generate a process pattern table including a process pattern and the number of times the process pattern is performed. The process pattern table generated by the process model generator 220 based on Table 1 may be shown in Table 2 below.

Figure pat00002
Figure pat00002

프로세스 모델 생성부(220)는 프로세스 패턴을 기초로 작업들 간의 선후행 관계를 파악할 수 있다. 여기에서, 선후행 관계는 선행 작업, 후행 작업 및 선행 작업에서 후행 작업으로 전이되는 횟수를 포함할 수 있다.The process model generator 220 may determine a precedence and subsequent relationship between tasks based on the process pattern. Here, the predecessor relationship may include a predecessor task, a successor task, and the number of transitions from the predecessor task to the successor task.

예를 들어, 프로세스 모델 생성부(220)는 표 2의 프로세스 패턴 테이블을 기초로 작업들 간의 선후행 관계를 파악할 수 있다. 선행 작업이 존재 하지 않는 경우, 후행 작업은 A로 전이할 수 있다. 선행 작업이 A인 경우 후행 작업은 B 또는 F로 전이할 수 있다. 선행 작업이 B인 경우 후행 작업은 C 또는 D로 전이할 수 있다. 선행 작업이 C인 경우 후행 작업은 E로 전이할 수 있다. 선행 작업이 D인 경우 후행 작업은 E로 전이할 수 있다. 선행 작업이 E인 경우 후행 작업은 G로 전이할 수 있다. 선행 작업이 F인 경우 후행 작업은 G로 전이할 수 있다.For example, the process model generator 220 may identify a precedence and subsequent relationship between tasks based on the process pattern table of Table 2 . If a predecessor task does not exist, the successor task can transition to A. If the predecessor is A, the successor can transition to either B or F. If the predecessor is B, the successor can transition to either C or D. If the predecessor is C, the successor can transition to E. If the predecessor is D, the successor can transition to E. If the predecessor is E, the successor can transition to G. If the predecessor is F, the successor can transition to G.

선행 작업이 존재하지 않고 후행 작업 A로 전이 하는 횟수는 45회일 수 있다. 선행 작업 A에서 후행 작업 B로 전이하는 횟수는 30회일 수 있다. 선행 작업 B에서 후행 작업 C로 전이하는 횟수는 20회일 수 있다. 선행 작업 B에서 후행 작업 D로 전이하는 횟수는 10회일 수 있다.The number of transitions to the successor task A without a predecessor task may be 45 times. The number of transitions from the predecessor task A to the successor task B may be 30 times. The number of transitions from the predecessor task B to the successor task C may be 20. The number of transitions from the predecessor task B to the successor task D may be 10.

선행 작업 C에서 후행 작업 E로 전이하는 횟수는 20회일 수 있다. 선행 작업 D에서 후행 작업 E로 전이하는 횟수는 10회일 수 있다. 선행 작업 E에서 후행 작업 G로 전이하는 횟수는 30회일 수 있다. 선행 작업 A에서 후행 작업 F로 전이하는 횟수는 5회일 수 있다. 선행 작업 F에서 후행 작업 G로 전이하는 횟수는 5회일 수 있다. 또한, 선행 작업이 G이며 후행 작업이 존재 하지 않는 경우의 전이 횟수는 45회일 수 있다.The number of transitions from the predecessor task C to the successor task E may be 20 times. The number of transitions from the predecessor task D to the successor task E may be 10. The number of transitions from the predecessor task E to the successor task G may be 30. The number of transitions from the predecessor task A to the successor task F may be 5 times. The number of transitions from the predecessor task F to the successor task G may be 5 times. Also, when the predecessor task is G and there is no successor task, the number of transitions may be 45.

프로세스 모델 생성부(220)는 선행 작업, 후행 작업 및 전이 횟수를 포함하는 선후행 테이블을 생성할 수 있다. 프로세스 모델 생성부(220)가 표 2를 기초로 생성한 선후행 테이블은 다음 표 3과 같을 수 있다.The process model generator 220 may generate a preceding and succeeding table including the preceding task, the succeeding task, and the number of transitions. The preceding and subsequent tables generated by the process model generator 220 based on Table 2 may be as shown in Table 3 below.

Figure pat00003
Figure pat00003

프로세스 모델 생성부(220)는 선후행 테이블을 기초로 프로세스 모델을 생성할 수 있다. 예를 들어, 프로세스 모델 생성부(220)는 표 3을 기초로 프로세스 모델을 생성할 수 있다. 프로세스 모델은 다음과 같을 수 있다.The process model generator 220 may generate a process model based on the preceding and following tables. For example, the process model generator 220 may generate a process model based on Table 3 . The process model can be:

도 3은 본 발명의 일 실시예에 따른 프로세스 모델의 개념도이다.3 is a conceptual diagram of a process model according to an embodiment of the present invention.

도 3을 참조하면, 프로세스 모델 생성부(예를 들어, 도 2의 프로세스 모델 생성부(220))는 선행 작업 및 후행 작업을 기초로 프로세스 모델을 생성할 수 있다. 프로세스 모델 생성부는 작업들 사이의 흐름을 판단하기 위하여 프로세스 모델을 생성할 수 있다.Referring to FIG. 3 , the process model generator (eg, the process model generator 220 of FIG. 2 ) may generate a process model based on a preceding task and a subsequent task. The process model generator may generate a process model to determine a flow between tasks.

즉, 프로세스 모델 생성부가 표 3(도 2 참조)을 기초로 프로세스 모델을 생성하는 경우 선행 작업이 A인 경우 후행 작업은 B 또는 F일 수 있고, 선행 작업이 B인 경우 후행 작업은 C 또는 D일 수 있다. 또한, 선행 작업이 C 또는 D인 경우 후행 작업은 E일 수 있고, 선행 작업이 E인 경우 후행 작업은 G일 수 있다. 또한 선행 작업이 F인 경우 후행 작업은 G일 수 있다. 따라서, 프로세스 모델 생성부는 이를 기초로 도 3과 같은 마코프 체인 형태의 프로세스 모델을 생성할 수 있다.That is, when the process model generator creates a process model based on Table 3 (see FIG. 2 ), if the predecessor task is A, the successor task may be B or F, and if the predecessor task is B, the successor task is C or D can be Also, if the predecessor is C or D, the successor may be E, and if the predecessor is E, the successor may be G. Also, if the predecessor is F, the successor may be G. Accordingly, the process model generator may generate a process model in the form of a Markov chain as shown in FIG. 3 based on this.

다시 도 2를 참조하면, 프로세스 모델 생성부(220)는 선후행 테이블 및 프로세스 모델을 확률 모델 생성부(230)에 전송할 수 있다. 확률 모델 생성부(230)는 선후행 테이블 및 프로세스 모델을 프로세스 모델 생성부(220)로부터 수신할 수 있다.Referring back to FIG. 2 , the process model generator 220 may transmit the preceding and succeeding table and the process model to the probabilistic model generator 230 . The probabilistic model generator 230 may receive the preceding and succeeding table and the process model from the process model generator 220 .

시뮬레이션 모델 생성부(230)는 선후행 테이블을 기초로 전이 지점 및 전이 빈도수를 획득할 수 있다. 전이 지점은 복수개의 후행 작업이 존재하는 선행 작업일 수 있다. 전이 빈도수는 선행 작업에서 후행 작업으로 전이하는 횟수일 수 있다.The simulation model generator 230 may obtain a transition point and a transition frequency based on the preceding and following tables. The transition point may be a predecessor task having a plurality of successor tasks. The transition frequency may be the number of transitions from a predecessor task to a successor task.

예를 들어, 확률 모델 생성부(230)는 표 3의 선후행 테이블을 기초로 전이 지점 및 전이 빈도수를 획득할 수 있다. 확률 모델 생성부(230)는 후행 작업이 B 또는 F가 될 수 있는 A를 전이 지점으로 획득할 수 있고, 후행 작업이 C 또는 D가 될 수 있는 B를 전이 지점으로 획득할 수 있다.For example, the probabilistic model generator 230 may obtain a transition point and a transition frequency based on the preceding and following tables of Table 3 . The probabilistic model generator 230 may acquire A, which may be a successor task as B or F, as a transition point, and may acquire B, where a successor task may become C or D, as a transition point.

확률 모델 생성부(230)는 작업 A에서 작업 B로의 전이 빈도수를 30회로, 작업 A에서 작업 F로의 전이 빈도수를 5회로 각각 획득할 수 있다. 또한, 확률 모델 생성부(230)는 작업 B에서 작업 C로의 전이 빈도수를 20회로, 작업 B에서 작업 D로의 전이 빈도수를 10회로 각각 획득할 수 있다.The probabilistic model generator 230 may obtain the frequency of transition from task A to task B as 30 and the frequency of transition from task A to task F as 5, respectively. Also, the probabilistic model generator 230 may obtain the transition frequency from the task B to the task C as 20 and the transition frequency from the task B to the task D as 10, respectively.

확률 모델 생성부(230)는 전이 지점 및 전이 빈도수를 기초로 전이 확률을 연산할 수 있다. 확률 모델 생성부(230)는 전이 확률 및 프로세스 모델을 기초로 확률 모델을 생성할 수 있다. 확률 모델은 마코프 체인일 수 있다. 확률 모델은 다음과 같을 수 있다.The probabilistic model generator 230 may calculate a transition probability based on the transition point and the transition frequency. The probabilistic model generator 230 may generate a probabilistic model based on the transition probability and the process model. The probabilistic model may be a Markov chain. The probabilistic model may be as follows.

도 4는 발명의 일 실시예에 따른 확률 모델의 개념도이다.4 is a conceptual diagram of a probabilistic model according to an embodiment of the present invention.

도 4를 참조하면, 확률 모델 생성부(예를 들어, 도 2의 확률 모델 생성부(230))는 전이 빈도수를 기초로 전이 확률을 연산할 수 있다. 전이 확률은 선행 작업에서 후행 작업으로 전이할 확률일 수 있다.Referring to FIG. 4 , the probabilistic model generator (eg, the probabilistic model generator 230 of FIG. 2 ) may calculate a transition probability based on the transition frequency. The transition probability may be a probability of transitioning from a predecessor task to a successor task.

예를 들어, 확률 모델 생성부는 표 3(도 2 참조)을 기초로 획득한 전이 빈도수를 기초로 전이 확률을 획득할 수 있다. 작업 A에서 작업 B로의 전이 확률은 6/7일 수 있다. 작업 A에서 작업 F로의 전이 확률은 1/7일 수 있다. 작업 B에서 작업 C로의 전이 확률은 2/3일 수 있고, 작업 B에서 작업 D로의 전이 확률은 1/3일 수 있다. 또한, 작업 C에서 작업 E로의 전이 확률, 작업 D에서 작업 E로의 전이 확률, 작업 E에서 작업 G로의 전이 확률 및 작업 F에서 작업 G로의 전이 확률은 1일 수 있다. 따라서, 확률 모델 생성부는 도 4와 같이 전이 확률을 포함하는 마코프 체인인 확률 모델을 생성할 수 있다.For example, the probabilistic model generator may obtain a transition probability based on a transition frequency obtained based on Table 3 (refer to FIG. 2 ). The probability of transition from task A to task B may be 6/7. The probability of transition from task A to task F may be 1/7. The probability of transition from task B to task C may be 2/3, and the probability of transition from task B to task D may be 1/3. Further, the transition probability from task C to task E, the transition probability from task D to task E, the transition probability from task E to task G, and the transition probability from task F to task G may be one. Accordingly, the probabilistic model generator may generate a probabilistic model that is a Markov chain including a transition probability as shown in FIG. 4 .

다시 도 2를 참조하면, 확률 모델 생성부(230)는 확률 모델을 기초로 이벤트 시퀀스를 생성할 수 있다. 이벤트 시퀀스는 작업들 간의 순서 및 해당 순서로 작업이 수행될 확률을 포함할 수 있다.Referring back to FIG. 2 , the probabilistic model generator 230 may generate an event sequence based on the probabilistic model. The sequence of events may include an order between tasks and a probability that tasks will be performed in that order.

예를 들어, 확률 모델 생성부(230)는 도 4의 확률 모델을 기초로 이벤트 시퀀스를 생성할 수 있다. 확률 모델 생성부(230)는 작업들 간의 순서로 <A, B, C, E, G>, <A, B, D, E, G> 및 <A, F, G>를 획득할 수 있다. 확률 모델 생성부(230)는 <A, B, C, E, G>로 작업이 수행될 확률로 4/7을 획득할 수 있고, <A, B, D, E, G>로 작업이 수행될 확률로 2/7을 획득할 수 있으며, <A, F, G>로 작업이 수행될 확률로 1/7을 획득할 수 있다.For example, the probabilistic model generator 230 may generate an event sequence based on the probabilistic model of FIG. 4 . The probabilistic model generator 230 may obtain <A, B, C, E, G>, <A, B, D, E, G>, and <A, F, G> in an order between tasks. The probabilistic model generator 230 may obtain 4/7 as a probability that the operation is performed with <A, B, C, E, G>, and the operation is performed with <A, B, D, E, G> You can get 2/7 with the probability of being done, and 1/7 with the probability that the task will be performed with <A, F, G>.

확률 모델 생성부(230)는 확률 모델 및 이벤트 시퀀스를 스케줄 예측부(240)에 전송할 수 있다. 스케줄 예측부(240)는 이벤트 시퀀스를 확률 모델 생성부(230)로부터 수신할 수 있다. 또한 스케줄 예측부(240)는 로그 데이터를 로그 데이터 획득부(210)로부터 수신할 수 있다.The probabilistic model generator 230 may transmit the probabilistic model and the event sequence to the schedule predictor 240 . The schedule predictor 240 may receive the event sequence from the probabilistic model generator 230 . Also, the schedule predictor 240 may receive log data from the log data obtainer 210 .

스케줄 예측부(240)는 머신러닝 모델을 포함할 수 있다. 머신러닝 모델은 XGBoost, 인공신경망 등일 수 있다. 스케줄 예측부(240)는 로그 데이터에 이벤트 속성 독립 변수가 존재하는 경우 머신러닝 모델에 포함된 알고리즘을 기초로 작업 소요 시간을 예측할 수 있다. 이벤트 속성 독립 변수는 작업 소요 시간에 영향을 줄 수 있는 변수일 수 있다. 예를 들어, 스케줄 예측부(240)가 슬라브 작업 시간을 예측하는 경우, 슬라브의 무게, 철강 탄소 성분, 슬라브 두께, 슬라브 길이 및 슬라브 작업을 위한 목표 온도 등이 이벤트 속성 독립 변수일 수 있다. 스케줄 예측부(240)가 외래 환자가 병원에서 머무는 시간을 예측하는 경우 외래 환자가 초진인지 재진인지 여부, 외래 환자의 연령, 진료 과목 및 검사 종류 등이 이벤트 속성 독립 변수일 수 있다. 또한, 머신러닝 알고리즘은 작업 소요 시간뿐 아니라, 해당 작업을 수행하기 위한 대기 시간 및 작업들이 순서대로 수행되는 경우(예를 들어, <A, B, C, E, G>, <A, B, D, E, G> 및 <A, F, G> 순서로 작업이 수행되는 경우) 대기 시간 및 소요 시간도 예측할 수 있다.The schedule prediction unit 240 may include a machine learning model. The machine learning model may be XGBoost, an artificial neural network, or the like. When the event attribute independent variable exists in the log data, the schedule predictor 240 may predict the task required time based on an algorithm included in the machine learning model. The event attribute independent variable may be a variable that can affect the operation time required. For example, when the schedule prediction unit 240 predicts the slab working time, the weight of the slab, the steel carbon component, the slab thickness, the slab length, and the target temperature for the slab work may be event attribute independent variables. When the schedule prediction unit 240 predicts the time the outpatient stays in the hospital, whether the outpatient is the first visit or the second visit, the age of the outpatient, the treatment subject, the type of examination, etc. may be event attribute independent variables. In addition, machine learning algorithms perform not only the task duration, but also the waiting time to perform the task and when tasks are performed in sequence (for example, <A, B, C, E, G>, <A, B, D, E, G> and <A, F, G> (if operations are performed in the order)) latency and duration can also be predicted.

한편, 머신 러닝 모델은 미리 학습될 수 있다. 머신 러닝 모델은 복수의 로그 데이터를 기초로 미리 학습될 수 있다. 예를 들어, 머신러닝 모델은 슬라브의 무게, 철강 탄소 성분, 슬라브 두께, 슬라브 길이 및 슬라브 작업을 위한 목표 온도 및 슬라브 작업 시간이 포함된 로그 데이터를 기초로 학습을 수행할 수 있다. 이를 상세히 설명하면 다음과 같을 수 있다. Meanwhile, the machine learning model may be trained in advance. The machine learning model may be pre-trained based on a plurality of log data. For example, a machine learning model can learn based on log data that includes the slab's weight, steel carbon composition, slab thickness, slab length, and target temperature and slab working time for slab working. This can be described in detail as follows.

도 5 내지 13은 본 발명의 일 실시예에 따른 머신러닝 모델의 적용을 설명하기 위한 개념도이다.5 to 13 are conceptual diagrams for explaining the application of a machine learning model according to an embodiment of the present invention.

도 5 내지 13을 참조하면, 머신러닝 모델은 슬라브의 무게, 철강 탄소 성분, 슬라브 두께, 슬라브 길이, 슬라브 작업을 위한 목표 온도 및 슬라브 작업 시간이 포함된 로그 데이터가 입력될 수 있다. 머신러닝 알고리즘을 통해 로그 데이터를 기초로 도 5와 같은 슬라브 작업 시간에 대한 히스토그램을 생성할 수 있다. 도 5를 참조하면 슬라브 작업 시간은 200에서 550 사이에 분포할 수 있다.5 to 13 , the machine learning model may input log data including the weight of the slab, the steel carbon component, the slab thickness, the slab length, the target temperature for the slab operation, and the slab operation time. A histogram of the slab working time as shown in FIG. 5 can be generated based on log data through a machine learning algorithm. Referring to Figure 5, the slab working time may be distributed between 200 and 550.

도 6 내지 도 10을 참조하면, 머신러닝 모델은 해당 로그 데이터를 슬라브 작업 시간을 기초로 분리하여 상호 비교할 수 있다. 예를 들어, 머신러닝 모델은 50의 슬라브 작업 시간 간격으로 로그 데이터를 분리할 수 있다. 머신러닝 모델은 로그 데이터를 비교하여 어떠한 피쳐가 슬라브 작업 시간에 영향을 미치는지 판단할 수 있다. 피쳐는 슬라브의 무게, 철강 탄소 성분, 슬라브 두께, 슬라브 길이 및 슬라브 작업을 위한 목표 온도를 포함할 수 있다.6 to 10 , the machine learning model may compare the log data by separating them based on the slab working time. For example, a machine learning model can split log data into 50 slab working time intervals. A machine learning model can compare log data to determine which features affect slab working time. The features may include the weight of the slab, the steel carbon composition, the slab thickness, the slab length and the target temperature for the slab operation.

머신러닝 모델은 슬라브 작업 시간을 기초로 200-250 구간, 250-300 구간, 300-350 구간 350-400 구간, 400-450으로 나누어 해당 구간에서 어떠한 피쳐가 슬라브 작업 시간에 영향을 미치는지에 대한 그래프를 생성할 수 있다. 슬라브의 무게, 철장 탄소 성분 및 슬라브 두께가 슬라브 작업 시간에 가장 영향을 미칠 수 있다.The machine learning model is divided into 200-250 sections, 250-300 sections, 300-350 sections, 350-400 sections, and 400-450 sections based on the slab working time. can create The weight of the slab, the iron carbon content, and the slab thickness can have the most influence on the slab working time.

머신러닝 모델은 도 11 내지 13과 같이, 슬라브의 무게와 슬라브 작업 시간과의 관계를 나타내는 그래프 및 슬라브 두께와 슬라브 작업 시간과의 관계를 나타내는 그래프 슬라브의 소재와 슬라브 작업 시간과의 관계를 나타내는 그래프를 생성할 수 있다. 그래프는 Jointplot일 수 있다.The machine learning model is a graph showing the relationship between the weight of the slab and the slab working time, and a graph showing the relationship between the slab thickness and the slab working time, as shown in FIGS. 11 to 13. A graph showing the relationship between the material of the slab and the slab working time can create The graph can be a Jointplot.

머신러닝 모델은 이러한 학습 과정을 거쳐 슬라브의 무게, 철강 탄소 성분, 슬라브 두께, 슬라브 길이 및 슬라브 작업을 위한 목표 온도에 따른 슬라브 작업 시간을 예측할 수 있다.Through this learning process, the machine learning model can predict the slab working time according to the weight of the slab, the steel carbon content, the slab thickness, the slab length, and the target temperature for working the slab.

다시 도 2를 참조하면, 예를 들어, 스케줄 예측부(240)가 슬라브 작업 시간을 예측하는 경우, 머신러닝 모델에는 슬라브의 무게, 철강 탄소 성분, 슬라브 두께, 슬라브 길이 및 슬라브 작업을 위한 목표 온도 등이 독립 변수로 입력될 수 있고, 이를 기초로 슬라브 작업 시간을 예측할 수 있다.Referring back to FIG. 2, for example, when the schedule prediction unit 240 predicts the slab working time, the machine learning model includes the weight of the slab, the steel carbon component, the slab thickness, the slab length, and the target temperature for the slab operation. etc. can be input as independent variables, and the slab working time can be predicted based on this.

스케줄 예측부(240)는 로그 데이터에 이벤트 속성 독립 변수가 존재하지 않는 경우 이벤트 로그의 작업 시간을 기초로 각각의 작업의 소요 시간을 예측할 수 있다. 스케줄 예측부(240)는 동일한 작업의 작업 소요 시간의 평균인

Figure pat00004
를 연산할 수 있다. 예를 들어, 작업 A의
Figure pat00005
Figure pat00006
일 수 있다. 스케줄 예측부(240)는 작업 A의 표준 편차인
Figure pat00007
를 연산할 수 있다. 스케줄 예측부(240)는
Figure pat00008
Figure pat00009
를 기초로 다음 수학식 1과 같은 정규 분포 함수를 획득할 수 있다.When the event attribute independent variable does not exist in the log data, the schedule predictor 240 may predict the required time of each task based on the task time of the event log. The schedule prediction unit 240 is an average of the work required time of the same task.
Figure pat00004
can be calculated. For example, in task A
Figure pat00005
Is
Figure pat00006
can be The schedule prediction unit 240 is the standard deviation of task A
Figure pat00007
can be calculated. The schedule prediction unit 240 is
Figure pat00008
and
Figure pat00009
It is possible to obtain a normal distribution function as in Equation 1 based on

Figure pat00010
Figure pat00010

스케줄 예측부(240)는 정규 분포 함수를 기초로 작업 A에 대한 소요 시간을 예측할 수 있다. 스케줄 예측부는 이와 같은 과정을 반복하여 나머지 작업들(B, C, D, E, F, G)의 작업 소요 시간을 예측할 수 있다.The schedule prediction unit 240 may predict the required time for the task A based on the normal distribution function. The schedule predictor may predict the task required time of the remaining tasks B, C, D, E, F, and G by repeating this process.

스케줄 예측부(240)는 로그 데이터를 기초로 작업 발생 시간을 예측할 수 있다. 스케줄 예측부(240)는 첫번째 작업 수행 시간이 정해진 경우, 이후의 작업에 대한 경우의 수 및 발생 시간을 예측할 수 있다. 스케줄 예측부(240)는 다음 수학식 2를 통해 작업 발생 시간을 예측할 수 있다.The schedule predictor 240 may predict the job occurrence time based on log data. When the first task execution time is determined, the schedule prediction unit 240 may predict the number and occurrence time of subsequent tasks. The schedule predictor 240 may predict the task occurrence time through Equation 2 below.

Figure pat00011
Figure pat00011

수학식 2에서 Pij는 선행 작업 i에서 후행 작업 j로의 전이 확률일 수 있고, Nij은 선행 작업 i에서 후행 작업 j로의 전이 횟수일 수 있으며, n은 로그 데이터에 존재하는 모든 작업의 수일 수 있다.In Equation 2, P ij may be the transition probability from the predecessor task i to the successor task j, N ij may be the number of transitions from the predecessor task i to the successor task j, and n may be the number of all tasks present in the log data. there is.

스케줄 예측부(240)는 작업 발생 시간 및 작업 소요 시간을 기초로 후행 작업의 시작 시간을 예측할 수 있다. 스케줄 예측부(240)는 다음 수학식 3을 기초로 후행 작업의 스케줄 시간을 획득할 수 있다.The schedule prediction unit 240 may predict the start time of the subsequent task based on the task occurrence time and the task required time. The schedule predictor 240 may obtain the schedule time of the subsequent job based on Equation 3 below.

Figure pat00012
Figure pat00012

수학식 3에서, S j 는 선행 작업의 시작 시간일 수 있고, W i 는 선행 작업 i의 수행 시간일 수 있으며, T ij 는 선행 작업 i에서 후행 작업 j로의 전이 시간일 수 있다. 한편, 첫번째 작업 수행 간격은 프로세스 마이닝에서 관찰된 이벤트 시작 분포를 따를 수 있다. S j 는 수학식 2에 의해 획득될 수 있고, W i 는 머신러닝 알고리즘 또는 정규 분포 함수에 의해 획득될 수 있으며, T ij 는 로그 데이터로부터 획득될 수 있다. 스케줄 예측부(240)는 스케줄 시간, 확률 모델 및 이벤트 시퀀스를 기초로 시뮬레이션 모델을 생성할 수 있다.In Equation 3, S j may be the start time of the predecessor task, W i may be the execution time of the predecessor task i, and T ij may be the transition time from the predecessor task i to the successor task j. Meanwhile, the first task execution interval may follow the event initiation distribution observed in process mining. S j may be obtained by Equation 2, W i may be obtained by a machine learning algorithm or a normal distribution function, and T ij may be obtained from log data. The schedule predictor 240 may generate a simulation model based on a schedule time, a probabilistic model, and an event sequence.

도 14는 본 발명의 일 실시예에 따른 시뮬레이션 모델 생성 방법의 흐름도이다.14 is a flowchart of a method for generating a simulation model according to an embodiment of the present invention.

도 14를 참조하면, 시뮬레이션 모델 생성 장치(예를 들어, 도 2의 시뮬레이션 모델 생성 장치(200))은 로그 데이터를 획득할 수 있다(S1410). 시뮬레이션 모델 생성 장치의 로그 데이터 획득부(예를 들어, 도 2의 로그 데이터 획득부(210))는 메모리(예를 들어, 도 1의 메모리(120)) 및 저장 장치(예를 들어, 도 1의 저장 장치(160))로부터 로그 데이터를 획득할 수 있다. 로그 데이터는 이벤트 로그(예를 들어, 도 2의 표 1)를 포함할 수 있다. 이벤트 로그는 케이스 ID, 작업의 종류, 해당 작업의 소요 시간 등을 포함할 수 있다.Referring to FIG. 14 , the simulation model generating apparatus (eg, the simulation model generating apparatus 200 of FIG. 2 ) may obtain log data ( S1410 ). The log data acquisition unit (eg, the log data acquisition unit 210 of FIG. 2 ) of the simulation model generating apparatus includes a memory (eg, the memory 120 of FIG. 1 ) and a storage device (eg, FIG. 1 ) Log data may be obtained from the storage device 160 of the The log data may include an event log (eg, Table 1 of FIG. 2 ). The event log may include a case ID, the type of operation, and the duration of the operation.

로그 데이터 획득부는 로그 데이터를 프로세스 모델 생성부(예를 들어, 도 2의 프로세스 모델 생성부(220)) 및 스케줄 예측부(예를 들어, 도 2의 스케줄 예측부(240))에 전송할 수 있다.The log data acquisition unit may transmit the log data to the process model generation unit (eg, the process model generation unit 220 of FIG. 2 ) and the schedule prediction unit (eg, the schedule prediction unit 240 of FIG. 2 ). .

시뮬레이션 모델 생성 장치는 프로세스 모델을 생성할 수 있다(S1420). 시뮬레이션 모델 생성 장치의 프로세스 모델 생성부는 로그 데이터를 로그 데이터 획득부로부터 수신할 수 있다. 프로세스 모델 생성부는 로그 데이터를 기초로 프로세스 패턴을 획득할 수 있다. 프로세스 모델 생성부는 프로세스 패턴을 기초로 프로세스 패턴 테이블을 생성할 수 있다(예를 들어, 도 2의 표 2).The simulation model generating apparatus may generate a process model (S1420). The process model generating unit of the simulation model generating apparatus may receive log data from the log data obtaining unit. The process model generator may acquire a process pattern based on log data. The process model generator may generate a process pattern table based on the process pattern (eg, Table 2 of FIG. 2 ).

프로세스 모델 생성부는 프로세스 패턴을 기초로 작업들 간의 선후행 관계를 파악할 수 있다. 프로세스 모델 생성부는 선후행 관계를 기초로 선후행 테이블(예를 들어, 도 2의 표 3)을 생성할 수 있다. 프로세스 모델 생성부는 선후행 테이블을 기초로 프로세스 모델(예를 들어 도 3의 프로세스 모델)을 생성할 수 있다. 프로세스 모델 생성부는 선후행 테이블 및 프로세스 모델을 확률 모델 생성부(예를 들어, 도 2의 확률 모델 생성부(230))에 전송할 수 있다.The process model generating unit may identify a precedence and trailing relationship between tasks based on the process pattern. The process model generator may generate a precedence and succession table (eg, Table 3 of FIG. 2 ) based on the precedence and subsequent relationships. The process model generator may generate a process model (eg, the process model of FIG. 3 ) based on the preceding and succeeding tables. The process model generator may transmit the preceding and subsequent tables and the process model to the probabilistic model generator (eg, the probabilistic model generator 230 of FIG. 2 ).

시뮬레이션 모델 생성 장치는 확률 모델 및 이벤트 시퀀스를 생성할 수 있다(S1430). 시뮬레이션 모델 생성 장치의 확률 모델 생성부는 선후행 테이블 및 프로세스 모델을 프로세스 모델 생성부로부터 수신할 수 있다. 확률 모델 생성부는 선후행 테이블을 기초로 작업들 간의 전이 지점 및 전이 빈도수를 연산할 수 있다. 확률 모델 생성부는 전이 지점 및 전이 빈도수를 기초로 전이 작업간 전이 확률을 연산할 수 있다. 확률 모델 생성부는 전이 확률 및 프로세스 모델을 기초로 확률 모델(예를 들어, 도 4의 확률 모델)을 생성할 수 있다. 확률 모델 생성부는 확률 모델을 기초로 이벤트 시퀀스를 생성할 수 있다. 확률 모델 생성부는 확률 모델을 기초로 작업들 간의 순서를 획득할 수 있고, 해당 순서로 작업들이 수행될 확률을 획득하는 방식으로 이벤트 시퀀스를 생성할 수 있다. 확률 모델 생성부는 확률 모델 및 이벤트 시퀀스를 스케줄 예측부(예를 들어, 도 2의 스케줄 예측부(240))에 전송할 수 있다.The simulation model generating apparatus may generate a probabilistic model and an event sequence (S1430). The probabilistic model generating unit of the simulation model generating apparatus may receive the preceding and succeeding tables and the process model from the process model generating unit. The probabilistic model generator may calculate a transition point and a transition frequency between tasks based on the preceding and following tables. The probabilistic model generator may calculate a transition probability between transition operations based on a transition point and a transition frequency. The probabilistic model generator may generate a probabilistic model (eg, the probabilistic model of FIG. 4 ) based on the transition probability and the process model. The probabilistic model generator may generate an event sequence based on the probabilistic model. The probabilistic model generator may obtain an order between tasks based on the probabilistic model, and may generate an event sequence in such a way as to obtain a probability that tasks will be performed in the corresponding order. The probabilistic model generator may transmit the probabilistic model and the event sequence to the schedule predictor (eg, the schedule predictor 240 of FIG. 2 ).

시뮬레이션 모델 생성 장치는 로그 데이터에 독립 변수가 포함되었는지 확인할 수 있다(S1440). 시뮬레이션 모델 생성 장치의 스케줄 예측부는 로그 데이터를 로그 데이터 획득부로부터 수신할 수 있다. 또한, 스케줄 예측부는 확률 모델 및 이벤트 시퀀스을 확률 모델 생성부로부터 수신할 수 있다. 스케줄 예측부는 로그 데이터에 독립 변수가 포함되어 있는지 확인할 수 있다.The simulation model generating apparatus may check whether the log data includes the independent variable (S1440). The schedule predicting unit of the simulation model generating apparatus may receive log data from the log data obtaining unit. Also, the schedule predictor may receive the probabilistic model and the event sequence from the probabilistic model generator. The schedule predictor may check whether an independent variable is included in the log data.

로그 데이터에 독립 변수가 포함된 경우(S1440의 예), 스케줄 예측부는 머신러닝 알고리즘을 기초로 작업 소요 시간을 예측할 수 있다(S1450). 스케줄 예측부는 미리 학습된 머신러닝 알고리즘을 기초로 작업 소요 시간을 예측할 수 있다. 예를 들어, 머신러닝 모델에는 로그 데이터가 입력될 수 있고, 로그 데이터에 포함된 독립 변수들을 기초로 작업 소요 시간을 예측할 수 있다.When the log data includes the independent variable (Yes in S1440), the schedule predictor may predict the required work time based on the machine learning algorithm (S1450). The schedule predictor may predict the task required based on a pre-trained machine learning algorithm. For example, log data may be input to the machine learning model, and the operation time may be predicted based on independent variables included in the log data.

한편, 로그 데이터에 독립 변수가 포함되지 않은 경우(S1440의 아니오), 스케줄 예측부는 로그 데이터에 포함된 작업 시간을 기초로 작업 소요 시간을 예측할 수 있다(S1460). 스케줄 예측부는 로그 데이터를 기초로 각각의 작업 별로 작업 소요 시간의 평균을 연산할 수 있고, 이를 기초로 작업 소요 시간 및 해당 작업의 표준 편차를 연산할 수 잇다. 스케줄 예측부는 작업 소요 시간의 평균 및 표준 편차를 기초로 정규 분포 함수를 획득할 수 있다. 스케줄 예측부는 정규 분포 함수를 기초로 작업 소요 시간을 예측할 수 있다.On the other hand, when the log data does not include the independent variable (No in S1440), the schedule predictor may predict the required work time based on the work time included in the log data (S1460). The schedule predictor may calculate an average of the work required time for each task based on the log data, and may calculate the task required time and a standard deviation of the corresponding task based on this. The schedule predictor may obtain a normal distribution function based on the average and standard deviation of the work required time. The schedule predictor may predict the required work time based on the normal distribution function.

시뮬레이션 모델 생성부는 시뮬레이션 모델을 생성할 수 있다(S1470). 시뮬레이션 모델 생성부의 스케줄 예측부는 예측된 작업 소요 시간을 기초로 작업의 스케줄 시간을 예측할 수 있다. 스케줄 예측부는 스케줄 시간, 확률 모델 및 이벤트 시퀀스를 기초로 시뮬레이션 모델을 생성할 수 있으며, 생성된 시뮬레이션 모델을 가지고 시뮬레이션을 수행하여 스케줄 예측 결과를 출력한다.The simulation model generator may generate a simulation model (S1470). The schedule prediction unit of the simulation model generator may predict the schedule time of the job based on the predicted job required time. The schedule predictor may generate a simulation model based on a schedule time, a probabilistic model, and an event sequence, and performs a simulation using the generated simulation model to output a schedule prediction result.

본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software.

컴퓨터 판독 가능 매체의 예에는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media include hardware devices specially configured to store and carry out program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as at least one software module to perform the operations of the present invention, and vice versa.

이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although it has been described with reference to the above embodiments, it will be understood by those skilled in the art that various modifications and changes can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. will be able

Claims (20)

로그 데이터를 획득하는 단계;
상기 로그 데이터를 기초로 선후행 테이블을 생성하는 단계;
상기 선후행 테이블을 기초로 프로세스 모델을 생성하는 단계;
상기 프로세스 모델을 기초로 확률 모델을 생성하는 단계;
상기 확률 모델을 기초로 이벤트 시퀀스를 생성하는 단계;
상기 로그 데이터를 기초로 작업 소요 시간을 예측하는 단계; 및
상기 확률 모델, 이벤트 시퀀스 및 상기 작업 소요 시간을 기초로 시뮬레이션 모델을 생성하는 단계를 포함하는, 시뮬레이션 모델 생성 방법.
obtaining log data;
generating a leading and trailing table based on the log data;
generating a process model based on the preceding and succeeding tables;
generating a probabilistic model based on the process model;
generating an event sequence based on the probabilistic model;
predicting a required work time based on the log data; and
and generating a simulation model based on the probabilistic model, the event sequence, and the time required for the task.
청구항 1에 있어서,
상기 로그 데이터는,
작업의 케이스 ID(identifier), 상기 작업의 종류 및 상기 작업의 소요 시간 중 하나 이상을 포함하는, 시뮬레이션 모델 생성 방법.
The method according to claim 1,
The log data is
A method for generating a simulation model, comprising at least one of a case identifier (ID) of a task, a type of the task, and a duration of the task.
청구항 1에 있어서,
상기 선후행 테이블을 생성하는 단계는,
상기 로그 데이터를 기초로 프로세스 패턴을 파악하는 단계;
상기 프로세스 패턴을 기초로 작업 간 선후행 관계를 파악하는 단계; 및
상기 선후행 관계를 기초로 선후행 테이블을 생성하는 단계를 포함하는, 시뮬레이션 모델 생성 방법.
The method according to claim 1,
The step of creating the preceding and trailing table comprises:
identifying a process pattern based on the log data;
identifying a precedence and trailing relationship between tasks based on the process pattern; and
and generating a precedence table based on the precedence relation.
청구항 1에 있어서,
상기 확률 모델을 생성하는 단계는,
상기 선후행 테이블을 기초로 전이 지점 및 전이 빈도수를 획득하는 단계;
상기 전이 지점 및 전이 빈도수를 기초로 전이 확률을 획득하는 단계; 및
상기 전이 확률을 기초로 상기 확률 모델을 생성하는 단계를 포함하는, 시뮬레이션 모델 생성 방법.
The method according to claim 1,
The step of generating the probabilistic model comprises:
obtaining a transition point and a transition frequency based on the preceding and subsequent tables;
obtaining a transition probability based on the transition point and the transition frequency; and
and generating the probabilistic model based on the transition probability.
청구항 1에 있어서,
상기 확률 모델은 마코프 체인(markov chain)인, 시뮬레이션 모델 생성 방법.
The method according to claim 1,
wherein the probabilistic model is a markov chain.
청구항 1에 있어서,
상기 이벤트 시퀀스를 생성하는 단계는,
상기 확률 모델을 기초로 작업간 순서를 획득하는 단계;
상기 획득한 순서대로 작업이 수행될 확률을 획득하는 단계; 및
상기 순서 및 확률을 기초로 이벤트 시퀀스를 생성하는 단계를 포함하는, 시뮬레이션 모델 생성 방법.
The method according to claim 1,
The step of generating the event sequence comprises:
obtaining an inter-task order based on the probabilistic model;
obtaining a probability that tasks are performed in the obtained order; and
generating a sequence of events based on the order and probability.
청구항 1에 있어서,
상기 작업 소요 시간을 예측하는 단계는,
미리 학습된 머신러닝 모델에 의해 상기 작업 소요 시간을 예측하는 단계를 포함하는, 시뮬레이션 모델 생성 방법.
The method according to claim 1,
The step of estimating the time required for the operation is
A method of generating a simulation model, comprising the step of estimating the task required time by means of a pre-trained machine learning model.
청구항 7에 있어서,
상기 머신러닝 모델은 XGboost인, 시뮬레이션 모델 생성 방법.
8. The method of claim 7,
wherein the machine learning model is XGboost.
청구항 1에 있어서,
상기 작업 소요 시간을 예측하는 단계는,
상기 로그 데이터에 포함된 작업별 소요 시간의 평균을 연산하는 단계;
상기 평균을 기초로 표준 편차를 연산하는 단계;
상기 평균 및 상기 표준 편차를 기초로 정규 분포 함수를 획득하는 단계; 및
상기 정규 분포 함수를 기초로 작업 소요 시간을 예측하는 단계를 포함하는, 시뮬레이션 모델 생성 방법.
The method according to claim 1,
The step of estimating the time required for the operation is
calculating an average of the time required for each task included in the log data;
calculating a standard deviation based on the mean;
obtaining a normal distribution function based on the mean and the standard deviation; and
Comprising the step of estimating the task required based on the normal distribution function, simulation model generation method.
청구항 1에 있어서,
상기 시뮬레이션 모델을 생성하는 단계는,
상기 작업 소요 시간을 기초로 작업의 스케줄 시간을 예측하는 단계; 및
상기 확률 모델 상기 이벤트 시퀀스 및 상기 스케줄 시간을 기초로 상기 시뮬레이션 모델을 생성하는 단계를 포함하는, 시뮬레이션 모델 생성 방법.
The method according to claim 1,
The step of generating the simulation model comprises:
predicting a schedule time of a job based on the required time for the job; and
and generating the simulation model based on the sequence of events and the schedule time of the probabilistic model.
프로세서(processor) 및
상기 프로세서에 의해 실행되는 하나 이상의 명령들이 저장된 메모리(memory)를 포함하며,
상기 하나 이상의 명령들은,
로그 데이터를 획득하고;
상기 로그 데이터를 기초로 선후행 테이블을 생성하고;
상기 선후행 테이블을 기초로 프로세스 모델을 생성하고;
상기 프로세스 모델을 기초로 확률 모델을 생성하고;
상기 확률 모델을 기초로 이벤트 시퀀스를 생성하고;
상기 로그 데이터를 기초로 작업 소요 시간을 예측하고; 그리고,
상기 확률 모델, 이벤트 시퀀스 및 상기 작업 소요 시간을 기초로 시뮬레이션 모델을 생성하도록 수행되는, 시뮬레이션 모델 생성 장치.
processor and
and a memory in which one or more instructions executed by the processor are stored,
the one or more instructions,
obtain log data;
create a leading and trailing table based on the log data;
generate a process model based on the preceding and subsequent tables;
generate a probabilistic model based on the process model;
generate an event sequence based on the probabilistic model;
predicting a required work time based on the log data; And,
and generating a simulation model based on the probabilistic model, the sequence of events, and the time required for the task.
청구항 11에 있어서,
상기 로그 데이터는
작업의 케이스 ID(identifier), 상기 작업의 종류 및 상기 작업의 소요 시간 중 하나 이상을 포함하는, 시뮬레이션 모델 생성 장치.
12. The method of claim 11,
The log data is
A simulation model generating apparatus comprising at least one of a case ID (identifier) of a job, a type of the job, and a required time of the job.
청구항 11에 있어서,
상기 선후행 테이블을 생성하는 경우,
상기 하나 이상의 명령들은,
상기 로그 데이터를 기초로 프로세스 패턴을 파악하고;
상기 프로세스 패턴을 기초로 작업 간 선후행 관계를 파악하고; 그리고,
상기 선후행 관계를 기초로 선후행 테이블을 생성하도록 수행되는, 시뮬레이션 모델 생성 장치.
12. The method of claim 11,
When creating the preceding and trailing tables,
the one or more instructions,
identify a process pattern based on the log data;
identifying a precedence and trailing relationship between tasks based on the process pattern; And,
and generating a precedence and trailing table based on the precedence and trailing relationship.
청구항 11에 있어서,
상기 확률 모델을 생성하는 경우,
상기 하나 이상의 명령들은,
상기 선후행 테이블을 기초로 전이 지점 및 전이 빈도수를 획득하고;
상기 전이 지점 및 전이 빈도수를 기초로 전이 확률을 획득하고; 그리고,
상기 전이 확률을 기초로 상기 확률 모델을 생성하도록 수행되는 시뮬레이션 모델 생성 장치.
12. The method of claim 11,
When generating the probabilistic model,
the one or more instructions,
obtain a transition point and a transition frequency based on the preceding and subsequent tables;
obtain a transition probability based on the transition point and the transition frequency; And,
The simulation model generating apparatus is performed to generate the probabilistic model based on the transition probability.
청구항 10에 있어서,
상기 확률 모델은 마코프 체인(markov chain)인, 시뮬레이션 모델 생성 장치.
11. The method of claim 10,
The probabilistic model is a markov chain (markov chain), simulation model generating apparatus.
청구항 11에 있어서,
상기 이벤트 시퀀스를 생성하는 경우,
상기 하나 이상의 명령들은,
상기 확률 모델을 기초로 작업간 순서를 획득하고;
상기 획득한 순서대로 작업이 수행될 확률을 획득하고; 그리고,
상기 순서 및 확률을 기초로 이벤트 시퀀스를 생성하도록 수행되는, 시뮬레이션 모델 생성 장치.
12. The method of claim 11,
When generating the event sequence,
the one or more instructions,
obtaining an inter-task order based on the probabilistic model;
obtain a probability that tasks will be performed in the obtained order; And,
and generating a sequence of events based on the order and probability.
청구항 11에 있어서,
상기 작업 소요 시간을 예측하는 경우,
상기 하나 이상의 명령들은,
미리 학습된 머신러닝 모델에 의해 상기 작업 소요 시간을 예측하도록 수행되는, 시뮬레이션 모델 생성 장치.
12. The method of claim 11,
When estimating the time required for the above operation,
the one or more instructions,
A simulation model generating apparatus that is performed to predict the required time of the task by means of a pre-trained machine learning model.
청구항 17에 있어서,
상기 머신러닝 모델은 Xgboost인, 시뮬레이션 모델 생성 장치.
18. The method of claim 17,
The machine learning model is Xgboost, a simulation model generating device.
청구항 11에 있어서,
상기 작업 소요 시간을 예측하는 경우,
상기 하나 이상의 명령들은,
상기 로그 데이터에 포함된 작업별 소요 시간의 평균을 연산하고;
상기 평균을 기초로 표준 편차를 연산하고;
상기 평균 및 상기 표준 편차를 기초로 정규 분포 함수를 획득하고; 그리고,
상기 정규 분포 함수를 기초로 작업 소요 시간을 예측하도록 수행되는, 시뮬레이션 모델 생성 장치.
12. The method of claim 11,
When estimating the time required for the above operation,
the one or more instructions,
calculating an average of the time required for each task included in the log data;
calculate a standard deviation based on the mean;
obtain a normal distribution function based on the mean and the standard deviation; And,
A simulation model generating apparatus that is performed to predict a task required time based on the normal distribution function.
청구항 11 있어서,
상기 시뮬레이션 모델을 생성하는 경우,
상기 하나 이상의 명령들은,
상기 작업 소요 시간을 기초로 작업의 스케줄 시간을 예측하고; 그리고,
상기 확률 모델 상기 이벤트 시퀀스 및 상기 스케줄 시간을 기초로 상기 시뮬레이션 모델을 생성하도록 수행되는, 시뮬레이션 모델 생성 장치.

12. The method of claim 11,
When generating the simulation model,
the one or more instructions,
predicting a schedule time of a job based on the required time for the job; And,
and generating the simulation model based on the sequence of events and the schedule time of the probabilistic model.

KR1020200010461A 2020-01-29 2020-01-29 Method for generating simulation model and apparatus thereof KR20210096875A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200010461A KR20210096875A (en) 2020-01-29 2020-01-29 Method for generating simulation model and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200010461A KR20210096875A (en) 2020-01-29 2020-01-29 Method for generating simulation model and apparatus thereof

Publications (1)

Publication Number Publication Date
KR20210096875A true KR20210096875A (en) 2021-08-06

Family

ID=77315156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200010461A KR20210096875A (en) 2020-01-29 2020-01-29 Method for generating simulation model and apparatus thereof

Country Status (1)

Country Link
KR (1) KR20210096875A (en)

Similar Documents

Publication Publication Date Title
WO2019174423A1 (en) Entity sentiment analysis method and related apparatus
Patelli et al. OpenCossan: An efficient open tool for dealing with epistemic and aleatory uncertainties
KR102215978B1 (en) Distributed asynchronous parallelized ensemble model training and inference system on the blockchain network and method thereof
US11366806B2 (en) Automated feature generation for machine learning application
CN111581454A (en) Depth map compression algorithm-based parallel query expression prediction system and method
Xie et al. Distributed Gaussian processes hyperparameter optimization for big data using proximal ADMM
KR102531291B1 (en) Method for predicting energy consumption of a building, and computing device performing the method
Bergs et al. Agile ramp-up production as an advantage of highly iterative product development
Fracca et al. Estimating activity start timestamps in the presence of waiting times via process simulation
WO2020218246A1 (en) Optimization device, optimization method, and program
JP7259451B2 (en) Power Consumption Prediction Program, Power Consumption Prediction Method, and Power Consumption Prediction Apparatus
KR20210096875A (en) Method for generating simulation model and apparatus thereof
JP2022032115A (en) Project sign detection apparatus and project sign detection method
CN116384921A (en) Execution method and device of operation and maintenance event, storage medium and electronic equipment
EP3958190A1 (en) Information processing device, machine learning method, and machine learning program
JP6540218B2 (en) Data conversion apparatus, data conversion system, data conversion method and data conversion program
Fauzan et al. Simulation of agent-based and discrete event for analyzing multi organizational performance
US20140067732A1 (en) Training decision support systems from business process execution traces that contain repeated tasks
Sobaszek et al. Module for prediction of technological operation times in an intelligent job scheduling system
Zorin et al. Simulated annealing algorithm for job shop scheduling on reliable real-time systems
US20230237097A1 (en) Information processing device, information processing method, and recording medium
Sundari et al. Queueing model of optional type of services with service stoppage and revamp process in web hosting queueing
JP6320891B2 (en) Problem structure extraction apparatus and problem structure extraction method
CN118096091B (en) Mechanical engineering project demand analysis method, system, equipment and medium
Buravova et al. Modeling the project management process in the teddy designer of the BPsim. DSS simulation system

Legal Events

Date Code Title Description
E601 Decision to refuse application