Nothing Special   »   [go: up one dir, main page]

KR101617689B1 - A method and system for fast resource allocation planning using plan retrieval and repair - Google Patents

A method and system for fast resource allocation planning using plan retrieval and repair Download PDF

Info

Publication number
KR101617689B1
KR101617689B1 KR1020130091886A KR20130091886A KR101617689B1 KR 101617689 B1 KR101617689 B1 KR 101617689B1 KR 1020130091886 A KR1020130091886 A KR 1020130091886A KR 20130091886 A KR20130091886 A KR 20130091886A KR 101617689 B1 KR101617689 B1 KR 101617689B1
Authority
KR
South Korea
Prior art keywords
plan
feature vector
situation
database
situation feature
Prior art date
Application number
KR1020130091886A
Other languages
Korean (ko)
Other versions
KR20150015884A (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
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020130091886A priority Critical patent/KR101617689B1/en
Publication of KR20150015884A publication Critical patent/KR20150015884A/en
Application granted granted Critical
Publication of KR101617689B1 publication Critical patent/KR101617689B1/en

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 자원 할당 계획 방법 및 시스템에 관한 것으로서, 구체적으로는 다양한 상황에 대하여 미리 생성한 계획 데이터베이스를 이용하여, 주어진 문제 상황과 유사한 경우의 계획을 검색한 후, 다시 검색된 계획을 수정하여 주어진 문제 상황에 대한 계획을 도출함으로써 단시간 내에 계획을 생성할 수 있는 계획 검색 및 수정 기법을 이용한 고속 자원 할당 계획 방법 및 시스템에 관한 것이다.
본 발명은 (a) 주어진 문제 상황에 대해 문제 상황 특징 벡터를 생성하는 단계; (b) 계획 데이터베이스를 검색하여, 상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대해 기 생성해 놓은 계획을 검출하는 단계; 및 (c) 상기 유사 상황 특징 벡터에 대해 기생성해 놓은 계획을 수정하여 상기 문제 상황에 대한 계획을 산출하는 단계를 포함하는 것을 특징으로 하는 자원 할당 계획 방법을 개시하며, 본 발명에 따르면, 주어진 자원 할당 문제에 대한 계획을 산출함에 있어, 미리 생성된 계획 데이터베이스에서 상기 문제 상황에 대한 유사 상황을 검출하고, 그에 따르는 유사 계획을 수정하여 상기 문제 상황에 대한 계획을 도출함으로써, 특정한 문제 상황에 대한 효율적인 자원 할당 계획을 실시간 또는 짧은 시간 내에 산출할 수 있는 자원 할당 계획 방법 및 시스템을 제공하는 효과를 갖는다.
The present invention relates to a resource allocation planning method and system, and more particularly, it relates to a resource allocation planning method and system, and more particularly to a resource allocation planning method and system using a plan database generated in advance for various situations, The present invention relates to a method and a system for high-speed resource allocation planning using a plan search and correction technique capable of generating a plan in a short time by deriving a plan for a situation.
(A) generating a problem situation feature vector for a given problem situation; (b) searching a plan database, detecting a similar situation feature vector for the problem situation feature vector and a plan already created for the similar situation feature vector; And (c) calculating a plan for the problem situation by modifying a preliminary plan for the similar situation feature vector. According to the present invention, there is provided a method for planning a resource allocation, In calculating the plan for the resource allocation problem, a similar situation with respect to the problem situation is detected in the previously generated plan database, and a plan for the problem situation is derived by modifying the similar plan accordingly, There is an effect of providing a resource allocation planning method and system capable of calculating an efficient resource allocation plan in real time or within a short time.

Description

계획 검색 및 수정 기법을 이용한 고속 자원 할당 계획 방법 및 시스템 {A method and system for fast resource allocation planning using plan retrieval and repair}Technical Field [0001] The present invention relates to a method and system for fast resource allocation using a plan search and correction technique,

본 발명은 자원 할당 계획 방법 및 시스템에 관한 것으로서, 구체적으로는 다양한 상황에 대하여 미리 생성한 계획 데이터베이스를 이용하여, 주어진 문제 상황과 유사한 경우의 계획을 검색한 후, 다시 검색된 계획을 수정하여 주어진 문제 상황에 대한 계획을 도출함으로써 단시간 내에 계획을 생성할 수 있는 계획 검색 및 수정 기법을 이용한 고속 자원 할당 계획 방법 및 시스템에 관한 것이다.The present invention relates to a resource allocation planning method and system, and more particularly, it relates to a resource allocation planning method and system, and more particularly to a resource allocation planning method and system using a plan database generated in advance for various situations, The present invention relates to a method and a system for high-speed resource allocation planning using a plan search and correction technique capable of generating a plan in a short time by deriving a plan for a situation.

자원 할당 계획 문제는 한정된 자원들(resources)과 이들을 필요로 하는 활동들(activities)이 주어졌을 때, 원하는 성능이 최적화 되도록 자원들을 활동들에 할당하여 사용하는 계획을 수립하는 문제이다. 여기서 자원과 활동이란 추상적인 개념들로서, 통상적으로 수행해야 할 업무, 공장에서의 제조 공정, 물건의 배송 등과 같이 해야 할 일이 활동에 해당되며, 이들의 수행을 위해서 필요한 인력, 기계, 시설 등과 같은 것들이 자원에 해당된다.The problem of resource allocation planning is the problem of allocating resources to activities so that the desired performance is given when limited resources and activities that require them are given. Here, resources and activities are abstract concepts. Activities such as tasks to be performed normally, manufacturing processes in factories, delivery of goods, and the like are the activities, and the personnel, machinery, facilities These are resources.

활동이 수행되는 방식은 다양하게 지정될 수 있는 바, 하나의 활동이 여러 개의 세부 활동들(sub-activities)로 구성되어 세부 활동들이 순차적(sequential)으로 수행되어야 하는 경우도 있고, 세부 활동들이 병렬적(parallel)으로 수행되어야 하는 경우도 있으며, 이들이 혼합된 형태로서 일부 세부 활동들은 순차적으로, 다른 세부 활동들은 병렬적으로 수행될 수 있는 경우도 존재한다.The way in which the activities are performed can be variously specified. In some cases, one activity may be composed of several sub-activities, and the sub-activities may be performed in a sequential manner. In some cases, these activities may be performed in parallel. Some of these activities may be performed sequentially, while others may be performed in parallel.

또한, 하나의 세부 활동을 수행하기 위해서 필요한 자원 요구 사항은 자원 유형(resource type) 및 개수의 관점에서 다양하게 정의될 수 있는데, 하나의 세부 활동은 하나의 자원 유형에 속하는 한 개 이상의 자원을 필요로 할 수도 있고, 여러 개의 자원 유형으로부터 각각 한 개 이상의 자원을 필요로 할 수도 있으며, 하나의 세부 활동에 대해, 이러한 자원 요구 사항이 하나 이상의 대안으로 여러 개 존재할 수도 있다.In addition, the resource requirements required to perform one sub-activity can be variously defined in terms of the resource type and the number of sub-activities. One sub-activity requires one or more resources belonging to one resource type Or may require more than one resource from each of the multiple resource types, and for one sub-activity, there may be multiple such resource requirements as one or more alternatives.

즉, 하나의 활동 유형(activity type)은 앞서 설명한 세부 활동들의 수행 순서와 각 세부 활동들의 자원 요구 사항들을 명시함으로써 정의되고, 하나의 자원 할당 계획 문제에는 한 개 이상의 활동 유형과 각 활동 유형 별로 요구되어지는 수행 개수, 한 개 이상의 종류의 자원 유형과 각 자원 유형별로 가용한 자원의 개수들이 포함되며, 활동 유형들 및 자원 유형들에 대한 정의는 자원 할당 계획 문제의 해를 구함에 있어서 제약식(constraint)으로서의 역할을 하게 된다.That is, one activity type is defined by specifying the order of execution of the detailed activities described above and the resource requirements of each detailed activity, and one resource allocation planning problem is defined by one or more activity types and each activity type The type of resource, and the number of resources available for each resource type. The definition of activity types and resource types includes constraints ( constraint.

자원 할당 계획 문제의 성능으로는 통상적으로 주어진 계획 기간 동안 해야 할 활동을 모두 수행하면서 자원의 가동율을 최대화 또는 비용을 최소화하거나, 활동들에 요구되는 완료 예정일(due date)을 최대한 만족시키거나, 요구되는 활동을 모두 수행하는 데에 걸리는 시간을 최소화하는 등의 다양한 형태의 성능 목표가 존재할 수 있으며, 이를 자원 계획 할당 문제의 목적 함수라고 부른다.The performance of the resource allocation plan problem typically involves maximizing the utilization rate of the resource or minimizing the cost by performing all the activities to be performed during a given planning period, maximizing the due date required for the activities, There are various types of performance objectives, such as minimizing the amount of time it takes to perform all of the activities, and this is called the objective function of the resource plan assignment problem.

예를 들어, 공급망 관리(supply chain management) 문제 중, 마스터 계획(master planning) 문제에서는 주별 예측 수요가 주어졌을 때, 총 생산 비용, 재고 유지 비용, 운송 비용, 납기 지연에 따른 비용, 주문을 만족시키지 못할 경우에 대한 비용들을 최소화하기 위한 각 공장에서의 주별 생산량, 각 공장으로부터 각 유통센터까지의 주별 운송량, 각 유통센터로부터 고객으로까지의 주별 운송량 등을 결정하는 바, 고객의 수요가 활동에 해당하고, 공장에서의 생산 작업 및 공장, 유통 센터, 고객 간의 운송 작업이 수요를 처리하기 위한 세부 활동에 해당되며, 한정된 생산 용량을 가진 공장과 한정된 운송 능력을 가진 여러 가지 운반 수단들이 자원에 해당된다.For example, in the case of supply chain management, the master planning problem is the total cost of production, cost of inventory, shipping costs, costs due to delivery delays, and order fulfillment when given weekly forecast demand Weekly production from each factory, weekly transportation from each factory to each distribution center, and weekly transportation from each distribution center to the customer are determined to minimize the costs incurred by the customer. There are corresponding activities in the factory, production work and transportation between factories, distribution centers, and customers to deal with the demand. There are factories with limited production capacity and various transportation vehicles with limited transportation capacity. do.

또 다른 예로서, 유통 문제 중에서, 매대 진열 문제는 소매 매장의 진열대에 어떠한 상품들을 진열하는가를 결정하는 문제로서, 매일의 공간 활용을 최대로 함과 동시에 상품 판매를 최대화할 수 있는 상품 진열 계획을 생성하는 문제를 들 수 있다. 이 문제의 경우, 유한한 개수의 매대의 상품 진열 위치가 자원에 해당되며, 각 상품의 진열이 자원인 매대의 상품 진열 위치를 필요로 하는 활동에 해당된다.As another example, among the distribution problems, the problem of the display of each store is to determine which products are displayed on the display shelves of the retail store. It is a matter of maximizing the daily space utilization and maximizing product sales. The problem is to create. In the case of this problem, a finite number of merchandise display positions correspond to the resources, and the display of each merchandise corresponds to an activity that requires the merchandise display position of the store where the merchandise is the resource.

좀 더 구체적으로 자원 할당 계획 문제를 설명하기 위해서, 본 발명에서는 다음과 같이 스케줄링(scheduling) 문제를 예로 들어 설명하고자 한다.More specifically, in order to explain the resource allocation planning problem, the present invention explains the scheduling problem as an example.

스케줄링 문제는 종래 컴퓨터 시스템에서의 프로세스 관리를 비롯하여, 제조 시스템에서의 공정 관리, 물류 시스템, 병원 등 한정된 자원에 대한 효율적 운용이 필요한 상황에서 광범위하게 적용되어 왔으며, 이에 대한 다양한 기법들이 존재한다.Scheduling problems have been extensively applied in situations where process management in conventional computer systems, efficient management of limited resources such as process management, logistics systems, and hospitals in manufacturing systems is required, and various techniques exist for this.

이처럼 스케줄링 문제라 함은 처리하고자 하는 과업(job)들이 존재할 때, 주어진 자원(resource)들을 언제 어떻게 사용하여 어떤 과업을 처리하는지를 결정하는 문제를 말하며, 이에 대한 해를 스케줄이라고 부른다. 즉, 스케줄링 문제에서의 과업은 자원 할당 계획 문제에서의 활동에 해당된다. This scheduling problem refers to the problem of determining when and how to handle a given resource when there are jobs to be processed, and the solution is called a schedule. That is, the task in the scheduling problem corresponds to the activity in the resource allocation planning problem.

구체적으로 스케줄링 문제는 하나 이상 종류의 자원 유형과 한가지 이상의 과업 유형으로 구성되며, 각 과업은 하나 또는 그 이상의 처리해야 할 작업(operation)들로 정의된다. 하나의 작업은 하나 이상의 자원 유형을 필요로 할 수 있으며, 각 자원 유형에서 하나 이상의 자원을 필요로 할 수도 있다. 또한, 하나의 작업에는 여러 가지의 대체 자원들이 존재할 수 있다. 하나의 과업에 속한 작업들 간에는 가능한 작업 순서(route)를 표현하는 선후 관계(precedence) 제약이 존재할 수 있으며, 이때 선후 관계는 직렬적이거나 병렬적일 수 있으며, 하나 이상의 대체(alternative) 작업 순서가 존재할 수도 있다.Specifically, a scheduling problem consists of one or more types of resource types and one or more task types, and each task is defined as one or more operations to be processed. An operation may require more than one resource type, and each resource type may require more than one resource. In addition, there can be several alternative resources in one operation. There may be precedence constraints expressing possible work routes among tasks belonging to one task, where the posterior relations may be serial or parallel, and there may be one or more alternative work orders It is possible.

예를 들어, A 반도체 라인에 대한 스케줄을 생성하는 문제를 고려해 보면, A 반도체 라인에서 사용되는 장비로 R1 1대, R2 2대, R3 3대가 있으며, 상기 라인에서 생산되는 제품은 J1 제품과 J2제품이 있는데, J1 제품의 생산을 위해서는 O11 → O12, 또는 O11 → O13의 대체 작업 순서를 가질 수 있고, J2의 경우는 <O21, O22> → O23의 작업 순서를 가질 수 있다고 하자. 여기서 <O21, O22>는 두 개의 작업이 동시 수행 가능함을 나타낸다. 또한, 각 작업들의 수행에 필요한 자원들은 O11 = {R1, R2}, O12 = {2R2}, O13 = {R1, 2R3}, O21 = {R3}, O22 = {2R2}, O23 = {R1}과 같이 다중 집합(multi-set)의 형태로 나타낼 수 있다. 예를 들어, 상기 작업 O13은 R1 유형의 자원 1개와 R3 유형의 자원 2개가 필요함을 나타낸다.For example, considering the problem of creating a schedule for a semiconductor line A, there are 1 R1, 2 R2, and 3 R3 units used in a semiconductor line, and the products produced in the line are J1 and J2 Let's say that we can have an alternative work order of O11 → O12, or O11 → O13 for production of J1 product, and a work order of <O21, O22> → O23 for J2. Where <O21, O22> indicates that two jobs can be performed simultaneously. The resources required to perform each task are O11 = {R1, R2}, O12 = {2R2}, O13 = {R1,2R3}, O21 = {R3}, O22 = {2R2}, O23 = {R1} And can be represented in a multi-set form. For example, task O13 indicates that one resource of R1 type and two resources of R3 type are required.

스케줄 생성의 예로서, 상기와 같은 경우에 대하여 주어진 계획 기간 동안J1과 J2의 총 생산량을 최대로 하는 스케줄을 작성하는 경우 등을 생각해 볼 수 있다. 또한, 스케줄링 문제에는 다양한 목적 함수가 사용될 수 있는 바, 자원의 가동율 최대화, 과업 완료 총시간의 최소화, 과업에 대한 납기 준수율 최대화 등이 많이 사용되는 목적 함수의 예이다. 또한, 하나의 목적 함수만을 사용하는 것이 아니라, 여러 개의 목적 함수에 가중치를 주고 결합하여 최적화하는 방식도 많이 사용되고 있다.As an example of the schedule generation, a case may be considered in which a schedule for maximizing the total production amount of J1 and J2 for a given planning period is created for the above case. In addition, various objective functions can be used for the scheduling problem. For example, maximization of resource utilization rate, minimization of total task completion time, and maximization of delivery deadline for task are examples of objective functions. In addition, instead of using only one objective function, a method of optimizing and combining several objective functions by weighting is often used.

그런데 위와 같은 스케줄링 작업에는 많은 어려움이 따르는 것이 사실이다. 예를 들어 반도체 패키징 라인의 경우, 생산해야 할 패키지에 따라 필요한 작업들과, 작업 순서가 다르고 각 작업을 수행할 수 있는 여러 종류의 대체 장비들이 존재한다. 또한, 하나의 장비가 하나의 작업을 수행한 후 다른 작업을 수행하고자 할 경우, 상황에 따라서는 장비의 설정 변경(setup change)에 따른 시간 소요가 발생할 수도 있다. 따라서, 상기와 같은 제약들을 고려함과 동시에 정의된 목적 함수를 최적화하기 위해서, 주어진 패키지들에 대해 생산 라인에 있는 모든 장비들에 대한 스케줄을 생성해야 할 경우, 많은 종류의 자원과 과업에 대하여 그 제약 조건을 고려하는 스케줄을 생성하여야 하는 바, 여기에 상당한 시간과 노력이 투입되어야 하는 문제가 발생한다.However, it is true that the above scheduling work has many difficulties. For example, in the case of semiconductor packaging lines, there are various kinds of substitute equipment that can perform the tasks and the operations required in accordance with the package to be produced. In addition, when one equipment performs one operation and then performs another operation, depending on the situation, it may take time to perform a setup change of the equipment. Therefore, in order to optimize the defined objective function while considering the above-mentioned constraints, if a schedule for all the equipments in the production line is to be generated for a given package, It is necessary to generate a schedule in consideration of the condition, which requires a considerable amount of time and effort.

더군다나, 상기한 반도체 패키징 라인과 같은 대규모 장비 산업 등의 경우, 불시에 특정 장비가 고장이 나는 등의 원인으로 신속한 재스케줄링(re-scheduling) 작업이 필요함에도 스케줄링에 오랜 시간이 필요할 경우, 그에 따른 손실이 매우 커질 수 있다. 또한, 앞서 예시한 공급망 관리에서나 유통에서의 자원 할당 계획 문제들과 같이 자원의 효율적 할당이 회사의 경쟁력과 직결될 수 있는 경우에도 신속한 자원 할당 계획에 대한 요청을 간과할 수 없다. 이렇듯, 특정한 문제 상황에 따르는 자원 할당 계획 작업을 실시간 또는 짧은 시간 내에 수행할 수 있는 방법 및 시스템이 요구되고 있으나, 기존의 방법들은 성능이 좋은 계획을 생성하기 위해서는 많은 시간이 걸리거나, 빠른 시간 내에 계획을 생성하기 위해서는 결과로 산출된 계획의 성능이 만족스럽지 않은 문제가 있는 바, 아직 이에 대한 적절한 해법이 제시되지 못하고 있다.Furthermore, in the case of the large-scale equipment industry such as the above-mentioned semiconductor packaging line, it is necessary to perform a quick re-scheduling operation due to a sudden failure of a specific equipment, etc. However, when a long time is required for scheduling, The loss can be very large. In addition, a request for a rapid resource allocation plan can not be overlooked even when the efficient allocation of resources can be directly linked to the competitiveness of the company, such as the resource allocation planning problems in the above-described supply chain management or distribution. Thus, there is a demand for a method and a system capable of realizing a resource allocation plan task according to a specific problem situation in real time or in a short time. However, existing methods require much time to generate a plan with high performance, In order to generate the plan, the performance of the resulting plan is unsatisfactory. However, the appropriate solution is not yet presented.

본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위해 창안된 것으로, 특정한 문제 상황에 따르는 효율적인 자원 할당 계획 생성을 실시간 또는 짧은 시간 내에 수행할 수 있는 자원 할당 계획 방법 및 시스템을 제공하는 것을 목적으로 한다.It is an object of the present invention to provide a resource allocation planning method and system capable of realizing efficient resource allocation plan creation in real time or in a short time according to a specific problem situation do.

상기 과제를 해결하기 위한 본 발명의 한 측면에 따른 자원 할당 계획 방법은 (a) 주어진 문제 상황에 대해 문제 상황 특징 벡터를 생성하는 단계; (b) 계획 데이터베이스를 검색하여, 상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대해 기생성 해놓은 계획을 검출하는 단계; 및 (c) 상기 유사 상황 특징 벡터에 대해 기생성 해놓은 계획을 수정하여 상기 문제 상황에 대한 계획을 산출하는 단계를 포함하며, 상기 계획 데이터베이스에는 복수의 상황 특징 벡터와 그에 대해 기생성된 계획들이 저장되어 관리되는 것을 특징으로 한다.According to one aspect of the present invention, there is provided a resource allocation planning method comprising the steps of: (a) generating a problem situation feature vector for a given problem situation; (b) searching a plan database, detecting a similar situation feature vector for the problem situation feature vector and a pre-established plan for the same; And (c) calculating a plan for the problem situation by modifying the preliminary plan for the similar situation feature vector, wherein the plan database stores a plurality of situation feature vectors and pre-generated plans thereon And is managed.

여기서, 상기 (a) 단계에 앞서, (p) 복수의 상황 특징 벡터에 대한 계획을 미리 생성해서 저장해놓기 위해서, 다양한 상황 특징 벡터를 입력으로 받아 별도의 계획 생성기(planner)를 사용하여 계획을 생성함으로써, 상기 계획 데이터베이스를 생성하는 단계를 더 포함한다.Prior to the step (a), (p), in order to generate and store plans for a plurality of context feature vectors in advance, various context feature vectors are input and a plan is generated using a separate planner Thereby creating the plan database.

여기서, 상기 (p) 단계에서, 상기 계획 데이터베이스를 생성함에 있어, 문제 상황이 복수로 존재하는 경우 상기 문제 상황을 소정의 규칙을 사용하여 하나 이상의 문제 상황의 대표치를 사용함으로써 상기 계획 데이터베이스의 용량을 줄일 수 있다.  Here, in the step (p), when the plurality of problem situations exist in generating the plan database, the capacity of the plan database is calculated by using representative values of one or more problem situations using the predetermined rule Can be reduced.

여기서, 상기 (p) 단계에서, 문제 상황이 중대하게 변경되는 경우에 대한 계획 데이터베이스를 미리 생성할 수 있다.Here, in the step (p), a plan database for a case where the problem situation is changed significantly can be generated in advance.

여기서, 상기 (b) 단계는, 유사 상황 특징 벡터 추천기를 사용하여, 상기 계획 데이터베이스에 저장되어 있는 상황 특징 벡터들에 대한 계획 중에서, 상기 계획이 계획 수정기를 거쳐 산출되는 수정된 계획과, 상기 문제 상황 특징 벡터가 계획 생성기를 거쳐 산출되는 계획을 비교할 때, 주어진 항목의 성능치가 가장 비슷할 것으로 예측되는 유사 상황 특징 벡터들과 그들에 대한 계획들을 검출하는 단계이며, 이때 상기 계획 데이터베이스에는 상기 상황 특징 벡터에 대한 계획의 성능치도 저장되어 관리될 수 있다.Here, the step (b) may include: using a similar situation feature vector recommender, a modified plan calculated from the plan for the situation feature vectors stored in the plan database via the plan corrector, Detecting similarity feature vectors and their plans for which the performance values of a given item are predicted to be the most similar when comparing a plan that a situation feature vector is calculated through a plan generator, Can be stored and managed.

여기서, 상기 (b) 단계는, 유사 상황 특징 벡터 추천기를 사용하여, 상기 계획 데이터베이스에서 상기 문제 상황 특징 벡터와 가장 유사한 한개 이상의 상황 특징 벡터를 검출하는 단계일 수 있다.Here, the step (b) may be a step of detecting one or more situation feature vectors most similar to the problem situation feature vector in the plan database, using a similar situation feature vector recommender.

여기서, 상기 (b) 단계에 앞서, (q) 복수의 상황 특징 벡터 및 그에 대한 계획에 대하여, 기계 학습(machine learning) 기법을 적용하여 상기 유사 상황 특징 벡터 추천기를 생성하는 단계를 더 포함할 수 있다.Here, prior to step (b), the method may further include generating the similar situation feature vector recommender by applying a machine learning technique to (q) a plurality of context feature vectors and plans therefor have.

여기서, 상기 기계 학습 기법은 써포트 벡터 기계(support vector machine) 또는 k-NN(k-Nearest Neighbor) 기법을 포함할 수 있다.Here, the machine learning technique may include a support vector machine or a k-Nearest Neighbor (k-NN) technique.

여기서, 상기 (b) 단계는, 상기 계획 데이터베이스 중 일부 상황 특징 벡터 만을 검색하여 상기 유사 상황 특징 벡터를 검출하도록, 사전에 상기 계획 데이터베이스의 상황 특징 벡터를 필터링하는 단계를 포함할 수 있다.The step (b) may include filtering the context feature vector of the plan database in advance so as to detect only some context feature vectors of the plan database and detect the similar situation feature vector.

여기서, 상기 계획 데이터베이스에는 복수의 상황 특징 벡터와 그에 대해상기 계획 생성기를 이용하여 미리 생성한 계획의 전부 또는 계획의 주요 일부 정보가 저장되어 관리되고, 상기 (b) 단계에서는, 계획 데이터베이스의 상황 특징 벡터를 검색하여, 상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대한 계획의 전부 또는 일부 정보를 상기 유사 상황 특징 벡터 추천기로부터 추천받고, 상기 (c) 단계에서는, 상기 유사 상황 특징 벡터에 대한 계획의 전부 또는 일부 정보를 수정하여 상기 문제 상황에서의 계획을 생성할 수 있다.Herein, the plan database stores and manages all of the plurality of situation feature vectors and the plan generated in advance by using the plan generator, or a part of the plan major information, and in the step (b) The similarity feature vector for the problem situation feature vector and all or part of the information about the similarity feature vector are recommended from the similarity feature vector recommender, and in the step (c), the similarity feature vector The plan in the problem situation can be generated by modifying all or part of the information about the plan.

여기서, 상기 (b) 단계는, 계획 데이터베이스의 상황 특징 벡터 및 파생 상황 특징 벡터를 검색하여, 상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대한 계획을 상기 유사 상황 특징 벡터 추천기를 이용하여 검출하는 단계이며, 상기 계획 데이터베이스에는 복수의 상황 특징 벡터 및 그에 대한 계획에 더하여, 복수의 파생 상황 특징 벡터 및 그에 대한 계획이 함께 저장되어 관리될 수 있다.In the step (b), the similarity situation feature vector and the plan for the problem situation feature vector are searched using the situation feature vector and the derivation situation feature vector of the plan database, And the plan database may store and manage a plurality of derivation feature vectors and a plan thereof together with a plurality of context feature vectors and a plan thereof.

여기서, 상기 (c) 단계는, 계획 수정기를 사용하여, 상기 유사 상황 특징 벡터 및 그에 대해 계획 생성기를 이용하여 미리 생성한 계획 및 상기 문제 상황 특징 벡터를 입력으로 하여, 상기 문제 상황 특징 벡터에 대한 계획을 산출하는 단계일 수 있다.Here, the step (c) may include inputting the similar situation feature vector, a plan previously generated by using the plan generator, and the problem situation feature vector, using the plan corrector, It can be a step of calculating the plan.

여기서, 상기 계획 수정기는, 유사 상황 특징 벡터 추천기가 한개 이상의 유사 상황 특징 벡터를 추천하는 경우, 각 유사 상황 특징 벡터에 따르는 계획을 수정하여 그 중 계획 성능치가 가장 좋은 계획을 산출 할 수 있다. Here, when the similar situation feature vector recommender recommends one or more similar situation feature vectors, the plan modifier may calculate a plan having the best plan performance value by modifying the plan according to each similarity feature vector.

여기서, 상기 계획 수정기는, 상기 유사 상황 특징 벡터에 대해 미리 생성된 계획을 상기 문제 상황 특징 벡터에 적합하도록 수정한 계획과, 상기 문제 상황 특징 벡터를 입력으로 상기 계획 생성기를 이용하여 자원 할당 계획을 직접 생성한다고 가정했을 때에 도출되는 계획과의 성능 차이를 최소화할 수 있는 방식에 따라 계획을 수정하는 것이거나 상기 문제 상황 특징 벡터에 대해 최적의 성능이 달성될 수 있도록 상기 유사 상황 특징 벡터에 대해 미리 생성된 계획을 수정하는 것일 수 있다.Here, the plan modifier may include a plan that is obtained by modifying a plan generated beforehand for the similar situation feature vector so as to fit the problem situation feature vector, and a resource allocation plan using the plan generator by inputting the problem situation feature vector The plan is modified in accordance with a scheme capable of minimizing the performance difference from the plan derived when it is assumed that the similarity condition is directly generated, It may be to modify the generated plan.

여기서, 상기 계획 수정기는, 복수의 상황 특징 벡터에 대해서 기존의 계획 생성기를 활용하여 생성된 계획들을 학습 데이터로 이용함으로써, 상기 계획 수정기의 상기 기존의 계획 생성기를 모사하도록, 기계 학습을 적용하여 생성된 것일 수 있다.Here, the plan corrector may be configured to apply machine learning to simulate the existing plan generator of the planner by using plans generated using an existing plan generator for a plurality of context feature vectors as learning data It may be generated.

여기서, 상기 기계 학습 기법은 온라인 학습(on-line learning), 써포트 벡터 기계(support vector machine), 강화학습(reinforcement learning) 기법을 포함할 수 있다.Here, the machine learning technique may include an on-line learning, a support vector machine, and a reinforcement learning technique.

여기서, 상기 복수의 파생 상황 특징 벡터에 대한 계획을 생성함에 있어 계획 수정기를 사용하는 경우, 상기 계획 데이터베이스에는 상기 계획 수정기가 상기 유사 상황 특징 벡터의 계획을 수정할 때에 소요된 계획 수정 횟수도 함께 기록되어 관리되고, 추후 상기 계획 수정 횟수 정보를 상기 계획 수정기에 의한 계획 수정 작업시에 이용할 수 있다.Here, when a plan corrector is used to generate a plan for the plurality of derivative feature vectors, the plan database also records the number of plan corrections required for correcting the plan of the similar situation feature vector by the plan corrector And the plan correction frequency information can be used later in the plan correction work by the plan corrector.

여기서, 상기 문제 상황 특징 벡터는, 가용 자원의 유형, 가용 자원의 유형별 개수, 활동의 유형, 활동의 유형별 개수, 각 활동 유형에서 세부 활동간의 선후 관계, 대체 자원, 대체 경로, 활동간 우선 순위, 활동별 완료 요구일, 자원의 설정 변경시의 제약, 자원의 설정 상태, 활동 및 세부 활동과 관련된 비용 및 시간 정보, 계산된 계획 정보, 계획 성능치, 목적함수 중 하나 이상을 포함할 수 있다.Here, the problem situation feature vector may include at least one of a type of available resources, a number of types of available resources, a type of activity, a number of types of activities, a pre-relationship between sub-activities in each type of activity, A cost information and a time information related to the activity and the detailed activity, the calculated plan information, the plan performance value, and the objective function.

여기서, 상기의 유사 상황 특징 벡터 추천기가 유사 상황 특징 벡터를 검출함에 있어, 소정의 방법으로 산정한 오류 가능성이 특정한 임계치를 넘는 경우, 계획 수정기를 이용하지 않고 별도의 계획 생성기를 사용하여 상기 문제 상황에 대한 계획을 직접 산출할 수 있다.When the likelihood feature vector recommender detects a similar situation feature vector, if the probability of error calculated by a predetermined method exceeds a specific threshold value, Can be calculated directly.

본 발명의 다른 측면에 따른 자원 할당 계획 시스템은 복수의 상황 특징 벡터 및 그에 대해 별도의 계획 생성기를 사용하여 생성된 계획과 계획 성능치를 저장하고 관리하는 계획 데이터베이스; 상기 계획 데이터베이스를 검색하여 상기 문제 상황 특징 벡터와 가장 유사한 상황 특징 벡터를 검출하거나, 상기 계획 데이터베이스에 저장되어 있는 상황 특징 벡터들에 대한 계획 중에서, 상기 계획이 계획 수정기를 거쳐 산출되는 수정된 계획과, 상기 문제 상황 특징 벡터가 상기 계획 생성기를 거쳐 산출되는 계획을 비교할 때, 주어진 항목의 성능치가 가장 비슷할 것으로 예측되는 유사 상황 특징 벡터와 그에 대한 기생성된 계획을 도출하는 유사 상황 특징 벡터 추천기; 및 상기 하나 이상의 유사 상황 특징 벡터에 대한 계획을 수정하여 상기 주어진 문제 상황에 대한 계획을 산출하는 계획 수정기를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, a resource allocation planning system includes a plan database for storing and managing plan and plan performance values generated using a plurality of context feature vectors and a plan generator separately for the plurality of context feature vectors; Searching the plan database to detect a situation feature vector most similar to the problem situation feature vector, or, from a plan for the context feature vectors stored in the plan database, A similar situation feature vector recommender for deriving a similar situation feature vector predicted to have the most similar performance value of a given item and a previously generated plan when comparing the plan calculated through the plan generator with the problem situation feature vector; And a plan corrector for calculating a plan for the given problem situation by modifying the plan for the one or more similar situation feature vectors.

여기서, 상기 유사 상황 특징 벡터 추천기는 복수의 상황 특징 벡터 및 그에 대한 계획에 대하여, 써포트 벡터 기계(support vector machine) 또는 k-NN(k-Nearest Neighbor)와 같은 기계 학습(machine learning) 기법을 적용하여 생성될 수 있다.Here, the similarity feature vector recommender applies a machine learning technique such as a support vector machine or a k-nearest neighbor (k-NN) to a plurality of context feature vectors and a plan thereof Lt; / RTI &gt;

여기서, 상기 계획 수정기는, 상기 문제 상황 특징 벡터, 그에 대한 상기 유사 상황 특징 벡터 및 상기 유사 상황 특징 벡터에 대한 계획을 고려하여, 상기 계획의 수정에 따른 수정된 계획과 상기 문제 상황 특징 벡터를 입력으로 상기 계획 생성기를 이용하여 자원 할당 계획을 직접 생성한다고 가정했을 때에 도출되는 계획과의 성능치의 차이를 최소화할 수 있는 방식에 따라 계획을 수정 것일 수 있다.Here, the plan corrector inputs the modified plan according to the modification of the plan and the problem situation feature vector in consideration of the problem situation feature vector, the similar situation feature vector for the same, and the plan for the similar situation feature vector The plan may be modified according to a scheme that minimizes the difference in the performance value from the derived plan when it is assumed that the resource allocation plan is directly generated using the plan generator.

여기서, 상기 계획 수정기는, 복수의 상황 특징 벡터에 대해서 기존의 계획 생성기를 활용하여 생성된 계획들을 학습 데이터로 이용함으로써, 임의의 문제 상황 특징 벡터가 주어졌을 때, 계획 수정기의 수정 결과가 기존의 계획 생성기가 생성한 계획을 모사하도록, 기계 학습을 적용하여 생성된 것일 수 있다. Here, the plan modifier may use plans generated using an existing plan generator for a plurality of context feature vectors as learning data, so that when an arbitrary problem situation feature vector is given, May be generated by applying machine learning to simulate the plan generated by the plan generator of FIG.

여기서, 상기 계획 데이터베이스는, 문제 상황이 복수로 존재하는 경우 상기 문제 상황을 소정의 규칙을 사용하여 하나 이상의 문제 상황의 대표치를 사용함으로써 상기 계획 데이터베이스의 용량을 줄여 생성된 것일 수 있다.Here, the plan database may be generated by reducing the capacity of the plan database by using representative values of one or more problem situations using a predetermined rule, when the plurality of problem situations exist.

여기서, 상기 계획 데이터베이스는, 상기 계획 데이터베이스를 생성함에 있어 문제 상황이 중대하게 변경되는 경우에 대한 계획 데이터베이스를 미리 생성해 둔 것일 수 있다.Here, the plan database may have previously generated a plan database for a case where a problem situation is significantly changed in generating the plan database.

여기서, 상기 유사 상황 특징 벡터 추천기는, 상기 계획 데이터베이스 중 일부 상황 특징 벡터만을 검색하여 상기 유사 상황 특징 벡터를 검출하도록, 사전에 상기 계획 데이터베이스의 상황 특징 벡터를 필터링할 수 있다.Here, the similarity feature vector recommender may filter the context feature vector of the plan database in advance to search only some of the context feature vectors of the plan database to detect the similar situation feature vector.

여기서, 상기 계획 데이터베이스에는 복수의 상황 특징 벡터와 그에 대해 상기 계획 생성기를 이용하여 미리 생성된 계획의 전부 또는 계획의 주요 일부 정보가 저장되어 관리되고, 상기 유사 상황 특징 벡터 추천기는, 계획 데이터베이스의 상황 특징 벡터를 검색하여, 상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대한 계획의 전부 또는 일부 정보를 추출하며, 상기 계획 수정기는, 상기 유사 상황 특징 벡터에 대한 계획의 전부 또는 일부 정보를 수정하여 상기 문제 상황에서의 계획을 생성할 수 있다.Herein, the plan database stores and manages all of the plurality of situation feature vectors and the plan information generated beforehand by using the plan generator, or a part of the plan major information, and the similar situation feature vector recommender includes: Extracts all or part of the similarity feature vector and its plan for the problem situation feature vector by searching for the feature vector, and the plan modifier corrects all or part of the plan for the similarity feature vector Thereby generating a plan in the above-described problem situation.

여기서, 상기 유사 상황 특징 벡터 추천기는, 계획 데이터베이스의 상황 특징 벡터 및 파생 상황 특징 벡터를 검색하여, 상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대한 계획을 검출하며, 상기 계획 데이터베이스에는 복수의 상황 특징 벡터 및 그에 대한 계획에 더하여, 복수의 파생 상황 특징 벡터 및 그에 대한 계획이 함께 저장되어 관리될 수 있다.Here, the similarity condition feature vector recommender searches for a situation feature vector and a derivation condition feature vector of the plan database, detects a similar situation feature vector for the problem situation feature vector and a plan therefor, and the plan database stores a plurality of In addition to a situation feature vector and a plan for it, a plurality of derivation feature vectors and a plan for them may be stored and managed together.

여기서, 상기 복수의 파생 상황 특징 벡터에 대한 계획을 생성함에 있어, 계획 수정기를 사용하는 경우, 상기 계획 데이터베이스에는 상기 계획 수정기가 상기 유사 상황 특징 벡터의 계획을 수정할 때에 소요된 계획 수정 횟수도 함께 기록되어 관리하고, 추후 상기 계획 수정 횟수 정보를 상기 계획 수정기에 의한 계획 수정 작업시에 이용할 수 있다.Here, when generating a plan for the plurality of derivative feature vectors, when using a planner, the planner also records the number of plan corrections required for the planner to modify the plan of the similarity feature vector And the plan modification frequency information can be used later in the plan modification work by the plan modifier.

여기서, 상기 문제 상황 특징 벡터는, 가용 자원의 유형, 가용 자원의 유형별 개수, 활동의 유형, 활동의 유형별 개수, 각 활동 유형에서 세부 활동간의 선후 관계, 대체 자원, 대체 경로, 활동간 우선 순위, 활동별 완료 요구일, 자원의 설정 변경시의 제약, 자원의 설정 상태, 활동 및 세부 활동과 관련된 비용 및 시간 정보, 계산된 계획 정보, 계획 성능치, 목적함수 중 하나 이상을 포함할 수 있다.Here, the problem situation feature vector may include at least one of a type of available resources, a number of types of available resources, a type of activity, a number of types of activities, a pre-relationship between sub-activities in each type of activity, A cost information and a time information related to the activity and the detailed activity, the calculated plan information, the plan performance value, and the objective function.

여기서, 상기의 유사 상황 특징 벡터 추천기가 유사 상황 특징 벡터를 검출함에 있어, 소정의 방법으로 산정한 오류 가능성이 특정한 임계치를 넘는 경우, 계획 수정기를 사용하지 않고 별도의 계획 생성기를 사용하여 상기 문제 상황에 대한 계획을 직접 산출할 수 있다.Here, when the similarity feature vector recommender detects the similarity feature vector, if the error probability calculated by the predetermined method exceeds a certain threshold value, the plan condition generator is not used, Can be calculated directly.

본 발명에 따르면, 주어진 자원 할당 문제 상황에 대한 계획을 산출함에 있어, 미리 생성된 계획 데이터베이스에서 상기 문제 상황에 대한 유사 상황을 검출하고, 그에 따르는 유사 계획을 수정하여 상기 문제 상황에 대한 계획을 도출함으로써, 특정한 문제 상황에 따르는 효율적인 자원 할당 계획을 실시간 또는 짧은 시간 내에 산출할 수 있는 자원 할당 계획 방법 및 시스템을 제공하는 효과를 갖는다.According to the present invention, in calculating a plan for a given resource allocation problem situation, a similar situation for the problem situation is detected in a previously generated plan database, and a plan for the problem situation is derived by correcting the similar plan accordingly Thereby, it is possible to provide a resource allocation planning method and system capable of calculating an efficient resource allocation plan according to a specific problem situation in real time or in a short time.

본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 사상을 설명한다.
도 1은 본 발명의 일 실시예에 따른 계획 검색 및 수정 기법을 이용한 자원 할당 계획 방법의 순서도.
도 2은 본 발명의 일 실시예에 따른 계획 데이터베이스 생성시의 데이터 흐름 도해.
도 3은 본 발명의 일 실시예에 따른 파생 상황 특징 벡터를 포함하는 계획 데이터베이스 생성시의 데이터 흐름 도해.
도 4는 본 발명의 일 실시예에 따른 유사 상황 특징 벡터 추천기 생성시의 데이터 흐름 도해.
도 5는 본 발명의 일 실시예에 따른 문제 상황에 대한 계획 산출시의 데이터 흐름 도해.
도 6는 본 발명의 일 실시예에 따른 계획 검색 및 수정 기법을 이용한 자원 할당 계획 시스템의 블록도.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
1 is a flowchart of a resource allocation planning method using a plan search and correction technique according to an embodiment of the present invention;
FIG. 2 is a data flow diagram when a plan database is created according to an embodiment of the present invention; FIG.
3 is a data flow diagram at the time of generating a plan database including a derivation feature vector according to an embodiment of the present invention.
FIG. 4 is a data flow diagram when a similar situation feature vector recommender is generated according to an embodiment of the present invention. FIG.
5 is a data flow diagram at the time of calculating a plan for a problem situation according to an embodiment of the present invention.
FIG. 6 is a block diagram of a resource allocation planning system using a plan search and modification technique according to an embodiment of the present invention; FIG.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 이하에서는 특정 실시예들을 첨부된 도면을 기초로 상세히 설명하고자 한다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments will be described in detail below with reference to the accompanying drawings.

본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되는 것은 아니며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terms first, second, etc. may be used to describe various components, but the components are not limited by the terms, and the terms are used only for the purpose of distinguishing one component from another Is used.

본 발명은 종래 기술에 따라 반도체 생산 공정 등 다양한 활동과 자원으로 구성된 복잡한 문제 상황에 대하여 자원 할당 계획을 산출할 경우 많은 시간이 소요될 수 있고 이에 따라 상당한 손실을 초래할 수 있다는 문제점에 대하여, 주어진 문제 상황에 대한 계획을 산출함에 있어, 상기 문제 상황에 대한 문제 상황 특징 벡터를 산정한 후, 미리 생성된 계획 데이터베이스(610)에서 상기 문제 상황 특징 벡터와 가장 유사한 유사 상황 특징 벡터 및 그에 대한 기생성된 계획을 검출하고, 상기 검출된 계획을 수정하여 상기 문제 상황에 대한 계획을 도출함으로써, 특정한 문제 상황에 대한 계획 작업을 실시간 또는 짧은 시간 내에 수행할 수 있는 자원 할당 계획 방법 및 시스템을 제공하는 것을 특징으로 한다.According to the present invention, when calculating a resource allocation plan for a complex problem situation constituted by various activities and resources such as a semiconductor production process, it can take a lot of time and thus cause a considerable loss. A similar situation feature vector most similar to the problem situation feature vector is generated in the previously generated plan database 610, and a pre-existing plan feature database The present invention provides a resource allocation planning method and system capable of performing a planning task for a specific problem situation in real time or in a short time by deriving a plan for the problem situation by correcting the detected plan, do.

여기서 문제 상황(Problem Context)이라 함은 풀고자 하는 자원 할당 계획 문제를 정의하는 데이터로서 자원 할당 문제를 정의하는 데에 필요한 모든 데이터를 포함한다. 예를 들어, 자원 할당 문제의 목적 함수, 가용 자원의 유형, 각 자원의 유형별 가용 자원 개수, 활동의 유형 및 처리해야 하는 각 활동 유형별 개수, 각 활동 유형에서 세부 활동간의 선후 관계, 대체 자원, 대체 경로, 활동간 우선 순위, 활동별 완료 요구일, 자원의 설정 변경시의 제약, 자원의 설정 상태, 활동 및 세부 활동과 관련된 비용 및 시간 정보 등이 포함될 수 있다.Here, the term "problem context" refers to data defining a resource allocation plan problem to be solved, and includes all the data necessary for defining a resource allocation problem. For example, the objective function of a resource allocation problem, the type of available resources, the number of available resources by type of each resource, the type of activity and the number of each activity type to be dealt with, Path, priority among activities, completion request date for each activity, constraints on changing resource settings, resource setting status, cost and time information related to activities and detailed activities, and the like.

좀더 구체적으로 살피기 위하여 앞의 A 반도체 라인의 예로 돌아가, J1 제품 2개와 J2 제품 3개를 생산하기 위해서 스케줄을 생성하는 경우를 고려해 보면, 상기한 과업의 유형 및 숫자로서 2J1, 3J2, 가용 자원의 유형 및 숫자로서 1R1, 2R2, 3R3, 각 작업의 선후 관계 및 대체 작업으로서 O11 → O12, 또는 O11 → O13, 그리고 <O21, O22> → O23, 각 작업의 소요 시간 등이 모두 상기 자원 할당 계획 문제를 정의하고 제약하는 조건으로서 기능하는 바, 상기한 문제 상황을 구성하게 된다.For example, consider the case of creating a schedule to produce two J1 products and three J2 products in order to look more closely at the example of the semiconductor line A above. The types and numbers of the above tasks are 2J1, 3J2, O11 → O12, or O11 → O13, and <O21, O22> → O23, and the time required for each operation as the type and the number of 1R1, 2R2, 3R3, And thus constitutes the above-described problem situation.

또한, 상기 문제 상황 특징 벡터(Context Feature Vector)는 상기 문제 상황의 데이터 중 가변적인 속성을 가지는 데이터들을 포함하여 구성되는 벡터로서, 아래에서 유사 상황 특징 벡터의 산정 및 다양한 상황 특징 벡터의 구성 등을 위하여 사용될 수 있다.In addition, the Context Feature Vector is a vector including data having a variable attribute among the data of the problematic situation. Hereinafter, the calculation of the similar situation feature vector and the configuration of various context feature vectors Can be used.

앞서 살핀 예에서 본다면, 하나의 반도체 라인에서, 각 작업의 선후 관계, 작업 소요 시간 및 대체 작업 등 시간별 자원 할당 계획의 관점에서 변동 가능성이 적은 항목들을 제외하고, 가변적인 속성을 가지는 과업의 숫자 또는 그에 따른 각 작업의 숫자, 장비의 종류와 숫자 등을 포함하여 상기 문제 상황 특징 벡터를 구성할 수 있다. 따라서, 시간별 스케줄링의 관점에서 변동 가능성이 큰 과업의 종류와 숫자 및 투입 장비의 종류와 숫자를 중심으로 하여, 2개의 J1 및 3개의 J2, R1 1대, R2 2대, R3 3대를 포함하는 (2J1, 3J2, 1R1 2R2, 3R3)가 문제 상황 특징 벡터가 될 수 있다.In the above example, the number of tasks having a variable attribute in a single semiconductor line, except for items with low possibility of fluctuation in terms of the time-based resource allocation plan such as the post-relationship of each task, The number of each operation, the type and number of equipment, and the like. Therefore, in terms of time-sched- uled scheduling, the type and number of tasks that are highly likely to fluctuate and the number and types of input equipment, including two J1s and three J2s, R1s R1s, R2s R2s, R3 R3s (2J1, 3J2, 1R1 2R2, 3R3) may be problematic feature vectors.

그러나, 여기서 가변적인 속성이란 스케줄링의 계획 주기 및 기간의 정의에 따라 상대적인 것으로서, 스케줄링이 매 시간이 아니고 매 주 수행된다면, 작업 소요 시간과 같이 시간별 스케줄링에서는 변하지 않는 것으로 가정된 상황 특징도 주별 스케줄링에서는 가변적인 것으로 취급되어 문제 상황 특징 벡터에 포함될 수도 있다.However, the variable attribute is relative to the definition of the planning period and the period of the scheduling. If the scheduling is performed not every hour but every week, it is assumed that it does not change in the time scheduling such as the time required for the task. It may be treated as a variable and included in the problem situation feature vector.

또한, 상기 계획 데이터베이스(610)는 복수의 상황 특징 벡터 및 그에 대한 계획 및 계획의 성능치를 포함하여 구성될 수도 있는데, 여기서 상기 상황 특징 벡터라 함은 상기 문제 상황 특징 벡터의 과거 데이터들을 적절하게 변동시키면서 생성된 다양한 가상 상황에 대한 벡터를 말한다.In addition, the plan database 610 may include a plurality of context feature vectors and performance values of a plan and a plan for the context feature vectors, And the vector for various virtual situations generated by

이에 대하여 쉽게 설명하기 위하여, 다시 앞의 예로 돌아가, 상기 문제 상황 특징 벡터를 기준으로 각 항목의 값들을 적절하게 변동시키는 방식을 설명한다. 이에 따라 장비 R1이 1대, 2대, 4대인 경우 및 R2가 2대, 3대, 4대인 경우, J1을 1개, 2개, 5개인 경우, J2가 2대, 3대, 6대인 경우 등이 만들어 질 수 있고, 이를 각각 조합하면, 예컨대 상기 문제 상황 특징 벡터에서 J1이 감소된 (1J1, 3J2, 1R1 2R2, 3R3) 경우와 같은 다양한 상황 특징 벡터를 구성할 수 있게 된다. 또한 각 상황 특징 벡터 및 그에 대한 계획 및 계획의 성능치를 상기 자원 할당 계획생성기를 통하여 구한 후, 상기 계획 데이터베이스(610)에 저장하고 관리하게 된다.In order to explain this easily, a method of returning to the previous example and appropriately varying the values of each item based on the problem situation feature vector will be described. Therefore, when the equipment R1 is 1, 2, 4, and R2 is 2, 3, and 4, when J1 is 1, 2, and 5, and J2 is 2, 3, and 6 And the like, and by combining them, it is possible to construct various situation feature vectors such as cases where J1 is reduced (1J1, 3J2, 1R1 2R2, 3R3) in the problem situation feature vector. In addition, each situation feature vector and its performance values are obtained through the resource allocation plan generator, and then stored and managed in the plan database 610.

또한, 상기 유사 상황 특징 벡터라 함은 상기 스케줄 데이터베이스(610)에 저장되어 있는 복수의 상황 특징 벡터 중에서 상기 문제 상황 특징 벡터와 가장 유사한 상황 특징 벡터 또는 상기 문제 상황 특징 벡터의 요구 사항에 맞도록 상기 계획 수정기(630)를 이용하여 수정하였을 경우, 성능의 차이가 가장 근소할 것으로 예측되는 상황 특징 벡터를 말한다.Also, the similarity feature vector may include a plurality of context feature vectors, which are most similar to the problem context feature vector among the plurality of context feature vectors stored in the schedule database 610, When a modification is made using the plan corrector 630, the feature vector is estimated to have the smallest performance difference.

다시 앞의 예에서, 문제 상황 특징 벡터가 변경되어 R1이 1대, R2가 2대, R3가 3대 있고, J1는 1개 생산하게 되는데 반하여, J2은 5개를 생산하여야 하는 상황을 고려할 경우, 이에 가장 유사한 상황 특징 벡터를 상기 계획 데이터베이스(610)에서 검색해 보면 (1J1, 6J2, 1R1 2R2, 3R3)가 될 수 있고 따라서 이 값이 유사 상황 특징 벡터가 될 수 있다.Again, in the previous example, if the problem situation feature vector is changed so that R1 is 1, R2 is 2, R3 is 3, J1 is 1, while J2 is 5 (1J1, 6J2, 1R1 2R2, 3R3), and this value can be a similar situation feature vector.

이렇게 검출된 유사 상황 특징 벡터 및 그에 대한 계획은 상기 문제 상황 특징 벡터와 상기 유사 상황 특징 벡터의 차이를 고려하여, 상기 계획 데이터베이스(610) 내에 상기 유사 상황 특징 벡터에 대해 저장된 계획을 계획 수정기(630)로 수정함으로써 상기 문제 상황에 대한 자원 할당 계획으로서 사용될 수 있다.The similarity feature vector and the plan for the similarity feature vector thus detected are stored in the plan database 610 in consideration of the difference between the problem situation feature vector and the similar situation feature vector, 630) to be used as a resource allocation plan for the problem situation.

또한 여기서 상기 저장된 계획이라 함은, 주어진 상황에 대하여 별도의 계획 생성기(220)를 사용하여 도출한 계획을 말하며, 상기 저장된 계획을 아래에서 살필 계획 수정기(630)를 사용하여 수정함으로써, 통상 상기 저장된 계획과 매우 근사하거나 더 높은 성능값을 가진 계획을 도출할 수 있다.Here, the stored plan is a plan derived by using a separate plan generator 220 for a given situation. By modifying the stored plan using the plan preparation unit 630 below, A plan with a performance value that is very close to or greater than the saved plan can be derived.

도 1은 본 발명의 일 실시예에 따른 계획 검색 및 수정 기법을 이용한 자원 할당 계획 방법의 순서도를 도시하고 있다. 도 1에서 볼 수 있듯이, 본 발명의 일 실시예에 따른 계획 검색 및 수정 기법을 이용한 자원 할당 계획 방법은 계획 데이터베이스(610) 생성 단계(S110), 유사 상황 특징 벡터 추천기(620) 생성 단계(S120), 문제 상황을 입력 받는 단계(S130), 문제 상황 특징 벡터를 산정하는 단계(S140), 유사 상황 특징 벡터를 검출하는 단계(S150), 상기 유사 상황 특징 벡터에 대한 계획을 수정하여 상기 문제 상황에 대한 계획을 도출하는 단계(S160)를 포함하여 구성될 수 있다.FIG. 1 is a flowchart illustrating a resource allocation planning method using a plan search and correction technique according to an embodiment of the present invention. 1, a resource allocation planning method using a plan search and correction technique according to an embodiment of the present invention includes generating a plan database 610 (S110), a similar situation feature vector recommender 620 S120), receiving a problem situation (S130), calculating a problem situation feature vector (S140), detecting a similar situation feature vector (S150), modifying a plan for the similar situation feature vector And deriving a plan for the situation (S160).

먼저 상기 계획 데이터베이스(610)를 생성하는 단계(S110)에 대하여 살핀다. 계획 데이터베이스(610)를 생성함에 있어서는, 우선 적절한 문제 상황을 선정하는 것이 중요하다. 실제 상황에서 발생할 개연성이 큰 문제 상황을 중심으로 계획 데이터베이스(610)를 생성함으로써, 데이터베이스의 양을 줄여 계산 시간을 단축시킴과 동시에, 보다 성능이 높은 계획을 도출해 낼 수 있게 된다.First, a step S110 of creating the plan database 610 will be described. In generating the plan database 610, it is important to select an appropriate problem situation first. By creating the plan database 610 based on a problematic situation that is likely to occur in an actual situation, it is possible to shorten the calculation time by reducing the amount of the database, and to obtain a plan with higher performance.

문제 상황을 적절하게 선정하기 위한 한 방편으로, 기존에 당해 문제에 대해 존재하였던 다양한 문제 상황에 대한 데이터를 수집하여 사용하는 방법을 들 수 있다. 이러한 문제 상황이 너무 많을 경우 상기 문제 상황의 데이터를 소정의 규칙을 적용하여, 문제 상황의 대표치를 사용하거나 문제 상황의 데이터를 클러스터링(clustering)하여 사용함으로써 상기 계획 데이터베이스(610)의 양을 조절하고 계산 시간을 단축시킬 수 있다. 상기의 예로서 복수의 문제 상황 데이터에 대한 중간값(median)을 사용하는 방법, 문제 상황의 발생 빈도를 기준으로 문제 상황을 추리는 방법 등을 들 수 있다.As a method for appropriately selecting a problem situation, there is a method of collecting and using data on various problem situations that existed for the problem in the past. If the number of such problems is too large, the amount of the plan database 610 is adjusted by applying a predetermined rule to the data of the problem situation, clustering and using the representative value of the problem situation or the data of the problem situation The calculation time can be shortened. As an example of the above, a method of using a median for a plurality of problem situation data, a method of finding a problem situation based on the occurrence frequency of the problem situation, and the like can be given.

또한, 상기 문제 상황을 선정함에 있어, 기존에 당해 문제에서 존재하였던 상황에 대한 문제 상황과 별도로, 향후 문제 상황이 중대하게 변경될 것으로 예상되는 경우에 대한 문제 상황을 포함하여 계획 데이터베이스(610)를 미리 생성하는 방법도 가능하다.In addition, in selecting the problem situation, a plan database 610 including a problem situation for a case where a problem situation is expected to be significantly changed in future, apart from a problem situation for a situation existing in the problem, It is also possible to generate it in advance.

상기 문제 상황이 주어지면, 그에 대하여 문제 상황 특징 벡터를 산정하고, 그 값들을 조금씩 변경해 가면서 복수의 상황 특징 벡터를 구성한 후, 이에 대한 계획들을 종래의 계획 생성기(220)를 사용하여 도출한다. 상기 문제 상황 특징 벡터는 상기 문제 상황의 항목 중 변동이 가능한 항목들을 포함하여 구성될 수 있으며, 또한 이는 앞서 살핀 경우와 유사하게 기존의 문제에서 존재하였던 다양한 상황을 바탕으로 그 변동 가능성 및 변동치를 산정하는 것이 바람직하다. 상기 종래의 계획 생성기(220)는 적절한 계획이 도출될 수 있는 것이라면 최적해의 생성이 보장된 것이 아니더라도 그 종류에 무관하게 특별히 제약 없이 사용할 수 있다.When the problem situation is given, a problem situation feature vector is calculated, and a plurality of situation feature vectors are constructed while slightly changing the values, and then the plans are derived using the conventional plan generator 220. The problem condition feature vector may be configured to include items that can be varied among the items of the problem situation. In addition, the problem condition feature vector may be calculated based on various situations existing in the existing problems, . The conventional plan generator 220 can be used without any restriction, irrespective of the type, even if the generation of the optimal solution is not guaranteed if an appropriate plan can be derived.

이때, 상기 문제 상황 특징 벡터는 해당 자원 할당 문제를 정의하는 데에 필요한 모든 데이터를 대상으로 하는 바, 가용 자원의 유형, 가용 자원의 유형별 개수, 활동의 유형, 활동의 유형별 개수, 각 활동 유형에서 세부 활동 간의 선후 관계, 대체 자원, 대체 경로, 활동간 우선 순위, 활동별 완료 요구일, 자원의 설정 변경시의 제약, 자원의 설정 상태, 활동 및 세부 활동과 관련된 비용 및 시간 정보, 계산된 계획 정보, 계획 성능치, 목적함수 등의 데이터 중에서 하나 이상을 포함하여 구성될 수 있다.At this time, the problem situation feature vector covers all the data necessary for defining the resource allocation problem, including the type of available resources, the number of available resources by type, the type of activity, the number of types of activity, Cost and time information related to the activity and detailed activities, the calculated plan, and the time and cost of the resource. Information such as information, plan performance value, objective function, and the like.

또한, 문제 상황이 주어지고, 그에 대한 문제 상황 특징 벡터를 산정한 후, 상기 계획 데이터베이스(610)에서 유사 상황 특징 벡터를 검출하는 경우, 유사 상황 특징 벡터에 대한 계획을 상기 계획 수정기(630)를 통하여 수정하였을 때의 계획 성능치가, 상기 문제 상황 특징 벡터를 입력으로 계획 생성기(220)를 수행한다고 가정했을 때에 예상되는 계획 성능치에 가장 근접하는 유사 상황 특징 벡터를 검출하는 것이 적절하므로, 상기 계획 데이터베이스(610)에는 또한 상기 상황 특징 벡터에 따른 계획과 함께 그에 대한 계획 성능치도 함께 포함되는 것이 바람직하다.In addition, when a problem situation is given and a similar situation feature vector is detected in the plan database 610 after the problem situation feature vector is calculated, a plan for the similar situation feature vector is transmitted to the planner 630, It is appropriate to detect a similar situation feature vector that is the closest to the expected plan performance value when it is assumed that the plan performance value at the time of modification through the input of the problem situation feature vector is performed by the plan generator 220. Therefore, The plan database 610 preferably also includes a plan performance value for the situation feature vector along with the plan.

이때, 상기 계획 성능치라 함은 자원 할당 계획 문제의 목적 함수에 대한 성능 수치를 말하며, 예를 들어 자원 할당 계획 문제의 목적 함수로서 장비 가동률 최대화를 설정하였다면 상기 장비 가동률이 계획 성능치가 되고, 자원 할당 계획 문제의 목적 함수로서 생산 소요 시간 최소화를 스케줄링 목적 함수로 잡았다면 상기 생산 소요 시간 수치가 계획 성능치가 된다.In this case, the plan performance refers to a performance value for an objective function of a resource allocation planning problem. For example, if the equipment operation rate maximization is set as an objective function of a resource allocation planning problem, the equipment operation rate becomes a plan performance value, If the minimization of the production time as the objective function of the planning problem is taken as the scheduling objective function, the production time value is the planned performance value.

도 2는 본 발명의 일 실시예에 따른 계획 데이터베이스(610) 생성시의 데이터 흐름을 보여주고 있다. 도 2에서 볼 수 있듯이, 문제 상황 생성기(210)에서 적절하게 선택된 문제 상황이 도출되고, 그에 대한 문제 상황 특징 벡터가 선정되면, 이 값들은 계획 생성기(220)로 전달되어 그에 대한 계획 및 계획 성능치가 도출되게 된다. 또한, 상기 문제 상황 특징 벡터에 대하여 앞서 살핀 바와 같이 기존의 해당 문제에서 존재하였던 다양한 상황을 바탕으로 그 변동 가능성 및 변동치를 고려하여 그 값들을 조금씩 변경해 가면서 복수의 상황 특징 벡터를 구성한 후, 이에 대한 계획 및 계획 성능치들도 도출할 수 있으므로, 이를 포함하여 상기 계획 데이터베이스(610)을 구성할 수 있다.FIG. 2 shows a data flow at the time of generating the plan database 610 according to an embodiment of the present invention. As shown in FIG. 2, when the problem situation generator 210 selects an appropriate selected problem situation and a problem situation feature vector for the problem condition is selected, the values are transmitted to the plan generator 220 so that the planning and planning performance Values are derived. In addition, as described above with respect to the problem situation feature vector, a plurality of situation feature vectors are constructed while changing the values slightly in consideration of the variability and the variation value based on various situations existing in the existing problem, The plan and plan performance values can be derived, so that the plan database 610 can be configured.

상기한 일련의 과정을 통하여 상기 계획 데이터베이스(610)는 상기 상황 특징 벡터 및 그에 대한 계획을 포함하여 구성될 수 있고, 또한 상기 상황 특징 벡터에 포함된 항목 이외에 상기 문제 상황에 포함된 항목도 변동 가능성이 전혀 없다고 볼 수는 없으므로, 상기 계획 데이터베이스(610)에는 상기 문제 상황도 포함하여 구성하는 것이 바람직하다.The plan database 610 may be configured to include the context feature vector and the plan for the context feature vector through the series of processes described above. In addition to the items included in the context feature vector, It is preferable that the plan database 610 includes the above-described problem situation.

덧붙여, 상기한 바와 같이 계획 데이터베이스(610)를 생성하여 이를 사용하는 것도 가능하나, 반드시 자원 할당 계획 담당자가 상기 계획 데이터베이스(610)를 직접 생성하여야 하는 것은 아니다. 상기 계획 데이터베이스(610)는 별개로 제작되어 담당자에게 양도되거나 경우에 따라서는 소정의 표준품으로서 제작된 후 환경에 맞게 일부 수정되어 사용되는 것도 가능할 수 있다.In addition, although it is possible to create and use the plan database 610 as described above, the person in charge of resource allocation planning does not necessarily have to directly create the plan database 610. The plan database 610 may be produced separately and transferred to a person in charge or, in some cases, may be manufactured as a standard product, and partially modified in accordance with the environment.

또한, 상기한 일련의 과정을 통하여 계획 데이터베이스(610)를 구성한 다음에는, 상기의 상황 특징 벡터에 대하여 그 파생값들을 산출하고 그에 대한 계획을 생성하여 이를 상기 계획 데이터베이스(610)에 포함시킴으로써, 상기 계획 데이터베이스(610)를 보다 세밀하게 구성하는 것도 가능하다.After constructing the plan database 610 through the above-described series of processes, the planetary database 610 may be configured to calculate the derivative values of the contextual feature vector, generate a plan of the derived values, and include it in the plan database 610, It is also possible to configure the plan database 610 more finely.

상기와 같이 상황 특징 벡터가 만들어지면, 이에 대한 파생 상황 특징 벡터를 산출하기 위하여 상황 특징 벡터 파생기(perturbator)(310)를 사용하는 것도 가능하다. 상기 파생 상황 특징 벡터를 생성함에 있어서는, 계획 수정기(630)를 통하여 계획을 산정할 때에 최소한의 수정으로 좋은 계획을 산출할 수 있도록 고려하여 생성하는 것이 바람직하다. 예를 들자면, 생산 공정의 경우에는 생산요구량 기준치를 약간 상회하는 계획을 미리 생성하여 두고, 이를 줄이는 방향으로 계획을 수정하도록 하는 것이 최소한의 수정으로 기존 계획에 대한 변동을 최소화하면서 적절한 계획을 산정해 내는 데에 유리할 수 있다. 이러한 경우 상기 상황 특징 벡터 파생기(310)는 파생 상황 특징 벡터를 산출함에 있어 기준치를 약간 상회하는 생산 계획을 도출하는 방식으로 동작하는 것이 바람직하다.When the context feature vector is generated as described above, it is also possible to use a context feature vector transformer 310 to calculate a derivative context feature vector. In generating the derivation condition feature vector, it is preferable to generate the derivation condition feature vector by considering the possibility of calculating a good plan with a minimum modification when calculating the plan through the plan corrector 630. For example, in the case of the production process, it is necessary to create a plan that slightly exceeds the production requirement threshold, and to revise the plan in the direction of reducing it. It can be advantageous to export. In this case, the situation feature vector dequantizer 310 preferably operates in a manner of deriving a production plan that slightly exceeds a reference value in calculating the derivative feature vector.

이렇게 산출된 파생 상황 특징 벡터에 대한 계획을 생성하여 상기 계획 데이터베이스(610)에 포함시킬 수 있는데, 이때 종래의 별도로 준비된 계획 생성기(220)를 사용할 수도 있으나, 이 경우 그 계획 생성 시간이 너무 길어질 수 있으므로, 아래에서 살펴볼 계획 수정기(630)를 사용하여 상기 파생 상황 특징 벡터에 대한 계획을 산출하는 것도 가능하다.A plan for the derivative feature vector thus calculated may be generated and included in the plan database 610. At this time, the conventional plan generator 220 may be used, but in this case, the plan generation time may be too long Therefore, it is also possible to calculate a plan for the derivation feature vector by using the plan corrector 630 to be discussed below.

도 3은 본 발명의 일 실시예에 따른 파생 상황 특징 벡터를 포함하는 계획 데이터베이스(610) 생성시의 데이터 흐름을 도시하고 있다. 도 3에서 볼 수 있듯이, 상황 특징 벡터가 상황 특징 벡터 파생기(310)에 전달되면, 그에 대한 파생 상황 특징 벡터가 도출되게 되고, 이는 상기 상황 특징 벡터에 대한 계획과 함께 계획 수정기(630)에 전달되어 상기 파생 상황 특징 벡터에 대한 계획과 계획 성능치를 도출해 내게 된다.FIG. 3 shows a data flow when generating the plan database 610 including the derivation feature vector according to an embodiment of the present invention. As shown in FIG. 3, when the context feature vector is transferred to the context feature vector derivator 310, a derivation context feature vector for the context feature vector is derived, which is sent to the plan creator 630 along with the plan for the context feature vector To derive planning and planning performance values for the derivation context feature vector.

다음으로, 유사 상황 특징 벡터 추천기(620) 생성 단계(S120)에 대하여 살핀다. 여기서 유사 상황 특징 벡터 추천기(620)는, 문제 상황에 따르는 문제 상황 특징 벡터에 맞도록 계획 데이터베이스(610)에 있는 유사 상황 특징 벡터의 계획을 계획 수정기(630)를 통하여 수정하였을 때의 계획 성능치가, 상기 문제 상황 특징 벡터를 입력으로 계획 생성기(220)를 수행한다고 가정했을 때에 예상되는 계획 성능치에 가장 근접하는 유사 상황 특징 벡터를 상기 계획 데이터베이스(610)로부터 검출하는 역할을 하게 된다.Next, a description will be given of the similar situation feature vector recommender 620 generation step (S120). Here, the similarity condition feature vector recommender 620 refers to the plan when the similarity condition feature vector in the plan database 610 is modified through the planner 630 so as to match the problem situation feature vector according to the problem situation From the plan database 610, a similarity feature vector closest to the expected plan performance value when the performance value assumes that the plan generator 220 is to be executed by inputting the problem situation feature vector.

상기 유사 상황 특징 벡터 추천기(620)는 써포트 벡터 기계(support vector machine) 또는 k-NN(k-Nearest Neighbor)와 같은 종래의 알려진 기계 학습 기법으로 구현이 가능하며, 구체적으로 상기 유사 상황 특징 벡터 추천기(620)는 상황 특징 벡터와 파생 상황 특징 벡터 쌍을 독립 변수로, 그에 따르는 각 계획의 성능치 값을 종속 변수로 하여, 이들을 학습 데이터로 사용하여 생성될 수 있다. 또한, 앞서 살핀 바와 같이 상황 특징 벡터 및 그에 대한 파생 상황 특징 벡터는 상황 특징 벡터 파생기(310)를 사용하여 산출할 수 있고, 그에 대한 각 계획의 성능치는, 상황 특징 벡터의 경우는 종래의 계획 생성기(220)로, 파생 상황 특징 벡터의 경우는 계획 수정기(630)를 사용하여 도출할 수 있으므로, 이들을 상기 학습 데이터로 사용하여 상기 유사 상황 특징 벡터 추천기(620)를 생성하는 것이 가능하다.The similarity condition feature vector recommender 620 can be realized by a conventional known machine learning technique such as a support vector machine or a k-nearest neighbor (k-NN), and specifically, The recommender 620 can be generated by using the pair of the situation feature vector and the derivation feature vector as independent variables, and using the performance value of each plan as a dependent variable, and using them as learning data. In addition, as discussed above, the context feature vector and its derivative context feature vector may be computed using the context feature vector generator 310, and the performance values of each plan for the context feature vector may be computed using a conventional plan generator It is possible to derive the similarity condition feature vector recommender 620 by using the fitness function generator 220 and the derivation feature vector by using the plan corrector 630. [

도 4는 본 발명의 일 실시예에 따른 유사 상황 특징 벡터 추천기(620) 생성시의 데이터 흐름을 도시하고 있다. 도 4에서 볼 수 있는 바와 같이, 상황 특징 벡터와 파생 상황 특징 벡터 쌍을 독립 변수로, 그에 따르는 각 계획 성능치 값을 종속 변수로 하여, 이들에 대하여 기계 학습 기법을 적용함으로써 상기 유사 상황 특징 벡터 추천기(620)를 생성할 수 있게 된다.FIG. 4 illustrates a data flow when generating a similar situation feature vector recommender 620 according to an embodiment of the present invention. As can be seen from FIG. 4, by applying the machine learning technique to the situation feature vector and the derivative feature vector pair as independent variables, and using each plan performance value as a dependent variable, The recommender 620 can be generated.

이어서, 문제 상황을 입력 받는 단계(S130)와 문제 상황 특징 벡터를 산정하는 단계(S140)에 대하여 살핀다. 본 발명의 일 실시예에 따라 자원 할당 계획 이용자로부터 문제 상황을 입력받은 후, 상기 문제 상황으로부터 가변적인 속성을 가지는 항목들을 중심으로 문제 상황의 특성을 고려하여 문제 상황 특징 벡터를 산정한다.Next, a description will be given of a step of receiving a problem situation (S130) and a step of calculating a problem situation feature vector (S140). According to an embodiment of the present invention, after receiving the problem situation from the resource allocation plan user, the problem situation feature vector is calculated by considering the characteristics of the problem situation with respect to the items having variable attributes from the problem situation.

이때, 상기 문제 상황 특징 벡터는 해당 자원 할당 문제를 정의하는 데에 필요한 모든 데이터를 대상으로 하는 바, 가용 자원의 유형, 가용 자원의 유형별 개수, 활동의 유형, 활동의 유형별 개수, 각 활동 유형에서 세부 활동 간의 선후 관계, 대체 자원, 대체 경로, 활동간 우선 순위, 활동별 완료 요구일, 자원의 설정 변경시의 제약, 자원의 설정 상태, 활동 및 세부 활동과 관련된 비용 및 시간 정보, 계산된 계획 정보, 계획 성능치, 목적 함수 등의 데이터 중에서 하나 이상을 포함하여 구성될 수 있다.At this time, the problem situation feature vector covers all the data necessary for defining the resource allocation problem, including the type of available resources, the number of available resources by type, the type of activity, the number of types of activity, Cost and time information related to the activity and detailed activities, the calculated plan, and the time and cost of the resource. Information such as information, plan performance value, objective function, and the like.

특히, 상기 문제 상황 특징 벡터의 항목 중 자원의 설정 상태에 대하여 살핀다면, 각 자원들은 적절한 동작을 위하여 일정한 설정 작업이 필요한 경우가 있는데, 이에 따라 이를 설정하고 동작시키기 위하여 일정한 시간이 소요될 수 있다. 따라서, 상기한 자원의 설정 상태에 따라서는 특정 세부 활동에 투입되기 전에 설정 작업이 선행되어야 하는 경우의 시간 지연을 고려하여 자원 할당 작업이 이루어져야 한다. 이와 유사하게 상기 자원의 설정 변경시의 제약의 경우에도, 특정한 자원에 따라서는 특정한 설정 작업에 인위적인 혹은 기계적인 제한이 가해질 수 있으므로 자원 할당 계획 작업에 있어 이를 고려해야 하는 경우가 생길 수 있다.In particular, if the setting state of the resource among the items of the problem situation feature vector is examined, each resource may require a certain setting task for proper operation, and thus it may take a certain time to set and operate the resource. Therefore, depending on the setting state of the resource, the resource allocation task should be performed in consideration of the time delay in the case where the setting task must be preceded before being input to the specific sub-activity. Similarly, in the case of the restriction on the resource setting change, artificial or mechanical restriction may be applied to a specific setting task depending on a specific resource, so that it may be necessary to consider this in a resource allocation planning task.

다음으로, 유사 상황 특징 벡터를 검출하는 단계(S150)에서는 상기 문제 상황 특징 벡터에 대한 계획 생성을 위해서, 계획 수정기(630)의 입력으로 사용할 계획에 대한 유사 상황 특징 벡터의 검출을 목표로 하는 바, 계획 데이터베이스(610)에 있는 상황 특징 벡터의 계획을 계획 수정기(630)를 통하여 수정하였을 때의 계획 성능치가, 상기 문제 상황 특징 벡터를 입력으로 자원 할당 계획 생성기(220)를 수행한다고 가정했을 때에 예상되는 계획 성능치에 가장 근접하는 유사 상황 특징 벡터를 상기 스케줄 데이터베이스(610)에서 검출하게 된다. 이때 앞서 살핀 유사 성능 특징 벡터 추천기(620)를 사용하여 상기 유사 성능 특징 벡터를 산출하는 것도 가능하다.Next, in the step of detecting the similar situation feature vector (S150), for the purpose of generating the plan for the problem situation feature vector, the detection of the similar situation feature vector for the plan to be used as the input of the plan creator 630 Assuming that the plan performance value when the plan of the situation feature vector in the plan database 610 is modified through the plan creator 630 is that the resource allocation plan generator 220 performs the problem situation feature vector input The similarity condition characteristic vector closest to the predicted plan performance value is detected by the schedule database 610. At this time, it is also possible to calculate the similar performance feature vector by using the saliency similar performance feature vector recommender 620.

경우에 따라서는, 상기 계획 데이터베이스(610)에 포함되어 있는 상황 특징 벡터 중 일부분에 대해서만 검색하여 상기 유사 상황 특징 벡터를 검출하게 할 수도 있다. 예를 들어, 계획 데이터베이스(610)의 용량이 너무 커서 데이터베이스의 모든 영역을 검색하는 것이 비효율적인 경우, 또는 수정 작업을 고려할 때, 문제 상황 특징 벡터를 기준으로 특정 항목이 더 크거나 작은 경우만을 대상으로 검색하는 것이 적절한 경우 등을 들 수 있다. 구체적인 예를 든다면, 소정의 물품 생산 공정에 있어서, 목적 함수가 가동율의 최대화일 경우, 100개의 과업에 대한 생산 스케줄을 도출하고자 할 때에는 101개의 과업에 대한 스케줄에서 1개를 덜 생산하는 방향으로 스케줄을 수정하는 방향이 보다 쉬울 수 있고, 목적 함수가 납기 준수일 경우, 기계 100대를 사용하는 생산 스케줄을 도출하고자 할 때에는 기계 99대에 대한 생산 스케줄에서 1대의 기계를 추가하는 방향으로 스케줄을 수정하는 것이 바람직하다. 이러한 경우 상기 계획 데이터베이스(610)에 대한 사전 필터링 작업을 통하여 상기 검색 작업의 범위를 한정할 수 있다. 또한, 상기 계획 데이터베이스(610) 중에서 파생 상황 특징 벡터를 제외하고, 상황 특징 벡터만을 검색 범위로 한정하는 것도 가능하다. In some cases, it is possible to search only a part of the context feature vectors included in the plan database 610 to detect the similar context feature vectors. For example, when the capacity of the plan database 610 is so large that it is inefficient to search all areas of the database, or when a correction operation is considered, only when the specific item is larger or smaller based on the problem situation feature vector, Or when it is appropriate to retrieve the data. For example, if the objective function is the maximization of the utilization rate in a given article production process, and if a production schedule for 100 tasks is to be derived, one is produced in a schedule for 101 tasks If it is easier to modify the schedule, and if the objective function is in compliance with the deadline, if you want to derive a production schedule using 100 machines, you can add a machine in the production schedule for 99 machines It is desirable to modify it. In this case, the scope of the search operation can be limited through a pre-filtering operation on the plan database 610. It is also possible to limit only the context feature vector to the search range in the plan database 610, excluding the derivation context feature vector.

덧붙여, 상기 유사 상황 특징 벡터를 검출함에 있어, 소정의 방법으로 산정한 오류 가능성이 특정한 임계치를 넘는 경우, 앞서 살핀 일련의 방법을 사용하지 않고, 기존의 계획 생성기(220)를 사용하여 상기 문제 상황에 대한 계획을 직접 산출하는 방식으로 오류 발생을 방지하는 것도 가능하다.In addition, when the likelihood feature vector is detected, if the probability of error calculated by a predetermined method exceeds a certain threshold value, the existing plan generator 220 may be used to detect the problem situation It is also possible to prevent the occurrence of errors by directly calculating the plan for

마지막으로, 상기 유사 상황 특징 벡터에 대한 계획을 수정하여 상기 문제 상황에 대한 계획을 도출하는 단계(S160)에서는 상기 유사 상황 특징 벡터 및 그에 대한 계획과 함께 상기 문제 상황 특징 벡터를 고려하여, 상기 유사 성능 특징 벡터에 대한 기존 계획을 수정함으로써 상기 문제 상황에 대한 계획을 도출하게 된다. 이때, 상기 유사 성능 특징 벡터에 대한 계획을 수정함에 있어서는 계획 수정기(630)를 사용하는 것도 가능하다.Finally, in step S160 of deriving a plan for the problem situation by modifying the plan for the similarity feature vector, the problem situation feature vector is considered together with the similarity feature vector and the plan for the similarity feature vector, The plan for the problem situation is derived by modifying the existing plan for the performance feature vector. At this time, the plan corrector 630 may be used to modify the plan for the similar performance feature vector.

상기 계획 수정기(630)는 계획의 수정에 따른 기존 계획으로부터의 계획 성능치 차이를 최소화 하거나 수정된 계획 성능을 최대화하는 방식에 따라 계획을 수정하게 된다.The plan modifier 630 modifies the plan according to a method of minimizing the difference in plan performance from the existing plan due to the modification of the plan or maximizing the modified plan performance.

또한, 앞서 살핀 유사 상황 특징 벡터 추천기(620)의 경우와 유사하게, 복수의 상황 특징 벡터에 대해서 기존의 계획 생성기(220)를 활용하여 생성된 계획들을 학습 데이터로 이용함으로써, 임의의 문제 상황 특징 벡터가 주어졌을 때, 계획 수정기(630)의 수정 결과가 기존의 계획 생성기(220)가 생성한 계획과 유사하도록, 온라인 학습(on-line learning), 써포트 벡터 기계(support vector machine), 강화학습 (reinforcement learning) 등의 기계 학습을 적용하여 상기 계획 수정기(630)를 구성하는 것도 가능하다. 덧붙여, 상기 계획 수정기(630)가 수정된 계획에 더하여 그에 대한 계획 성능치를 함께 산출하도록 하는 것도 가능하다.Similar to the case of the saliency similar situation feature vector recommender 620, by using the plans generated using the existing plan generator 220 for a plurality of context feature vectors as learning data, When a feature vector is given, an on-line learning, a support vector machine, and a support vector machine are generated so that the modification result of the plan creator 630 is similar to the plan generated by the existing plan generator 220. [ It is also possible to construct the plan corrector 630 by applying machine learning such as reinforcement learning. In addition, it is also possible that the plan corrector 630 calculates the planned performance value for the plan in addition to the corrected plan.

또한, 상기 계획의 수정 작업에 있어서, 입력으로 사용하는 계획의 정보 중에서 전체가 아닌 일부만을 고려하여 계획 수정 작업을 진행하도록 구성할 수도 있다. 예를 들어, 스케줄링 문제의 경우 작업 시간은 고려하지 않고 작업 순서만을 고려하여 스케줄 수정 작업을 진행하도록 구성할 수 있다. 이러한 경우, 상기 계획 데이터베이스(610)는 상기 계획 정보 중 작업 순서 정보만을 포함하는 것도 가능하다.In addition, in the correction work of the plan, the plan correction work may be performed in consideration of only a part of the plan information to be used as the input, not the whole. For example, in the case of a scheduling problem, it is possible to configure the schedule modification operation to take into consideration only the operation sequence without considering the operation time. In this case, the plan database 610 may include only the work order information among the plan information.

덧붙여, 앞서 살핀 계획 수정기(630)를 사용하여 임의의 상황 특정 벡터로부터 도출된 파생 상황 특징 벡터에 대한 계획을 산정하는 경우, 상기 계획 데이터베이스(610)에 상기 계획 수정기(630)에 의한 계획 수정 횟수도 함께 기록하여 두었다가, 상기 계획 수정기(630)에 의한 계획 수정 작업시에 상기 계획 수정 횟수를 참고하여 유사 상황 특징 벡터를 검출하는 것도 가능하다.In addition, when calculating a plan for a derivation condition feature vector derived from an arbitrary condition specifying vector by using the plan corrector 630, the plan database 610 may be provided with a plan It is also possible to record the number of corrections together and to detect the similar situation feature vector by referring to the number of plan corrections during the plan modification work by the plan corrector 630. [

도 5는 본 발명의 일 실시예에 따른 문제 상황에 대한 계획 산출시의 데이터 흐름을 개괄적으로 도시하고 있다. 도 5에서 볼 수 있는 바와 같이, 문제 상황에 따르는 문제 상황 특징 벡터가 유사 상황 특징 벡터 추천기(620)에 전달되면, 상기 유사 상황 특징 벡터 추천기(620)는 상기 계획 데이터베이스(610)를 검색하여, 수정 생성기(630)를 사용한 계획 수정 작업 후의 성능치가, 상기 문제 상황 특징 벡터를 입력으로 상기 계획 생성기를 이용하여 자원 할당 계획을 직접 생성한다고 가정했을 때에 도출되는 계획의 성능치와 가장 근접할 것으로 예측되는 계획과 그에 해당하는 유사 상황 특징 벡터를 검출하고, 이들은 다시 계획 수정기(630)에 전달되며, 상기 계획 수정기(630)는 이들과 함께 상기 문제 상황 특징 벡터를 고려하여 문제 상황에 대한 계획을 산출해 내게 된다.FIG. 5 schematically shows a data flow at the time of plan calculation for a problem situation according to an embodiment of the present invention. 5, when the problem situation feature vector according to the problem situation is transferred to the similar situation feature vector recommender 620, the similar situation feature vector recommender 620 searches the plan database 610 , And the performance value after the plan correction operation using the correction generator 630 is the closest to the performance value of the plan derived from the case where it is assumed that the problem situation feature vector is input and the resource plan is directly generated using the plan generator And the likelihood feature vector corresponding to the plan are transmitted to the plan creator 630. The plan creator 630 together with the plan predictor 630 calculates the problem situation vector The plan will be calculated.

도 6은 본 발명의 일 실시예에 따른 계획 검색 및 수정 기법을 이용한 자원 할당 계획 시스템(600)의 블록도를 도시하고 있다. 상기 도 6에서 알 수 있듯이, 본 발명의 일 실시예에 따른 스케줄 검색 및 수정 기법을 이용한 계획 시스템(600)은 계획 데이터베이스(610), 유사 상황 특징 벡터 추천기(620) 및 계획 수정기(630)를 포함하여 구성될 수 있다.FIG. 6 shows a block diagram of a resource allocation planning system 600 using a plan search and modification technique in accordance with an embodiment of the present invention. 6, the planning system 600 using the schedule search and modification technique according to an embodiment of the present invention includes a plan database 610, a similar situation feature vector recommender 620, and a plan modifier 630 ). &Lt; / RTI &gt;

먼저 본 발명의 일 실시예에 따른 상기 계획 데이터베이스(610)는 앞서 살핀 바와 갈이, 적절하게 선정된 문제 상황에 대한 문제 상황 특징 벡터를 산정하고 그 구성 항목의 값들을 조금씩 변경해 가면서 계획 생성기(220)를 이용하여 생성된 상황 특징 벡터에 대한 각 계획 및 계획의 성능치를 포함하게 된다. 또한 이에 더하여, 상기 상황 특징 벡터로부터 만들어진 파생 상황 특징 벡터 및 그에 대한 계획 및 계획의 성능치도 함께 포함하여 관리할 수 있다.First, the plan database 610 according to an embodiment of the present invention calculates the problem situation feature vector for the appropriately selected problem situation and changes the values of the configuration items slightly, ) And the performance values of each plan and plan for the generated context feature vector. In addition to this, it is possible to manage the derivation feature vector made from the context feature vector and the performance values of the plan and the plan together.

다음으로, 유사 상황 특징 벡터 추천기(620)도 앞서 살핀 바와 같이, 주어진 문제 상황에 따르는 문제 상황 특징 벡터에 대하여 계획 생성기(220)를 직접 사용하여 생성할 경우의 계획의 성능치와 가장 근접한 성능치를, 계획 수정기(630)를 통하여 산출할 수 있을 것으로 예측되는 계획을 가진 유사 상황 특징 벡터를 상기 계획 데이터베이스(610)에서 검출하거나, 계획 수정기(630)를 통하여 가장 높은 성능치를 가지는 계획을 산출할 수 있을 것으로 예측되는 계획을 가진 유사 상황 특징 벡터를 상기 계획 데이터베이스(610)에서 검출해 내게 된다.Next, the similarity condition feature vector recommender 620, as described above, also obtains the performance closest to the performance value of the plan when the planner generator 220 is directly generated for the problem situation feature vector according to the given problem situation A similarity condition characteristic vector having a plan that can be calculated through the plan creator 630 is detected in the plan database 610 or a plan having the highest performance value is determined through the plan creator 630 A similar situation feature vector having a plan that can be calculated is detected in the plan database 610.

이어서, 상기 계획 수정기(630)도 앞서 살핀 바와 마찬가지로, 상기 유사 상황 특징 벡터에 대한 계획을 수정하여 상기 문제 상황에 대한 계획을 도출해 내게 된다.Then, the plan corrector 630 also revises the plan for the similar situation feature vector to derive a plan for the problem situation, as described above.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서 본 발명에 기재된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의해서 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments described in the present invention are not intended to limit the technical spirit of the present invention but to illustrate the present invention. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents thereof should be construed as being included in the scope of the present invention.

210 : 문제 상황 생성기
220 : 계획 생성기
310 : 상황 특징 벡터 파생기
600 : 계획 검색 및 수정 기법을 이용한 자원 할당 계획 시스템
610 : 계획 데이터베이스
620 : 유사 상황 특징 벡터 추천기
630 : 계획 수정기
210: Problem Situation Generator
220: Plan Generator
310: Situation Characteristic Vector Derivator
600: Resource allocation planning system using plan search and modification
610: Planning database
620: Similar situation feature vector recommender
630: Planner

Claims (31)

(a) 주어진 문제 상황에 대해 문제 상황 특징 벡터를 생성하는 단계;
(b) 계획 데이터베이스를 검색하여,
상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대해 기 생성 해놓은 계획을 검출하는 단계; 및
(c) 상기 유사 상황 특징 벡터에 대해 기생성해 놓은 계획을 수정하여 상기 문제 상황에 대한 해로서 계획을 산출하는 단계를 포함하며,
상기 계획 데이터베이스에는 복수의 상황 특징 벡터와 그에 대해 기생성된 계획들이 저장되어 관리되는 것을 특징으로 하는 자원 할당 계획 방법.
(a) generating a problem situation feature vector for a given problem situation;
(b) searching the planning database,
Detecting a similar situation feature vector for the problem situation feature vector and an already generated plan for the problem situation feature vector; And
(c) calculating a plan as a solution to the problem situation by modifying a preliminary plan for the similar situation feature vector,
Wherein a plurality of context feature vectors and pre-generated plans are stored and managed in the plan database.
제1항에 있어서,
상기 (a) 단계에 앞서,
(p) 복수의 상황 특징 벡터에 대한 계획을 미리 생성해서 저장해놓기 위해서, 다양한 상황 특징 벡터를 입력으로 받아 별도의 계획 생성기(planner)를 사용하여 계획을 생성함으로써,
상기 계획 데이터베이스를 생성하는 단계를 더 포함하는 것을 특징으로 하는 자원 할당 계획 방법.
The method according to claim 1,
Prior to step (a)
(p) In order to generate and store plans for a plurality of context feature vectors in advance, various context feature vectors are input and a plan is generated using a separate planner,
Further comprising the step of generating the plan database.
제2항에 있어서,
상기 (p) 단계에서,
상기 계획 데이터베이스를 생성함에 있어,
문제 상황이 복수로 존재하는 경우 상기 복수의 문제 상황을 대표할 수 있는 대표치를 사용하거나 상기 복수의 문제 상황의 데이터를 클러스터링(clustering)하여 사용함으로써 상기 계획 데이터베이스의 용량을 줄이는 것을 특징으로 하는 자원 할당 계획 방법.
3. The method of claim 2,
In the step (p)
In creating the plan database,
Characterized by using a representative value representative of the plurality of problem situations or clustering data of the plurality of problem situations to reduce the capacity of the plan database when a plurality of problem situations exist Planning method.
제2항에 있어서,
상기 (p) 단계에서,
기존에 존재하였던 문제 상황으로부터 미리 정해진 기준 이상으로 변경되는 문제 상황을 포함하여 계획 데이터베이스를 미리 생성하는 것을 특징으로 하는 자원 할당 계획 방법.
3. The method of claim 2,
In the step (p)
Wherein the planning database is generated in advance including a problem situation in which a problem situation changed from a previously existing problem situation to a predetermined reference value or more.
제1항에 있어서,
상기 (b) 단계는,
유사 상황 특징 벡터 추천기를 사용하여,
상기 계획 데이터베이스에 저장되어 있는 상황 특징 벡터들에 대한 계획 중에서,
상기 계획이 계획 수정기를 거쳐 산출되는 수정된 계획과,
상기 문제 상황 특징 벡터가 계획 생성기를 거쳐 산출되는 계획을 비교할 때,
주어진 항목에 대한 성능치의 차이가 가장 적을 것으로 예측되는 유사 상황 특징 벡터들과 그들에 대한 계획들을 검출하는 단계이며,
이때 상기 계획 데이터베이스에는 상기 상황 특징 벡터에 대한 계획의 성능치도 저장되어 관리되는 것을 특징으로 하는 자원 할당 계획 방법.
The method according to claim 1,
The step (b)
Using a similar situation feature vector recommender,
Among the plans for the context feature vectors stored in the plan database,
A modified plan in which the plan is calculated through a plan modifier,
When the problem situation feature vector is compared through a plan generator,
Detecting similarity situation feature vectors that are expected to have the smallest difference in performance value for a given item and plans for them,
Wherein the performance value of the plan for the context feature vector is also stored and managed in the plan database.
제5항에 있어서,
상기 (b) 단계는,
유사 상황 특징 벡터 추천기를 사용하여,
상기 계획 데이터베이스에서 상기 문제 상황 특징 벡터와 가장 유사한 한개 이상의 상황 특징 벡터를 검출하는 단계인 것을 특징으로 하는 자원 할당 계획 방법.
6. The method of claim 5,
The step (b)
Using a similar situation feature vector recommender,
And detecting one or more context feature vectors most similar to the problem context feature vector in the plan database.
제6항에 있어서,
상기 (b) 단계에 앞서,
(q) 복수의 상황 특징 벡터 및 그에 대한 계획에 대하여,
기계 학습(machine learning) 기법을 적용하여 상기 유사 상황 특징 벡터 추천기를 생성하는 단계를 더 포함하는 것을 특징으로 하는 자원 할당 계획 방법.
The method according to claim 6,
Prior to step (b)
(q) For a plurality of context feature vectors and their plans,
And generating the similar situation feature vector recommender by applying a machine learning technique.
제7항에 있어서
상기 기계 학습 기법은 써포트 벡터 기계(support vector machine) 또는 k-NN(k-Nearest Neighbor) 기법을 포함하는 것을 특징으로 하는 자원 할당 계획 방법.
The method of claim 7, wherein
Wherein the machine learning technique comprises a support vector machine or k-Nearest Neighbor (k-NN) technique.
제1항에 있어서,
상기 (b) 단계는,
상기 계획 데이터베이스 중 일부 상황 특징 벡터만을 검색하여 상기 유사 상황 특징 벡터를 검출하도록,
사전에 상기 계획 데이터베이스의 상황 특징 벡터를 필터링하는 단계를 포함하는 것을 특징으로 하는 자원 할당 계획 방법.
The method according to claim 1,
The step (b)
And to detect the similar situation feature vector by searching only some of the situation feature vectors in the plan database,
And filtering the context feature vectors of the plan database in advance.
제1항에 있어서,
상기 계획 데이터베이스에는 복수의 상황 특징 벡터와 그에 대해 상기 계획 생성기를 이용하여 미리 생성한 계획의 전부 또는 계획의 주요 일부 정보가 저장되어 관리되고,
상기 (b) 단계에서는,
계획 데이터베이스의 상황 특징 벡터를 검색하여,
상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대한 계획의 전부 또는 일부 정보를 유사 상황 특징 벡터 추천기로부터 추천받고,
상기 (c) 단계에서는,
상기 유사 상황 특징 벡터에 대한 계획의 전부 또는 일부 정보를 수정하여 상기 문제 상황에서의 계획을 생성하는 것을 특징으로 하는 자원 할당 계획 방법.
The method according to claim 1,
Wherein the plan database stores a plurality of context feature vectors and all of the plans previously generated using the plan generator with respect to the plurality of context feature vectors,
In the step (b)
Retrieves the context feature vector of the plan database,
All or some of the similar situation feature vectors for the problem situation feature vector and a plan for the similar situation feature vector are recommended from the similar situation feature vector recommender,
In the step (c)
Wherein the plan in the problem situation is generated by modifying all or part of the plan for the similar situation feature vector.
제1항에 있어서,
상기 (b) 단계는,
계획 데이터베이스의 상황 특징 벡터 및 파생 상황 특징 벡터를 검색하여,
상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대한 계획을 유사 상황 특징 벡터 추천기를 이용하여 검출하는 단계이며,
상기 계획 데이터베이스에는 복수의 상황 특징 벡터 및 그에 대한 계획에 더하여,
복수의 파생 상황 특징 벡터 및 그에 대한 계획이 함께 저장되어 관리되는 것을 특징으로 하는 자원 할당 계획 방법.
The method according to claim 1,
The step (b)
The context feature vector and derivative feature vector of the plan database are retrieved,
Detecting a similar situation feature vector for the problem situation feature vector and a plan therefor using a similar situation feature vector recommender,
In addition to the plurality of context feature vectors and their plans,
A plurality of derivation feature vectors and a plan for the plurality of derivation feature vectors are stored and managed together.
제1항에 있어서,
상기 (c) 단계는,
계획 수정기(repairer)를 사용하여,
상기 유사 상황 특징 벡터 및 그에 대해 계획 생성기를 이용하여 미리 생성한 계획 및 상기 문제 상황 특징 벡터를 입력으로 하여,
상기 문제 상황 특징 벡터에 대한 계획을 산출하는 단계인 것을 특징으로 하는 자원 할당 계획 방법.
The method according to claim 1,
The step (c)
Using a planner,
A similarity situation feature vector, a plan previously generated using the similarity feature vector, and a problem situation feature vector,
And calculating a plan for the problem situation feature vector.
제12항에 있어서,
상기 계획 수정기는,
유사 상황 특징 벡터 추천기가 한개 이상의 유사 상황 특징 벡터를 추천하는 경우,
각 유사 상황 특징 벡터에 따르는 계획을 수정하여 그 중 계획 성능치가 가장 좋은 계획을 산출하는 것을 특징으로 하는 자원 할당 계획 방법.
13. The method of claim 12,
The plan modifier comprises:
When the similar situation feature vector recommender recommends one or more similar situation feature vectors,
And a plan corresponding to each similar situation feature vector is modified to calculate a plan having the best plan performance value.
제13항에 있어서,
상기 계획 수정기는,
상기 유사 상황 특징 벡터에 대해 미리 생성된 계획을 상기 문제 상황 특징 벡터에 적합하도록 수정한 계획과 상기 문제 상황 특징 벡터를 입력으로 상기 계획 생성기를 이용하여 자원 할당 계획을 직접 생성한다고 가정했을 때에 도출되는 계획과의 성능 차이를 최소화 할 수 있는 방식에 따라 계획을 수정하는 것이거나,
상기 문제 상황 특징 벡터에 대해 최적의 성능이 달성될 수 있도록 상기 유사 상황 특징 벡터에 대해 미리 생성된 계획을 수정하는 것을 특징으로 하는 자원 할당 계획 방법.
14. The method of claim 13,
The plan modifier comprises:
A plan that is obtained by modifying a plan generated beforehand for the similar situation feature vector so as to fit the problem situation feature vector and a case where it is assumed that a resource allocation plan is directly generated using the plan generator by inputting the problem situation feature vector Modifying the plan in a way that minimizes the performance gap with the plan,
Wherein the pre-generated plan is modified for the similar situation feature vector so that optimal performance can be achieved for the problem situation feature vector.
제13항에 있어서,
상기 계획 수정기는,
복수의 상황 특징 벡터에 대해서 기존의 계획 생성기를 활용하여 생성된 계획들을 학습 데이터로 이용함으로써,
상기 계획 수정기의 상기 기존의 계획 생성기를 모사하도록,
기계 학습을 적용하여 생성된 것임을 특징으로 하는 자원 할당 계획 방법.
14. The method of claim 13,
The plan modifier comprises:
By using the plans generated by using the existing plan generator for a plurality of context feature vectors as learning data,
To simulate the existing plan generator of the planner,
Wherein the resource allocation is generated by applying machine learning.
제15항에 있어서,
상기 기계 학습 기법은 온라인 학습(on-line learning), 써포트 벡터 기계(support vector machine), 강화학습 (reinforcement learning) 기법을 포함하는 것을 특징으로 하는 자원 할당 계획 방법.
16. The method of claim 15,
Wherein the machine learning techniques include on-line learning, support vector machines, and reinforcement learning techniques.
제15항에 있어서,
상기 복수의 파생 상황 특징 벡터에 대한 계획을 생성함에 있어 계획 수정기를 사용하는 경우,
상기 계획 데이터베이스에는 상기 계획 수정기가 상기 유사 상황 특징 벡터의 계획을 수정할 때에 소요된 계획 수정 횟수도 함께 기록되어 관리되고,
추후 상기 계획 수정 횟수 정보를 상기 계획 수정기에 의한 계획 수정 작업시에 이용하는 것을 특징으로 하는 자원 할당 계획 방법.
16. The method of claim 15,
When a plan modifier is used to generate a plan for the plurality of derivative feature vectors,
The planner database records and manages the number of plan corrections required when the planner modifies the plan of the similar situation feature vector,
And the plan correction frequency information is used later at the time of plan correction work by the plan corrector.
제1항에 있어서,
상기 문제 상황 특징 벡터는,
가용 자원의 유형, 가용 자원의 유형별 개수, 활동의 유형, 활동의 유형별 개수, 각 활동 유형에서 세부 활동간의 선후 관계, 대체 자원, 대체 경로, 활동간 우선 순위, 활동별 완료 요구일, 자원의 설정 변경시의 제약, 자원의 설정 상태, 활동 및 세부 활동과 관련된 비용 및 시간 정보, 계산된 계획 정보, 계획 성능치, 목적함수 중 하나 이상을 포함하는 것을 특징으로 하는 자원 할당 계획 방법.
The method according to claim 1,
The problem situation feature vector may include:
The type of resources available, the number of resources available, the type of activity, the number of activities by type, the pre-relationship between sub-activities in each activity type, the alternate resource, the alternate path, the priority between activities, Wherein the resource allocation information includes at least one of a constraint upon change, a setting state of resources, cost and time information related to activities and detailed activities, calculated plan information, plan performance value, and objective function.
제6항에 있어서,
상기 유사 상황 특징 벡터 추천기가 유사 상황 특징 벡터를 검출함에 있어,
상기 검출되는 유사 상황 특징 벡터의 오류 가능성이 특정한 임계치를 넘는 경우,
계획 수정기를 이용하지 않고 별도의 계획 생성기를 사용하여 직접 상기 문제 상황에 대한 계획을 산출하는 것을 특징으로 하는 자원 할당 계획 방법.
The method according to claim 6,
When the similar situation feature vector recommender detects the similar situation feature vector,
If the probability of error of the detected similarity feature vector exceeds a certain threshold value,
Wherein a plan for the problem situation is directly calculated using a separate plan generator without using a plan corrector.
복수의 상황 특징 벡터 및 그에 대해 별도의 계획 생성기를 사용하여 생성된 계획과 계획 성능치를 저장하고 관리하는 계획 데이터베이스;
주어진 문제 상황으로부터 문제 상황 특징 벡터를 생성한 후,
상기 계획 데이터베이스를 검색하여 상기 문제 상황 특징 벡터와 가장 유사한 상황 특징 벡터를 검출하거나, 상기 계획 데이터베이스에 저장되어 있는 상황 특징 벡터들에 대한 계획 중에서, 상기 계획이 계획 수정기를 거쳐 산출되는 수정된 계획과, 상기 문제 상황 특징 벡터가 상기 계획 생성기를 거쳐 산출되는 계획을 비교할 때, 주어진 항목에 대한 성능치의 차이가 가장 적을 것으로 예측되는 유사 상황 특징 벡터와 그에 대한 기생성된 계획을 도출하는 유사 상황 특징 벡터 추천기; 및
상기 하나 이상의 유사 상황 특징 벡터에 대한 계획을 수정하여 상기 주어진 문제 상황에 대한 해로서 계획을 산출하는 계획 수정기를 포함하는 것을 특징으로 하는 자원 할당 계획 시스템.
A plan database storing and managing plan and plan performance values generated using a plurality of situation feature vectors and a separate plan generator therefor;
After generating a problem situation feature vector from a given problem situation,
Searching the plan database to detect a situation feature vector most similar to the problem situation feature vector, or, from a plan for the context feature vectors stored in the plan database, And a similarity feature vector for deriving a similarity condition feature vector that is expected to have the smallest difference in performance value for a given item and the already generated plan for the given item when comparing the plan calculated through the plan generator, Recommendation period; And
And a plan modifier for modifying a plan for the one or more similar situation feature vectors to produce a plan as a solution to the given problem situation.
제20항에 있어서,
상기 유사 상황 특징 벡터 추천기는,
복수의 상황 특징 벡터 및 그에 대한 계획에 대하여,
기계 학습(machine learning) 기법을 적용하여 생성된 것임을 특징으로 하는 자원 할당 계획 시스템.
21. The method of claim 20,
The similarity condition feature vector recommender includes:
For a plurality of context feature vectors and their plans,
Wherein the resource allocation is generated by applying a machine learning technique.
제20항에 있어서,
상기 계획 수정기는,
상기 문제 상황 특징 벡터, 그에 대한 상기 유사 상황 특징 벡터 및 상기 유사 상황 특징 벡터에 대한 계획을 고려하여,
상기 계획의 수정에 따른 수정된 계획과 상기 문제 상황 특징 벡터를 입력으로 상기 계획 생성기를 이용하여 자원 할당 계획을 직접 생성한다고 가정했을 때에 도출되는 계획과의 성능치의 차이를 최소화할 수 있는 방식에 따라 계획을 수정하는 것을 특징으로 하는 자원 할당 계획 시스템.
21. The method of claim 20,
The plan modifier comprises:
Taking into account the problem situation feature vector, the similarity situation feature vector for it, and the plan for the similarity situation feature vector,
According to a method capable of minimizing the difference in the performance value from the plan derived when the modified plan according to the modification of the plan and the problem situation feature vector are input and the resource plan is directly generated using the plan generator Wherein the plan is modified.
제22항에 있어서,
상기 계획 수정기는,
복수의 상황 특징 벡터에 대해서 기존의 계획 생성기를 활용하여 생성된 계획들을 학습 데이터로 이용함으로써,
임의의 문제 상황 특징 벡터가 주어졌을 때,
계획 수정기의 수정 결과가 기존의 계획 생성기가 생성한 계획을 모사하도록,
기계 학습을 적용하여 생성된 것임을 특징으로 하는 자원 할당 계획 시스템.
23. The method of claim 22,
The plan modifier comprises:
By using the plans generated by using the existing plan generator for a plurality of context feature vectors as learning data,
Given an arbitrary problem situation feature vector,
In order for the modification result of the plan corrector to simulate the plan generated by the existing plan generator,
Wherein the resource allocation is generated by applying machine learning.
제20항에 있어서,
상기 계획 데이터베이스는,
문제 상황이 복수로 존재하는 경우 상기 복수의 문제 상황을 대표할 수 있는 대표치를 사용하거나 상기 복수의 문제 상황의 데이터를 클러스터링(clustering)하여 사용함으로써 상기 계획 데이터베이스의 용량을 줄여 생성된 것임을 특징으로 하는 자원 할당 계획 시스템.
21. The method of claim 20,
Wherein the plan database comprises:
Wherein a plurality of problem situations are generated by using a representative value representative of the plurality of problem situations or by reducing the capacity of the plan database by clustering and using data of the plurality of problem situations Resource allocation planning system.
제20항에 있어서,
상기 계획 데이터베이스는,
기존에 존재하였던 문제 상황으로부터 미리 정해진 기준 이상으로 변경되는 문제 상황을 포함하여 미리 생성되는 것을 특징으로 하는 자원 할당 계획 시스템.
21. The method of claim 20,
Wherein the plan database comprises:
And a problem situation which is changed from a previously existing problem situation to a predetermined reference value or more.
제20항에 있어서,
상기 유사 상황 특징 벡터 추천기는,
상기 계획 데이터베이스 중 일부 상황 특징 벡터만을 검색하여 상기 유사 상황 특징 벡터를 검출하도록,
사전에 상기 계획 데이터베이스의 상황 특징 벡터를 필터링하는 것을 특징으로 하는 자원 할당 계획 시스템.
21. The method of claim 20,
The similarity condition feature vector recommender includes:
And to detect the similar situation feature vector by searching only some of the situation feature vectors in the plan database,
Wherein the system is configured to filter the context feature vector of the plan database in advance.
제20항에 있어서,
상기 계획 데이터베이스에는 복수의 상황 특징 벡터와 그에 대해 상기 계획 생성기를 이용하여 미리 생성된 계획의 전부 또는 계획의 주요 일부 정보가 저장되어 관리되고,
상기 유사 상황 특징 벡터 추천기는,
계획 데이터베이스의 상황 특징 벡터를 검색하여,
상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대한 계획의 전부 또는 일부 정보를 추출하며,
상기 계획 수정기는,
상기 유사 상황 특징 벡터에 대한 계획의 전부 또는 일부 정보를 수정하여 상기 문제 상황에서의 계획을 생성하는 것을 특징으로 하는 자원 할당 계획 시스템.
21. The method of claim 20,
In the plan database, a plurality of context feature vectors and all or part of the plan information previously generated using the plan generator are stored and managed,
The similarity condition feature vector recommender includes:
Retrieves the context feature vector of the plan database,
Extracts all or a part of the similar situation feature vector for the problem situation feature vector and a plan for the similar situation feature vector,
The plan modifier comprises:
And generates a plan in the problem situation by modifying all or part of the plan for the similar situation feature vector.
제20항에 있어서,
상기 유사 상황 특징 벡터 추천기는,
계획 데이터베이스의 상황 특징 벡터 및 파생 상황 특징 벡터를 검색하여,
상기 문제 상황 특징 벡터에 대한 유사 상황 특징 벡터 및 그에 대한 계획을 검출하며,
상기 계획 데이터베이스에는 복수의 상황 특징 벡터 및 그에 대한 계획에 더하여,
복수의 파생 상황 특징 벡터 및 그에 대한 계획이 함께 저장되어 관리되는 것을 특징으로 하는 자원 할당 계획 시스템.
21. The method of claim 20,
The similarity condition feature vector recommender includes:
The context feature vector and derivative feature vector of the plan database are retrieved,
Detecting a similar situation feature vector for the problem situation feature vector and a plan therefor,
In addition to the plurality of context feature vectors and their plans,
Wherein a plurality of derivation feature vectors and a plan thereof are stored together and managed.
제28항에 있어서,
상기 복수의 파생 상황 특징 벡터에 대한 계획을 생성함에 있어 계획 수정기를 사용하는 경우,
상기 계획 데이터베이스에는 상기 계획 수정기가 상기 유사 상황 특징 벡터의 계획을 수정할 때에 소요된 계획 수정 횟수도 함께 기록되어 관리하고,
추후 상기 계획 수정 횟수 정보를 상기 계획 수정기에 의한 계획 수정 작업시에 이용하는 것을 특징으로 하는 자원 할당 계획 시스템.
29. The method of claim 28,
When a plan modifier is used to generate a plan for the plurality of derivative feature vectors,
The planning database also records and manages the number of plan modification times required when the plan modifier modifies the plan of the similar situation feature vector,
And the plan modification frequency information is used later in the plan modification work by the plan modification unit.
제20항에 있어서,
상기 문제 상황 특징 벡터는,
가용 자원의 유형, 가용 자원의 유형별 개수, 활동의 유형, 활동의 유형별 개수, 각 활동 유형에서 세부 활동 간의 선후 관계, 대체 자원, 대체 경로, 활동간 우선 순위, 활동별 완료 요구일, 자원의 설정 변경시의 제약, 자원의 설정 상태, 활동 및 세부 활동과 관련된 비용 및 시간 정보, 계산된 계획 정보, 계획 성능치, 목적함수 중 하나 이상을 포함하는 것을 특징으로 하는 자원 할당 계획 시스템.
21. The method of claim 20,
The problem situation feature vector may include:
The type of resources available, the number of resources available, the type of activity, the number of activities by type, the pre-relationship between sub-activities in each activity type, the alternate resource, the alternate path, the priority between activities, Wherein the resource allocation planning system includes at least one of a constraint upon change, a setting state of resources, cost and time information related to activities and detailed activities, calculated plan information, plan performance values, and objective functions.
제20항에 있어서,
상기의 유사 상황 특징 벡터 추천기가 유사 상황 특징 벡터를 검출함에 있어,
상기 검출되는 유사 상황 특징 벡터의 오류 가능성이 특정한 임계치를 넘는 경우,
계획 수정기를 사용하지 않고 별도의 계획 생성기를 사용하여 상기 문제 상황에 대한 계획을 직접 산출하는 것을 특징으로 하는 자원 할당 계획 시스템.
21. The method of claim 20,
In the similar situation feature vector recommender, when detecting the similar situation feature vector,
If the probability of error of the detected similarity feature vector exceeds a certain threshold value,
Wherein a plan for the problem situation is directly calculated by using a separate plan generator without using a plan corrector.
KR1020130091886A 2013-08-02 2013-08-02 A method and system for fast resource allocation planning using plan retrieval and repair KR101617689B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130091886A KR101617689B1 (en) 2013-08-02 2013-08-02 A method and system for fast resource allocation planning using plan retrieval and repair

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130091886A KR101617689B1 (en) 2013-08-02 2013-08-02 A method and system for fast resource allocation planning using plan retrieval and repair

Publications (2)

Publication Number Publication Date
KR20150015884A KR20150015884A (en) 2015-02-11
KR101617689B1 true KR101617689B1 (en) 2016-05-04

Family

ID=52573040

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130091886A KR101617689B1 (en) 2013-08-02 2013-08-02 A method and system for fast resource allocation planning using plan retrieval and repair

Country Status (1)

Country Link
KR (1) KR101617689B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102124454B1 (en) * 2018-11-30 2020-06-19 한국생산기술연구원 Method and apparatus for providing similar technology through structured of technical information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259712A (en) 1999-03-04 2000-09-22 Mitsubishi Electric Corp Care plan generation assisting device and care plan generating method of care plan generation assisting device
JP2008299847A (en) 2007-05-29 2008-12-11 Palo Alto Research Center Inc Model-based planning using query-based component executable instruction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259712A (en) 1999-03-04 2000-09-22 Mitsubishi Electric Corp Care plan generation assisting device and care plan generating method of care plan generation assisting device
JP2008299847A (en) 2007-05-29 2008-12-11 Palo Alto Research Center Inc Model-based planning using query-based component executable instruction

Also Published As

Publication number Publication date
KR20150015884A (en) 2015-02-11

Similar Documents

Publication Publication Date Title
Graves et al. Supply chain design: safety stock placement and supply chain configuration
US20240193543A1 (en) System and Method to Predict Service Level Failure in Supply Chains
Lin et al. Build-to-order supply chain network design under supply and demand uncertainties
Simchi-Levi et al. Performance evaluation of stochastic multi‐echelon inventory systems: A survey
Barros et al. A combinatorial approach to level of repair analysis
EP3477565A1 (en) Inventory control and ordering device, inventory control and ordering method, and computer program
Modrák et al. Impacts of RFID implementation on cost structure in networked manufacturing
US11875292B2 (en) Image-based decomposition for fast iterative solve of complex linear problems
Thomassey A simulation based comparison: Manual and automatic distribution setup in a textile yarn rewinding unit of a yarn dyeing factory
US20230117588A1 (en) Systems and methods for use of a global registry with automated demand profiling via machine learning to optimize inventory management
Wang et al. An inventory pooling model for spare units of critical systems that serve multi-companies
US20240119413A1 (en) Domain-Aware Decomposition for Supply Chain Master Planning using Linear Programming
Samaranayake Improving manufacturing lead time using holistic approach to planning and execution with integrated data structures: numerical simulation and comparison
KR20220146313A (en) A method for providing information related to item scrap and an apparatus for the same
KR101617689B1 (en) A method and system for fast resource allocation planning using plan retrieval and repair
WO2018008303A1 (en) Opportunity loss calculation system, opportunity loss calculation method, and opportunity loss calculation program
US11948163B2 (en) User interface for visualizing output from supply chain replenishment simulation
US10109004B1 (en) Assortment pack planning
US11816752B2 (en) Image-based analytics of supply chain optimization problems
Fani et al. Optimizing production allocation with simulation in the fashion industry: A multi-company case study
JP2023013359A (en) Device and method for optimizing logistics work
Singh et al. A modified EOQ model using purchase dependency and partial backordering
Song et al. Dynamic Pricing and Inventory Control of Substitutable Products in a Nonstationary Environment
JP5984686B2 (en) Information processing apparatus and program
Wang et al. Robust multi‐echelon inventory management with multiple suppliers

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant