KR20240000923A - 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템 - Google Patents

공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템 Download PDF

Info

Publication number
KR20240000923A
KR20240000923A KR1020220077721A KR20220077721A KR20240000923A KR 20240000923 A KR20240000923 A KR 20240000923A KR 1020220077721 A KR1020220077721 A KR 1020220077721A KR 20220077721 A KR20220077721 A KR 20220077721A KR 20240000923 A KR20240000923 A KR 20240000923A
Authority
KR
South Korea
Prior art keywords
section
factory
neural network
lot
episode
Prior art date
Application number
KR1020220077721A
Other languages
English (en)
Inventor
윤영민
이호열
김태환
Original Assignee
주식회사 뉴로코어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 뉴로코어 filed Critical 주식회사 뉴로코어
Priority to KR1020220077721A priority Critical patent/KR20240000923A/ko
Publication of KR20240000923A publication Critical patent/KR20240000923A/ko

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] or computer integrated manufacturing [CIM]
    • G05B19/41885Total 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 modeling, simulation of the manufacturing system
    • 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] or 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] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Quality & Reliability (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Feedback Control In General (AREA)

Abstract

시뮬레이터에 의해 모의된 에피소드 구간에서 해당 공정이 선택할 수 있는 경우가 유일하여, 매 학습 시마다 모의 데이터를 생성하는 과정이 불필요하면 해당 에피소드 구간의 시작 상태와 종료 상태만 기록하고, 새로운 에피소드에서 해당 구간을 스킵하여 모의하는, 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 관한 것으로서, 상기 공장 시뮬레이터를 이용하여 상기 공장 워크플로우를 모의하고, 모의 데이터를 수집하는 모의 실행부; 상기 모의 실행부에 의해 모의되는 에피소드의 특정 공정에 대하여, 다음 작업물의 선택지가 유일한 에피소드 구간(이하 유일 선택 구간)을 감지하고, 감지된 유일 선택 구간의 시작 상태와 종료 상태를 기록하여 등록하는 구간 기록부; 상기 모의 실행부에 의해 모의되는 에피소드의 특정 공정에 대하여, 해당 공정이 상기 유일 선택 구간에 진입하면, 모의되는 에피소드의 상태를 해당 유일 선택 구간의 종료 상태로 대체시켜 모의하게 하는, 구간 재현부; 및, 상기 모의 실행부에 의해 모의된 모의결과로부터 학습 데이터를 생성하여 해당 공정의 스케줄링 신경망을 학습시키는, 학습 실행부를 포함하는 구성을 마련한다.
상기와 같은 시스템에 의하여, 의사결정의 경우의 수가 유일한 에피소드 구간의 시작 상태와 종료 상태를 기록하여 새로운 에피소드에서 해당 구간을 스킵함으로써, 항상 동일하게 모의되는 에피소드 구간의 시뮬레이션을 반복하지 않아 빠르게 학습 과정을 진행할 수 있다.

Description

공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템 { A factory simulator-based scheduling neural network learning system with factory workflow state skip function }
본 발명은 일련의 공정으로 구성되는 공장 워크플로우에서 각 공정의 스케줄링을 위한 공정별 신경망을 학습하되, 시뮬레이터에 의해 공장 워크플로우를 모의하여 모의 데이터로 신경망을 학습하는, 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 관한 것이다.
특히, 본 발명은 시뮬레이터에 의해 모의된 에피소드 구간에서 해당 공정이 선택할 수 있는 경우가 유일하여, 매 학습 시마다 모의 데이터를 생성하는 과정이 불필요하면 해당 에피소드 구간의 시작 상태와 종료 상태만 기록하고, 새로운 에피소드에서 해당 구간을 스킵하여 모의하는, 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 관한 것이다.
일반적으로, 공장 스케줄링은 원료나 재료로부터 제품이 완성되기까지의 제조 과정에서, 작업물의 가공에 필요한 공정의 작업 순서와, 각 공정에 필요한 재료나 생산 시점 등을 결정하는 작업을 일컫는다.
특히, 제품을 생산하는 공장에는 각 공정 작업을 처리하는 장비들이 해당 공정의 작업 공간에 배치되어 구비된다. 해당 장비들에는 특정 작업을 처리하기 위한 로트들이 공급되도록 구성될 수 있다. 또한, 장비들 사이 또는 작업 공간들 사이에는 컨베이어 등 이송 장치 등이 설치되어, 장비에 의해 특정 공정이 완료되면 처리된 로트가 다음 공정으로 이동되도록 구성된다. 즉, 하나의 로트는 일련의 공정을 거쳐 완성된 제품으로 생산된다.
또한, 특정 공정을 수행하기 위해 유사/동일 기능의 다수의 장비들이 설치되어, 동일하거나 유사한 공정 작업을 분담하여 처리될 수 있다. 이와 같은 제조 라인에서 공정 또는 각 작업을 스케줄링하는 것은 공장 효율화를 위해 매우 중요한 문제이다. 종래에는 대부분 스케줄링을 각 조건에 따른 규칙 기반(rule-based) 형식으로 스케줄링 하였으나, 평가 척도가 명확하지 않아 만들어진 스케줄링 결과에 대한 성능 평가가 모호하였다.
또한, 최근에는 제조 공정에 인공지능 기법을 도입하여 작업을 스케줄링하는 기술들이 제시되고 있다[특허문헌 1]. 상기 선행기술은 인공지능 기술 중 유전자 알고리즘이라는 기계학습 알고리즘을 사용했으나, 공작 기계의 작업을 스케줄링에 한정하고 있다. 또한, 다수 설비의 공정에 대한 신경망 학습 방법을 적용한 기술도 제시되고 있다[특허문헌 2]. 그러나 상기 선행기술은 과거의 데이터를 기반으로, 주어진 상황에서 최적 제어방법을 찾는 기술로서, 과거에 축적된 데이터가 없다면 작동하지 않는다는 명확한 한계가 존재한다.
상기와 같은 문제점을 해결하기 위하여, 본 출원인은 공장 시뮬레이터를 이용하여 공정을 모의하고 모의된 데이터를 이용하여 각 공정의 신경망을 학습하는 기술을 제시하고 있다[특허문헌 3]. 그러나 상기 선행기술은 학습을 위한 모든 경우의 수를 위하여 공장 시뮬레이터로 수많은 모의 작업을 수행해야 한다.
특히, 학습 대상인 특정 공정(학습 대상의 신경망에 대응하는 공정)에서 선택이 필요 없는 에피소드 구간이 있을 수 있다. 예를 들어, 다음 로트를 선택하는 의사결정 인공신경망을 학습하는 상황에서, 선택 가능한 로트 유형이 1개만 존재하는 경우, 인공 신경망의 도움 없이도 즉시 의사결정이 가능하기에, 의사결정의 효과를 판단할 수 없고, 이는 곧 신경망의 학습이 무의미한 상황이 되는 것이다. 이와 같이 의사결정 결과가 항시 유일한 에피소드 구간에서도 매 학습 시마다 불필요한 시뮬레이션을 수행해야 하는 상황이 발생 가능하다. 즉, 상기 선행기술은 다양한 에피소드들 모두에서 해당 구간을 동일하게 반복하여 모의해야 한다는 문제점이 있다.
한국 등록특허공보 제10-1984460호(2019.05.30.공고) 한국 등록특허공보 제10-2035389호(2019.10.23.공고) 한국 등록특허공보 제10-2338304호(2021.12.13.공고)
V. Mnih et al., "Human-level control through deep reinforcement learning," Nature, vol. 518, no. 7540, p. 529, 2015. The Goal: A Process of Ongoing Improvement, Eliyahu M. Goldratt 1984
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 시뮬레이터에 의해 모의된 에피소드 구간에서 해당 공정이 선택할 수 있는 경우가 유일하여, 매 학습 시마다 모의 데이터를 생성하는 과정이 불필요하면 해당 에피소드 구간의 시작 상태와 종료 상태만 기록하고, 새로운 에피소드에서 해당 구간을 스킵하여 모의하는, 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 공장 워크플로우의 각 공정의 스케줄링 신경망을 학습시키되, 상기 공장 워크플로우를 모의하는 공장 시뮬레이터의 모의결과로 상기 각 공정의 스케줄링 신경망을 학습시키는, 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 관한 것으로서, 상기 공장 시뮬레이터를 이용하여 상기 공장 워크플로우를 모의하고, 모의 데이터를 수집하는 모의 실행부; 상기 모의 실행부에 의해 모의되는 에피소드의 특정 공정에 대하여, 다음 작업물의 선택지가 유일한 에피소드 구간(이하 유일 선택 구간)을 감지하고, 감지된 유일 선택 구간의 시작 상태와 종료 상태를 기록하여 등록하는 구간 기록부; 상기 모의 실행부에 의해 모의되는 에피소드의 특정 공정에 대하여, 해당 공정이 상기 유일 선택 구간에 진입하면, 모의되는 에피소드의 상태를 해당 유일 선택 구간의 종료 상태로 대체시켜 모의하게 하는, 구간 재현부; 및, 상기 모의 실행부에 의해 모의된 모의결과로부터 학습 데이터를 생성하여 해당 공정의 스케줄링 신경망을 학습시키는, 학습 실행부를 포함하는 것을 특징으로 한다.
또한, 본 발명은 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 있어서, 상기 구간 기록부는 해당 공정에서 다음 작업물의 선택지가 유일하면 유일 선택 구간에 진입한 것으로 판단하고, 해당 유일 선택 구간의 시작 상태를 기록하는 것을 특징으로 한다.
또한, 본 발명은 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 있어서, 상기 구간 기록부는 해당 공정에서 작업중인 로트와, 대기중인 로트, 직전 공정에서 작업중인 로트의 유형이 동일하면, 선택지가 유일한 것으로 판단하되, 해당 공정에서 대기중인 로트가 있으면 대기중인 로트와 직전 공정에서 작업중인 로트의 유형이 작업중인 로트와 동일한지를 판단하고, 대기중인 로트가 없으면 직전 공정의 작업중 로트 유형이 해당 공정의 작업중 로트 유형이 동일한지를 판단하는 것을 특징으로 한다.
또한, 본 발명은 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 있어서, 상기 구간 기록부는 해당 유일 선택 구간이 이미 등록되었는지를 판단하고, 이미 등록된 상태이면 등록 작업을 중단하는 것을 특징으로 한다.
또한, 본 발명은 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 있어서, 상기 구간 기록부는 상기 유일 선택 구간에 진입한 상태에서 해당 공정의 다음 작업물의 선택지가 유일하지 않으면, 해당 유일 선택 구간이 종료된 것으로 판단하고, 해당 유일 선택 구간의 종료 상태를 기록하는 것을 특징으로 한다.
또한, 본 발명은 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 있어서, 상기 구간 기록부는 모의되는 에피소드의 공장 상태가 상기 유일 선택 구간의 시작 상태와 동일하면, 해당 에피소드의 공장 상태를 해당 유일 선택 구간의 종료 상태로 대체하여 재현하는 것을 특징으로 한다.
또한, 본 발명은 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 있어서, 상기 각 공정의 스케줄링 신경망은 강화학습에 의한 신경망인 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 의하면, 의사결정의 경우의 수가 유일한 에피소드 구간의 시작 상태와 종료 상태를 기록하여 새로운 에피소드에서 해당 구간을 스킵함으로써, 항상 동일하게 모의되는 에피소드 구간의 시뮬레이션을 반복하지 않아 빠르게 학습 과정을 진행할 수 있는 효과가 얻어진다.
도 1은 본 발명의 일실시예에 따른는 공장 워크플로우의 모델을 도시한 예시도.
도 2는 본 발명의 일실시예에 따른 공정의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 공정의 장비 구성을 예시한 도면.
도 4는 본 발명의 일실시예에 따른 작업 교체 시간을 나타낸 예시 표.
도 5는 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 6은 본 발명에서 사용하는 강화학습의 기본 작동 구조도.
도 7은 본 발명의 일실시예에 따른 공장 워크플로우의 상태를 예시한 표.
도 8은 본 발명의 일실시예에 따른 에피소드 진행에 의한 워크플로우의 상태 변화를 나타낸 표.
도 9는 본 발명의 일실시예에 따른 공장 시뮬레이터 기반 학습 시스템의 구성에 대한 블록도.
도 10은 다양한 학습 회차에 따라 모의된 공장 상태 변화를 나타낸 표로서, (a) 종래기술에 따른 공장 상태 변화에 대한 예시 표, 및, (b) 본 발명에 따른 공장 상태 변화에 대한 예시 표.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명에서 사용하는 공장 워크플로우 모델의 구성에 대하여 도 1 내지 도 5를 참조하여 설명한다.
도 1에서 보는 바와 같이, 공장 워크플로우는 일련의 다수의 공정으로 구성되고, 하나의 공정은 다른 공정과 연결된다. 또한, 연결된 공정은 선후 관계를 가진다. 공정을 하나의 노드로 볼 때, 전체 공장 워크플로우는 방향성 그래프를 형성한다. 이하에서 설명의 편의를 위하여, 공정을 공정 노드와 혼용한다.
도 1의 예에서, 공장 워크플로우는 공정 P0, P1, P2, ..., P4로 구성되고, 공정 P0로 시작되어 공정 P4로 종료된다. 공정 P0가 완료되면 다음 공정 P1이 시작되고, 공정 P1이 완료되면 다음 공정 P2가 시작된다.
한편, 하나의 로트(lot)는 특정 작업물로서, 공장 워크플로우의 각 공정 P0, P1, P2, ..., P4를 거쳐 완성된 제품으로 생산된다. 특정 작업물(=로트)에 대해, 공정 P0가 완료되면 해당 로트를 전달받아 다음 공정 P1를 시작할 수 있다. 즉, 공정 P0에서 처리가 완료된 로트(LOT)가 공정 P1에 제공되면, 공정 P1은 해당 로트를 이어받아 추가 작업을 지속 진행한다. 이와 같이 공장 플로우의 모든 일련의 공정이 처리되면, 해당 로트의 제품이 생산된다.
또한, 공장 워크플로우는 하나의 제품 종류(또는 제품 유형, 제품군)만을 생산하는 것이 아니라 다수 유형의 제품이 처리되어 생산될 수 있다. 따라서 각 로트는 제품 종류에 따라 유형이 달라진다. 예를 들어, 로트 1은 '제품 A' 유형이면, 로트 1의 최종 생산 제품은 제품 A가 생산된다. 또한, 로트 2는 '제품 B' 유형이면, 로트 2의 최종 생산 제품은 제품 B가 생산된다.
한편, 바람직하게는, 공장 워크플로우는 생산 제품군 별로 각기 상이할 수 있다.
또한, 각 공정은 동시에 구동될 수 있다. 예를 들어, 공정 P4에서 로트 8(제품 B)를 처리하고 있을 때, 동시에 공정 P0에서 로트 1(또는 제품 A)을 중간 처리하고, 공정 P1에서 로트 2(제품 B)를 처리하고 있을 수 있다.
다음으로, 공정의 작업 유형에 대하여 설명한다.
또한, 하나의 공정은 다수의 작업 유형을 선택적으로 수행할 수 있다. 해당 공정은 투입 로트를 대상으로 진행 가능한 작업유형 중 하나를 작업한다. 이때, 로트(이하 투입 로트)가 해당 공정에 투입되고, 공정의 작업이 수행됨에 따라 처리된 로트(이하 완료 로트)가 출력(산출)된다. 즉, 작업이 완료된 로트는 다음 공정 Pn+1의 작업 가능 대상인 투입로트가 된다.
도 2의 예에서, 공정 Pn 은 작업유형 n-1, 작업유형 n-2, ..., 작업유형 n-M 등 다수의 작업 유형을 갖는다. 공정 Pn은 M개의 작업 중에서 하나의 작업을 선택하여 수행한다. 그때 환경이나 요청에 따라 다수의 작업 중 하나가 선택되어 수행된다. 특히, 바람직하게는, 해당 공정에 스케줄링 신경망이 있는 경우, 해당 공정의 신경망에서 '하나의 작업'을 선택하여 스케줄링 한다.
일례로서, 공정 Pn (n=0,1,2,3…)는 여러 작업 유형들을 통칭하는 작업(예: "조립")을 의미하며, 각 작업 유형은 투입 로트의 종류에 따라 달라진다(예: 투입 로트 유형이 의자이면 "다리 조립", 투입 로트 유형이 테이블이면 "상판 조립", 투입 로트 유형이 서랍장이면 "서랍 조립" 등).
한편, 바람직하게는, 하나의 공정(예를 들어, 공정 Pn)에서 동시에 2개의 작업 유형이 실시될 수 있다. 즉, 하나의 공정을 가공할 수 있는 설비가 M대 있다면, M개의 각기 다른 제품 유형에 대하여 작업을 수행할 수 있다.
다음으로, 공정의 장비에 대하여 설명한다.
또한, 공정 Pn에 배치된 장비는 여러 대가 있을 수 있으며, 작업 유형 별로 투입 로트에 대해서는 특정 "장비" 가 하나 지정된다. 이러한 지정 가능한 관계정의를 도 3에 나타내고 있다. 즉, 특정 장비 별로 진행할 수 있는 작업 유형 및 로트 유형이 다르며, 장비 별로 하나 또는 여러 작업 유형이 진행될 수 있다.
도 3의 예에서, 공정 P0는 3가지의 작업 유형을 가지고, 각 작업 유형 P0-1, P0-2, P0-3은 각각 제품 A, 제품 B, 제품 C를 가공하기 위한 작업이다. 또한, 작업 유형 P0-1(또는 제품 A)을 작업하기 위한 장비는 장비1과 장비2 등 2개이다. 또한, 작업 유형 P0-2,P03을 작업하기 위한 장비는 각각 장비 2와, 장비1이다.
공정 Pn 내에 여러 개의 로트가 존재할 수 있으며, 로트의 상태는 현재 작업 중인 로트와, 작업 시작을 기다리는 로트(대기중인 로트)로 구분될 수 있다. 대기중 로트 상태는 해당 공정에서 이미 장비가 다른 로트를 처리 중이거나, 해당 로트를 가공할 수 있는 장비의 작업 준비가 완료되지 않은 상태인 경우를 나타낸다.
한편, 앞서 설명한 바와 같이, 하나의 공정에서 동시에 2개 이상의 제품 유형의 작업이 수행될 수 있다. 도 3의 예에서, 제품 B와 제품 C는 각각 장비 2와, 장비 1에 의해 수행되므로, 제품 B와 제품 C는 동시에 작업이 수행될 수 있다.
다음으로, 공정의 작업교체(job change)에 대하여 설명한다.
공정 Pn에서, 특정 장비가 이전 로트와 다음 로트의 작업유형이 달라지는 경우, 이전 로트의 작업(또는 작업 유형)에서 다음 로트의 작업 유형을 처리하기 위하여, 준비 작업을 수행하고 장비설정을 변경하는 과정을 수행한다. 이를 작업교체(job change)라 부르기로 한다. 또한, 작업 교체를 위해 일정한 시간이 소요된다.
예를 들어, 작업 교체는 오일 교체, 장비 구동 프로그램 교체, 장비 내 공구 교체, 장비 예열/냉각작업 등일 수 있다.
이러한 작업 교체 소요시간이 도 4에 도시되고 있다. 도 4의 예에서, 현재 작업유형 P0-1인 로트를 생산하던 장비가, 작업유형 P0-3인 로트를 생산하려면, 12시간이 소요되는 작업교체 작업을 수행해야 한다. 즉, 12시간의 작업교체 후 다음 작업 유형 P0-3의 로트를 처리할 수 있다.
작업교체 시에는 장비에 투입 가능한 로트가 존재하더라도 생산(처리)될 수 없다. 따라서 작업교체가 자주 일어나면, 작업교체 시간이 많이 소요되므로, 장비 활용율이 저하된다.
공정 Pn에서 작업교체를 하지 않고 특정 로트 유형만 생산하는 작업 유형만 지속할 수 있다. 이 경우, 작업 대기 중인 다른 로트 유형은 완료 로트로 진행될 수 없기 때문에, 고객이 요구한 로트 유형이 여러 개이면, 반드시 적절한 "작업교체 시점"을 결정하여 작업교체를 수행해야 한다.
또한, 작업 교체는 장비 별로 수행된다. 따라서 하나의 장비가 다른 제품 유형을 위해 작업 교체 되는 중 다른 장비에서 작업 교체가 수행될 수 있다.
다음으로, 본 발명을 실시하기 위한 전체 시스템의 구성을 도 5를 참조하여 설명한다.
도 5에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 신경망(11)으로 구성되는 신경망 에이전트(10), 공장의 워크플로우를 시뮬레이션하는 공장 시뮬레이터(20), 및, 신경망 에이전트(10)를 학습시키는 학습 시스템(30)으로 구성된다. 추가적으로, 학습 데이터 등을 저장하는 데이터베이스(40)를 더 포함하여 구성될 수 있다.
먼저, 신경망 에이전트(10)는 워크플로우의 상태(또는 로트 상태)를 입력받으면 특정 공정의 다음 작업(또는 작업 행위)을 출력하는 적어도 하나의 신경망(11)으로 구성된다.
특히, 하나의 신경망(11)은 하나의 공정에 대한 다음 작업(또는 작업 유형)을 결정하도록 구성된다. 즉, 바람직하게는, 해당 공정에서 다음으로 수행할 수 있는 다수의 작업(또는 작업 유형) 중에서 하나를 선택한다. 일례로서, 신경망(11)의 출력은 모든 작업 유형에 해당하는 노드들로 구성되고, 각 노드의 출력은 확률값을 출력하며, 가장 큰 확률값의 노드에 해당하는 작업이 다음 작업으로 선택된다.
즉, 각 공정의 스케줄링 인공 신경망(11)은 "다음 작업로트"를 택1하는 의사결정을 수행하며, 작업교체 시간을 감수하고 다른 작업유형을 선택하거나, 동일한 작업유형의 로트를 다시 선택할 수 있다.
또한, 바람직하게는, 신경망(11)은 설비에 대하여 다음 작업에 대한 의사결정을 한다. 예를 들어, 공정 P2에서 MC1, MC2 설비가 2대 있다면, MC1이 현재 작업 로트를 종료하기 전, 다음 로트를 신경망에 의사결정 요청하고, MC2도 동일하게 각기 다른 시점(혹은 동일한 시점일 수도 있음)에 독립적으로 신경망(11)에 의사결정을 요청할 수 있다. 즉, 신경망은 여러 대의 설비를 동시에 의사결정 하지 않는다.
또한, 다수의 공정들의 다음 작업을 결정하기 위하여, 다수 공정들 각각에 대한 다수의 신경망(11)을 구성할 수 있다. 도 1의 예에서, 공정이 5개이면, 각각의 공정에 대응되는 신경망(11)을 구성하여 모두 5개를 구성할 수 있다. 그러나, 공정 내에서 선택하는 작업이 하나만 있는 경우 등 선택이 필요없거나 단순한 공정에 대해 신경망을 구성하지 않는다.
신경망 및 그 신경망의 최적화는 DQN(Deep-Q Network) 등 통상의 강화학습 기반의 신경망 방식을 이용한다[비특허문헌 1].
또한, 신경망 에이전트(10)는 워크플로우 상태(St)와, 해당 상태에서의 작업(at), 해당 작업에 의해 수행된 후의 워크플로우 상태(St+1), 그리고 해당 상태에서의 작업에 대한 보상(rt)을 입력받아, 해당 공정의 신경망(11)의 파라미터를 최적화 한다.
또한, 신경망(11)이 최적화 되면(학습되면), 신경망 에이전트(10)는 워크플로우 상태(St)를 최적화된 신경망(11)에 적용하여 다음 작업(at)을 출력하게 한다.
한편, 워크플로우 상태(St)는 t시점에서의 워크플로우 상태(또는 공장 상태)를 나타낸다. 바람직하게는, 워크플로우 상태는 워크플로우 내의 각 공정의 상태와, 공장 전체에 해당하는 공장 상태로 구성된다. 예를 들어, 워크플로우 상태(St)는 의사결정 대상 제품 유형에 해당하는 로트의 공장 내 분포, 의사결정을 하고자 하는 생산 설비의 현재 작업 제품 유형 등 각 공정 또는 공장 상태를 나타내는 정보로 구성된다.
또한, 바람직하게는, 워크플로우 상태는 워크플로우 내의 일부 공정의 상태들만 포함할 수 있다. 이때, 워크플로우 내에서 병목 현상을 유발하는 공정 등 핵심적인 공정들만을 대상으로, 해당 공정들의 상태들만 포함할 수 있다. 또한, 워크플로우 상태는 워크플로우의 과정에서 변화되는 요소를 대상으로 설정된다. 즉, 워크플로우가 진행되어도 변하지 않는 구성요소는 상태로 설정되지 않는다.
각 공정의 상태(또는 공정 상태)는 투입 로트, 각 공정 장비의 상태 등으로 구성된다. 또한, 공정 상태는 제품의 생산 목표량, 달성된 현황 등 전체 공정에서의 상태를 나타낸다.
한편, 위와 같이, 상태는 전체 워크플로우 상태로 설정하고, 행위는 해당 공정에서의 작업으로 설정하고 있다. 즉, 공정 상태는 전체 워크플로우 내에 있는 로트(Lot)들의 배치상태, 장비상태들을 포함하나, 행위(또는 작업)는 특정 공정 노드(Node)에 국한된다. 공장에서는 가장 생산능력의 병목이 되거나, 의사결정이 필요한 특정 공정 노드(Node)를 최적 스케줄링 할 경우, 연계된 전후 공정 노드(Node)의 문제는 개의치 않겠다는 제약이론(TOC, Theory of Constraint)[비특허문헌 2]이 전제된다. 이는 마치 신호등이나 교차로, 인터체인지와 같은 주요 관리 포인트에서 주요 의사결정을 진행하되, 이를 위해서 연결된 모든 전후 도로들의 트래픽 상황을 상태(State)로 반영해야 하는 것과 같다.
또한, 보상(rt)는 공장에서 의사결정으로 최적화 하고자 하는 보상을 나타낸다. 예를 들어, 보상은 설비 가동율(= 설비가 작업한 시간/전체 시간), 납기 만족율(= 제품 별 작업완료를 해야 하는 목표시간 준수 생산량 / 전체 작업완료를 해야하는 생산량) 등으로 구성된다. 즉, 이들 요소를 가중 합하여 보상치를 구성할 수 있다.
즉, 각 공정 상태(또는 로트 상태)(St)에서의 보상(rt)은 강화학습 방식에 의하여 산출한다. 각 상태(St)에서의 보상(rt)은 해당 생산 에피소드의 최종 결과(또는 최종 성과)로부터 산출한다. 즉, 최종 결과(또는 최종 성과)는 해당 공정 또는 전체 워크플로우의 생산 설비(장비)의 가동효율, 작업물의 작업시간(TAT: Turn-Around Time), 생산목표 달성율 등 공장 관리에서 사용하는 주요 KPI(Key Performance Index, 주요 성능 지수) 등에 의해 산출된다.
요약하면, 생산 에피소드로부터 시간 순에 따른 상태(St)와 작업(ap,t), 보상(rt)을 추출하면, 트랜지션(transition)들을 추출할 수 있다. 즉, 트랜지션은 현재 상태(St)와 작업(ap,t)에서 다음 상태(St+1)와 보상(rt)으로 구성된다. 이것은 현재 상태(St)에서 특정 공정의 작업(ap,t)이 수행되면 다음 상태(St+1)로 전환되고 보상(rt)의 가치를 얻는 것을 의미한다. 여기서의 보상(rt)은 작업(ap,t)이 수행된 경우의 현재 상태(St)에 대한 가치를 의미한다. 작업 또는 행위 ap,t는 공정 p의 시간 t에서의 행위 또는 작업으로서, 의사결정을 수행하는 작업, 즉, 선택한 제품 유형 등을 나타낸다.
한편, 각 공정의 신경망(11)의 상태 데이터(또는 입력 데이터, 입력노드)와 작업 데이터(또는 출력 데이터, 출력 노드)는 제품 유형에 따른 상태를 포함한다. 즉, 상태 데이터는 각 공정의 상태나 공장 상태를 나타내는데, 해당 상태는 서로 다른 제품 유형을 가지는 제품들에 대한 상태를 포함한다. 강화 학습 모델의 신경망에서는 상태 데이터와 작업 데이터가 사용되나, 일반적인 모델의 신경망에서는 워크플로우 상태와 다음 작업은 각각 입력 데이터(또는 입력노드)와 출력 데이터(출력 노드)에 해당된다.
다음으로, 공장 시뮬레이터(20)는 공장 워크플로우를 시뮬레이션하는 통상의 시뮬레이터이다.
공장 워크플로우는 앞서 도 1과 같은 워크플로우 모델을 사용한다. 즉, 시뮬레이션의 공장 워크플로우 모델은 공정을 나타내는 다수의 노드로 구성된 방향성 그래프로 모델링된다. 그러나 시뮬레이션의 각 공정 모델은 실제 현장의 설비 현황으로 모델링된다.
즉, 도 2와 같이, 공정 모델은 해당 공정에 투입되는 로트(LOT), 해당 공정에서 완료되는 로트(LOT), 다수의 작업 유형, 각 작업 유형을 위한 장비, 각 작업 유형에 따른 작업의 처리 속도, 이전 작업 유형과 새로운 작업 유형을 교체하기 위한 작업교체 시간 등 설비 구성과 처리 능력을 모델링 변수로 모델링된다.
상기와 같은 공장 시뮬레이터는 통상의 시뮬레이션 기술을 채용한다. 따라서 더 구체적인 설명은 생략한다.
다음으로, 학습 시스템(30)은 공장 시뮬레이터(20)를 이용하여 시뮬레이션을 수행하고, 시뮬레이션 결과로부터 학습 데이터를 추출하고, 추출된 학습 데이터로 신경망 에이전트(10), 즉, 각 공정의 신경망(11)을 학습시킨다.
즉, 학습 시스템(30)은 공장 시뮬레이터(20)로 다수의 생산 에피소드를 시뮬레이션한다. 생산 에피소드는 최종 제품(또는 로트)을 생산하는 전체 과정을 의미한다. 이때, 각 생산 에피소드는 각 처리과정이 상이하다.
예를 들어, 빨간색 볼펜 100자루와 파랑색 볼펜 50자루를 생산하는 시뮬레이션을 한번 수행하는 것이 하나의 생산 에피소드이다. 이때, 공장 워크플로우 내에서 처리하는 세부 공정이 서로 다를 수 있다. 세부 공정을 다르게 하면 또 다른 하나의 생산 에피소드가 생성된다. 예를 들어, 특정 상태일때 공정 2에서 빨간색 볼펜의 로트를 처리하는 것과, 파랑색 볼펜의 로트를 처리하는 것 등은 서로 다른 생산 에피소드이다.
또한, 학습 시스템(30)은 생성된 에피소드를 이용하여 학습 데이터를 생성하고, 신경망 에이전트(10)를 통해 신경망(11)들을 학습시킬 수 있다. 즉, 학습 시스템(30)은 생산 에피소드에 따라 시뮬레이터(20)로 시뮬레이션(모의) 하고, 모의 결과로부터 트랜지션들을 추출하여 학습 데이터를 구축한다. 이때, 하나의 에피소드에서도 다수의 트랜지션들이 추출된다. 바람직하게는, 다수의 에피소드에 따라 시뮬레이션을 수행하고, 이로부터 다량의 트랜지션을 추출한다.
그리고 학습 시스템(30)은 추출된 학습 데이터(또는 트랜지션)을 신경망 에이전트(10)에 적용하여 학습시킨다. 이때, 일례로서, 학습 데이터(또는 트랜지션)을 시간 순에 의해 순차적으로 학습시킬 수 있다. 바람직하게는, 전체 트랜지션에서 랜덤하게 트랜지션을 샘플링하고, 샘플링된 트랜지션들로 신경망 에이전트(10)를 학습시킨다.
또한, 신경망 에이전트(10)가 다수의 신경망을 구성한 경우, 각 신경망에 대응되는 공정의 학습 데이터(또는 트랜지션 데이터)를 이용하여, 해당 신경망을 학습시킨다.
또한, 학습 시스템(30)은 하나의 생산 에피소드를 시뮬레이터(20)로 모의할 때, 각 공정(또는 특정 공정)에서 선택할 수 있는 경우가 유일하면 유일한 에피소드 구간의 시작 상태와 종료 상태를 기록(저장)하고, 새로운 에피소드(또는 다른 에피소드)에서 해당 에피소드 구간을 스킵하여 모의한다.
이때, 학습 시스템(30)은 현재 모의 중인 공장 워크플로우 상태를 해당 구간의 종료 상태로 대체하게 하여, 시뮬레이터(20)가 해당 에피소드 구간을 스킵시키도록 한다. 또한, 학습 시스템(30)은 다른 에피소드에서 해당 구간에 진입하는지 여부를 판단할 때, 현재 모의 상태가 해당 구간의 시작 상태와 동일한지 여부로 판단한다. 즉, 시작 상태와 동일하면 해당 에피소드 구간에 진입한 것으로 판단한다.
다음으로, 데이터베이스(40)는 신경망 에이전트(10)를 학습시키기 위한 학습 데이터를 저장하는 학습데이터DB(41), 에피소드 구간의 상태 정보 등을 저장하는 구간상태DB(42) 등으로 구성된다. 그러나 상기 데이터베이스(40)의 구성은 바람직한 일실시예일 뿐이며, 구체적인 장치를 개발하는데 있어서, 접근 및 검색의 용이성 및 효율성 등을 감안하여 데이터베이스 구축이론에 의하여 다른 구조로 구성될 수 있다.
다음으로, 본 발명의 일실시예에 따른 시뮬레이터(20)에 의해, 스킵 구간을 가지는 공장 워크플로우가 모의되는 예를 도 7 및 도 8을 참조하여 설명한다.
도 7은 시뮬레이터(20)로 모의한 결과로서, 공장 워크플로우의 상태 정보를 나타낸다. 공장 워크플로우의 상태 정보는 시간에 따라 변화될 것이다. 특정 시점의 공장 워크플로우의 상태는 로트의 위치 및 상태로 구성된다.
특히, 도 7은 도 1의 공장 워크플로우에 대한 공장 상태(또는 각 워크플로우 상태) 중 하나의 시점에서의 공장 상태를 나타내고 있다. 도 7에서 보는 바와 같이, 전체 공장 상태(또는 공장 워크플로우 상태, 워크플로우 상태)는 공정 별 로트 유형, 로트 넘버(로트 식별정보), 로트 상태, 작업 진행 시간 등으로 구성된다. 바람직하게는, 공장의 상태는 로트의 위치 및 상태로 가늠할 수 있다.
로트 유형은 해당 로트가 어떤 제품(또는 제품 유형)에 대한 로트인지를 나타낸다. 또한, 로트 넘버는 로트 식별정보로서 식별하기 위한 정보이다. 또한, 로트 상태는 해당 로트가 대기 중인지 작업 중인지를 나타낸다. 또한, 작업 진행시간은 해당 작업을 시작한 후 진행 시간으로서, 작업중이면 작업을 시작한지 얼마나 시간이 소요되었는지를 나타낸다.
상기와 같은 상태에서, 공정 P4의 신경망의 학습을 위한 생산 에피소드를 생성하는 과정을 설명한다. 즉, 공정 P4의 신경망은 P4공정에서 다음 작업물을 선택하는 의사결정을 수행하는 신경망이다. 워크플로우의 선행 공정 P0~P3에는 별도의 의사결정이 불필요하거나, 이미 의사결정 수행이 가능한 인공 신경망이 존재할 수 있다.
공정 P4는 현재 로트 9(제품 C)을 작업 중이며, P4에서 로트 9 이후에 다음 작업물의 선택해야 한다. 이때, 공정 P4에 해당하는 신경망(11)은 이러한 의사결정을 수행하고, 이를 위해, 공정 P4의 신경망을 학습시켜야 한다. 즉, 생산 에피소드에서 공정 P4는 현재 로트 9(제품 C)를 작업 중이며, P4에서 로트 9 이후에 다음 작업물로 어떤 로트를 선택할지를 결정하는 문제부터 학습이 시작된다.
만약, 공정 P4에서 2개 이상의 선택지가 있다면, 해당 선택에 따라 다양한 에피소드를 추가로 생성할 수 있다. 예를 들어, 공정 P4에서 대기중인 로트가 로트 8-1(제품 A), 로트 8-2(제품 B) 등 3개가 있고 공정 P3에서 로트 7(제품 C)가 작업 중이면, 각각의 경우에 해당하는 다음 3가지의 생산 에피소드를 생성할 수 있다.
[생산 에피소드 1] 로트 8-1 (제품 A)
[생산 에피소드 2] 로트 8-2 (제품 B)
[생산 에피소드 3] 로트 7 (제품 C)
즉, 공정 P4입장에서, 즉시 가용한 로트는 LOT 8-1과 8-2이며, 이중에서 하나를 다음 작업물로 선택하거나, 다른 로트가 도착할 때를 대비하여 장비에 아무것도 작업하지 않고 기다리도록 결정할 수 있다.
현재 에피소드에서 로트 8-1을 선택한다면, [생산 에피소드 1]은 현재 에피소드의 일부분이 될 것이고, 추가적으로, 생산 에피소드 2와 3이 새롭게 추가로 생성될 수 있을 것이다.
그러나 도 7의 예에서, 현재 공장 워크플로우의 상태를 보면, P1~P4 공정에 존재하는 모든 로트들은 제품 C이므로, P4공정 입장에서는 다음 작업물을 선택하는 의사결정이 불필요한 상황이다. 즉, 다음 작업물의 선택지가 유일하다.
따라서, 로트 4~9에 대한 로트(LOT) 선택의 의사결정을 수행하더라도, 공정 P4의 신경망은 의사결정 내용에 대한 점수를 판단할 수 없다. 즉, 해당 구간(선택지가 유일한 구간)의 모의 데이터를 이용한 학습은 불가능하다.
실제로 유의미한 학습이 가능한 시점은 공정 P0에 있는 로트인 LOT 1, 2, 3이 공정 P4에 도착한 시점에서 복수 개의 로트유형 중의 선택이 가능한 상황이다. 그러나 에피소드 마다 유의미한 학습 시점인 "LOT 1,2,3이 공정 P4 이전까지 도착하는 시점"까지의 인공신경망의 학습에 불필요한 시뮬레이션은 지속 반복되어야만 한다. 선택 가능한 경우의 수가 다양한 상황이 되면, 의사결정 결과에 따른 에피소드가 다양하므로, 학습을 위하여 해당 구간에 대한 시뮬레이션은 수백~수만회 반복되어야 한다.
한편, 도 8은 앞서 도 7의 공장 상태(워크플로우 상태)에서 에피소드의 모의가 진행되는 과정을 나타내고 있다. 도 8에서 보는 바와 같이, 도 7의 공장 워크플로우 상태를 S0라고 하면, 공장 시뮬레이션의 진행에 따라 상태는 S1, S2… 순으로 지속 변화한다. 그러나, 상태 S0~S9 구간은 단일한 선택지만 존재한다. 따라서 공정 P4의 의사결정을 위한 인공신경망은 아무것도 학습할 수 없다.
이와 같이, 에피소드 내에서 해당 공정이 유일한 선택만을 하는 구간을 유일 선택 구간이라 부르기로 한다. 상기 유일 선택 구간이 스킵되는 에피소드 구간에 해당된다.
종래의 시뮬레이터(20)는 항상 초기 상태인 S0부터 시작할 수 밖에 없으며, 학습에 무의미한 시뮬레이션이라 해도 상태 S0, S1, S2…부터 S9까지 시뮬레이션 단계를 지속해야 한다. 즉, 유의미한 학습을 위한 상태가 확보될 때까지 해당 시뮬메이션을 지속해야 하고, 그 이후 나머지 시뮬레이션을 수행하면서 인공신경망을 학습할 수 있다.
본 발명은 이러한 상황에서 불필요한 시뮬레이션 구간인 S0~S9 이전 단계를 강제 스킵하고, 신경망 학습에 유의미한 공장 상태(S9)가 되었을 때부터 시뮬레이션을 신속하게 반복 수행한다.
다음으로, 본 발명의 일실시예에 따른 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템의 구성을 도 9를 참조하여 설명한다.
도 9에서 보는 바와 같이, 본 발명의 일실시예에 따른 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템(30)은 시뮬레이터(20)를 모의하여 모의 데이터를 수집하는 모의 실행부(31), 특정 에피소드의 유일 선택 구간을 기록하는 구간 기록부(32), 에피소드의 모의 중에서 유일 선택 구간에 진입하면 해당 구간을 스킵시키는 구간 재현부(33), 및, 모의 결과로부터 학습 데이터를 생성하여 특정 공정의 신경망을 학습시키는 학습 실행부(34)로 구성된다.
먼저, 모의 실행부(31)는 시뮬레이터(20)를 실행시켜 모의 데이터를 수집한다. 시뮬레이터(20)로 모의한 결과로서, 공장 워크플로우의 상태 정보를 수집할 수 있다. 공장 워크플로우의 상태 정보는 시간에 따라 변화될 것이다. 바람직하게는, 특정 시점의 공장 워크플로우의 상태는 로트의 위치 및 상태로 구성된다.
특히, 모의 실행부(31)는 시뮬레이터(20)를 실행시켜, 앞서 도 7과 같은 공장 워크플로우에 대한 공장 상태(또는 각 공정 상태)를 수집할 수 있다.
다음으로, 구간 기록부(32)는 모의 실행부(31)에 의해 모의되는 에피소드의 공장 상태를 모니터링 하여, 특정 공정(또는 각 공정)에서 다음 작업물의 선택지가 유일한 에피소드 구간을 감지하고, 감지된 유일 선택 구간의 시작 상태와 종료 상태를 기록하여 등록한다.
구체적으로, 구간 기록부(32)는 모의 실행부(31)에 의해 모의되는 에피소드의 공장 상태를 모니터링한다. 즉, 시뮬레이터(20)는 하나의 에피소드를 모의하면, 구간 기록부(32)는 모의되는 에피소드의 각 공장 상태(또는 워크플로우 상태)를 모니터링 한다.
그리고 구간 기록부(32)는 모의되는 에피소드의 특정 공정(각 공정)에서 다음 작업물의 선택지가 유일한지 여부를 판단한다. 모니터링 하는 공정은 신경망(11)에 대응되는 공정이다. 신경망에 대응되는 모든 공정에 대해 판단할 수도 있고 특정 공정에 대해서만 판단할 수도 있다.
또한, 구간 기록부(32)는 해당 공정에서 다음 작업물의 선택지가 유일하면 유일 선택 구간에 진입한 것으로 판단하고, 해당 유일 선택 구간의 시작 상태를 기록한다. 시작 상태는 시작 시점에서의 공장 상태를 나타낸다. 바람직하게는, 시작 상태는 로트의 위치 및 상태 등으로 구성된다.
바람직하게는, 구간 기록부(32)는 해당 공정에서 이미 작업중인 로트와, 현재 공정에서 대기중인 로트, 직전 공정에서 작업중인 로트의 유형이 모두 동일하면, 선택지가 유일한 것(유일 선택 구간으로의 진입)으로 판단한다. 특히, 해당 공정에서 대기중인 로트가 있으면 대기중인 로트와 직전 공정에서 작업중인 로트의 유형이 작업중인 로트와 동일한지를 판단하고, 대기중인 로트가 없으면 직전 공정의 작업중 로트 유형이 해당 공정의 작업중 로트 유형이 동일한지를 판단한다.
한편, 구간 기록부(32)는 유일한 선택지의 상태 외에도 최적 의사결정 대상이 명확한 경우 해당 상태도 유일 선택 구간에 포함시킬 수 있다. 즉, 학습 효과가 현저히 떨어지거나 무의미한 (예를들어, 선택 가능한 수가 유일하지는 않으나, 공장 내의 상황에서 최적 의사결정 대상이 명확하여, 인공신경망 학습 진척에 도움이 되지 않는 상황) 상태를 포함할 수 있다. 바람직하게는, 구간 기록부(32)는 상기와 같은 최적 의사결정이 명확한 상태를 규칙 등으로 사전에 설정하여 제공할 수 있다.
또한, 구간 기록부(32)는 해당 유일 선택 구간이 이미 등록(기록)되었는지를 판단하고, 이미 등록된 상태이면 작업을 중단한다. 특히, 바람직하게는, 해당 유일 선택 구간의 종료 상태까지 시뮬레이션 과정 (모의 데이터 생성)을 중단한다.
또한, 구간 기록부(32)는 유일 선택 구간에 진입한 상태에서 해당 공정의 다음 작업물의 선택지가 유일하지 않으면, 해당 유일 선택 구간이 종료된 것으로 판단하고, 해당 유일 선택 구간의 종료 상태를 기록한다.
특히, 구간 기록부(32)는 해당 공정에서 작업중인 로트와, 대기중인 로트, 직전 공정에서 작업중인 로트의 유형들 간에 서로 다른 유형이 존재하면, 선택지가 유일하지 않는 것(유일 선택 구간의 종료)으로 판단한다.
또한, 종료 상태는 종료 시점의 공장 상태 또는 워크플로우 상태를 나타내며, 로트의 위치 및 상태 등으로 구성된다.
도 8의 예에서, 모의되는 에피소드는 상태 S0, S1, ..., S9 등으로 진행된다. 이때. 상태 S0일 때, 공정 P4에서 작업중인 로트 9와 대기중인 로트 8, 및, 직전 공정 P3의 작업중인 로트 7의 유형은 모두 '제품 C'로 동일하다. 따라서 상태 S0는 유일 선택 구간의 시작 상태이다. 따라서 유일 선택 구간의 시작 상태는 상태 S0이다.
또한, 상태 S9에서 공정 P4의 작업중인 로트 4의 작업 유형은 '제품 C'이고 직전 공정 P3에서 작업중인 로트 1, 2, 3의 작업 유형은 제품 A, B, C 이다. 따라서 공정 P4 입장에서 선택지가 3가지 이다. 즉, 다음 작업물의 선택지가 로트 1(제품 A), 로트 2(제품 B), 로트 3(제품 C) 등 3가지 이다. 따라서 상태 S9가 유일 선택 구간의 종료 상태이다.
다음으로, 구간 재현부(33)는 모의 실행부(31)에 의해 모의되는 에피소드의 공장 상태를 모니터링 하여, 특정 공정(또는 각 공정)에서의 공장 상태가 유일 선택 구간의 시작 상태인지를 판단하고, 유일 선택 구간의 시작 상태이면 유일 선택 구간을 재현한다. 즉, 구간 재현부(33)는 모의되는 에피소드의 상태를 해당 유일 선택 구간의 종료 상태로 대체시켜 유일 선택 구간을 재현한다. 이때 유일 선택 구간의 시작상태에서부터 종료상태까지에 해당하는 각 단계 별 공장 시뮬레이션은 수행하지 않고, 스킵하게 된다.
구체적으로, 구간 재현부(33)는 모의 실행부(31)에 의해 모의되는 에피소드의 공장 상태를 모니터링한다. 즉, 시뮬레이터(20)는 하나의 에피소드를 모의하면, 구간 기록부(32)는 모의되는 에피소드의 변화되는 각 공장 상태(또는 워크플로우 상태)를 모니터링 한다.
그리고 구간 재현부(33)는 모의되는 에피소드의 공장 상태가 유일 선택 구간의 시작 상태와 동일한지 여부를 판단한다. 즉, 등록된 유일 선택 구간의 시작 상태와 대비하여 동일 여부를 판단한다.
바람직하게는, 공장 상태(또는 워크플로우 상태)의 로트의 위치 및 상태 등이 동일한지 여부로 판단한다.
또한, 구간 재현부(33)는 모의되는 에피소드의 공장 상태가 유일 선택 구간의 시작 상태와 동일하면, 해당 에피소드의 공장 상태를 해당 유일 선택 구간의 종료 상태로 대체하여, 유일 선택 구간을 단축하여 재현한다.
즉, 구간 재현부(33)는 모의 실행부(31)를 통해, 시뮬레이터(20)에서의 워크플로우 상태를 변경한다. 시뮬레이터(20)의 워크플로우 상태(또는 공장 상태)를 유일 선택 구간의 종료 상태로 대체하여 변경한다.
그리고 구간 재현부(33)는 모의 실행부(31)를 통해, 종료 상태로 대체한 후, 시뮬레이터(20)가 종료 상태부터 모의를 실행하도록 제어한다.
도 10a는 유일 선택 구간(S0~S9)을 재현(스킵)하지 않는 경우의 다양한 학습(에피소드) 과정을 예시하고 있고, 도 10b는 유일 선택 구간(S0~S9)을 재현한 경우를 예시하고 있다.
도 10a에서 보는 바와 같이, 서로 다른 다양한 k회차 학습(또는 에피소드)이 수행되지만, 유일 선택 구간(S0~S9)은 공정 P4의 선택지가 1개이므로 항상 동일하게 수행된다. 따라서 해당 에피소드 구간에서는 항상 동일한 모의가 반복되어 실행되고 있다.
이에 반해, 도 10b에서 보는 바와 같이, 본 발명은 유일 선택 구간(S0~S9)을 기록한 후, 서로 다른 다양한 k회차 학습(또는 에피소드)이 실행될 때, 해당 유일 선택 구간(S0~S9)을 재현한다. 즉, 유일 선택 구간(S0~S9)의 종료 상태를 대체함으로써, 시뮬레이터(20)로 모의 하지 않고 바로 다음 단계의 모의를 수행할 수 있다. 유일 선택 구간(S0~S9)의 반복적인 불필요 시뮬레이션 소요시간을 감축할 수 있다.
수백~수만번의 시뮬레이션이 필요한 인공 신경망 학습 단계에서, 유일 선택 구간에 대한 시뮬레이션을 수행하지 않아도 되므로, 시뮬레이션 수행시간을 단축할 수 있고 신경망 학습 완료시점을 단축할 수 있다. 즉, 워크플로우의 초기 상태에 따라, 학습에 무의미한 상태 변경이 지속될 경우 해당 시뮬레이션을 스킵(SKIP)하고, 학습에 유의미한 상태를 초기상태로 저장하여 재현 후 인공신경망을 학습한다. 이를 통해, 인공신경망 학습 소요 시간을 대폭 단축시킬 수 있다.
다음으로, 학습 실행부(34)는 수집된 모의결과로부터 학습 데이터를 생성하여 해당 공정의 신경망에 적용하여 학습시킨다.
특히, 학습 실행부(34)는 모의 결과에 의한 각 에피소드로부터 시간 순에 따른 상태(St)와 작업(ap,t), 보상(rt)을 추출하면, 트랜지션(transition)들을 추출한다. 또한, 학습 실행부(34)는 신경망 에이전트(10)를 통해, 이러한 트랜지션 데이터를 학습 데이터로 이용하여 각 공정의 신경망을 학습시킨다.
이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 신경망 에이전트 11 : 신경망
20 : 공장 시뮬레이터 30 : 학습 시스템
31 : 모의 실행부 32 : 구간 기록부
33 : 구간 재현부 34 : 학습 실행부
40 : 데이터베이스 41 : 학습데이터DB
42 : 구간상태DB

Claims (7)

  1. 공장 워크플로우의 각 공정의 스케줄링 신경망을 학습시키되, 상기 공장 워크플로우를 모의하는 공장 시뮬레이터의 모의결과로 상기 각 공정의 스케줄링 신경망을 학습시키는, 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템에 있어서,
    상기 공장 시뮬레이터를 이용하여 상기 공장 워크플로우를 모의하고, 모의 데이터를 수집하는 모의 실행부;
    상기 모의 실행부에 의해 모의되는 에피소드의 특정 공정에 대하여, 다음 작업물의 선택지가 유일한 에피소드 구간(이하 유일 선택 구간)을 감지하고, 감지된 유일 선택 구간의 시작 상태와 종료 상태를 기록하여 등록하는 구간 기록부;
    상기 모의 실행부에 의해 모의되는 에피소드의 특정 공정에 대하여, 해당 공정이 상기 유일 선택 구간에 진입하면, 모의되는 에피소드의 상태를 해당 유일 선택 구간의 종료 상태로 대체시켜 모의하게 하는, 구간 재현부; 및,
    상기 모의 실행부에 의해 모의된 모의결과로부터 학습 데이터를 생성하여 해당 공정의 스케줄링 신경망을 학습시키는, 학습 실행부를 포함하는 것을 특징으로 하는 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템.
  2. 제1항에 있어서,
    상기 구간 기록부는 해당 공정에서 다음 작업물의 선택지가 유일하면 유일 선택 구간에 진입한 것으로 판단하고, 해당 유일 선택 구간의 시작 상태를 기록하는 것을 특징으로 하는 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템.
  3. 제2항에 있어서,
    상기 구간 기록부는 해당 공정에서 작업중인 로트와, 대기중인 로트, 직전 공정에서 작업중인 로트의 유형이 동일하면, 선택지가 유일한 것으로 판단하되, 해당 공정에서 대기중인 로트가 있으면 대기중인 로트와 직전 공정에서 작업중인 로트의 유형이 작업중인 로트와 동일한지를 판단하고, 대기중인 로트가 없으면 직전 공정의 작업중 로트 유형이 해당 공정의 작업중 로트 유형이 동일한지를 판단하는 것을 특징으로 하는 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템.
  4. 제2항에 있어서,
    상기 구간 기록부는 해당 유일 선택 구간이 이미 등록되었는지를 판단하고, 이미 등록된 상태이면 등록 작업을 중단하는 것을 특징으로 하는 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템.
  5. 제2항에 있어서,
    상기 구간 기록부는 상기 유일 선택 구간에 진입한 상태에서 해당 공정의 다음 작업물의 선택지가 유일하지 않으면, 해당 유일 선택 구간이 종료된 것으로 판단하고, 해당 유일 선택 구간의 종료 상태를 기록하는 것을 특징으로 하는 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템.
  6. 제1항에 있어서,
    상기 구간 기록부는 모의되는 에피소드의 공장 상태가 상기 유일 선택 구간의 시작 상태와 동일하면, 해당 에피소드의 공장 상태를 해당 유일 선택 구간의 종료 상태로 대체하여 재현하는 것을 특징으로 하는 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 각 공정의 스케줄링 신경망은 강화학습에 의한 신경망인 것을 특징으로 하는 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템.
KR1020220077721A 2022-06-24 2022-06-24 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템 KR20240000923A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220077721A KR20240000923A (ko) 2022-06-24 2022-06-24 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220077721A KR20240000923A (ko) 2022-06-24 2022-06-24 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템

Publications (1)

Publication Number Publication Date
KR20240000923A true KR20240000923A (ko) 2024-01-03

Family

ID=89538978

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220077721A KR20240000923A (ko) 2022-06-24 2022-06-24 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템

Country Status (1)

Country Link
KR (1) KR20240000923A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101984460B1 (ko) 2019-04-08 2019-05-30 부산대학교 산학협력단 머신러닝 기반 자동 공작기계 작업 스케줄링 방법 및 장치
KR102035389B1 (ko) 2017-09-29 2019-10-23 전자부품연구원 히스토리 데이터 기반 뉴럴 네트워크 학습을 통한 공정 제어 방법 및 시스템
KR102338304B1 (ko) 2020-10-20 2021-12-13 주식회사 뉴로코어 강화 학습을 이용한 공장 시뮬레이터 기반 스케줄링 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102035389B1 (ko) 2017-09-29 2019-10-23 전자부품연구원 히스토리 데이터 기반 뉴럴 네트워크 학습을 통한 공정 제어 방법 및 시스템
KR101984460B1 (ko) 2019-04-08 2019-05-30 부산대학교 산학협력단 머신러닝 기반 자동 공작기계 작업 스케줄링 방법 및 장치
KR102338304B1 (ko) 2020-10-20 2021-12-13 주식회사 뉴로코어 강화 학습을 이용한 공장 시뮬레이터 기반 스케줄링 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
The Goal: A Process of Ongoing Improvement, Eliyahu M. Goldratt 1984
V. Mnih et al., "Human-level control through deep reinforcement learning," Nature, vol. 518, no. 7540, p. 529, 2015.

Similar Documents

Publication Publication Date Title
Guo et al. Stochastic hybrid discrete grey wolf optimizer for multi-objective disassembly sequencing and line balancing planning in disassembling multiple products
Rekiek et al. Assembly line design: the balancing of mixed-model hybrid assembly lines with genetic algorithms
Ko et al. GA-based decision support systems for precast production planning
KR102338304B1 (ko) 강화 학습을 이용한 공장 시뮬레이터 기반 스케줄링 시스템
Billaut et al. A new method for workshop real time scheduling
Yuguang et al. A PSO algorithm for multi-objective hull assembly line balancing using the stratified optimization strategy
JP3862899B2 (ja) 最適化装置
Ke et al. Modeling stochastic project time–cost trade-offs with time-dependent activity durations
JP2003203138A (ja) 環境影響評価方法およびプログラム
KR20210099932A (ko) 강화 학습을 이용한 공장 시뮬레이터 기반 스케줄링 시스템
CN116690589B (zh) 基于深度强化学习的机器人u型拆解线动态平衡方法
Chan et al. Comparative performance analysis of a flexible manufacturing system (FMS): a review-period-based control
KR20240000923A (ko) 공장 상태 스킵 기능의 시뮬레이터 기반 스케줄링 신경망 학습 시스템
KR20230165026A (ko) 로트 이력 재현 기능을 구비한 공장 시뮬레이터 기반 스케줄링 신경망 학습 시스템
KR20240000926A (ko) 제품 유형 및 유형 개수에 독립적인 신경망 기반 공정 스케줄링 시스템
Li et al. Digital Twin-based Virtual Reconfiguration Method for Mixed-model Robotic Assembly Line
Azzouz et al. Solving flexible job-shop problem with sequence dependent setup time and learning effects using an adaptive genetic algorithm
Ben-Arieh Manufacturing system application of a knowledge based simulation
Fujita Deep Reinforcement Learning Approach for Maintenance Planning in a Flow-Shop Scheduling Problem
JP4319026B2 (ja) スケジュール作成方法及びスケジュール作成システム、並びにプログラム
JPH0652178A (ja) 組立ライン作業計画作成支援システム
KR20210099934A (ko) 공정 및 제품 유형에 독립적인 강화 학습 기반 스케줄링 시스템
Sagi et al. A framework for intelligent design of manufacturing cells
Found et al. From lean production to operational excellence
CN117519030B (zh) 一种基于超启发式强化学习的分布式装配阻塞流水车间调度方法