KR101984460B1 - Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches - Google Patents

Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches Download PDF

Info

Publication number
KR101984460B1
KR101984460B1 KR1020190040892A KR20190040892A KR101984460B1 KR 101984460 B1 KR101984460 B1 KR 101984460B1 KR 1020190040892 A KR1020190040892 A KR 1020190040892A KR 20190040892 A KR20190040892 A KR 20190040892A KR 101984460 B1 KR101984460 B1 KR 101984460B1
Authority
KR
South Korea
Prior art keywords
schedules
evaluation index
schedule
new
genetic algorithm
Prior art date
Application number
KR1020190040892A
Other languages
Korean (ko)
Inventor
송길태
오홍택
Original Assignee
부산대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 부산대학교 산학협력단 filed Critical 부산대학교 산학협력단
Priority to KR1020190040892A priority Critical patent/KR101984460B1/en
Application granted granted Critical
Publication of KR101984460B1 publication Critical patent/KR101984460B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total 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], computer integrated manufacturing [CIM]
    • G05B19/41865Total 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], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q41/00Combinations or associations of metal-working machines not directed to a particular result according to classes B21, B23, or B24
    • B23Q41/08Features relating to maintenance of efficient operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

Disclosed are a method for automatically scheduling jobs in an automatic machine tool, capable of suggesting an optimized schedule wanted from a manufacturing site, and an apparatus thereof. According to the present invention, the method for automatically scheduling jobs in an automatic machine tool comprises the following steps: collecting a schedule job list from a database; generating a plurality of schedules for a scheduled job to be processed with respect to the schedule job list; calculating an evaluation index about the generated schedules; detecting whether the evaluation index for the calculated schedules reaches a target evaluation index; selecting a schedule corresponding to two evaluation indexes and using a genetic algorithm to generate two new schedules when the calculated evaluation index does not reach the target evaluation index; and setting a selection probability to be a schedule with the highest evaluation index to return the selection probability to a user when the calculated evaluation index reaches the target evaluation index.

Description

머신러닝 기반 자동 공작기계 작업 스케줄링 방법 및 장치{Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches}TECHNICAL FIELD [0001] The present invention relates to a method and apparatus for scheduling a machine-based automatic machine tool job,

본 발명은 머신러닝 기반 자동 공작기계 작업 스케줄링 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for scheduling machine-based automatic machine tool work.

종래 스케줄링 프로그래밍 발명은 항공기 스케줄이나 파트 타임의 타임테이블 스케줄링 등에 국한된 것이었다. 또한 이러한 경우 대부분 스케줄링을 각 조건에 따른 규칙 기반(rule-based) 형식으로 스케줄링 하였고, 평가 척도가 명확하지 않아 만들어진 스케줄링 결과에 대한 성능 평가가 모호하였다.Conventional scheduling programming inventions were limited to aircraft schedules and part-time timetable scheduling. In this case, most of the scheduling is scheduled in a rule-based format according to each condition, and the performance evaluation of the generated scheduling result is ambiguous because the evaluation scale is not clear.

공작기계를 이용하여 제품을 생산하는 공장에서는 수천 가지의 제품을 각 제품의 크기나 모양에 따라 조건에 맞는 기계로 배분하여 생산한다. 이 때 이러한 조건들은 스케줄링에서 일종의 제약조건으로 작용한다. 현재 작업이 배정되어 있지 않은 기계가 있어도 이 조건을 충족시키지 못하는 기계에는 배분을 할 수 없기 때문이다. 따라서, 이러한 스케줄 제약조건을 만족시키면서 생산 현장에서 원하는 최적화된 스케줄을 제시하는 방법을 필요로 한다.In factories that produce products using machine tools, thousands of products are produced by distributing them according to the size and shape of each product. These conditions serve as a kind of constraint in scheduling. This is because machines that are not currently assigned to jobs can not be allocated to machines that do not meet these conditions. Therefore, a method of presenting a desired optimized schedule at a production site while satisfying such a schedule constraint is required.

본 발명이 이루고자 하는 기술적 과제는 스케줄 제약조건을 만족시키면서 생산 현장에서 원하는 최적화된 스케줄을 제시하기 위한 방법 및 장치를 제공하는데 있다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a method and apparatus for presenting a desired optimized schedule at a production site while satisfying a schedule constraint.

일 측면에 있어서, 본 발명에서 제안하는 머신러닝 기반 자동 공작기계 작업 스케줄링 방법은 스케줄 작업 목록을 데이터베이스로부터 수집하는 단계, 상기 스케줄 작업 목록에 대하여 처리해야 하는 스케줄 작업을 대상으로 복수의 스케줄을 생성하는 단계, 상기 생성된 복수의 스케줄에 대한 평가지표를 산출하는 단계, 상기 산출된 복수의 스케줄에 대한 평가지표가 목표 평가지표에 도달했는지 판단하는 단계, 상기 산출된 평가지표가 목표 평가지표에 도달하지 못했을 경우, 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계 및 상기 산출된 평가지표가 목표 평가지표에 도달했을 경우, 가장 높은 평가지표를 갖는 스케줄이 선택되도록 선택확률을 설정하여 사용자에게 반환하는 단계를 포함한다. According to an aspect of the present invention, there is provided a method for scheduling a machine-based automatic machine tool job, the method including collecting a schedule task list from a database, generating a plurality of schedules for a schedule task to be processed for the schedule task list Calculating an evaluation index for the generated plurality of schedules, determining whether an evaluation index for the plurality of schedules has reached a target evaluation index, determining whether the calculated evaluation index reaches the target evaluation index Selecting a schedule corresponding to the two evaluation indicators and generating two new schedules using the genetic algorithm, and when the calculated evaluation index reaches the target evaluation index, the schedule having the highest evaluation index And sets the selection probability to be returned to the user And a system.

