KR20240164215A - Multi-constraint greedy job scheduling system and method thereof - Google Patents
Multi-constraint greedy job scheduling system and method thereof Download PDFInfo
- Publication number
- KR20240164215A KR20240164215A KR1020230061822A KR20230061822A KR20240164215A KR 20240164215 A KR20240164215 A KR 20240164215A KR 1020230061822 A KR1020230061822 A KR 1020230061822A KR 20230061822 A KR20230061822 A KR 20230061822A KR 20240164215 A KR20240164215 A KR 20240164215A
- Authority
- KR
- South Korea
- Prior art keywords
- machine
- scheduling
- work
- task
- unit
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06314—Calendaring for a resource
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1091—Recording time for administrative or management purposes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/04—Manufacturing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Manufacturing & Machinery (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
Description
본 발명은 금형 가공 스마트 공장의 자동 작업 스케줄링 시스템 및 방법에 관한 것으로, 더욱 상세하게는 금형을 생성하기 위한 하나 이상의 작업 중 단일의 작업을 수행하는 다수의 기계에 다중 구속조건 그리디(Multi-Constraint Greedy) 알고리즘을 적용하여 임의 금형에 대한 태스크의 다수 작업을 자동 할당하여 자동으로 금형 작업에 대한 스케줄링 수행하는 다중 구속조건 그리디 작업 스케줄링 시스템 및 방법에 관한 것이다. The present invention relates to an automatic work scheduling system and method for a smart factory for mold processing, and more particularly, to a multi-constraint greedy work scheduling system and method for automatically allocating multiple operations of tasks for an arbitrary mold by applying a multi-constraint greedy algorithm to multiple machines performing a single operation among one or more operations for creating a mold, thereby automatically performing scheduling for a mold operation.
일반적으로 금형 가공 공장은 금형을 가공하기 위한 공정작업을 처리하는 다수의 기계를 구비하고, 다수의 금형을 효율적으로 생산하기 위해 다수의 금형 각각에 대한 다수의 공정작업을 기계들에 효율적으로 할당하는 작업 스케줄링을 수행하고 있다.Typically, a mold processing plant is equipped with multiple machines that handle the process operations for processing molds, and performs work scheduling to efficiently allocate multiple process operations for each of the multiple molds to the machines in order to efficiently produce multiple molds.
전통적으로 금형 가공 공장에서 이러한 작업 스케줄링은 대부분 해당 관리자의 노동에 의해 이루어졌다. 그러나 사람에 의한 작업 스케줄링은 많은 시간이 소요되고, 효율적으로 작업을 기계들에 할당하기 어려운 문제점이 있다.Traditionally, in mold processing plants, most of these work schedulings have been done by the labor of the relevant managers. However, there is a problem that work scheduling by people takes a lot of time and it is difficult to efficiently assign work to machines.
또한, 최근 인공지능(Artificial Intelligent: AI)의 붐에 이어 스마트 팩토리 기술이 빠른 속도로 확산되고 있어 사회적 변화를 일으키고 있으며, 이러한 사회적 변화에 따라 기업은 작업 예약 및 처리를 돕기 위해 고급 자동 기술을 활용하려고 시도하고 있으며, 스마트 공장의 공정작업을 자동 할당하는 자동 작업 스케줄링 기술에 관한 관심이 지속해서 증가하고 있다.In addition, following the recent boom in artificial intelligence (AI), smart factory technology is spreading rapidly, causing social changes. In response to these social changes, companies are trying to utilize advanced automatic technologies to help with work scheduling and processing, and interest in automatic work scheduling technology that automatically allocates process tasks in smart factories is continuously increasing.
특히, 금형 가공 공장에서도 금형 가공을 위한 공정작업의 스케줄링을 자동화하려고 노력하고 있으나, 금형 가공 공장에서 금형 가공을 위한 작업을 자동으로 스케줄링하는 것은 소량, 혹은 중간 수준의 양을 가지고 다양한 제품들을 생산하는 단속적 생산 시스템(Job Shop) 생산 환경에서 많은 문제(통상 "Job Shop Scheduling Problem(JSSP)"이라 함)를 발생시키고 있다.In particular, mold processing plants are trying to automate the scheduling of process operations for mold processing, but automatically scheduling operations for mold processing in mold processing plants causes many problems (commonly referred to as "Job Shop Scheduling Problem (JSSP)") in the production environment of a discontinuous production system (job shop) that produces a variety of products in small or medium quantities.
JSSP 문제를 해결하기 위해서는 임의 금형의 가공 작업마다 미리 기계를 지정해야 하고, 가공 시간을 줄이기 위해 해당 기계에서 가공 금형의 순서를 할당할 수 있어야 한다.To solve the JSSP problem, it is necessary to pre-designate a machine for each processing operation of an arbitrary mold, and to be able to assign the order of the processing molds on that machine to reduce the processing time.
그러나 종래 자동 스케줄링 시스템의 기계들은 실제로 처리할 작업에 대해 알 수 없으며, 가공 금형의 순서를 할당할 수 없고, 생산 계약 시 가공 기한을 정할 수 없고, 고객의 요청에 의한 우선순위에 따른 스케줄링을 수행할 수 없는 문제점이 있다.However, the machines of the conventional automatic scheduling system have the problem that they do not know the work to be actually processed, cannot assign the order of processing molds, cannot set a processing deadline when contracting for production, and cannot perform scheduling according to priority according to customer requests.
따라서 본 발명의 목적은 금형을 생성하기 위한 하나 이상의 작업 중 단일의 작업을 수행하는 다수의 기계에 다중 구속조건 그리디(Multi-Constraint Greedy) 알고리즘을 적용하여 임의 금형에 대한 태스크의 다수 작업을 자동 할당하여 자동으로 금형 작업에 대한 스케줄링 수행하도록 하여, 고객의 요청에 의한 금형 우선순위를 설정할 수 있고, 가공 기한을 반영할 수 있으며, 기계의 효율을 고려한 작업 스케줄링을 수행할 수 있는 다중 구속조건 그리디 작업 스케줄링 시스템 및 방법을 제공함에 있다.Accordingly, the purpose of the present invention is to provide a multi-constraint greedy job scheduling system and method capable of automatically allocating multiple tasks for an arbitrary mold by applying a multi-constraint greedy algorithm to multiple machines performing a single task among one or more tasks for creating a mold, thereby automatically performing mold task scheduling, thereby enabling setting mold priorities according to customer requests, reflecting processing deadlines, and performing task scheduling that takes machine efficiency into account.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 다중 구속조건 그리디 작업 스케줄링 시스템은: 상품을 생산하기 위한 다수의 공정 중 하나의 공정에 대한 작업을 수행하는 기계에 구성되어, 상기 기계에 해당하는 공정 스케줄링 정보에 따라 상기 기계에 로딩된 재료에 대해 해당 공정작업을 처리하는 다수의 작업처리부; 및 제작 주문된 적어도 하나 이상의 상품에 대한 태스크, 각 태스크의 상품을 생산하기 위한 적어도 하나 이상의 공정, 공정별 기본 작업시간 및 상기 기계의 효율성을 저장하여 관리하고, 상품별 가공 순서를 결정하고, 결정된 상품 가공 순서, 상기 기계의 유휴시간 및 효율성을 다중 구속조건으로 그리디 알고리즘에 적용하여, 상기 상품별 공정작업을 해당 기계에 할당하여 기계별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 생성하고, 상기 스케줄링 정보를 출력하여 해당 작업처리부가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 의해 작업 처리되도록 하는 스케줄링부를 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a multi-constraint greedy job scheduling system, which comprises: a plurality of job processing units configured to be installed in a machine for performing a job for one of a plurality of processes for producing a product, and which process corresponding process jobs for materials loaded into the machine according to process scheduling information corresponding to the machine; and a scheduling unit configured to store and manage tasks for at least one product ordered for production, at least one process for producing the product of each task, basic work times for each process, and the efficiency of the machine, determine a processing order for each product, and apply the determined product processing order, idle time, and efficiency of the machine to a greedy algorithm with multiple constraints, thereby allocating the process jobs for each product to the corresponding machine to generate scheduling information including process scheduling information for each machine, and outputting the scheduling information so that the corresponding job processing unit processes the job according to the corresponding process scheduling information of the scheduling information.
상기 상품은 금형이되, 상기 스케줄링부는, 제작 주문된 적어도 하나 이상의 금형의 태스크에 대한 태스크 정보를 저장하는 금형 DB, 상기 금형별로 해당 금형을 제작하는 데 필요한 적어도 하나 이상의 공정 및 공정별 기본 작업시간을 포함하는 금형별 공정정보를 저장하는 작업 DB, 상기 기계별 효율성, 기계별 작업시간 및 기계별 유휴시간을 포함하는 기계상태정보를 저장하는 기계 DB, 기계별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 저장하는 스케줄링 DB를 포함하는 저장부; 미리 설정된 순서화 조건에 따라 상기 금형 DB에 등록된 태스크 정보의 태스크를 순서화하여 금형별 가공 순서를 결정하고, 순서화된 가공 순서 정보를 상기 금형 DB에 저장하는 태스크 순서화부; 결정된 금형 가공 순서, 상기 기계의 유휴시간 및 효율성을 다중 구속조건으로 그리디 알고리즘에 적용하여, 상기 상품별 공정작업을 해당 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 상기 작업 DB에 저장하는 작업 스케줄링부; 공정별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 생성하여 스케줄링 DB에 저장하는 태스크 스케줄링부; 및 상기 스케줄링 정보를 출력하여 해당 작업처리부가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 의해 작업 처리되도록 하는 스케줄링 출력부를 포함하는 것을 특징으로 한다.The above product is a mold, and the scheduling unit comprises: a storage unit including a mold DB storing task information on tasks of at least one mold for which a production order has been placed; a work DB storing mold-specific process information including at least one process and basic work time for each process required to manufacture the mold for each mold; a machine DB storing machine status information including the efficiency of each machine, the work time of each machine, and the idle time of each machine; and a scheduling DB storing scheduling information including process scheduling information of each machine; a task sequencing unit determining a processing order of each mold by sequencing tasks of the task information registered in the mold DB according to a preset sequencing condition, and storing the sequenced processing order information in the mold DB; a work scheduling unit applying the determined mold processing order, the idle time and the efficiency of the machine to a greedy algorithm as multiple constraints, and allocating the processing work of each product to the corresponding machine, thereby generating machine-specific process scheduling information according to the process scheduling of each machine, and storing the same in the work DB; a task scheduling unit generating scheduling information including process scheduling information of each process and storing it in the scheduling DB; And it is characterized by including a scheduling output unit that outputs the scheduling information so that the corresponding work processing unit processes the work according to the corresponding process scheduling information of the scheduling information.
상기 작업 스케줄링부는, 임의 금형의 태스크에 대한 공정 스케줄링 시 상기 기계 DB의 기계별 유휴시간을 확인하고 확인된 유휴시간을 출력하며, 임의 기계에 상기 태스크에 대한 공정작업의 할당 후, 상기 기계 DB의 상기 공정작업이 할당된 기계의 상기 유휴시간을 상기 공정작업의 할당에 따른 상기 공정작업의 실 작업시간 이후의 시간으로 갱신하는 유휴시간 확인부; 상기 기계 DB의 기계별 효율성을 반영하여 해당 기계에 할당된 공정작업의 기본 작업시간에 대한 실 작업시간을 계산하여 출력하는 태스크 공정작업시간 계산부; 및 상기 금형 가공 순서, 실 작업시간 및 기계별 유휴시간을 다중 구속조건으로 하여 그리디 알고리즘에 적용하여 공정작업을 상기 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 상기 작업 DB에 저장하는 공정작업 할당부를 포함하는 것을 특징으로 한다.The above-mentioned task scheduling unit is characterized by including: an idle time confirmation unit that checks the idle time of each machine of the machine DB when scheduling a process for a task of an arbitrary mold, outputs the checked idle time, and after allocating a process task for the task to an arbitrary machine, updates the idle time of the machine to which the process task of the machine DB is allocated to the time after the actual work time of the process task according to the allocation of the process task; a task process work time calculation unit that calculates and outputs the actual work time for the basic work time of the process task assigned to the corresponding machine by reflecting the efficiency of each machine of the machine DB; and a process work allocation unit that applies the mold processing order, the actual work time, and the idle time of each machine as multiple constraints to a greedy algorithm to allocate the process task to the machine, generates machine-specific process scheduling information according to the process scheduling of each machine, and stores it in the task DB.
상기 시스템은: 상기 작업처리부를 통해 기계별로 할당되어 진행 중인 공정작업의 작업시간에 따른 진도를 확인하여, 진행 작업시간 및 진도정보를 상기 스케줄링부로 제공하는 진도 확인부를 더 포함하되, 상기 스케줄링부는, 상기 진도 확인부로부터 진행 작업시간 및 진도정보를 입력받고, 상기 진행 작업시간 및 진도정보에 따른 해당 기계의 효율성을 계산하고, 기계 DB의 해당 기계의 효율성을 업데이트하는 공정 진도 확인부를 더 포함하는 것을 특징으로 한다.The above system: further includes a progress confirmation unit that confirms the progress of the process work being performed according to the work time allocated to each machine through the work processing unit and provides the progress work time and progress information to the scheduling unit, wherein the scheduling unit further includes a process progress confirmation unit that receives the progress work time and progress information from the progress confirmation unit, calculates the efficiency of the corresponding machine according to the progress work time and progress information, and updates the efficiency of the corresponding machine in the machine DB.
상기 태스크 공정작업시간 계산부는, 하기 수학식에 의해 상기 실 작업시간을 계산하는 것을 특징으로 한다.The above task process work time calculation unit is characterized by calculating the actual work time using the following mathematical formula.
[수학식][Mathematical formula]
여기서, t'j,A 는 효율성에 따라 추가되는 시간이고, p'bh,j는 A기계에 할당된 h(금형)의 j작업에 대한 기준 작업시간이며, ej,A는 기계A의 효율성이다.Here, t' j,A is the time added according to efficiency, p' bh,j is the standard working time for j operation of h (mold) assigned to machine A, and e j,A is the efficiency of machine A.
상기 태스크 순서화부는, 금형 태스크의 주문 순서에 따라 순서화하는 것을 특징으로 한다.The above task sequencing unit is characterized by sequencing according to the order of the mold tasks.
상기 태스크 순서화부는, 금형 태스크의 주문 순서와, 주문 작업 가격, 금형 태스크 납기 속도 및 납기 기간 중 어느 하나 이상을 적용한 중요도에 따라 순서화하는 것을 특징으로 한다.The above task sequencing unit is characterized by sequencing according to the ordering order of the mold tasks and the importance applied to at least one of the ordering work price, mold task delivery speed, and delivery period.
상기 시스템은: 주문받은 금형에 대한 태스크 정보, 주문받은 태스크의 금형 가공에 요구되는 공정정보, 공정별 기본 작업시간, 기계별 구동 시작시각 및 구동 종료시각을 포함하는 기계상태정보를 획득하여 상기 저장부의 금형 DB, 작업 DB 및 기계 DB에 저장하는 정보 획득부를 더 포함하는 것을 특징으로 한다.The above system is characterized by further including an information acquisition unit that acquires machine status information including task information for an ordered mold, process information required for mold processing of the ordered task, basic work time for each process, and operation start time and operation end time for each machine, and stores the information in the mold DB, work DB, and machine DB of the storage unit.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 다중 구속조건 그리디 작업 스케줄링 방법은: 스케줄링부가 제작 주문된 적어도 하나 이상의 금형에 대한 태스크, 각 태스크의 상품을 생산하기 위한 적어도 하나 이상의 공정, 공정별 기본 작업시간 및 상기 기계의 효율성을 저장하여 관리하고, 상품별 가공 순서를 결정하고, 결정된 상품 가공 순서, 상기 기계의 유휴시간 및 효율성을 다중 구속조건으로 그리디 알고리즘에 적용하여, 상기 상품별 공정작업을 해당 기계에 할당하여 기계별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 생성하는 스케줄링 과정; 및 상품을 생성하기 위한 다수의 공정 중 하나의 공정에 대한 작업을 수행하는 기계에 구성되는 작업처리부가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 따라 해당 공적 작업을 수행하는 공정작업 수행 과정을 포함하는 것을 특징으로 한다.In order to achieve the above object, the present invention provides a multi-constraint greedy job scheduling method, characterized in that: a scheduling process in which a scheduling unit stores and manages tasks for at least one mold for which a manufacturing order has been placed, at least one process for producing a product of each task, a basic working time for each process, and the efficiency of the machine, determines a processing order for each product, and applies the determined processing order, the idle time and the efficiency of the machine to a greedy algorithm as multiple constraints, thereby allocating the processing work for each product to a corresponding machine and generating scheduling information including process scheduling information for each machine; and a process processing execution process in which a task processing unit configured in a machine that performs a task for one process among a plurality of processes for producing a product performs a corresponding public task according to the corresponding process scheduling information of the scheduling information.
상기 스케줄링 과정은, 상기 스케줄링부가 태스크 순서화부를 통해 미리 설정된 순서화 조건에 따라 금형 DB에 등록된 태스크 정보의 태스크를 순서화하여 금형별 가공 순서를 결정하고, 순서화된 가공 순서 정보를 상기 금형 DB에 저장하는 태스크 순서화 단계; 상기 스케줄링부가 작업 스케줄링부를 통해 결정된 금형 가공 순서, 상기 기계의 유휴시간 및 효율성을 다중 구속조건으로 그리디 알고리즘에 적용하여, 상기 상품별 공정작업을 해당 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 작업 DB에 저장하는 작업 스케줄링 단계; 상기 스케줄링부가 태스크 스케줄링부를 통해 공정별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 생성하여 스케줄링 DB에 저장하는 태스크 스케줄링 단계; 및 상기 스케줄링부가 스케줄링 출력부를 통해 상기 스케줄링 정보를 출력하여 해당 작업처리부가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 의해 작업 처리되도록 하는 스케줄링 출력 단계를 포함하는 것을 특징으로 한다.The above scheduling process is characterized in that it includes a task sequencing step in which the scheduling unit determines a processing order for each mold by sequencing tasks of task information registered in the mold DB according to a pre-set sequencing condition through a task sequencing unit, and stores the sequenced processing order information in the mold DB; a task scheduling step in which the scheduling unit applies the mold processing order determined through the work scheduling unit, the idle time and efficiency of the machine to a greedy algorithm as multiple constraints, and allocates the product-specific process work to the corresponding machine to generate machine-specific process scheduling information according to the machine-specific process scheduling, and stores the generated process scheduling information in the work DB; a task scheduling step in which the scheduling unit generates scheduling information including process-specific process scheduling information through the task scheduling unit, and stores the generated process scheduling information in the scheduling DB; and a scheduling output step in which the scheduling unit outputs the scheduling information through a scheduling output unit so that the corresponding work processing unit processes the work by the corresponding process scheduling information of the scheduling information.
상기 작업 스케줄링 단계는, 상기 스케줄링부가 작업 스케줄링부의 유휴시간 확인부를 통해 임의 금형의 태스크에 대한 공정 스케줄링 시 상기 기계 DB의 기계별 유휴시간을 확인하고 확인된 유휴시간을 출력하는 유휴시간 확인 단계; 상기 스케줄링부가 상기 작업 스케줄링부의 태스크 공정작업시간 계산부를 통해 기계 DB의 기계별 효율성을 반영하여 해당 기계에 할당된 공정작업의 기본 작업시간에 대한 실 작업시간을 계산하여 출력하는 실 작업시간 계산 단계; 상기 스케줄링부가 상기 작업 스케줄링부의 공정작업 할당부를 통해 상기 금형 가공 순서, 실 작업시간 및 기계별 유휴시간을 다중 구속조건으로 하여 그리디 알고리즘에 적용하여 공정작업을 상기 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 작업 DB에 저장하는 공정작업 할당 단계; 및 상기 스케줄링부가 상기 유휴시간 확인부를 통해 임의 기계에 상기 태스크에 대한 공정작업의 할당 후, 상기 기계 DB의 상기 공정작업이 할당된 기계의 상기 유휴시간을 상기 공정작업의 할당에 따른 상기 공정작업의 실 작업시간 이후의 시간으로 갱신하는 유휴시간 갱신 단계를 포함하는 것을 특징으로 한다.The above work scheduling step includes: an idle time checking step in which the scheduling unit checks the idle time of each machine in the machine DB when scheduling a process for a task of an arbitrary mold through the idle time checking step of the work scheduling unit, and outputs the checked idle time; an actual working time calculation step in which the scheduling unit calculates and outputs the actual working time for the basic working time of the process task assigned to the corresponding machine by reflecting the efficiency of each machine in the machine DB through the task process working time calculation step of the work scheduling unit; a process working allocation step in which the scheduling unit applies the mold processing order, the actual working time, and the idle time of each machine as multiple constraints to a greedy algorithm through the process working allocation unit of the work scheduling unit to allocate the process tasks to the machines, thereby generating machine-specific process scheduling information according to the process scheduling of each machine, and storing the information in the work DB. And the scheduling unit includes an idle time updating step for updating the idle time of a machine to which the process task is assigned in the machine DB to a time after the actual working time of the process task according to the assignment of the process task after the process task is assigned to an arbitrary machine through the idle time checking unit.
상기 방법은: 진도 확인부가 상기 작업처리부를 통해 기계별로 할당되어 진행 중인 공정작업의 작업시간에 따른 진도를 확인하여, 진행 작업시간 및 진도정보를 상기 스케줄링부로 제공하는 진도 확인 과정을 더 포함하되, 상기 스케줄링 과정은, 상기 스케줄링부가 상기 진도 확인부로부터 진행 작업시간 및 진도정보를 상기 입력받고, 상기 진행 작업시간 및 진도정보에 따른 해당 기계의 효율성을 계산하고, 기계 DB의 해당 기계의 효율성을 업데이트하는 공정 진도 확인 단계를 더 포함하는 것을 특징으로 한다.The above method further includes a progress confirmation process in which the progress confirmation unit confirms the progress of the ongoing process work according to the work time allocated to each machine through the work processing unit and provides the ongoing work time and progress information to the scheduling unit, wherein the scheduling process further includes a process progress confirmation step in which the scheduling unit receives the ongoing work time and progress information from the progress confirmation unit, calculates the efficiency of the corresponding machine according to the ongoing work time and progress information, and updates the efficiency of the corresponding machine in the machine DB.
상기 태스크 공정작업시간 계산부가, 하기 수학식에 의해 상기 실 작업시간을 계산하는 것을 특징으로 한다.The above task process work time calculation unit is characterized in that it calculates the actual work time by the following mathematical formula.
[수학식][Mathematical formula]
여기서, t'j,A 는 효율성에 따라 추가되는 시간이고, p'bh,j는 A기계에 할당된 h(금형)의 j작업에 대한 기준 작업시간이며, ej,A는 기계A의 효율성이다.Here, t' j,A is the time added according to efficiency, p' bh,j is the standard working time for j operation of h (mold) assigned to machine A, and e j,A is the efficiency of machine A.
상기 태스크 순서화부는, 금형 태스크의 주문 순서와, 주문 작업 가격, 금형 태스크 납기 속도 및 납기 일수 중 어느 하나 이상을 적용한 중요도에 따라 순서화하는 것을 특징으로 한다.The above task sequencing unit is characterized by sequencing according to the ordering order of the mold tasks and the importance applied to at least one of the ordering work price, mold task delivery speed, and number of delivery days.
본 발명은 주문된 금형들을 순서화하므로 금형의 가공 순서가 사전에 고정되어 있어 JSSP를 해결할 수 있는 효과가 있다.The present invention has the effect of resolving JSSP by sequentially processing ordered molds so that the processing order of the molds is fixed in advance.
또한, 본 발명은 주문된 금형들을 금형 납기 기간 등의 다수 조건을 반영하여 순서화하므로 고객의 만족도를 향상시킬 수 있는 효과가 있다.In addition, the present invention has the effect of improving customer satisfaction by sequencing ordered molds while reflecting a number of conditions, such as the mold delivery period.
본 발명은 효율성과 작업시간이 다른 단일 기계들을 고려하여 스케줄링을 수행하므로 JSSP를 해결할 수 있고, 기계의 효율성을 극대화할 수 있으면서 작업 효율성을 향상시키고 작업 속도를 향상시킬 수 있는 효과가 있다.The present invention performs scheduling by considering single machines with different efficiencies and working times, so that it can solve JSSP, maximize the efficiency of the machines, and improve work efficiency and work speed.
도 1은 본 발명에 따른 다중 구속조건 그리디 작업 스케줄링 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 다중 구속조건 그리디 작업 스케줄링 시스템의 스케줄링부의 상세 구성을 나타낸 도면이다.
도 3은 본 발명의 제1실시 예에 따른 다중 구속조건 그리디 작업 스케줄링 방법을 나타낸 흐름도이다.
도 4는 본 발명의 제2실시 예에 따른 다중 구속조건 그리디 작업 스케줄링 방법을 나타낸 흐름도이다.FIG. 1 is a diagram showing the configuration of a multi-constraint greedy job scheduling system according to the present invention.
FIG. 2 is a drawing showing the detailed configuration of the scheduling part of the multi-constraint greedy job scheduling system according to the present invention.
FIG. 3 is a flowchart illustrating a multi-constraint greedy work scheduling method according to a first embodiment of the present invention.
FIG. 4 is a flowchart illustrating a multi-constraint greedy work scheduling method according to a second embodiment of the present invention.
이하 첨부된 도면을 참조하여 본 발명에 따른 다중 구속조건 그리디 작업 스케줄링 시스템의 구성 및 동작을 상세히 설명하고, 상기 시스템의 작업 스케줄링 방법을 설명한다. Hereinafter, with reference to the attached drawings, the configuration and operation of a multi-constraint greedy job scheduling system according to the present invention will be described in detail, and a job scheduling method of the system will be described.
도 1은 본 발명에 따른 다중 구속조건 그리디 작업 스케줄링 시스템의 구성을 나타낸 도면이다.FIG. 1 is a diagram showing the configuration of a multi-constraint greedy job scheduling system according to the present invention.
본 발명에 따른 다중 구속조건 그리디 작업 스케줄링 시스템은 다수의 작업처리부(10) 및 스케줄링부(20)를 포함하고, 실시 예에 따라 진도 확인부(30)를 더 포함한다.The multi-constraint greedy job scheduling system according to the present invention includes a plurality of job processing units (10) and a scheduling unit (20), and further includes a progress checking unit (30) according to an embodiment.
작업처리부(10)는 특정 상품을 생산하기 위한 다수의 공정(유형) 중 어느 하나의 공정에 대한 작업을 수행하는 기계에 구비되어, 상기 기계에 해당하는 공정 스케줄링 정보에 따라 상기 기계에 로딩된 재료에 대해 해당 공정작업을 처리한다. 상기 상품은 금형인 것이 바람직하나, 금형에 한정되는 것은 아니다. 이하 설명에서는 상기 상품이 금형인 경우를 예를 들어 설명한다. 본 발명에 따른 작업 스케줄링 시스템은 공정 각각에 대응하는 적어도 하나 이상의 기계를 구비한다. 즉, 동일한 공정유형의 작업을 수행하는 기계가 둘 이상 구비될 수도 있을 것이다. The work processing unit (10) is equipped in a machine that performs a task for one of a number of processes (types) for producing a specific product, and processes the corresponding process task for materials loaded in the machine according to process scheduling information corresponding to the machine. The product is preferably a mold, but is not limited to a mold. In the following description, a case where the product is a mold will be described as an example. The work scheduling system according to the present invention is equipped with at least one machine corresponding to each process. That is, two or more machines that perform tasks of the same process type may be equipped.
작업처리부(10)는 해당 기계에 할당된 공정 스케줄링정보를 확인한 작업자의 제어를 받을 수도 있으나, 스케줄링부(20)로부터 상기 공정 스케줄링정보를 수신받아 저장하고, 저장된 공정 스케줄링정보의 작업들을 상기 공정 스케줄링정보의 스케줄링에 따라 자동으로 수행되도록 구성되는 것이 바람직할 것이다.The work processing unit (10) may be controlled by a worker who has confirmed the process scheduling information assigned to the machine, but it is preferable to receive and store the process scheduling information from the scheduling unit (20) and configure the tasks of the stored process scheduling information to be automatically performed according to the scheduling of the process scheduling information.
작업처리부(10)는 실시 예에 따라 자신에게 할당되어 작업 중인 작업 시작시각으로부터 진행한 작업 진행시간을 카운트하고, 작업의 진도(백분율로 정의)를 확인하여 진도 확인부(30)로 출력하도록 구성될 수도 있을 것이다. The work processing unit (10) may be configured to count the work progress time from the start time of the work assigned to it according to an embodiment, check the progress of the work (defined as a percentage), and output it to the progress check unit (30).
스케줄링부(20)는 고객들이 제작 주문한 적어도 하나 이상의 금형에 대한 태스크 정보, 각 태스크의 금형을 생산하기 위한 적어도 하나 이상의 공정 및 공정별 기본 작업시간을 포함하는 공정정보 및 기계별 기계상태정보를 저장하여 관리한다.The scheduling unit (20) stores and manages task information for at least one mold ordered by customers, process information including at least one process for producing the mold for each task and basic working time for each process, and machine status information for each machine.
상기 태스크 정보는, 주문된 금형에 대한 3D 모델, 제작 요청된 금형 수량, 납기 기간 등을 포함할 수 있을 것이다.The above task information may include a 3D model for the ordered mold, the number of molds requested to be manufactured, the delivery period, etc.
상기 상품이 금형인 경우, 상기 공정(유형: Class)은 연삭전극, 고속가공, 고속전극, 연삭, 와이어, 방전전극 등이 될 수 있을 것이다. 이 경우, 상기 기계 유형으로는 연삭전극 기계, 고속가공 기계, 연삭 기계, 와이어 기계, 방전전극 기계 등이 있을 수 있을 것이다.If the above product is a mold, the above process (type: Class) may be a grinding electrode, a high-speed processing, a high-speed electrode, grinding, a wire, a discharge electrode, etc. In this case, the machine types may be a grinding electrode machine, a high-speed processing machine, a grinding machine, a wire machine, a discharge electrode machine, etc.
상기 기계상태정보는, 기계별 고유의 식별정보(이하 "기계 식별정보"라 함, 상기 기계 식별정보는 작업처리부(10)의 식별정보일 수도 있을 것이다), 기계별 효율성(백분율로 정의), 기계별 작업 시작시각 및 작업 종료시각을 포함하는 작업시간 등의 정보를 포함할 수 있을 것이다.The above machine status information may include information such as unique identification information for each machine (hereinafter referred to as “machine identification information”, the machine identification information may be identification information of the work processing unit (10), efficiency for each machine (defined as a percentage), and work time including the work start time and work end time for each machine.
스케줄링부(20)는 복수의 금형 주문이 발생되면 주문된 금형들에 대한 가공 순서를 결정하고, 결정된 금형 가공 순서, 기계의 유휴시간, 기계의 효율성 등을 다중 구속조건으로 그리디 알고리즘에 적용하여 상기 금형별 공정작업을 해당 기계에 할당하여 기계별 공정 스케줄링 정보를 포함하는 전체 기계들에 대한 스케줄링 정보를 생성하고, 상기 스케줄링 정보를 출력하여 해당 작업 처리부(10)가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 의해 작업 처리할 수 있도록 한다.When multiple mold orders are generated, the scheduling unit (20) determines the processing order for the ordered molds, applies the determined mold processing order, machine idle time, machine efficiency, etc. to a greedy algorithm as multiple constraints, and allocates the processing work for each mold to the corresponding machine, thereby generating scheduling information for all machines including process scheduling information for each machine, and outputs the scheduling information so that the corresponding task processing unit (10) can process the work according to the corresponding process scheduling information of the scheduling information.
상기 스케줄링부(20)의 상세 구성은 다음의 도 2를 참조하여 설명한다.The detailed configuration of the above scheduling unit (20) is explained with reference to the following Figure 2.
진도 확인부(30)는 상기 작업처리부(10)를 통해 기계별로 할당되어 진행 중인 공정작업의 작업 진행시간에 따른 진도(백분율로 정의)를 확인하여, 작업 진행시간 및 진도정보를 상기 스케줄링부(20)로 제공한다.The progress confirmation unit (30) confirms the progress (defined as a percentage) according to the work progress time of the process work being performed and allocated to each machine through the work processing unit (10) and provides the work progress time and progress information to the scheduling unit (20).
도 2는 본 발명에 따른 다중 구속조건 그리디 작업 스케줄링 시스템의 스케줄링부의 상세 구성을 나타낸 도면이다.FIG. 2 is a drawing showing the detailed configuration of the scheduling part of the multi-constraint greedy job scheduling system according to the present invention.
도 2를 참조하면, 스케줄링부(20)는 저장부(110), 태스크 순서화부(130), 작업 스케줄링부(140), 태스크 스케줄링부(150) 및 스케줄링 출력부(160)를 포함하되, 실시 예에 따라 정보 획득부(120) 및 공정 진도 확인부(170)를 더 포함하여 구성될 수 있을 것이다.Referring to FIG. 2, the scheduling unit (20) includes a storage unit (110), a task sequencing unit (130), a work scheduling unit (140), a task scheduling unit (150), and a scheduling output unit (160), but may further include an information acquisition unit (120) and a process progress confirmation unit (170) depending on the embodiment.
저장부(110)는 금형 DB(111), 작업 DB(112), 기계 DB(113) 및 스케줄링 DB(114)를 포함한다.The storage unit (110) includes a mold DB (111), a work DB (112), a machine DB (113), and a scheduling DB (114).
상기 금형 DB(111)는 제작 주문된 적어도 하나 이상의 금형별 태스크에 대한 태스크 정보를 저장한다.The above mold DB (111) stores task information for at least one mold-specific task ordered for production.
상기 작업 DB(112)는 상기 금형별로 해당 금형을 제작하기 위해 필요한 적어도 하나 이상 공정작업과, 공정별 기본 작업시간과, 기계별 해당 공정의 실 작업시간을 포함하는 공정정보를 저장한다. 상기 기본 작업시간은 할당될 기계의 효율성이 100%라고 가정할 경우 해당 기계에서 해당 공정작업을 수행하는 데 걸리는 시간이다. 상기 실 작업시간은 기계의 실제 효율성에 따라 상기 기계에서 해당 공정작업을 완료하는 데 걸리는 시간이다. 상기 실 작업시간은 기계의 실제 효율성이 100%일 경우 기본 작업시간과 동일하고, 100% 미만이면 실 작업시간은 기본 작업시간보다 길며, 100% 이상이면 기본 작업시간보다 짧을 것이다. 그러나 기계의 효율성은 초기보다 더 좋아질 가능성 매우 희미하므로 이하 설명에서 효율성이 100% 이상인 경우는 고려하지 않는다.The above work DB (112) stores process information including at least one process operation required to manufacture the mold for each mold, a basic work time for each process, and an actual work time for each machine for the process. The basic work time is the time taken to perform the process operation for the machine assuming that the efficiency of the machine to be assigned is 100%. The actual work time is the time taken to complete the process operation for the machine according to the actual efficiency of the machine. The actual work time is the same as the basic work time when the actual efficiency of the machine is 100%, and the actual work time is longer than the basic work time when it is less than 100%, and shorter than the basic work time when it is 100% or more. However, since the efficiency of the machine is very unlikely to improve from the initial level, the case where the efficiency is 100% or more is not considered in the following description.
기계 DB(113)는 본 발명에 따른 다양한 형태의 금형을 가공하기 위한 스마트 팩토리에 구성되는 기계들 각각에 대한 기계상태정보를 저장한다. 상기 기계상태정보는 기계별 기계 식별정보, 기계별 효율성, 기계별 작업 시작시각 및 작업 종료시각 등을 포함할 수 있을 것이다.The machine DB (113) stores machine status information for each machine configured in a smart factory for processing various types of molds according to the present invention. The machine status information may include machine identification information for each machine, efficiency for each machine, work start time and work end time for each machine, etc.
스케줄링 DB(114)는 기계별 공정 스케줄링정보를 포함하는 스케줄링 정보를 저장한다.The scheduling DB (114) stores scheduling information including process scheduling information for each machine.
정보 획득부(120)는 실시 예에 따라 구성되며, 고객이 주문한 금형에 대한 태스크 정보, 태스크의 금형을 가공하기 위한 공정정보, 기계상태정보를 획득하여 저장부(110)의 금형 DB(111), 작업 DB(112), 기계 DB(113)에 저장한다.The information acquisition unit (120) is configured according to an embodiment, and acquires task information for a mold ordered by a customer, process information for processing the mold of the task, and machine status information, and stores them in the mold DB (111), work DB (112), and machine DB (113) of the storage unit (110).
상기 정보 획득부(120)는 관리자로부터 상기 태스크 정보 및 공정정보를 획득할 수도 있고, 주문된 금형에 대해 입력되는 3D 모델로부터 자동 획득할 수도 있을 것이다.The above information acquisition unit (120) may acquire the task information and process information from an administrator, or may automatically acquire them from a 3D model input for an ordered mold.
또한, 상기 정보 획득부(120)는 관리자로부터 기계상태정보를 획득할 것이다. 상기 기계상태정보의 효율성은 상기 정보 관리부(120)를 통해 관리자에 의해 주기적으로 갱신될 수도 있고, 후술할 공정진도 확인부(170)를 통해 자동 갱신되도록 구성될 수도 있을 것이다.In addition, the information acquisition unit (120) will acquire machine status information from the manager. The efficiency of the machine status information may be periodically updated by the manager through the information management unit (120), or may be configured to be automatically updated through the process progress confirmation unit (170) described later.
태스크 순서화부(130)는 미리 설정된 순서화 조건에 따라 상기 금형 DB(111)에 등록된 태스크 정보의 금형들 각각에 대한 태스크를 순서화하여 금형별 가공 순서를 결정하고, 순서화된 가공 순서 정보를 상기 금형 DB(111)에 저장한다.The task sequencing unit (130) determines the processing order for each mold by sequencing the tasks for each mold of the task information registered in the mold DB (111) according to preset sequencing conditions, and stores the sequenced processing order information in the mold DB (111).
상기 순서화 조건은 주문을 받은 날짜를 기준으로 한 선 주문 조건일 수도 있고, 주문 순서와, 주문 작업 가격, 금형 태스크 납기 속도 및 납기 기간 중 어느 하나 이상을 복합적으로 적용한 중요도를 계산하고, 계산된 중요도에 따라 순서화할 수도 있을 것이다. 상기 중요도는 요건(주문순서, 주문 작업 가격, 금형 태스크 납기 속도, 납기기간)들 각각에 대해 가중치를 할당하고, 각 요건의 값 범위에 따른 점수를 계산한 후, 상기 요건별 점수에 각각의 가중치를 곱하여 계산할 수 있을 것이다. 상기 요건의 값 범주 및 점수를 예를 들면, 값 범주는 요건이 주문순서인 경우, 1-10위, 11-20위 등으로 결정될 수 있고, 점수는 1-10위가 100점, 11-20위가 80점 등으로 할당할 수 있을 것이다. 다른 예로, 요건이 금형 태스크 납기 속도이면, 값 범위는 초고속, 긴급, 일반 등일 수 있고, 초고속인 경우 100점, 긴급인 경우 80점, 일반인 경우 60점 등으로 할당할 수 있을 것이다.The above ordering condition may be a pre-order condition based on the order receiving date, or may calculate the importance by comprehensively applying one or more of the order order, order work price, mold task delivery speed, and delivery period, and may be ordered according to the calculated importance. The above importance may be calculated by assigning a weight to each of the requirements (order order, order work price, mold task delivery speed, delivery period), calculating a score according to the value range of each requirement, and then multiplying the score for each requirement by the respective weight. For example, the value category and score of the requirement may be determined as 1-10, 11-20, etc. when the requirement is the order order, and the scores may be assigned as 100 points for 1-10, 80 points for 11-20, etc. As another example, if the requirement is mold task delivery speed, the value ranges could be Ultra Fast, Urgent, Normal, etc., and the points could be assigned as 100 for Ultra Fast, 80 for Urgent, 60 for Normal, etc.
작업 스케줄링부(140)는 유휴시간 확인부(141), 태스크 공정작업시간 계산부(142) 및 공정작업 할당부(143)를 포함하여, 결정된 금형 가공 순서, 상기 기계의 유휴시간 및 기계의 효율성을 다중 구속조건으로 그리디 알고리즘에 적용하여, 상기 금형별 공정작업을 해당 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 상기 작업 DB(112)에 저장한다.The work scheduling unit (140) includes an idle time checking unit (141), a task process work time calculation unit (142), and a process work allocation unit (143), and applies the determined mold processing order, the idle time of the machine, and the efficiency of the machine as multiple constraints to a greedy algorithm, thereby allocating the process work for each mold to the corresponding machine, thereby generating process scheduling information for each machine according to the process scheduling for each machine, and storing it in the work DB (112).
구체적으로 설명하면, 유휴시간 확인부(141)는 임의 금형의 태스크에 대한 공정 스케줄링 시 상기 기계 DB(113)의 상기 태스크의 공정에 대응하는 기계별 유휴시간을 확인하고 확인된 유휴시간을 공정작업 할당부(143)로 출력한다.Specifically, when scheduling a process for a task of an arbitrary mold, the idle time confirmation unit (141) confirms the idle time of each machine corresponding to the process of the task of the machine DB (113) and outputs the confirmed idle time to the process work allocation unit (143).
또한, 유휴시간 확인부(141)는 임의 기계에 상기 태스크에 대한 공정작업의 할당 후, 상기 기계 DB(113)의 상기 공정작업이 할당된 기계의 상기 유휴시간을 상기 공정작업의 할당에 따른 상기 공정작업의 실 작업시간 이후의 시간으로 갱신한다.In addition, the idle time verification unit (141) updates the idle time of the machine to which the process task is assigned in the machine DB (113) after the process task for the task is assigned to an arbitrary machine, to the time after the actual work time of the process task according to the assignment of the process task.
태스크 공정작업시간 계산부(142)는 상기 기계 DB(113)의 기계별 효율성을 반영하여 해당 기계에 할당된 공정작업의 기본 작업시간에 대한 실 작업시간을 계산하여 공정작업 할당부(143)로 출력한다. 특히, 태스크 공정작업시간 계산부(142)는 동일 유형의 공정에 대해 둘 이상의 기계가 존재하는 경우, 상기 동일 공정 유형인 둘 이상의 기계 각각의 효율성을 반영한 기계 각각의 실 작업시간을 계산하여 작업 DB(112)의 공정정보로써 저장하거나, 공정작업 할당부(143)로 출력할 것이다.The task process work time calculation unit (142) calculates the actual work time for the basic work time of the process work assigned to the corresponding machine by reflecting the efficiency of each machine in the machine DB (113) and outputs it to the process work allocation unit (143). In particular, when two or more machines exist for the same type of process, the task process work time calculation unit (142) calculates the actual work time of each machine reflecting the efficiency of each of the two or more machines of the same process type and stores it as process information in the task DB (112) or outputs it to the process work allocation unit (143).
공정작업 할당부(143)는 제1실시 예에 따라 상기 금형 가공 순서, 기본 작업시간 및 기계별 유휴시간을 다중 구속조건으로 그리디 알고리즘에 적용하여 공정작업을 상기 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 상기 작업 DB(112)에 저장한다.The process work allocation unit (143) applies the mold processing sequence, basic work time, and idle time per machine as multiple constraints to a greedy algorithm according to the first embodiment to allocate process work to the machine, thereby generating process scheduling information per machine according to process scheduling per machine and storing it in the work DB (112).
또한, 공정작업 할당부(143)는 제2실시 예에 따라 상기 금형 가공 순서, 기계별 효율성에 따른 실 작업시간 및 기계별 유휴시간을 다중 구속조건으로 하여 그리디 알고리즘에 적용하여 공정작업을 상기 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 상기 작업 DB(112)에 저장한다.In addition, the process work allocation unit (143) applies the greedy algorithm with the mold processing order, actual work time according to the efficiency of each machine, and idle time of each machine as multiple constraints according to the second embodiment to allocate process work to the machines, thereby generating process scheduling information for each machine according to process scheduling for each machine and storing it in the work DB (112).
스마트 팩토리에는 공정 유형이 연삭전극(j=1, 여기서, j는 공정 유형 인덱스), 고속가공(j=2), 와이어(j=3), 연삭(j=4)으로 4개의 유형이 있고, 기계는 연삭전극 공정작업을 처리하는 기계1(mj,k=m1,1, 여기서 k=기계 인덱스, k=1,2,3...), 기계2(m1,2), 고속가공 공정작업을 처리하는 기계3(m2,3), 와이어 공정작업을 처리하는 기계4(m3,4), 연삭 공정작업을 처리하는 기계5(m4,5) 및 기계6(m4,6)을 구비하고, 주문되어 순서화된 금형1, 금형2 및 금형3이 있고, 금형1은 연삭전극, 와이어, 고속가공 공정작업을 필요로 하며, 금형2는 연삭전극, 와이어, 연삭 공정작업을 필요로 하며, 금형3은 고속가공, 와이어 공정작업을 필요로 하는 경우를 예를 들어 설명한다.A smart factory has four types of processes: grinding electrode (j = 1, where j is the process type index), high-speed machining (j = 2), wire (j = 3), and grinding (j = 4); and machines include machine 1 (m j,k = m 1,1 , where k = machine index, k = 1,2,3...), machine 2 (m 1,2 ) that process grinding electrode processes, machine 3 (m 2,3 ) that process high-speed machining processes, machine 4 (m 3,4 ) that process wire processes, machine 5 (m 4,5 ) and machine 6 (m 4,6 ) that process grinding processes; and there are mold 1, mold 2, and mold 3 that are ordered and sequenced. Mold 1 requires grinding electrode, wire, and high-speed machining processes, mold 2 requires grinding electrode, wire, and grinding processes, and mold 3 requires high-speed machining and wire processes.
또한, 상기 기계들의 상태정보는 하기 표 1과 같고, 금형의 공정정보는 하기 표 2와 같은 경우를 예를 들어 설명한다.In addition, the status information of the above machines is as shown in Table 1 below, and the process information of the mold is explained as an example in Table 2 below.
상술한 예의 경우, 태스크 공정작업시간 계산부(142)는 하기 수학식 1에 의해 실 작업시간을 계산하여, 표 2와 같이 실 작업시간 필드에 기록한다.In the case of the example described above, the task process work time calculation unit (142) calculates the actual work time using the following mathematical expression 1 and records it in the actual work time field as shown in Table 2.
여기서, t'j,A는 기계A의 효율성에 따른 지연시간이고, ej,A는 기계A의 효율성이다. Here, t' j,A is the delay time according to the efficiency of machine A, and e j,A is the efficiency of machine A.
공정작업 할당부(143)는 유휴시간 확인부(141)를 통해 기계들의 유휴시간이 확인되고, 태스크 공정작업시간 계산부(142)를 통해 실 작업시간이 계산되면 우선순위가 제일 높은 금형1의 연삭 공정작업을 기계1 및 기계2 중 작업을 가장 빠르게 끝낼 수 있는 기계1에 할당하고, 와이어 공정작업을 기계4에 할당하며, 고속가공 공정작업을 기계3에 할당한다.The process work allocation unit (143) checks the idle time of the machines through the idle time check unit (141) and calculates the actual work time through the task process work time calculation unit (142). Then, the grinding process of mold 1 with the highest priority is assigned to machine 1 among machines 1 and 2, which can finish the work the fastest. The wire process is assigned to machine 4, and the high-speed machining process is assigned to machine 3.
상기 공정작업 할당부(143)는 기계에 공정작업을 할당한 후 할당 정보를 유휴시간 확인부(141)로 제공한다.The above process task allocation unit (143) allocates process tasks to the machine and then provides the allocation information to the idle time confirmation unit (141).
그러면 유휴시간 확인부(141)는 상기 3시간의 연삭전극 공정작업이 기계1에 할당됨에 따라 표 1의 초기 기계1의 유휴시간 8:00AM을 11:00AM으로 갱신하고, 와이어 공정작업이 기계4에 할당됨에 따라 기계4의 유휴시간을 8:00AM에서 9:00AM으로 갱신하며, 고속가공 공정작업이 기계3에 할당됨에 따라 기계3의 유휴시간을 8:00AM에서 9:00AM으로 갱신한다.Then, the idle time checking unit (141) updates the initial idle time of machine 1 in Table 1 from 8:00AM to 11:00AM as the 3-hour grinding electrode process is assigned to machine 1, updates the idle time of machine 4 from 8:00AM to 9:00AM as the wire process is assigned to machine 4, and updates the idle time of machine 3 from 8:00AM to 9:00AM as the high-speed machining process is assigned to machine 3.
금형1에 대한 작업 스케줄링이 완료되면 공정작업 할당부(143)는 다음 가공 순서인 금형2의 연삭전극 공정작업을 할당한다. 이때 기계1의 유휴시간은 11:00AM이고, 기계2의 유휴시간은 8:00AM이다. 따라서 공정작업 할당부(143)는 기계1 및 기계2 각각의 유휴시간에 각각의 실 작업시간을 더한다. 기계1의 유휴시간은 11:00AM+2=1:00PM이고, 기계2의 유휴시간은 8:00AM+2.5=10:30AM이므로, 연삭전극 공정작업을 기계2에 할당한다.When the work scheduling for mold 1 is completed, the process work allocation unit (143) allocates the grinding electrode process work for mold 2, which is the next processing sequence. At this time, the idle time of machine 1 is 11:00 AM, and the idle time of machine 2 is 8:00 AM. Therefore, the process work allocation unit (143) adds the actual work time of each machine 1 and machine 2 to their respective idle times. Since the idle time of machine 1 is 11:00 AM + 2 = 1:00 PM, and the idle time of machine 2 is 8:00 AM + 2.5 = 10:30 AM, the grinding electrode process work is allocated to machine 2.
그러면 유휴시간 확인부(141)는 기계2의 유휴시간을 10:30AM으로 갱신할 것이다.Then, the idle time check unit (141) will update the idle time of machine 2 to 10:30AM.
상술한 바와 같이 공정작업 할당부(143)는 금형 가공 순서, 효율성이 반영된 실 작업시간, 유휴시간을 다중 구속조건으로 하는 그리디 알고리즘을 적용하여 주문된 금형의 태스크들에 대한 공정작업을 스케줄링하고, 기계별 공정 스케줄링 정보를 생성하여 작업 DB(112)에 저장한다.As described above, the process work allocation unit (143) schedules process work for tasks of an ordered mold by applying a greedy algorithm that uses the mold processing sequence, actual work time reflecting efficiency, and idle time as multiple constraints, and creates process scheduling information for each machine and stores it in the work DB (112).
태스크 스케줄링부(150)는 공정별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 생성하여 스케줄링 DB(114)에 저장한다. The task scheduling unit (150) generates scheduling information including process scheduling information for each process and stores it in the scheduling DB (114).
스케줄링 출력부(160)는 상기 스케줄링 정보를 출력하여 해당 작업처리부(10)가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 의해 작업 처리되도록 한다.The scheduling output unit (160) outputs the scheduling information so that the corresponding work processing unit (10) processes the work according to the corresponding process scheduling information of the scheduling information.
공정 진도 확인부(170)는 실시 예에 따라 구성되어, 상기 작업처리부(10)들 각각으로부터 직접 또는 상기 진도 확인부(30)로부터 진행 작업시간 및 진도정보를 입력받고, 상기 진행 작업시간 및 진도정보에 따른 해당 기계의 효율성을 계산하고, 기계 DB(113)의 해당 기계의 효율성을 업데이트할 수 있을 것이다. The process progress confirmation unit (170) is configured according to an embodiment, and can receive progress information and work progress time directly from each of the work processing units (10) or from the progress confirmation unit (30), calculate the efficiency of the corresponding machine according to the progress information and work progress time, and update the efficiency of the corresponding machine in the machine DB (113).
도 3은 본 발명의 제1실시 예에 따른 다중 구속조건 그리디 작업 스케줄링 방법을 나타낸 흐름도이다.FIG. 3 is a flowchart illustrating a multi-constraint greedy work scheduling method according to a first embodiment of the present invention.
도 3을 참조하면, 우선, 정보 획득부(120)는 기계별 효율성을 포함하는 기계상태정보를 획득하여 기계 DB(112)에 저장하고(S111), 기계별 작업시간(작업 시작시각 및 작업 종료시각 포함: 작업 시작시각에서 작업 종료시각까지의 시간)과, 기계별 유휴시간을 기록 및 갱신하기 위한 기계별 유휴 테이블을 생성하여 상기 기계상태정보에 포함하여 저장한다(S113).Referring to FIG. 3, first, the information acquisition unit (120) acquires machine status information including efficiency of each machine and stores it in the machine DB (112) (S111), and creates an idle table for each machine for recording and updating the machine-specific working time (including the work start time and work end time: the time from the work start time to the work end time) and the machine-specific idle time, and stores it by including it in the machine status information (S113).
정보 획득부(120)는 주문된 금형의 태스크에 대한 태스크 정보를 획득하여 금형 DB(111)에 저장하고, 주문된 금형의 태스크별로 해당 금형을 생산하기 위한 공정, 공정별 기본 작업시간을 획득하여 작업 DB(112)에 저장한다(S115).The information acquisition unit (120) acquires task information on the task of the ordered mold and stores it in the mold DB (111), and acquires the process for producing the mold for each task of the ordered mold and the basic work time for each process and stores it in the work DB (112) (S115).
상술한 태스크 정보, 공정정보, 기계상태정보가 저장된 후, 태스크 순서화부(130)는 스케줄링 이벤트가 발생하는지를 모니터링하고(S117), 스케줄링 이벤트의 발생 시 주문된 금형들의 태스크를 미리 설정된 순서화 조건에 따라 순서화하여 금형별 가공 순서를 결정하고, 가공 순서 정보를 금형 DB(111)에 저장한다(S119). 상기 스케줄링 이벤트는 관리자의 명령에 의해 발생될 수도 있고, 미리 설정된 주기로 미리 설정된 시각에 자동으로 발생될 수도 있으며, 새로운 금형 주문의 발생에 의한 상술한 정보(태스크 정보, 기계상태정보, 공정정보)의 저장 시 발생될 수도 있을 것이다.After the above-described task information, process information, and machine status information are stored, the task sequencing unit (130) monitors whether a scheduling event occurs (S117), and when a scheduling event occurs, the tasks of the ordered molds are sequenced according to preset sequencing conditions to determine the processing order for each mold, and the processing order information is stored in the mold DB (111) (S119). The above-described scheduling event may be generated by a command from an administrator, may be automatically generated at a preset time with a preset cycle, and may be generated when the above-described information (task information, machine status information, and process information) is stored due to the occurrence of a new mold order.
스케줄링 이벤트가 발생되어 주문된 금형이 순서화되면 작업 스케줄링부(140)는 본 발명의 제1실시 예에 따라 각 공정작업의 기본 작업시간에 기반하여 태스크 순서 및 기계의 유휴시간을 다중 구속조건으로 하여 그리디 알고리즘을 적용하여 금형의 각 작업을 기계에 할당한다(S121). 이때, 각 기계의 기계상태정보의 유휴시간은 기본 작업시간을 가산하여 업데이트한다.When a scheduling event occurs and the ordered molds are sequenced, the work scheduling unit (140) assigns each task of the mold to a machine by applying a greedy algorithm based on the basic work time of each process task and the idle time of the machine as multiple constraints (S121). At this time, the idle time of the machine status information of each machine is updated by adding the basic work time.
작업 스케줄링부(140)는 작업이 할당되면 기계의 효율성을 반영하여 상기 기본 작업시간에 대한 기계의 실 작업시간을 계산한(S123) 후, 유휴 테이블의 유휴시간 필드에 기록된 유휴시간을 기본 작업시간과 실 작업시간의 차를 반영한 유휴시간으로 업데이트한다(S125).When a task is assigned, the task scheduling unit (140) calculates the actual working time of the machine for the basic working time by reflecting the efficiency of the machine (S123), and then updates the idle time recorded in the idle time field of the idle table to an idle time that reflects the difference between the basic working time and the actual working time (S125).
상기 작업 스케줄링부(140)는 작업 스케줄링이 완료되면 기계별 공정 스케줄링 정보를 생성하고, 태스크 스케줄링부(50)는 공정 스케줄링 정보들을 포함하는 스케줄링 정보를 생성할 것이다.The above work scheduling unit (140) will generate process scheduling information for each machine when work scheduling is completed, and the task scheduling unit (50) will generate scheduling information including process scheduling information.
도 4는 본 발명의 제2실시 예에 따른 다중 구속조건 그리디 작업 스케줄링 방법을 나타낸 흐름도이다. 이하 도 4를 참조하여 설명함에 있어서, 상술한 도 3의 S111 내지 S119과 동일한 동작을 수행하는 단계들은 동일 부호를 적용하였으며, 그 설명을 생략한다.FIG. 4 is a flowchart illustrating a multi-constraint greedy work scheduling method according to a second embodiment of the present invention. In the following description with reference to FIG. 4, steps performing the same operations as S111 to S119 of FIG. 3 described above are given the same reference numerals, and their descriptions are omitted.
작업 스케줄링부(140)는 S119에서 금형 작업 순서가 결정되면 스케줄링을 진행할 금형의 공정작업 유형에 대응하는 기계 종류를 결정한다(S211). 예를 들면, 공정작업 유형이 연삭전극이면 연산전극에 대응하는 연삭전극 기계를 결정한다.When the mold work order is determined in S119, the work scheduling unit (140) determines the type of machine corresponding to the process work type of the mold to be scheduled (S211). For example, if the process work type is a grinding electrode, a grinding electrode machine corresponding to the operating electrode is determined.
공정작업별 기계 유형이 결정되면, 작업 스케줄링부(140)는 하나의 금형의 작업에 대해 결정된 기계가 둘 이상인지를 판단한다(S213). 상술한 표 2를 예를 들면, 연삭전극 작업에 대해 적용할 수 있는 기계가 기게1 및 기계2가 있으므로, 이에 해당할 것이다.When the machine type for each process operation is determined, the work scheduling unit (140) determines whether there are two or more machines determined for the operation of one mold (S213). For example, in Table 2 described above, there are machines 1 and 2 that can be applied to the grinding electrode operation, so this will be applicable.
만일 하나라면 작업 스케줄링부(140)는 금형의 작업 작업별로 처리할 기계(작업처리부(10))를 지정하고(S215), 지정된 작업처리부의 효율에 따른 실 작업시간을 계산한다(S217).If there is one, the work scheduling unit (140) designates a machine (work processing unit (10)) to process each work task of the mold (S215) and calculates the actual work time according to the efficiency of the designated work processing unit (S217).
기계에 할당된 작업의 실 작업시간이 계산되면 작업 스케줄링부(140)는 실 작업시간으로 기계 유휴 테이블의 기계상태정보의 유휴시간 필드에 상기 실 작업시간을 반영하여 유휴시간을 업데이트한다(S219).When the actual working time of the work assigned to the machine is calculated, the work scheduling unit (140) updates the idle time by reflecting the actual working time in the idle time field of the machine status information of the machine idle table as the actual working time (S219).
반면 둘 이상인 작업이 존재하면, 작업 스케줄링부(140)는 둘 이상의 기계 각각의 효율성을 반영한 각 기계에 대한 해당 작업의 실 작업시간을 계산한다(S221).On the other hand, if there are two or more tasks, the task scheduling unit (140) calculates the actual work time of the corresponding task for each machine reflecting the efficiency of each of the two or more machines (S221).
둘 이상의 기계 각각에 대한 실 작업시간이 계산되면 작업 스케줄링부(140)는 금형의 작업 시작시각, 기계의 유휴시간 및 기계별 실 작업시간을 다중 구속조건으로 하는 그리디 알고리즘에 적용하여 공정작업을 기계에 할당한다(S223). 예를 들면, 작업 스케줄링부(140)는 계산된 실 작업시간을 각각의 유휴시간에 가산하여 어떤 기계가 더 빨리 작업을 끝내는지를 판단하고, 작업이 빨리 끝나는 기계에 우선적으로 작업을 할당한다. 또한, 이때 작업 스케줄링부(140)는 금형의 작업시간을 더 고려하여 작업이 더 빨리 끝나는 기계를 할당하도록 구성될 수도 있을 것이다.When the actual working time for each of two or more machines is calculated, the work scheduling unit (140) applies a greedy algorithm that uses the mold work start time, the machine idle time, and the actual working time of each machine as multiple constraints to assign process tasks to the machines (S223). For example, the work scheduling unit (140) adds the calculated actual working time to each idle time to determine which machine finishes the task faster, and assigns the task preferentially to the machine that finishes the task faster. In addition, at this time, the work scheduling unit (140) may be configured to assign the machine that finishes the task faster by further considering the mold work time.
작업 할당이 완료되면 작업 스케줄링부(140)는 작업이 할당된 기계에 대한 유휴시간에 실 작업시간을 반영하여 유휴시간을 업데이트한다(S225).When the task assignment is completed, the task scheduling unit (140) updates the idle time by reflecting the actual work time in the idle time of the machine to which the task is assigned (S225).
한편, 본 발명은 전술한 전형적인 바람직한 실시 예에만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 개량, 변경, 대체 또는 부가하여 실시할 수 있는 것임은 당해 기술분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 이러한 개량, 변경, 대체 또는 부가에 의한 실시가 이하의 첨부된 특허청구범위의 범주에 속하는 것이라면 그 기술사상 역시 본 발명에 속하는 것으로 보아야 한다.Meanwhile, it will be readily understood by those skilled in the art that the present invention is not limited to the above-described typical preferred embodiments, but can be implemented by improving, changing, replacing or adding in various ways without departing from the gist of the present invention. If the implementation by such improvement, change, replacement or addition falls within the scope of the appended claims below, the technical idea thereof should also be considered to belong to the present invention.
10: 작업처리부(기계)
20: 스케줄링부
30: 진도 확인부
110: 저장부
111: 금형 DB
112: 작업 DB
113: 기계 DB
114: 스케줄링 DB
120: 정보 획득부
130: 태스크 순서화부
140: 작업 스케줄링부
141: 유휴시간 확인부
142: 태스크 공정작업시간
143: 공정작업 할당부
150: 태스크 스케줄링부
160: 스케줄링 출력부
170: 공정 진도 확인부
10: Work Processing Unit (Machine) 20: Scheduling Unit
30: Progress check section 110: Storage section
111: Mold DB 112: Work DB
113: Machine DB 114: Scheduling DB
120: Information acquisition section 130: Task sequencing section
140: Job scheduling section 141: Idle time checking section
142: Task Processing Time 143: Processing Work Allocation Section
150: Task scheduling section 160: Scheduling output section
170: Process progress check section
Claims (14)
제작 주문된 적어도 하나 이상의 상품에 대한 태스크, 각 태스크의 상품을 생산하기 위한 적어도 하나 이상의 공정, 공정별 기본 작업시간 및 상기 기계의 효율성을 저장하여 관리하고, 상품별 가공 순서를 결정하고, 결정된 상품 가공 순서, 상기 기계의 유휴시간 및 효율성을 다중 구속조건으로 그리디 알고리즘에 적용하여, 상기 상품별 공정작업을 해당 기계에 할당하여 기계별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 생성하고, 상기 스케줄링 정보를 출력하여 해당 작업처리부가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 의해 작업 처리되도록 하는 스케줄링부를 포함하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 시스템.
A plurality of work processing units configured to perform work on one of a plurality of processes for producing a product, the plurality of work processing units processing the corresponding process work on materials loaded into the machine according to process scheduling information corresponding to the machine; and
A multiple constraint greedy job scheduling system, characterized by including a scheduling unit which stores and manages tasks for at least one product ordered for production, at least one process for producing the product of each task, basic working time for each process, and the efficiency of the machine, determines a processing order for each product, applies the determined processing order, the idle time and the efficiency of the machine to a greedy algorithm as multiple constraints, allocates the processing work for each product to the corresponding machine, generates scheduling information including process scheduling information for each machine, and outputs the scheduling information so that the corresponding job processing unit processes the work by the corresponding process scheduling information of the scheduling information.
상기 상품은 금형이되,
상기 스케줄링부는,
제작 주문된 적어도 하나 이상의 금형의 태스크에 대한 태스크 정보를 저장하는 금형 DB,
상기 금형별로 해당 금형을 제작하는 데 필요한 적어도 하나 이상의 공정 및 공정별 기본 작업시간을 포함하는 금형별 공정정보를 저장하는 작업 DB,
상기 기계별 효율성, 기계별 작업시간 및 기계별 유휴시간을 포함하는 기계상태정보를 저장하는 기계 DB,
기계별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 저장하는 스케줄링 DB를 포함하는 저장부;
미리 설정된 순서화 조건에 따라 상기 금형 DB에 등록된 태스크 정보의 태스크를 순서화하여 금형별 가공 순서를 결정하고, 순서화된 가공 순서 정보를 상기 금형 DB에 저장하는 태스크 순서화부;
결정된 금형 가공 순서, 상기 기계의 유휴시간 및 효율성을 다중 구속조건으로 그리디 알고리즘에 적용하여, 상기 상품별 공정작업을 해당 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 상기 작업 DB에 저장하는 작업 스케줄링부;
공정별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 생성하여 스케줄링 DB에 저장하는 태스크 스케줄링부; 및
상기 스케줄링 정보를 출력하여 해당 작업처리부가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 의해 작업 처리되도록 하는 스케줄링 출력부를 포함하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 시스템.
In the first paragraph,
The above product is a mold,
The above scheduling section,
A mold DB that stores task information for at least one mold that has been ordered for production.
A work DB that stores process information for each mold, including at least one process and basic work time for each process required to manufacture the mold for each mold.
Machine DB that stores machine status information including machine-specific efficiency, machine-specific working time, and machine-specific idle time.
A storage unit including a scheduling DB that stores scheduling information including process scheduling information for each machine;
A task sequencing unit that determines the processing order for each mold by sequencing tasks of task information registered in the mold DB according to preset sequencing conditions and stores the sequenced processing order information in the mold DB;
A work scheduling unit that applies the determined mold processing order, idle time and efficiency of the machine as multiple constraints to a greedy algorithm, assigns the product-specific process work to the corresponding machine, generates machine-specific process scheduling information according to the machine-specific process scheduling, and stores it in the work DB;
A task scheduling unit that generates scheduling information including process scheduling information for each process and stores it in a scheduling DB; and
A multi-constraint greedy job scheduling system characterized by including a scheduling output unit that outputs the scheduling information so that the corresponding job processing unit processes the job according to the corresponding process scheduling information of the scheduling information.
상기 작업 스케줄링부는,
임의 금형의 태스크에 대한 공정 스케줄링 시 상기 기계 DB의 기계별 유휴시간을 확인하고 확인된 유휴시간을 출력하며, 임의 기계에 상기 태스크에 대한 공정작업의 할당 후, 상기 기계 DB의 상기 공정작업이 할당된 기계의 상기 유휴시간을 상기 공정작업의 할당에 따른 상기 공정작업의 실 작업시간 이후의 시간으로 갱신하는 유휴시간 확인부;
상기 기계 DB의 기계별 효율성을 반영하여 해당 기계에 할당된 공정작업의 기본 작업시간에 대한 실 작업시간을 계산하여 출력하는 태스크 공정작업시간 계산부; 및
상기 금형 가공 순서, 실 작업시간 및 기계별 유휴시간을 다중 구속조건으로 하여 그리디 알고리즘에 적용하여 공정작업을 상기 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 상기 작업 DB에 저장하는 공정작업 할당부를 포함하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 시스템.
In the second paragraph,
The above work scheduling section,
An idle time verification unit that checks the idle time of each machine in the machine DB when scheduling a process for a task of an arbitrary mold, outputs the checked idle time, and after assigning a process task for the task to an arbitrary machine, updates the idle time of the machine to which the process task is assigned in the machine DB to the time after the actual work time of the process task according to the assignment of the process task;
A task process work time calculation unit that calculates and outputs the actual work time for the basic work time of the process work assigned to the machine by reflecting the efficiency of each machine in the above machine DB; and
A multiple constraint greedy job scheduling system characterized by including a process job allocation unit that applies a greedy algorithm with the mold processing sequence, actual work time, and idle time of each machine as multiple constraints to allocate process tasks to the machines, thereby generating machine-specific process scheduling information according to machine-specific process scheduling and storing the information in the job DB.
상기 작업처리부를 통해 기계별로 할당되어 진행 중인 공정작업의 작업시간에 따른 진도를 확인하여, 진행 작업시간 및 진도정보를 상기 스케줄링부로 제공하는 진도 확인부를 더 포함하되,
상기 스케줄링부는,
상기 진도 확인부로부터 진행 작업시간 및 진도정보를 입력받고, 상기 진행 작업시간 및 진도정보에 따른 해당 기계의 효율성을 계산하고, 기계 DB의 해당 기계의 효율성을 업데이트하는 공정 진도 확인부를 더 포함하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 시스템.
In the third paragraph,
The above work processing unit further includes a progress confirmation unit that checks the progress of the process work being performed according to the work time allocated to each machine and provides the progress information and work time to the above scheduling unit.
The above scheduling section,
A multi-constraint greedy work scheduling system characterized by further including a process progress verification unit that receives progress information and work progress time from the progress verification unit, calculates the efficiency of the corresponding machine according to the progress information and work progress time, and updates the efficiency of the corresponding machine in the machine DB.
상기 태스크 공정작업시간 계산부는,
하기 수학식에 의해 상기 실 작업시간을 계산하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 시스템.
[수학식]
여기서, t'j,A 는 효율성에 따라 추가되는 시간이고, p'bh,j는 A기계에 할당된 h(금형)의 j작업에 대한 기준 작업시간이며, ej,A는 기계A의 효율성이다.
In the third paragraph,
The above task process work time calculation section is,
A multi-constraint greedy work scheduling system characterized by calculating the actual working time by the following mathematical formula.
[Mathematical formula]
Here, t' j,A is the time added according to efficiency, p' bh,j is the standard working time for j operation of h (mold) assigned to machine A, and e j,A is the efficiency of machine A.
상기 태스크 순서화부는,
금형 태스크의 주문 순서에 따라 순서화하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 시스템.
In the second paragraph,
The above task sequencing unit,
A multi-constraint greedy job scheduling system characterized by sequencing according to the order of mold tasks.
상기 태스크 순서화부는,
금형 태스크의 주문 순서와, 주문 작업 가격, 금형 태스크 납기 속도 및 납기 기간 중 어느 하나 이상을 적용한 중요도에 따라 순서화하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 시스템.
In the second paragraph,
The above task sequencing unit,
A multi-constraint greedy job scheduling system characterized by sequencing the order of mold tasks and the importance of applying at least one of the order job price, mold task delivery speed, and delivery period.
주문받은 금형에 대한 태스크 정보, 주문받은 태스크의 금형 가공에 요구되는 공정정보, 공정별 기본 작업시간, 기계별 구동 시작시각 및 구동 종료시각을 포함하는 기계상태정보를 획득하여 상기 저장부의 금형 DB, 작업 DB 및 기계 DB에 저장하는 정보 획득부를 더 포함하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 시스템.
In the first paragraph,
A multi-constraint greedy work scheduling system characterized by further including an information acquisition unit that acquires machine status information including task information for an ordered mold, process information required for mold processing of an ordered task, basic work time for each process, and operation start time and operation end time for each machine, and stores the acquired information in the mold DB, work DB, and machine DB of the storage unit.
상품을 생성하기 위한 다수의 공정 중 하나의 공정에 대한 작업을 수행하는 기계에 구성되는 작업처리부가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 따라 해당 공적 작업을 수행하는 공정작업 수행 과정을 포함하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 방법.
A scheduling process in which a scheduling unit stores and manages tasks for at least one mold for which a production order has been made, at least one process for producing a product of each task, a basic working time for each process, and the efficiency of the machine, determines a processing order for each product, and applies the determined processing order, idle time, and efficiency of the machine to a greedy algorithm as multiple constraints, thereby allocating the processing work for each product to the corresponding machine and generating scheduling information including process scheduling information for each machine; and
A multi-constraint greedy job scheduling method characterized in that the job processing unit configured in a machine performing a job for one of a plurality of processes for producing a product includes a process job performing process for performing a corresponding public job according to the corresponding process scheduling information of the scheduling information.
상기 스케줄링 과정은,
상기 스케줄링부가 태스크 순서화부를 통해 미리 설정된 순서화 조건에 따라 금형 DB에 등록된 태스크 정보의 태스크를 순서화하여 금형별 가공 순서를 결정하고, 순서화된 가공 순서 정보를 상기 금형 DB에 저장하는 태스크 순서화 단계;
상기 스케줄링부가 작업 스케줄링부를 통해 결정된 금형 가공 순서, 상기 기계의 유휴시간 및 효율성을 다중 구속조건으로 그리디 알고리즘에 적용하여, 상기 상품별 공정작업을 해당 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 작업 DB에 저장하는 작업 스케줄링 단계;
상기 스케줄링부가 태스크 스케줄링부를 통해 공정별 공정 스케줄링 정보를 포함하는 스케줄링 정보를 생성하여 스케줄링 DB에 저장하는 태스크 스케줄링 단계; 및
상기 스케줄링부가 스케줄링 출력부를 통해 상기 스케줄링 정보를 출력하여 해당 작업처리부가 상기 스케줄링 정보의 해당 공정 스케줄링 정보에 의해 작업 처리되도록 하는 스케줄링 출력 단계를 포함하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 방법.
In Article 9,
The above scheduling process is,
A task sequencing step in which the scheduling unit determines the processing order for each mold by sequencing tasks of task information registered in the mold DB according to a pre-set sequencing condition through the task sequencing unit, and stores the sequenced processing order information in the mold DB;
A work scheduling step in which the above scheduling section applies the mold processing order determined through the work scheduling section, the idle time and efficiency of the machine to a greedy algorithm as multiple constraints, and allocates the product-specific process work to the corresponding machine, thereby generating machine-specific process scheduling information according to the machine-specific process scheduling and storing it in the work DB;
A task scheduling step in which the scheduling unit generates scheduling information including process scheduling information for each process through the task scheduling unit and stores it in the scheduling DB; and
A multi-constraint greedy job scheduling method characterized in that it includes a scheduling output step in which the scheduling unit outputs the scheduling information through a scheduling output unit so that the corresponding job processing unit processes the job according to the corresponding process scheduling information of the scheduling information.
상기 작업 스케줄링 단계는,
상기 스케줄링부가 작업 스케줄링부의 유휴시간 확인부를 통해 임의 금형의 태스크에 대한 공정 스케줄링 시 상기 기계 DB의 기계별 유휴시간을 확인하고 확인된 유휴시간을 출력하는 유휴시간 확인 단계;
상기 스케줄링부가 상기 작업 스케줄링부의 태스크 공정작업시간 계산부를 통해 기계 DB의 기계별 효율성을 반영하여 해당 기계에 할당된 공정작업의 기본 작업시간에 대한 실 작업시간을 계산하여 출력하는 실 작업시간 계산 단계;
상기 스케줄링부가 상기 작업 스케줄링부의 공정작업 할당부를 통해 상기 금형 가공 순서, 실 작업시간 및 기계별 유휴시간을 다중 구속조건으로 하여 그리디 알고리즘에 적용하여 공정작업을 상기 기계에 할당하여 기계별 공정 스케줄링에 따른 기계별 공정 스케줄링 정보를 생성하여 작업 DB에 저장하는 공정작업 할당 단계; 및
상기 스케줄링부가 상기 유휴시간 확인부를 통해 임의 기계에 상기 태스크에 대한 공정작업의 할당 후, 상기 기계 DB의 상기 공정작업이 할당된 기계의 상기 유휴시간을 상기 공정작업의 할당에 따른 상기 공정작업의 실 작업시간 이후의 시간으로 갱신하는 유휴시간 갱신 단계를 포함하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 방법.
In Article 10,
The above task scheduling steps are:
An idle time checking step in which the above scheduling unit checks the idle time of each machine in the machine DB when scheduling a process for a task of an arbitrary mold through the idle time checking unit of the work scheduling unit and outputs the checked idle time;
An actual work time calculation step in which the scheduling unit calculates and outputs the actual work time for the basic work time of the process work assigned to the corresponding machine by reflecting the efficiency of each machine in the machine DB through the task process work time calculation unit of the work scheduling unit;
The above scheduling unit applies the mold processing order, actual working time, and idle time of each machine as multiple constraints to a greedy algorithm through the process work allocation unit of the work scheduling unit to allocate process work to the machine, thereby generating process scheduling information for each machine according to the process scheduling of each machine and storing it in the work DB; and
A multi-constraint greedy task scheduling method characterized in that the scheduling unit includes an idle time updating step of updating the idle time of a machine to which the process task is assigned in the machine DB to a time after the actual working time of the process task according to the assignment of the process task after the process task is assigned to an arbitrary machine through the idle time checking unit.
진도 확인부가 상기 작업처리부를 통해 기계별로 할당되어 진행 중인 공정작업의 작업시간에 따른 진도를 확인하여, 진행 작업시간 및 진도정보를 상기 스케줄링부로 제공하는 진도 확인 과정을 더 포함하되,
상기 스케줄링 과정은,
상기 스케줄링부가 상기 진도 확인부로부터 진행 작업시간 및 진도정보를 상기 입력받고, 상기 진행 작업시간 및 진도정보에 따른 해당 기계의 효율성을 계산하고, 기계 DB의 해당 기계의 효율성을 업데이트하는 공정 진도 확인 단계를 더 포함하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 방법.
In Article 11,
The progress confirmation unit further includes a progress confirmation process in which the progress of the process work in progress is confirmed according to the work time allocated to each machine through the work processing unit, and the progress confirmation process provides the progress information and work time to the scheduling unit.
The above scheduling process is,
A multi-constraint greedy work scheduling method characterized in that the scheduling unit further includes a process progress confirmation step in which the scheduling unit receives the progress work time and progress information from the progress confirmation unit, calculates the efficiency of the corresponding machine according to the progress work time and progress information, and updates the efficiency of the corresponding machine in the machine DB.
상기 태스크 공정작업시간 계산부가,
하기 수학식에 의해 상기 실 작업시간을 계산하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 방법.
[수학식]
여기서, t'j,A 는 효율성에 따라 추가되는 시간이고, p'bh,j는 A기계에 할당된 h(금형)의 j작업에 대한 기준 작업시간이며, ej,A는 기계A의 효율성이다.
In Article 11,
The above task process work time calculation section,
A multi-constraint greedy work scheduling method characterized by calculating the actual work time by the following mathematical formula.
[Mathematical formula]
Here, t' j,A is the time added according to efficiency, p' bh,j is the standard working time for j operation of h (mold) assigned to machine A, and e j,A is the efficiency of machine A.
상기 태스크 순서화부는,
금형 태스크의 주문 순서와, 주문 작업 가격, 금형 태스크 납기 속도 및 납기 일수 중 어느 하나 이상을 적용한 중요도에 따라 순서화하는 것을 특징으로 하는 다중 구속조건 그리디 작업 스케줄링 방법.In Article 10,
The above task sequencing unit,
A multi-constraint greedy job scheduling method characterized by sequencing the order of mold tasks and the importance applied to at least one of the order work price, mold task delivery speed, and delivery days.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230061822A KR102832961B1 (en) | 2023-05-12 | 2023-05-12 | Multi-constraint greedy job scheduling system and method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020230061822A KR102832961B1 (en) | 2023-05-12 | 2023-05-12 | Multi-constraint greedy job scheduling system and method thereof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20240164215A true KR20240164215A (en) | 2024-11-19 |
| KR102832961B1 KR102832961B1 (en) | 2025-07-11 |
Family
ID=93670328
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020230061822A Active KR102832961B1 (en) | 2023-05-12 | 2023-05-12 | Multi-constraint greedy job scheduling system and method thereof |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR102832961B1 (en) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05165842A (en) * | 1991-12-13 | 1993-07-02 | Toyota Central Res & Dev Lab Inc | Process time estimation device |
| JP2013186866A (en) * | 2012-03-12 | 2013-09-19 | Hitachi Ltd | Processing step planning device |
| JP2014222409A (en) * | 2013-05-13 | 2014-11-27 | トヨタ自動車株式会社 | Process management system |
| KR20150124061A (en) * | 2014-04-25 | 2015-11-05 | 상명대학교서울산학협력단 | Method and Apparatus for Power-Aware Scheduling of Task based on Priority |
| KR102190842B1 (en) * | 2020-03-11 | 2020-12-14 | 남상엽 | Apparatus and method for smart job scheduling applied to mold manufacturing process |
| KR20210034195A (en) * | 2019-09-20 | 2021-03-30 | 인천대학교 산학협력단 | Real-time analysis device capable of determining whether work assignment scheduling in a real-time system is possible and operating method thereof |
| KR102342028B1 (en) | 2021-04-27 | 2021-12-22 | (주)지에스티 | The operating method of cloud based automatic schedule system to produce a variety of varieties in small quantities |
-
2023
- 2023-05-12 KR KR1020230061822A patent/KR102832961B1/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05165842A (en) * | 1991-12-13 | 1993-07-02 | Toyota Central Res & Dev Lab Inc | Process time estimation device |
| JP2013186866A (en) * | 2012-03-12 | 2013-09-19 | Hitachi Ltd | Processing step planning device |
| JP2014222409A (en) * | 2013-05-13 | 2014-11-27 | トヨタ自動車株式会社 | Process management system |
| KR20150124061A (en) * | 2014-04-25 | 2015-11-05 | 상명대학교서울산학협력단 | Method and Apparatus for Power-Aware Scheduling of Task based on Priority |
| KR20210034195A (en) * | 2019-09-20 | 2021-03-30 | 인천대학교 산학협력단 | Real-time analysis device capable of determining whether work assignment scheduling in a real-time system is possible and operating method thereof |
| KR102190842B1 (en) * | 2020-03-11 | 2020-12-14 | 남상엽 | Apparatus and method for smart job scheduling applied to mold manufacturing process |
| KR102342028B1 (en) | 2021-04-27 | 2021-12-22 | (주)지에스티 | The operating method of cloud based automatic schedule system to produce a variety of varieties in small quantities |
Non-Patent Citations (2)
| Title |
|---|
| Amjad, M. K., Butt, S. I., Kousar, R., Ahmad, R., Agha, M. H., Faping, Z., Anjum, N., & Asgher, U. (2018). Recent research trends in genetic algorithm based fexible job shop scheduling problems. Mathematical Problems in Engineering, 2018. |
| Gon¸calves, J. F., de Magalhaes Mendes, J. J., & Resende, M. G. (2005). A hybrid genetic algorithm for the job shop scheduling problem. European journal of operational research, 167, 77-95. |
Also Published As
| Publication number | Publication date |
|---|---|
| KR102832961B1 (en) | 2025-07-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN105160439B (en) | A kind of production scheduling method and automatic arrangement program system | |
| US20070299714A1 (en) | System and method for managing mobile workers | |
| CN113159979A (en) | Scheduling decision method and system | |
| CN108776862A (en) | The intelligent scheduled production method that support process task amount is split | |
| JPH09153090A (en) | Processing process production planning method and device | |
| US20230115525A1 (en) | Computer-implemented method for planning and/or controlling a production by a production system, and production planning and/or control system | |
| JP2003241822A (en) | Management method based on flow management for supply-chain product management | |
| US8170703B2 (en) | Method for controlling a plurality of production processes | |
| TWI784311B (en) | Management device, management system, and management program | |
| CN111105133B (en) | Production scheduling method, computer device, and storage medium | |
| KR102832961B1 (en) | Multi-constraint greedy job scheduling system and method thereof | |
| WO2022179978A1 (en) | System and method for providing short-term dispatching decisions for operating a number of resources involved in a number of production processes under consideration of long-term objectives | |
| US6917843B2 (en) | System and method for scheduling production of molds | |
| Wang et al. | Scheduling Optimization Modelling: A Case Study of a Woven Label Manufacturing Company. | |
| CN117557232A (en) | Advanced scheduling method based on production plan | |
| CN118569555A (en) | Automatic production scheduling method, device, equipment and storage medium for production plan | |
| US20050065833A1 (en) | Production scheduling management method and production scheduling management program | |
| JP4318162B2 (en) | Production schedule planning management method and production schedule planning management program | |
| JP2024031005A (en) | Progress management system, production execution system and progress management method | |
| Sunday et al. | Impact of problems associated with scheduling and capacity planning of a production process–an overview | |
| CN113095704A (en) | Production plan scheduling method, device, equipment and medium | |
| WO2006077930A1 (en) | Production scheduling system | |
| Salehi et al. | A novel model for production optimization with stochastic rework and failure-prone job shop schedule problem via hybrid simulation–heuristic optimization | |
| JP2001027905A (en) | Production plan creation method and device | |
| JP4648136B2 (en) | Production plan creation method, production plan creation device, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| F11 | Ip right granted following substantive examination |
Free format text: ST27 STATUS EVENT CODE: A-2-4-F10-F11-EXM-PR0701 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| U11 | Full renewal or maintenance fee paid |
Free format text: ST27 STATUS EVENT CODE: A-2-2-U10-U11-OTH-PR1002 (AS PROVIDED BY THE NATIONAL OFFICE) Year of fee payment: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| Q13 | Ip right document published |
Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE) |