상기 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계를 상기 복수의 스케줄의 수만큼의 새로운 스케줄이 생성될 때까지 반복 수행한다. Selecting a schedule corresponding to the two evaluation indexes and generating two new schedules using the genetic algorithm is repeated until the number of new schedules corresponding to the plurality of schedules is generated.

상기 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계는 상기 복수의 스케줄에 대하여 두 개의 스케줄을 하나의 쌍으로 묶고, 각 스케줄 쌍에 대해 교차 조합(cross over) 연산 및 변이(mutation) 연산을 통해 두 개의 새로운 스케줄을 생성하여 업데이트 한다. Wherein the step of selecting a schedule corresponding to the two evaluation indicators and generating two new schedules using a genetic algorithm comprises: grouping two schedules into one pair for the plurality of schedules; two new schedules are created and updated through a cross over operation and a mutation operation.

상기 사용자에게 반환된 스케줄을 기계별 작업 배정 정보에 반영하고, 상기 기계별 작업 배정 정보를 표시한다. The schedule returned to the user is reflected in the machine-specific job assignment information, and the machine-specific job assignment information is displayed.

기계별 작업 배정 정보에 반영된 스케줄 대로 작업을 재분배하고, 상기 재분배된 결과는 다시 시각화하여 화면에 표시한다. Redistributing the work according to the schedule reflected in the machine-specific job assignment information, and visualizing the redistributed result again, and displaying it on the screen.

또 다른 일 측면에 있어서, 본 발명에서 제안하는 머신러닝 기반 자동 공작기계 작업 스케줄링 장치는 스케줄 작업 목록을 데이터베이스로부터 수집하는 전처리부, 상기 스케줄 작업 목록에 대하여 처리해야 하는 스케줄 작업을 대상으로 복수의 스케줄을 생성하고, 스케줄 분석부의 결과에 따라 평가지표가 목표 평가지표에 도달하지 못했을 경우, 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 유전 알고리즘 기반 스케줄 생성부, 상기 생성된 복수의 스케줄에 대한 평가지표를 산출하는 스케줄 평가부, 상기 산출된 복수의 스케줄에 대한 평가지표가 목표 평가지표에 도달했는지 판단하는 스케줄 분석부 및 사용자에게 반환된 스케줄을 기계별 작업 배정 정보에 반영하고, 상기 기계별 작업 배정 정보를 표시하는 디스플레이부를 포함한다. According to another aspect of the present invention, there is provided an apparatus for scheduling a machine-based automatic machine tool job, comprising: a preprocessing unit for collecting a schedule work list from a database; a plurality of schedules A genetic algorithm-based schedule for generating two new schedules by using a genetic algorithm, selecting a schedule corresponding to two evaluation indexes when the evaluation index does not reach the target evaluation index according to a result of the schedule analysis unit, A schedule analyzer for determining whether an evaluation index for the plurality of schedules has reached a target evaluation index and a schedule analyzer for determining whether the schedule returned to the user is a machine And is reflected in the star work assignment information, And a display unit for displaying job assignment information.

상기 유전 알고리즘 기반 스케줄 생성부는 상기 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계를 상기 복수의 스케줄의 수만큼의 새로운 스케줄이 생성될 때까지 반복 수행한다. Wherein the genetic algorithm-based schedule generator selects a schedule corresponding to the two evaluation indexes and generates two new schedules using a genetic algorithm, repeats the steps of generating a new schedule by the number of the plurality of schedules .

상기 유전 알고리즘 기반 스케줄 생성부는 상기 복수의 스케줄에 대하여 두 개의 스케줄을 하나의 쌍으로 묶고, 각 스케줄 쌍에 대해 교차 조합(cross over) 연산 및 변이(mutation) 연산을 통해 두 개의 새로운 스케줄을 생성하여 업데이트 한다. The genetic algorithm-based schedule generator generates two new schedules by grouping two schedules into one pair for each of the plurality of schedules, performing a cross over operation and a mutation operation for each schedule pair Update.

상기 스케줄 분석부는 상기 산출된 평가지표가 목표 평가지표에 도달했을 경우, 가장 높은 평가지표를 갖는 스케줄이 선택되도록 선택확률을 설정하여 사용자에게 반환한다.The schedule analyzer sets a selection probability so that a schedule having the highest evaluation index is selected when the calculated evaluation index reaches the target evaluation index, and returns the selected selection probability to the user.

상기 스케줄 분석부는 상기 기계별 작업 배정 정보에 반영된 스케줄 대로 작업을 재분배하고, 상기 재분배된 결과는 상기 디스플레이부를 통해 다시 시각화하여 화면에 표시한다.The schedule analyzer redistributes the job according to the schedule reflected in the machine-specific job assignment information, and the redistributed result is visualized again on the display unit and displayed on the screen.

본 발명의 실시예들에 따르면 스케줄 제약조건을 만족시키면서 생산 현장에서 원하는 최적화된 스케줄을 제시할 수 있고, 인력으로 예측한 스케줄보다 효율적이고 안정적인 생산성 향상에 기여할 수 있다.According to the embodiments of the present invention, it is possible to present a desired optimized schedule at the production site while satisfying the schedule constraint condition, and to contribute more efficiently and stably to the productivity improvement than the schedule predicted by the manpower.

도 1은 본 발명의 일 실시예에 따른 머신러닝 기반 자동 공작기계 작업 스케줄링 과정을 설명하기 위한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 스케줄링 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 머신러닝 기반 자동 공작기계 작업 스케줄링 장치의 구성을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 머신러닝 기반 자동 공작기계 작업 스케줄링 장치의 동작을 설명하기 위한 도면이다.
1 is a schematic diagram for explaining a process of scheduling a machine learning based automatic machine tool according to an embodiment of the present invention.
2 is a flowchart illustrating a scheduling method according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating a configuration of a machine learning-based automatic machine tool job scheduling apparatus according to an embodiment of the present invention.
4 is a diagram for explaining the operation of the machine learning-based automatic machine tool job scheduling apparatus according to an embodiment of the present invention.

공작기계를 이용하여 제품을 생산하는 공장에서는 수천 가지의 제품을 각 제품의 크기나 모양에 따라 조건에 맞는 기계로 배분하여 생산한다. 이 때 이 조건들은 스케줄링에서 일종의 제약조건으로 작용한다. 현재 작업이 배정되어 있지 않은 기계가 있어도 이 조건을 충족시키지 못하는 기계에는 배분을 할 수 없기 때문이다. 본 발명은 이러한 스케줄 제약조건을 만족시키면서 생산 현장에서 원하는 최적화된 스케줄을 제시한다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.In factories that produce products using machine tools, thousands of products are produced by distributing them according to the size and shape of each product. These conditions serve as a kind of constraint in scheduling. This is because machines that are not currently assigned to jobs can not be allocated to machines that do not meet these conditions. The present invention provides a desired optimized schedule at a production site while satisfying such a schedule constraint. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 머신러닝 기반 자동 공작기계 작업 스케줄링 과정을 설명하기 위한 개략도이다. 1 is a schematic diagram for explaining a process of scheduling a machine learning based automatic machine tool according to an embodiment of the present invention.

제안하는 머신러닝 기반 자동 공작기계 작업 스케줄링 과정은 먼저 데이터베이스로부터 현재 기계별 작업 배정 정보(111)를 수집하고, 스케줄 대상 작업 목록을 검색(112)한다. The proposed machine learning based automatic machine tool job scheduling process first collects current machine-specific task assignment information 111 from a database, and searches a schedule target task list (112).

이렇게 수집된 정보를 이용하여 본 발명에서 제안하는 스케줄링 알고리즘(110)을 적용한다. 본 발명의 가장 중요한 특징은 결정론적인 알고리즘에 따른 단일 스케줄 결과 만들어가는 것이 아니라, 다양한 스케줄을 생성하여 자체적으로 고안한 세 가지 스케줄링 성능 평가 지표를 적용하여 평가한 후 새로운 스케줄로 점차 발전시켜 최적의 스케줄 결과를 학습시키는 방법인 유전 알고리즘(genetic algorithm)방식을 사용한다는 것이다. 본 발명의 실시 예에 따른 세 가지 지표는 납기를 맞추지 못한 작업의 수, 모든 작업들에 대해 납기보다 지연된 시간들의 총합, 그리고 가장 마지막으로 끝나는 작업의 종료 시간이다.The scheduling algorithm 110 proposed in the present invention is applied using the collected information. The most important characteristic of the present invention is not to produce a single schedule result according to a deterministic algorithm but to generate various schedules, evaluate and apply three self-designed scheduling performance evaluation indexes, And use a genetic algorithm, a method of learning the results. The three indicators according to an embodiment of the present invention are the number of jobs that failed to meet deadlines, the sum of the hours delayed for all jobs than the deadlines, and the end time of the last completed job.

제안하는 스케줄링 알고리즘(110)은 스케줄 작업 목록에 대하여 처리해야 하는 스케줄 작업을 대상으로 복수의 스케줄을 생성하고, 생성된 복수의 스케줄에 대한 평가지표를 산출한다. 이렇게 산출된 복수의 스케줄에 대한 평가지표가 목표 평가지표에 도달했는지 판단하여, 산출된 평가지표가 목표 평가지표에 도달하지 못했을 경우, 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성한다. 이러한 단계를 복수의 스케줄의 수만큼의 새로운 스케줄이 생성될 때까지 반복 수행한다. 반면에 산출된 평가지표가 목표 평가지표에 도달했을 경우, 가장 높은 평가지표를 갖는 스케줄이 선택되도록 선택확률을 설정하여 사용자에게 반환한다. The proposed scheduling algorithm 110 generates a plurality of schedules for a schedule task to be processed for a schedule task list, and calculates an evaluation index for the generated plurality of schedules. When the calculated evaluation indexes do not reach the target evaluation indexes, a schedule corresponding to the two evaluation indexes is selected, and a genetic algorithm is used To create two new schedules. This step is repeated until a new schedule of the number of the plurality of schedules is generated. On the other hand, when the calculated evaluation index reaches the target evaluation index, the selection probability is set so that the schedule having the highest evaluation index is selected and returned to the user.

이와 같은 스케줄링 알고리즘(110)을 적용하여 제시된 스케줄을 선택(120)한 후, 기계별 작업 배정 정보에 반영한다(130). 제시된 스케줄을 선택하지 않은 경우, 스케줄링 알고리즘(110)을 적용하는 단계부터 반복한다. The scheduling algorithm 110 is applied to the selected schedule 120, and then the selected schedule is reflected in the per-machine task assignment information 130. If the proposed schedule is not selected, the process is repeated from the step of applying the scheduling algorithm 110.

기계별 작업 배정 정보에 반영한 후, 기계별 작업 배정 정보를 디스플레이부에 표시한다(140). 제안하는 스케줄링 알고리즘(110)에 대하여, 도 2를 참조하여 더욱 상세히 설명한다. After reflecting on the machine-specific job assignment information, the machine-specific job assignment information is displayed on the display unit (140). The proposed scheduling algorithm 110 will be described in more detail with reference to FIG.

도 2는 본 발명의 일 실시예에 따른 스케줄링 방법을 설명하기 위한 흐름도이다. 2 is a flowchart illustrating a scheduling method according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 스케줄링 방법은 스케줄 작업 목록을 데이터베이스로부터 수집하는 단계(210), 상기 스케줄 작업 목록에 대하여 처리해야 하는 스케줄 작업을 대상으로 복수의 스케줄을 생성하는 단계(220), 상기 생성된 복수의 스케줄에 대한 평가지표를 산출하는 단계(230), 상기 산출된 복수의 스케줄에 대한 평가지표가 목표 평가지표에 도달했는지 판단하는 단계(240), 상기 산출된 평가지표가 목표 평가지표에 도달하지 못했을 경우, 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계(250) 및 산출된 평가지표가 목표 평가지표에 도달했을 경우, 가장 높은 평가지표를 갖는 스케줄이 선택되도록 선택확률을 설정하여 사용자에게 반환하는 단계(260)를 포함한다. A scheduling method according to an exemplary embodiment of the present invention includes collecting a schedule job list from a database 210, generating 220 a plurality of schedules for a schedule job to be processed for the schedule job list, A step (230) of calculating an evaluation index for a plurality of generated schedules, a step (240) of determining whether an evaluation index for the plurality of schedules has reached a target evaluation index (240), determining whether the calculated evaluation index A step 250 of selecting a schedule corresponding to two evaluation indicators and generating two new schedules using a genetic algorithm, and when the calculated evaluation index reaches the target evaluation index, And a step 260 of setting a selection probability so that a schedule having an evaluation index is selected and returned to the user.

단계(210)에서, 스케줄 작업 목록을 데이터베이스로부터 수집한다. 최초에 스케줄링을 할 대상 작업 목록들을 데이터베이스에서 가져온다. In step 210, the schedule task list is collected from the database. First, the task list to be scheduled is fetched from the database.

단계(220)에서, 스케줄 작업 목록에 대하여 처리해야 하는 스케줄 작업을 대상으로 복수의 스케줄을 생성한다. 데이터베이스에서 가져온 스케줄링을 할 대상 작업 목록들을 이용하여 랜덤으로 N개의 스케줄을 만들어낸다. In step 220, a plurality of schedules are created for a schedule job to be processed for the schedule job list. Randomly generates N schedules using the task lists to be scheduled from the database.

단계(230)에서, 생성된 복수의 스케줄에 대한 평가지표를 산출한다. 이후, 더 좋은 평가지표를 가지는 스케줄들이 높은 선택확률을 가지도록 선택 확률을 설정한다.In step 230, an evaluation index for the plurality of generated schedules is calculated. Thereafter, the selection probability is set so that schedules having a better evaluation index have a high selection probability.

단계(240)에서, 상기 산출된 복수의 스케줄에 대한 평가지표가 목표 평가지표에 도달했는지 판단한다. In step 240, it is determined whether the evaluation index for the plurality of schedules thus calculated reaches the target evaluation index.

산출된 평가지표가 목표 평가지표에 도달하지 못했을 경우, 단계(250)에서 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성한다. If the calculated evaluation index does not reach the target evaluation index, a schedule corresponding to the two evaluation indexes is selected in step 250, and two new schedules are generated using the genetic algorithm.

두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계를 상기 복수의 스케줄의 수만큼의 새로운 스케줄이 생성될 때까지 반복 수행한다. Selecting a schedule corresponding to the two evaluation indicators and generating two new schedules using the genetic algorithm is repeated until a new schedule of the number of schedules is generated.

다시 말해, N개의 스케줄에 대해 각 두 개의 쌍으로 묶어 각 스케줄 쌍에 대해 교차 조합(cross over) 연산과 변이(mutation) 연산을 통해 새로운 두 개의 스케줄로 업데이트한다. 이러한 방식으로 생성된 새로운 N개의 스케줄에 대하여 교차 조합과 변이를 반복한다. 새로운 N개의 스케줄이 생성될 때마다 선택과 평가 과정을 반복하여 점차 평가 지표가 좋은 다양한 스케줄들이 새로 생성되도록 유도한다. 이후, 다시 단계(230)으로 이동하여 생성된 복수의 스케줄에 대한 평가지표를 산출한다. In other words, each pair of N schedules is grouped into two pairs, and the schedule pair is updated with two new schedules through a cross over operation and a mutation operation. The intersection combination and the variation are repeated for the new N schedules generated in this way. Each time the new N schedules are generated, the selection and evaluation processes are repeated to induce new schedules to be newly created with good evaluation indices. Thereafter, the process returns to step 230 to calculate an evaluation index for a plurality of generated schedules.

산출된 평가지표가 목표 평가지표에 도달했을 경우, 단계(260)에서 가장 높은 평가지표를 갖는 스케줄이 선택되도록 선택확률을 설정하여 사용자에게 반환한다. 이후, 사용자에게 반환된 스케줄을 기계별 작업 배정 정보에 반영하고, 상기 기계별 작업 배정 정보를 표시한다. 그리고, 기계별 작업 배정 정보에 반영된 스케줄 대로 작업을 재분배하고, 상기 재분배된 결과는 다시 시각화하여 화면에 표시한다. When the calculated evaluation index reaches the target evaluation index, the selection probability is set so that the schedule having the highest evaluation index is selected in step 260 and returned to the user. Thereafter, the schedule returned to the user is reflected in the machine-specific job assignment information, and the machine-specific job assignment information is displayed. Then, the work is redistributed according to the schedule reflected in the machine-specific job assignment information, and the redistributed result is visualized again and displayed on the screen.

도 3은 본 발명의 일 실시예에 따른 머신러닝 기반 자동 공작기계 작업 스케줄링 장치의 구성을 나타내는 도면이다. FIG. 3 is a diagram illustrating a configuration of a machine learning-based automatic machine tool job scheduling apparatus according to an embodiment of the present invention.

제안하는 머신러닝 기반 자동 공작기계 작업 스케줄링 장치는 전처리부(310), 유전 알고리즘 기반 스케줄 생성부(320), 스케줄 평가부(330), 스케줄 분석부(340) 및 디스플레이부(도시하지 않음)를 포함한다. The proposed machine learning based automatic machine tool job scheduling apparatus includes a preprocessing unit 310, a genetic algorithm-based schedule generating unit 320, a schedule evaluating unit 330, a schedule analyzing unit 340, and a display unit .

전처리부(310)는 스케줄 작업 목록을 데이터베이스로부터 수집한다. The preprocessing unit 310 collects the schedule work list from the database.

유전 알고리즘 기반 스케줄 생성부(320)는 스케줄 작업 목록에 대하여 처리해야 하는 스케줄 작업을 대상으로 복수의 스케줄을 생성한다. 데이터베이스에서 가져온 스케줄링을 할 대상 작업 목록들을 이용하여 랜덤으로 N개의 스케줄을 만들어낸다.The genetic algorithm-based schedule generator 320 generates a plurality of schedules for a schedule task to be processed for the schedule task list. Randomly generates N schedules using the task lists to be scheduled from the database.

스케줄 평가부(330)는 생성된 복수의 스케줄에 대한 평가지표를 산출한다. 이후, 더 좋은 평가지표를 가지는 스케줄들이 높은 선택확률을 가지도록 선택 확률을 설정한다.The schedule evaluation unit 330 calculates an evaluation index for the generated plurality of schedules. Thereafter, the selection probability is set so that schedules having a better evaluation index have a high selection probability.

유전 알고리즘 기반 스케줄 생성부(320)는 스케줄 분석부의 결과에 따라, 산출된 평가지표가 목표 평가지표에 도달하지 못했을 경우, 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성한다. The genetic algorithm-based schedule generator 320 selects schedules corresponding to the two evaluation indexes when the calculated evaluation indexes do not reach the target evaluation indexes according to the results of the schedule analysis unit, Create a new schedule.

유전 알고리즘 기반 스케줄 생성부(320)는 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계를 상기 복수의 스케줄의 수만큼의 새로운 스케줄이 생성될 때까지 반복 수행한다. The genetic algorithm-based schedule generator 320 selects a schedule corresponding to two evaluation indicators and generates two new schedules using a genetic algorithm. When a new schedule corresponding to the number of schedules is generated .

다시 말해, N개의 스케줄에 대해 각 두 개의 쌍으로 묶어 각 스케줄 쌍에 대해 교차 조합(cross over) 연산과 변이(mutation) 연산을 통해 새로운 두 개의 스케줄로 업데이트한다. 이러한 방식으로 생성된 새로운 N개의 스케줄에 대하여 교차 조합과 변이를 반복한다. 새로운 N개의 스케줄이 생성될 때마다 선택과 평가 과정을 반복하여 점차 평가 지표가 좋은 다양한 스케줄들이 새로 생성되도록 유도한다. 이후, 다시 스케줄 평가부(330)를 통해 생성된 복수의 스케줄에 대한 평가지표를 산출한다. In other words, each pair of N schedules is grouped into two pairs, and the schedule pair is updated with two new schedules through a cross over operation and a mutation operation. The intersection combination and the variation are repeated for the new N schedules generated in this way. Each time the new N schedules are generated, the selection and evaluation processes are repeated to induce new schedules to be newly created with good evaluation indices. Thereafter, an evaluation index for a plurality of schedules generated through the schedule evaluation unit 330 is calculated again.

스케줄 분석부(340)는 산출된 복수의 스케줄에 대한 평가지표가 목표 평가지표에 도달했는지 판단한다. 스케줄 분석부(340)는 산출된 평가지표가 목표 평가지표에 도달했을 경우, 가장 높은 평가지표를 갖는 스케줄이 선택되도록 선택확률을 설정하여 사용자에게 반환한다. The schedule analyzing unit 340 determines whether the evaluation indexes for the plurality of schedules that have been calculated have reached the target evaluation indexes. When the calculated evaluation index reaches the target evaluation index, the schedule analyzing unit 340 sets the selection probability so that the schedule having the highest evaluation index is selected and returns it to the user.

이후, 사용자에게 반환된 스케줄을 기계별 작업 배정 정보에 반영하고, 디스플레이부는 사용자에게 반환된 스케줄을 기계별 작업 배정 정보에 반영하여 기계별 작업 배정 정보를 표시한다. Thereafter, the schedule returned to the user is reflected in the machine-specific job assignment information, and the display unit reflects the schedule returned to the user in the machine-specific job assignment information to display machine-specific job assignment information.

스케줄 분석부(340)는 기계별 작업 배정 정보에 반영된 스케줄 대로 작업을 재분배하고, 상기 재분배된 결과는 상기 디스플레이부를 통해 다시 시각화하여 화면에 표시한다. The schedule analyzer 340 redistributes the job according to the schedule reflected in the machine-specific job assignment information, and displays the redistributed result on the screen again through the display unit.

도 4는 본 발명의 일 실시예에 따른 머신러닝 기반 자동 공작기계 작업 스케줄링 장치의 동작을 설명하기 위한 도면이다. 4 is a diagram for explaining the operation of the machine learning-based automatic machine tool job scheduling apparatus according to an embodiment of the present invention.

제안하는 머신러닝 기반 자동 공작기계 작업 스케줄링 장치는 앞서 설명한 바와 같이, 공정 스케줄링 최적화 소프트웨어(420)의 전처리부를 통해 스케줄 작업 목록을 생산 현장 공정 관리 데이터베이스(410)로부터 수집하여 전처리를 수행한다(421). As described above, the proposed machine learning-based automatic machine tool job scheduling apparatus collects the schedule work list from the production site process management database 410 through the preprocessing unit of the process scheduling optimization software 420 and performs preprocessing (421) .

이후, 유전 알고리즘 기반 스케줄 생성부는 스케줄 작업 목록에 대하여 처리해야 하는 스케줄 작업을 대상으로 복수의 유전 알고리즘 기반 스케줄을 생성한다. 유전 알고리즘 기반 스케줄 생성부는 스케줄 분석부의 결과에 따라, 산출된 평가지표가 목표 평가지표에 도달하지 못했을 경우, 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성한다(422).Then, the genetic algorithm-based schedule generator generates a plurality of genetic algorithm-based schedules for the schedule tasks to be processed for the schedule task list. If the calculated evaluation index does not reach the target evaluation index according to the result of the schedule analysis unit, the genetic algorithm-based schedule generation unit selects a schedule corresponding to the two evaluation indexes and generates two new schedules using the genetic algorithm (422).

유전 알고리즘 기반 스케줄 생성부는 두 개의 평가지표에 해당하는 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계를 상기 복수의 스케줄의 수만큼의 새로운 스케줄이 생성될 때까지 반복 수행한다. The genetic algorithm-based schedule generator selects the schedule corresponding to the two evaluation indexes and repeats the step of generating two new schedules using the genetic algorithm until the number of new schedules of the plurality of schedules is generated .

스케줄 평가부를 통해 생성된 복수의 스케줄에 대한 평가지표를 산출한다(423). 그리고, 스케줄 분석부는 산출된 복수의 스케줄에 대한 평가지표가 목표 평가지표에 도달했는지 분석한다(424). 이후, 더 좋은 평가지표를 가지는 스케줄들이 높은 선택확률을 가지도록 선택 확률을 설정한다. An evaluation index for a plurality of schedules generated through the schedule evaluation unit is calculated (423). Then, the schedule analyzing unit analyzes (424) whether the evaluation indexes for the plurality of schedules that have been calculated have reached the target evaluation index. Thereafter, the selection probability is set so that schedules having a better evaluation index have a high selection probability.

복수의 스케줄에 대해 각 두 개의 쌍으로 묶어 각 스케줄 쌍에 대해 교차 조합(cross over) 연산과 변이(mutation) 연산을 통해 새로운 두 개의 스케줄로 업데이트한다(424). 이러한 방식으로 생성된 새로운 스케줄에 대하여 교차 조합과 변이를 반복한다.A plurality of schedules are grouped into two pairs, and each schedule pair is updated with two new schedules through a cross over operation and a mutation operation (424). The cross-combinations and variations are repeated for new schedules generated in this way.

그리고, 다시 스케줄 평가부를 통해 생성된 복수의 스케줄에 대한 평가지표를 산출한다. 스케줄 분석부는 산출된 평가지표가 목표 평가지표에 도달했을 경우, 가장 높은 평가지표를 갖는 스케줄이 선택되도록 선택확률을 설정하여 사용자에게 반환한다. Then, an evaluation index for a plurality of schedules generated through the schedule evaluation unit is calculated again. When the calculated evaluation index reaches the target evaluation index, the schedule analyzer sets the selection probability so that the schedule having the highest evaluation index is selected and returns it to the user.

사용자에게 반환된 스케줄을 기계별 작업 배정 정보에 반영하고, 디스플레이부는 사용자에게 반환된 스케줄을 기계별 작업 배정 정보에 반영하여 기계별 작업 배정 정보를 표시한다. 스케줄 분석부는 기계별 작업 배정 정보에 반영된 스케줄 대로 작업을 재분배하고, 상기 재분배된 결과는 상기 디스플레이부를 통해 다시 시각화하여 화면에 표시한다(430). The schedule returned to the user is reflected in the machine-specific job assignment information, and the display unit displays machine-specific job assignment information by reflecting the schedule returned to the user in the machine-specific job assignment information. The schedule analyzing unit redistributes the job according to the schedule reflected in the machine-specific job assignment information, and displays the redistributed result through the display unit on the screen again on the screen (430).

단순한 형태의 유전알고리즘만을 사용해서는 앞서 설명한 공장의 생산조건에서 오는 제약들을 만족시킬 수 없는 스케줄들이 나올 확률이 높기 때문에, 본 발명에서는 더 나아가 제약 조건을 만족시키도록 하기 위해 발전된 형태의 유전 알고리즘을 적용하여 생산 현장의 환경에서 오는 현실적인 제약들을 최대한 만족시키면서 생산 납기는 최대한 만족하는 스케줄들을 생산해낸다. 이를 실현하기 위해서 앞서 설명한 제약들을 어기는 정도를 다시 수치화하여 평가지표에서 패널티를 주어 점점 이러한 스케줄들이 선택될 확률이 낮아지게 하는 방법을 사용한다. 이러한 방법을 통해 종래기술에서 인력으로 예측한 스케줄보다 효율적이고 안정적인 생산성 향상에 기여할 수 있다.Since only a simple genetic algorithm is used, the schedules that can not satisfy the constraints of the production conditions of the factory described above are likely to occur. Therefore, in the present invention, the advanced genetic algorithm is applied We produce schedules that satisfy the production constraints as much as possible and satisfy the realistic constraints that come from the production environment. In order to realize this, we use a method of re-quantifying the degree of violation of the above-mentioned constraints and giving a penalty in the evaluation index so that the probability of selecting these schedules is gradually lowered. Through this method, it is possible to contribute more efficiently and stably to the productivity improvement than the schedule predicted by manpower in the prior art.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.  The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (1)

스케줄 작업 목록을 데이터베이스로부터 수집하는 단계;
상기 스케줄 작업 목록에 대하여 처리해야 하는 스케줄 작업을 대상으로 복수의 스케줄을 생성하는 단계;
상기 생성된 복수의 스케줄에 대한 평가지표를 산출하는 단계;
상기 산출된 복수의 스케줄에 대한 평가지표가 목표 평가지표에 도달했는지 판단하는 단계; 및
상기 산출된 평가지표가 목표 평가지표에 도달하지 못했을 경우, 평가지표에 해당하는 두 개의 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계
를 포함하고,
상기 평가지표에 해당하는 두 개의 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계가 상기 복수의 스케줄의 수만큼의 새로운 스케줄이 생성될 때까지 반복 수행된 후에, 상기 생성된 복수의 스케줄에 대한 평가지표를 산출하는 단계로 복귀되고,
상기 산출된 평가지표가 목표 평가지표에 도달했을 경우, 더 높은 평가지표를 갖는 스케줄들이 높은 선택확률을 가지도록, 상기 생성된 복수의 스케줄에 선택확률을 설정하여 사용자에게 반환하는 단계;
상기 복수의 스케줄 중 어느 하나가 선택되면, 상기 선택된 스케줄을 기계별 작업 배정 정보에 반영하는 단계;
상기 기계별 작업 배정 정보를 표시하는 단계; 및
상기 기계별 작업 배정 정보에 반영된 스케줄 대로 작업을 재분배하고, 상기 재분배된 결과는 다시 시각화하여 화면에 표시하는 단계
를 더 포함하고,
상기 생성된 복수의 스케줄에 대한 평가지표를 산출하는 단계는,
상기 생성된 복수의 스케줄 각각에 대하여, 납기를 맞추지 못한 작업의 수, 모든 작업들에 대해 납기 보다 지연된 시간들의 총합 및 가장 마지막으로 끝나는 작업의 종료 시간을 기초로 상기 평가지표를 산출하고,
상기 평가지표에 해당하는 두 개의 스케줄을 선택하고, 유전 알고리즘을 이용하여 두 개의 새로운 스케줄을 생성하는 단계는,
상기 복수의 스케줄에 대하여 두 개의 스케줄을 하나의 쌍으로 묶고, 각 스케줄 쌍에 대해 교차 조합(cross over) 연산 및 변이(mutation) 연산을 통해 두 개의 새로운 스케줄을 생성하여 업데이트하고,
목표 평가지표를 만족시키도록 하기 위해 복수의 스케줄의 수만큼의 새로운 스케줄이 생성될 때까지 반복 수행함으로써, 평가지표의 제약들을 어기는 정도를 다시 수치화하고 평가지표에서 패널티를 주어 목표 평가지표에 도달하지 못하는 스케줄들이 선택될 확률이 낮아지게 하는 점차 발전된 형태의 유전 알고리즘을 적용하여 최적의 스케줄들을 생산하는
머신러닝 기반 자동 공작기계 작업 스케줄링 방법.
Collecting a schedule task list from a database;
Generating a plurality of schedules for a schedule task to be processed for the schedule task list;
Calculating an evaluation index for the generated plurality of schedules;
Determining whether an evaluation index for the plurality of schedules has reached a target evaluation index; And
Selecting two schedules corresponding to the evaluation indexes and generating two new schedules using a genetic algorithm when the calculated evaluation indexes do not reach the target evaluation indexes
Lt; / RTI >
Selecting two schedules corresponding to the evaluation indexes and generating two new schedules using the genetic algorithm is repeated until a new schedule is created as many times as the plurality of schedules, The process returns to the step of calculating an evaluation index for a plurality of schedules,
Setting a selection probability in the generated plurality of schedules and returning the selected schedules to a user so that schedules having a higher evaluation index have a higher selection probability when the calculated evaluation index reaches the target evaluation index;
If any one of the plurality of schedules is selected, reflecting the selected schedule in machine-specific task assignment information;
Displaying the machine-specific job assignment information; And
Redistributing the work according to the schedule reflected in the machine-specific job assignment information, visualizing the redistributed result again and displaying it on the screen
Further comprising:
Wherein the step of calculating an evaluation index for the generated plurality of schedules comprises:
Calculating the evaluation index based on the number of jobs whose delivery dates have not been matched, the total of times delayed for delivery of all jobs, and the end time of the last job for each of the generated plurality of schedules,
Selecting two schedules corresponding to the evaluation index and generating two new schedules using the genetic algorithm,
Two schedules are grouped into one pair for each of the plurality of schedules, two new schedules are generated and updated through a cross over operation and a mutation operation for each schedule pair,
Until a new schedule as many as the number of schedules is generated so as to satisfy the target evaluation index, the degree of breaking the constraints of the evaluation index is re-quantified again, and a penalty is given to the evaluation index to reach the target evaluation index We use the gradually developed genetic algorithm to reduce the probability of selecting unsuitable schedules to produce optimal schedules.
Machine learning based automatic machine tool job scheduling method.
KR1020190040892A 2019-04-08 2019-04-08 Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches KR101984460B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190040892A KR101984460B1 (en) 2019-04-08 2019-04-08 Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190040892A KR101984460B1 (en) 2019-04-08 2019-04-08 Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020180011200 Division 2018-01-30 2018-01-30

Publications (1)

Publication Number Publication Date
KR101984460B1 true KR101984460B1 (en) 2019-05-30

Family

ID=66675566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190040892A KR101984460B1 (en) 2019-04-08 2019-04-08 Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches

Country Status (1)

Country Link
KR (1) KR101984460B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928648A (en) * 2019-12-10 2020-03-27 浙江工商大学 Heuristic and intelligent computing-fused cloud workflow segmentation online scheduling optimization method
CN112446526A (en) * 2019-09-05 2021-03-05 美商讯能集思智能科技股份有限公司台湾分公司 Production scheduling system and method
KR20210099932A (en) 2020-02-05 2021-08-13 주식회사뉴로코어 A facility- simulator based job scheduling system using reinforcement deep learning
KR20210099934A (en) 2020-02-05 2021-08-13 주식회사뉴로코어 A job scheduling system based on reinforcement deep learning, not depending on process and product type
KR102338304B1 (en) 2020-10-20 2021-12-13 주식회사 뉴로코어 A facility- simulator based job scheduling system using reinforcement deep learning
KR20230165026A (en) 2022-05-26 2023-12-05 주식회사 뉴로코어 A factory simulator-based scheduling neural network learning system with lot history reproduction function
KR20240000923A (en) 2022-06-24 2024-01-03 주식회사 뉴로코어 A factory simulator-based scheduling neural network learning system with factory workflow state skip function
KR20240000926A (en) 2022-06-24 2024-01-03 주식회사 뉴로코어 A neural network-based factory scheduling system independent of product type and number of types

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225203A (en) * 1992-02-17 1993-09-03 Nippon Telegr & Teleph Corp <Ntt> System for resolving job shop scheduling problem

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225203A (en) * 1992-02-17 1993-09-03 Nippon Telegr & Teleph Corp <Ntt> System for resolving job shop scheduling problem

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446526A (en) * 2019-09-05 2021-03-05 美商讯能集思智能科技股份有限公司台湾分公司 Production scheduling system and method
CN112446526B (en) * 2019-09-05 2024-03-12 美商讯能集思智能科技股份有限公司台湾分公司 Production scheduling system and method
CN110928648A (en) * 2019-12-10 2020-03-27 浙江工商大学 Heuristic and intelligent computing-fused cloud workflow segmentation online scheduling optimization method
CN110928648B (en) * 2019-12-10 2022-05-20 浙江工商大学 Heuristic and intelligent computing-fused cloud workflow segmentation online scheduling optimization method
KR20210099932A (en) 2020-02-05 2021-08-13 주식회사뉴로코어 A facility- simulator based job scheduling system using reinforcement deep learning
KR20210099934A (en) 2020-02-05 2021-08-13 주식회사뉴로코어 A job scheduling system based on reinforcement deep learning, not depending on process and product type
KR102338304B1 (en) 2020-10-20 2021-12-13 주식회사 뉴로코어 A facility- simulator based job scheduling system using reinforcement deep learning
KR20230165026A (en) 2022-05-26 2023-12-05 주식회사 뉴로코어 A factory simulator-based scheduling neural network learning system with lot history reproduction function
KR20240000923A (en) 2022-06-24 2024-01-03 주식회사 뉴로코어 A factory simulator-based scheduling neural network learning system with factory workflow state skip function
KR20240000926A (en) 2022-06-24 2024-01-03 주식회사 뉴로코어 A neural network-based factory scheduling system independent of product type and number of types

Similar Documents

Publication Publication Date Title
KR101984460B1 (en) Method and Apparatus for automatically scheduling jobs in Computer Numerical Control machines using machine learning approaches
US10496436B2 (en) Method and apparatus for automatically scheduling jobs in computer numerical control machines using machine learning approaches
JP6122621B2 (en) Simulation and visualization of project planning and management
US10331295B2 (en) Visualization of an object using a visual query system
Alagöz et al. Rescheduling of identical parallel machines under machine eligibility constraints
US6876894B1 (en) Forecast test-out of probed fabrication by using dispatching simulation method
JP6467264B2 (en) Plan creation support apparatus and plan creation support method
JP2007157124A (en) Schedule correcting device, schedule correcting program and schedule correcting method
KR20170073604A (en) Job authoring with data preview
US9600792B2 (en) Method and apparatus for generating an engineering workflow
EP3502872B1 (en) Pipeline task verification for a data processing platform
WO2014061229A1 (en) Information system building assistance device, information system building assistance method, and information system building assistance program
US20090319240A1 (en) Simulation apparatus, simulation control method, and computer product
JP6853134B2 (en) Production support system and production support method
JP6094594B2 (en) Information system construction support apparatus, information system construction support method, and information system construction support program
JP2020535573A (en) Machine analysis
JP7323346B2 (en) Intelligent prediction of spare part bundles
CN115545577B (en) Method and equipment for processing scheduling data
US20180039901A1 (en) Predictor management system, predictor management method, and predictor management program
JP2005148901A (en) Job scheduling system
Pfeiffer et al. Simulation as one of the core technologies for digital enterprises: assessment of hybrid rescheduling methods
JP5911831B2 (en) Production management device and production management program
US20120330619A1 (en) Dynamic connection visualization in computer aided design package
JP4906587B2 (en) Job operating status evaluation system, job operating status evaluation method, and job operating status evaluation program
JP2011003097A (en) Work completion date prediction system

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant