김성준
(Seong Joon Kim)
1iD
김병욱
(Byung Wook Kim)
†iD
-
(Dept. of Information and Communication Engineering, Changwon National University,
Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Reinforcement learning, Flow shop scheduling, Double Q-learning, Dueling architecture
1. 서 론
최근 규모의 경제 효과를 지향하는 소품종 대량생산 설비 또는 유연성, 고객대응과 같은 성과목표가 중요시되는 다품종 소량생산 설비를 포함한 제조 공정에서
생산 효율성 증대에 대한 기술적 요구가 발생하고 있다. 특히 흐름 생산 공정은 일련의 m개의 기계에서 n개의 작업이 처리되는 NP-hard 문제로써
전자, 종이 및 섬유 산업, 콘크리트 생산, 사진 필름 제조 산업 등의 일반적인 제조환경뿐만 아니라 인터넷 서비스, 컨테이너 처리 시스템 및 토목
같은 비제조 분야에서도 활용되고 있다(1). 이렇게 다양한 제조환경에서 요구사항 또한 다양하므로 흐름 생산 공정이나 개별 작업 생산 공정의 작업 일정을 최적화하는 생산 일정 연구가 분야별로
활발히 진행되고 있다[2-5, 10-22].
최초의 흐름 생산 공정 문제(2)에서는 단일 기계 및 두 대의 기계에 대한 최적의 일정 계획을 도출하는 제한적인 분기한정법 기반의 해결방법을 이용하였다. 이후 제한된 개수의 기계와
작업에서 최종 공정시간을 목적함수로 하여 최적의 작업 일정을 도출하는 분기한정법 기반 해결방법이 지속적으로 연구되었다. 하지만 분기한정법 기반의 해결방법은
제한적인 상황에서 동작하여 복잡한 흐름 생산 공정문제를 해결할 수 없고, 단일 목적함수를 기반으로 동작한다는 한계가 존재한다(3).
분기한정법 알고리즘의 한계를 극복하기 위해 합리적인 시간 내에 근사해를 도출하는 다양한 휴리스틱과 메타 휴리스틱 기반 해결방법이 연구되었다(4-5). Framinan(10)은 흐름 생산 공정문제에 대해 NEH 휴리스틱(11)을 기반으로 하는 휴리스틱 알고리즘을 제안하여 공정시간을 최소화했다. Ancau(12)는 α-탐욕 선택을 기반으로 하는 휴리스틱 기법과 확률 분포를 통한 선택기법을 제안하였다. 특히 Simulated Annealing(SA), Tabu
Search(TS), Genetic Algorithm(GA)과 같은 메타 휴리스틱 접근 방식이 조합 최적화 문제를 해결하는 데 우수한 성능을 보여주었으며,
위와 같은 방식을 기반으로 한 방법이 생산 공정 문제에도 적용되었다. Yamada(13)은 GA, SA 및 TS를 흐름 생산 문제 및 개별생산 문제에 적용했으며, 메타 휴리스틱 기법의 가능성을 보였다. Ling Wang(14)은 제한된 버퍼를 사용하는 흐름 상점 스케줄링을 위한 하이브리드 유전 알고리즘(HGA)을 제안하였으며, SA 및 TS의 결과와 비교하여 유전 알고리즘의
유효성을 입증하였다. (15)의 연구에서 전체 공정시간을 최소화하기 위한 SA 알고리즘을 설계하였으며, 서로 다른 매개 변수 설정을 사용하여 다중 목적함수 알고리즘을 제안하였다.
이처럼 흐름 생산 공정에 메타 휴리스틱을 적용한 많은 연구가 진행됐다(15-22).
지금까지 연구되어 온 휴리스틱 및 메타 휴리스틱 기법들은 일반적으로 초기의 작업 일정 결과를 토대로 개선된 작업 일정을 직접 탐색한다. 기존의 기법들은
비교적 간단한 작업에서는 우수한 결과를 보이긴 하지만, 복잡한 다품종 생산 작업에서는 최적의 작업 순열을 찾는 방향으로 알고리즘을 수렴시키기 어려운
한계가 존재한다.
반면, 강화학습 기반의 흐름 생산 공정 최적화 방법은 일정 계획 정책을 탐색할 뿐만 아니라 $Q$ 함수의 정책을 조정하여 대규모 생산 작업상에서의
문제를 효율적으로 해결할 수 있다. 학습 과정에서 에이전트는 초기 탐색과정을 거친 후 $Q$ 함수를 이용해 예측되는 미래 보상을 기반으로 한 작업
순열을 도출하며 보상을 받는 과정을 반복한다. 학습이 진행되면서 에이전트는 현재 작업 상태에서 미래에 예상되는 누적 공정시간을 최소화하는 최적의 정책을
학습한다. Stefan(23)의 연구에서 흐름 생산 공정문제를 강화학습으로 해결하는 알고리즘이 처음으로 제안되었으며, 5개의 기계와 6개의 작업에서 최적해를 찾는 방식이 설명되었다.
이후 Reyna(24)는 강화학습 알고리즘에 사용되는 파라미터에 따른 알고리즘의 성능을 분석했다. 또한, Zhang(25)은 32개의 인스턴스와 다양한 규모의 흐름 생산 공정 문제를 포함하는 Taillard(26) 벤치마크 데이터셋을 기준으로 강화학습 기반 알고리즘을 적용하여 최적해 도출에 우수한 성능을 보였다. Lee(27)는 두 가지 부품이 처리되는 로봇 흐름 생산 공정에 Q-learning 기반 공정 최적화 기법을 적용하여 일반적으로 공정 최적화에 사용되는 RS(Reverse
Sequence)기법보다 우수한 성능을 보였다. 현재까지 제시된 강화학습 및 Q-learning 기반 흐름 생산 공정 알고리즘은 최종 공정시간을 최소화하기
위해 강화학습 기법의 적용을 시도해왔으나 기존의 휴리스틱 기반 알고리즘들보다 우수한 최종 공정시간 최소화 성능을 보장하지 못하였다.
이 논문은 다양한 흐름 생산 공정 상황에 대해 최종 공정시간을 최소화할 수 있는 DDQL(Dueling Double Q-learning) 기반 흐름
생산 스케줄링 기법을 제안한다. DDQL 방식은 기존의 Q-learning과 달리 다음 상태의 최대 $Q$ 값을 가진 최상의 동작을 선택하기 위한
$Q$ 함수와 앞서 선택한 행동에 따른 기댓값 $Q$ 값을 계산하기 위한 $Q$ 함수를 둘 다 사용하여 편향이 없는 학습 환경을 제공하고, 이득 함수
$A$를 도입하여 가치함수의 분산을 감소시킴으로써 일반화 성능을 높일 수 있는 장점이 있다. 그러므로 DDQL 방식을 흐름 생산 공정문제에 적용하면
기존 강화학습의 과추정 및 불필요한 정책학습 문제를 해결하여 궁극적으로 최종 공정시간의 최소화를 보장할 수 있다. 본 연구에서 활용하는 두 개의 $Q$
함수와 $A$ 함수는 일반적인 Q-learning 기반 알고리즘에서 에이전트가 획득한 보상에 따른 가치함수의 갱신 과정에서 적용된다. 상태-행동 함수를
학습하기 위한 목적함수는 에이전트가 도출한 작업 순열의 최종 공정시간으로 정의되었다. 제안된 기법의 성능을 Carlier (28)와 Reeves(29) 벤치마크 데이터에 대해 검증한 결과 기존 강화학습 기반 알고리즘 대비 최고 상대 오차 성능은 17%, 평균 상대 오차 성능은 22%의 성능 개선을
보였다. 또한, Taillard (26)벤치마크 데이터에 대해 최종공정시간 성능을 비교한 결과 다양한 규모의 공정상황에서 최적의 공정시간 결과를 나타내었으며, 특히, 큰 규모의 공정상황에서는
기존의 휴리스틱 알고리즘들의 결과 중 최소 공정시간 대비 18%의 성능 개선을 보였다.
그림. 1. 흐름 생산 공정 문제 예시 ($m=4,\:n=3$)
Fig. 1. Example of flow shop scheduling problem ($m=4,\:n=3$)
2. 문제 정의
흐름 생산 공정 환경은 그림 1과 같이 $m$개의 기계와 $n$개의 작업으로 구성되며, 각 작업은 서로 다른 기계에서 실행되는 $m$개의 작업 세트 $pt_{jk,\:ih}=(pt_{j_{1,\:}i_{1}},\:...pt_{j_{n,\:}i_{m}})\in
M$으로 구성된다. 여기서 서로 다른 작업 간에 우선순위 제약은 존재하지 않는다고 가정한다. 작업 $j_{k},\: k=1,\:...,\:n$은 시스템에서
한 번만 실행할 수 있고, 기계 $i_{h},\: h=1,\:...,\:m$은 한 번에 하나의 작업만을 수행할 수 있다. 작업 $j$가 각 기계 $i$에서
처리되며 걸리는 시간을 $pt_{j_{k},\:i_{h}}$로 표현한다. 각 작업은 기계 $i_{1}$부터 $i_{m}$까지 순서대로 실행되고 기계에
따라 각 작업의 처리 시간이 다르다. 각 작업의 처리 시간에는 기계의 설정과 실행 시간이 포함되고, 시작 시각은 0이라고 가정한다. $c(j_{k},\:i_{h})$는
기계 $i_{h}$에서 수행한 작업 $j_{k}$의 처리 완료 시간을 나타낸다. 흐름 생산 공정 문제의 작업 처리 완료 시간을 구하는 일련의 과정을
수식으로 표현하면 다음과 같다.
수식(1)은 첫 번째 기계의 첫 번째 작업이 종료되는 시간 $c(j_{1},\: i_{1})$을 나타낸다. 수식(2)는 첫 번째 작업이 다음 기계들
에서 처리되어 완료되는 시간을 나타낸다. 수식(3)은 첫 번째 기계에서 각각의 작업이 처리되어 완료되는 시간을 나타낸다. 수식(4)는 각각의 기계에서
수행되는 작업의 처리 완료 시간을 구하는 수식을 나타낸다. 수식(4)에서 수행되는 최댓값 (max) 연산은 기계 $i_{h}$가 현재 수행하고 있는
작업의 처리 시간과 이전 기계 $i_{h-1}$가 수행하고 있는 작업의 처리 시간 중 오래 걸리는 작업이 먼저 종료된 후 다음 작업이 처리된다는 것을
의미한다. 이때 기계 $i_{h}$에서 작업이 지연되는 유휴시간이 발생하므로 이를 최소화하기 위한 적절한 공정 순서를 선택해야 한다.
흐름 생산 공정 문제의 목적은 마지막 기계에서 마지막 작업의 완료 시간으로 정의되는 $c(j_{m},\: i_{n})$을 최소화하는 순열을 찾는 것이다.
본 연구에서 제안하는 기법의 공정한 성능평가를 위해 위에서 언급한 문제 정의는 [22, 30-34, 40-42]에서 제안한 문제와 같게 설정되었다.
3. 강화학습 기반 흐름 생산 공정 최적화 기법
흐름 생산 공정 문제를 Markov decision process로 표현하면 주어진 작업 상태의 집합 $S$, 상태에서 수행할 수 있는 행동의 집합
$A$, 특정 상태 $s_{t}$, 특정 상태 $s_{t}$에서 에이전트가 취한 행동 $a_{t}$, 에이전트의 상태에 따른 행동이 명시된 정책 $\pi(s_{t})$에
따라 얻게 되는 즉각적인 보상을 $r(s_{t},\:a_{t})$로 표현할 수 있다. 상태 $s_{t}$는 에이전트에 의해 선택된 흐름 생산 공정
작업을 뜻하고 이는 섹션 2에서 설명한 바와 같이 기계들이 수행해야 하는 하나의 작업을 의미한다. 여기서 $t$는 상태와 행동에 따른 시간 단위를
나타낸다. 행동 $a_{t}$란 에이전트가 지금까지 수행된 작업을 제외하고 나머지 작업 중에서 다음 작업을 선택하는 것으로 정의한다. 즉각적인 보상은
주어진 상태 $s_{t}$에서 에이전트는 정책 $\pi$에 따라 작업을 선택하는 행동 $a_{t}$를 수행한 다음, 새로운 상태 $s_{t+1}$과
즉각적 보상 $r(s_{t},\: a_{t})$를 받는다.
흐름 생산 공정 문제 에이전트의 목표는 예측되는 미래 보상 $R_{t}=\sum_{i=0}^{t}\gamma^{t}r(s_{i},\:a_{i})$를
최소화하는 것이다. 여기서 $\gamma$는 미래 보상에 대한 할인율을 나타낸다. 일련의 Markov decision process에서 벨만 방정식을
만족시키는 상태-행동 가치함수 $Q$는 다음과 같이 정의할 수 있다.
수식(5)에서 함숫값은 주어진 상태 $s$에서 행동 $a$를 한 후 얻을 수 있는 누적보상의 기댓값이 된다. 예측되는 누적보상을 최소화하는 $\pi
*$에 대한 상태-행동 가치함수를 다음과 같이 정의할 수 있다.
일반적인 강화학습과는 달리 최종 공정시간을 최소화해야 하므로 $Q$ 함수의 누적보상 기댓값 역시 최소가 되도록 정책을 학습한다. 예측되는 누적보상을
최소화하는 정책 $\pi *$를 만족하면 상태 가치함수 $V$ 또한, 모든 상태 $S$에 대해 가장 작아지게 되므로 다음과 같이 수식으로 표현할 수
있다.
즉, 에이전트의 학습 목표는 예측되는 누적보상을 최소화하는 정책 $\pi *$을 찾는 것이다. 에이전트의 보상체계는 현재 작업 $s_{t}$에서 다음
작업을 수행할 때 발생하는 기계의 유휴시간 $r(s_{t},\:a_{t})= Id\le time(s_{t,\:}s_{t+1})$를 즉각적인 보상으로
받는다. 여기서 $Id\le time$은 현재 작업 $s_{t}$와 다음 작업 $s_{t+1
}$간에 발생하는 기계의 유휴시간을 연산한다.
그림 2는 Q-Learning 기반 흐름 생산 공정의 일반적인 절차를 나타내는 블록도를 나타낸다. 상태-행동 가치함수 $Q$ 및 상태 가치함수 $V$ 는
각각의 기계에서 수행되는 작업에 대한 미래에 예측되는 보상 정보를 담고 있다. 가치함수 $Q$ 와 $V$ 는 학습 초기 탐색과정에서 발생하는 에이전트
행동의 편향을 방지하기 위해 정규분포 난수 값으로 초기화된다. 입력 데이터는 각 기계에서 수행되는 작업 종류 및 각 작업의 수행 시간이 포함되어 있다.
이 정보들을 활용해 사용자가 사전에 설정한 epoch 횟수만큼 서로 다른 강화학습 에이전트를 통해 학습하게 된다. 단일 에이전트 기반의 강화학습은
학습 초기 탐색과정에서 편향된 학습이 수행되어 지역 최저점에 머무를 가능성이 있으므로, 여러 개의 에이전트를 학습함으로써 가장 낮은 목적함수를 도출하는
에이전트의 가치함수를 기반으로 최종 작업 순열을 결정할 수 있도록 설계하였다. 선택된 가치함수 $Q$와 $V$를 이용하여 Permutation algorithm을
통해 최적의 작업 순열이 결정된다.
그림. 2. Q-learning 기반 흐름 생산 공정 블록도
Fig. 2. Block diagram of Q-learning based flow shop scheduling
알고리즘 1은 에이전트의 학습 과정에서 permutation algorithm 과정을 나타낸다. 알고리즘은 가치함수 $Q,\: V$ 및 $\epsilon$파라미터를
입력으로 완성된 최종 작업 순열 $p$를 반환한다. 가치함수가 수렴하지 못한 학습 초기에는 $\epsilon$값과 0과 1 사이의 무작위 난수를 비교하여
$\epsilon$값이 크면 무작위로 다음 작업을 결정한다. $\epsilon$값이 작으면 $Q$ 함수에서 가장 낮은 예측 보상 값을 갖는 작업을
다음 작업으로 결정한다. 만약 가치함수에 의해 첫 작업이 결정될 경우 최적의 작업 순열 완성을 보장하기 위해 $V$ 함수에서 가장 낮은 상태 가치를
갖는 작업을 첫 번째 작업으로 선택한다. 최종 작업 순열에 포함된 작업은 중복 선택을 피하고자 $Q$ 함수에서 선택된 작업에 해당하는 예측 보상 값을
매우 큰 값 ($l\arg e N UM$)으로 변경한다. 일련의 작업 순열을 결정하는 과정을 반복하며 $Q$ 함수와 $V$ 함수를 갱신하는 과정을
거친다.
알고리즘 1 Permutation algorithm
Algorithm 1 Permutation algorithm for the work sequence
그림. 3. 작업 순열에 따른 공정시간 연산방법
Fig. 3. Calculation of processing time based on the work sequence
그림 3은 섹션 2의 문제 정의에서 설명한 작업 순열에 따른 최종 공정시간 연산방법을 그림으로 나타낸 것이다. 위의 그림에서의 예는 3개의 작업을 4개의
기계에서 수행하는 흐름 생산 공정의 예시이다. 예를 들어 $pt_{22}$에서 수행되는 작업의 예상 종료 시각 $c_{22}$는 $2^{nd}ma\chi
ne$이 수행한 이전 작업 $pt_{12}$가 종료되는 시점 $c_{12}$과 $1_{st}ma\chi ne$이 수행한 작업 $pt_{21}$이 종료되는
시점 $c_{21}$을 비교했을 때 큰 값과 수행할 작업 $pt_{22}$의 합으로 결정된다.
그림 3에서 표현된 공정시간 연산방법을 기반으로 현재 작업에서 다음 작업을 수행할 때 발생하는 기계의 유휴시간을 구하는 방법을 수식으로 표현하면 다음과 같다.
수식(8)에서 $i$는 작업을 수행해야 하는 기계의 총 개수이다. 수식(8)으로 즉각적인 보상으로 주어지는 기계의 유휴시간을 연산하여 상태-행동 가치함수
$Q$ 와 상태 가치함수 $V$ 를 갱신한다. 반환된 작업 순열의 유휴시간 보상에 따른 $Q$ 함수의 학습은 다음과 같은 수식으로 표현할 수 있다.
수식(9)에서 $j_{k}$는 시간차 오차 학습을 사용한 $Q$ 함수의 갱신방법에 따라 다음 상태 $j_{i}$에서 예상되는 누적보상을 최소화하는
다음 작업을 나타낸다. $Q$ 함수는 현재 상태의 작업에서 취할 수 있는 행동 $a$에 대한 누적보상의 합을 포함한 이차원 테이블 형태이다. $Q_{n+1}(j_{i},\:j_{j})$는
$j_{i}$작업에 대해 갱신된 예측 보상의 합을 의미한다. $Q_{n}(j_{i},\:j_{j})$는 $j_{i}$작업에 대한 갱신되기 이전의 누적된
예측 보상의 합이다. 여기서 $j_{j}$는 $j_{i}$ 작업에서 에이전트가 선택한 다음 작업을 나타낸다. 여기서 $\alpha$는 학습률을 나타내며
한 번의 학습에 갱신되는 보상 값의 크기를 결정하는 계수이다. $\min Q_{n}(j_{j},\:j_{k})-Q_{n}(j_{i},\:j_{j})$에서
$\min Q_{n}(j_{j},\:j_{k})$는 다음 상태의 작업 $j_{j}$에서 누적보상을 최소화하는 다음 작업 $j_{k}$를 수행할 때
예측되는 미래 보상을 나타내며, $Q_{n}(j_{i},\:j_{j})$과의 차를 통해 현재 예상되는 최적의 작업 순열 보상과 비교하여 기존의 예측
보상치를 갱신하게 된다. 이 논문에서는 공정시간을 최소화하는 정책을 학습하기 위해 $Q$ 함수는 최솟값 연산자를 사용하여 갱신된다.
상태 가치함수 $V$는 다음과 같이 수식으로 표현할 수 있다.
수식(10)의 $V$함수에는 개별 작업이 갖는 상태에 대한 가치가 포함되어 있다. 특정한 작업 상태 $j_{t}$에 대한 가치는 $j_{t}$에서
취할 수 있는 모든 행동 $a'$에 대한 예측 보상의 평균으로 결정되어 매번의 학습마다 갱신된다. 흐름 생산 공정 문제는 NP-hard 문제에 해당하지만
본 연구에서 고려하는 문제의 크기(벤치마크 데이터 기준 최대 500x20)가 심층 신경망을 사용할 만큼 복잡한 문제가 아니라고 판단하였으므로, 신경망
대신 테이블 형태의 $Q$와 $V$함수를 사용하였다.
4. DDQL 기반 흐름 생산 공정 최적화 기법
기존의 Q-learning을 기반으로 한 흐름 생산 공정 최적화 기법은 최적 정책에 따라서 에이전트는 오로지 최대 $Q$값에 의해 주어진 상태에서
최적이 아닌 행동을 하게 되는 경향이 보이는 과추정 문제를 일으킨다. 이는 추정된 $Q$ 값의 노이즈에 의해 발생하는데, 이는 실제 $Q$ 함수를
갱신하는 과정에서 높은 편향을 유발하게 되고 학습 과정도 함께 복잡해지게 된다. 또한, 기존의 Q-learning은 상태함수 $V$ 가 낮은 상황에
대해서도 보상을 계산하기 때문에, 이는 결론적으로 $Q$ 함수의 분산이 커지게 하고 연산량이 많아지게 된다. 이로 인해 흐름 생산 공정 최종시간이
다양한 공정 상황에서 기존 기법들과 비교해 좋은 성능을 보장할 수 없게 된다.
이 논문에서는 이러한 문제들을 해결하기 위해 에이전트가 $Q$ 함수를 학습하는 과정에 DDQL 기법을 적용하여 흐름 생산 공정에서의 최종 공정시간을
최소화할 수 있도록 하였다.
4.1 Double Q-learning
앞서 언급했듯이 Q-learning에서는 최대 $Q$ 값만을 고려해 행동을 선택하고 $Q$ 함수를 갱신하게 되는데, 이는 $Q$ 함수의 노이즈로
인한 과추정 문제를 일으킬 수 있다. 이 문제를 해결하기 위해 두 개의 상태-행동 가치함수 $Q$ 와 $Q_{t\arg}et$을 동시에 활용하는
Double Q-learning 방법을 적용한다. $Q$ 함수는 다음 상태의 최대 $Q$ 값을 가질 수 있는 최선의 행동을 선택하기 위한 것이고,
$Q_{t\arg}et$함수는 선택된 행동을 사용하여 $Q$ 기댓값을 계산하기 위한 것이다. 즉, $Q_{t\arg}et$에서 얻은 기댓값을 이용해
$Q$ 함수의 갱신을 수행한다. 이를 통해 두 함수중에서 잡음이 포함되어 있다 할지라도, 그들의 잡음은 uniform distribution형태로
나타나므로 $Q$ 값 갱신 과정에서 생길 수 있는 과추정 문제를 해결해줄 수 있다. 여기서 $Q_{t\arg}et$함수는 주기적으로 $Q$함수의
값으로 동일하게 설정된다. 두 개의 상태-행동 가치함수 $Q$와 $Q_{t\arg}et$를 동시에 활용하는 Double Q-learning을 기반으로
한 $Q$ 함수 갱신 과정을 수식으로 표현하면 다음과 같다. (8)
수식(11)에서 볼 수 있듯이 $Q_{t\arg}et$을 $Q$ 함수 갱신 과정에 도입함으로써 최적의 행동을 선택하는 과정과 정책 자체를 평가하는
과정을 나눌 수 있고, 이를 통해 $Q$ 함수의 노이즈 문제로 인한 과추정 문제를 해결할 수 있다. 흐름 생산 공정 과정에서 편향된 행동 선택을 방지하게
함으로써 보다 안정적인 학습이 가능하게 되고 궁극적으로 최적의 흐름 생산 공정 솔루션을 얻을 수 있다.
4.2 Dueling Architecture
Dueling 구조는 $Q$ 값을 구하기 전에 가치함수 $V$ 와 이득 함수 $A$ 로 나누어 결괏값을 얻은 후 다시 합쳐지는 형태이다. 여기서 $A$
는 행동별로 계산되는데 이는 총 누적되는 보상 값에는 연관이 없으므로, Dueling 구조를 통해 에이전트는 결론적으로 높은 가치함수 $V$ 값이
이끄는 상태로 최대한 가려고 하고, 낮은 가치함수 $V$ 값을 주는 행동을 피하도록 학습이 수행된다. 이를 통해 학습 과정에서 발생할 수 있는 불필요한
연산을 방지하고 $Q$ 함수의 분산이 감소하여 더욱 안정적인 학습을 가능하게 한다. Dueling 구조에서의 $Q$ 함수는 다음과 같이 표현할 수
있다. (9)
수식(12)에서 $V(s)$는 모든 작업에 대한 상태 가치를 포함하며, $A(s,\:a)$는 $Q$ 함수에 존재하는 행동의 가치 값을 포함한다. $1/|A|∑A(s,\:a')$는
어떤 상태 $s$에서 선택할 수 있는 행동 $a'$들에 대한 예측 보상 합의 평균이고, 이 성분은 $Q$ 함수에서 최적의 행동이 취해졌을 때 A의
값을 0으로 만들어주므로 분산을 감소시켜 기존의 강화학습 기법보다 $Q$ 함수의 일반화 성능을 개선할 수 있다.
4.3 DDQL 기반흐름 생산 공정 최적화 기법
앞서 설명한 double Q-learning과 Dueling 구조를 둘 다 사용하는 DDQL 기법은 각각의 장점을 통합하여 흐름 생산 공정에 대한
최적화 솔루션을 제공할 수 있다. DDQL 기법은 알고리즘 1의 Permutation 과정이 수행되어 보상을 얻은 다음 그림 1의 상태-가치함수의 갱신방법에 적용할 수 있다. DDQL 기법을 이용해 $Q$ 함수를 갱신하기 위해서는 먼저 이득 함수 $A$ 와 상태 가치함수 $V$
로 쪼개어 계산 후 통합하는 과정을 거치게 된다. 그다음 최적의 행동을 선택하는 $Q$ 함수와 정책 자체를 평가하는 $Q_{t\arg}et$함수를
동시에 고려하여 $Q$ 함수의 갱신이 수행된다. 이를 통해 기존의 강화학습 기법보다 낮은 분산과 편향의 가치함수를 갖는 에이전트의 학습이 가능하여
최적의 흐름 생산 공정 솔루션을 제공할 수 있다.
5. 실험 및 결과
본 연구에서 제안하는 DDQL기반 흐름 생산 스케줄링 기법의 최종 공정시간 성능을 다양한 공정 환경에 대해 평가한다. 이를 위해 ordinary Q-learning,
double Q-learning, DDQL을 이용했을 때의 성능을 비교하였고, 최근까지 발표된 흐름 생산 공정 스케줄링 기법들인 L-HDE (30), ODDE(31), DBA (32), HBSA(33), PSOVNS (34), PSOMA (35), HTLBO (36), QDEA (37), HGA(38), HBA (39), HCS (40), HWA (41)의 기법들과 최종 공정시간 성능을 비교하였다. 다양한 공정 상황을 모의하기 위해 흐름 생산 공정 문제에 널리 활용되고 있고 다양한 공정상황에 대해
다룰 수 있는 총 세 가지의 벤치마크 데이터로 알고리즘의 공정 최적화 성능을 평가한다. Carlier(28)와 Rec(29)에서 제시하는 벤치마크 데이터는 각각 8개, 21개의 문제로 구성되어 있다. Taillard(26)에서 제시하는 벤치마크 데이터는 n개의 작업과 m개의 기계에 대해 nxm의 다양한 규모를 20x5, 20x10, 20x20, 50x5, 50x10,
50x20, 100x5, 100x10, 100x20, 200x10 및 500x20으로 정의한 흐름 생산 공정을 담고 있다. 제안된 알고리즘은 파이썬으로
구현되어 검증되었으며 시뮬레이션에 사용된 컴퓨터의 사양은 i7-8750H 2.20GHz CPU와 GTX 1060이 장착된 일반적인 노트북 환경에서
수행되었다.
표 1. 강화학습 알고리즘의 매개 변수
Table 1. Parameters of reinforcement learning algorithm
Parameter
|
Value
|
Learning Rate
|
0.1
|
Discount Factor
|
0.8
|
Epoch
|
|
50
|
Loop
|
|
100,000
|
$Q_{target}$ Update Period
|
|
50
|
5.1 학습방법
DDQL이 적용된 강화학습 기반 흐름 생산 공정 최적화 알고리즘 에이전트의 학습 매개 변수는 표 1에 나타내었다. 강화학습 에이전트는 100,000번의 반복 작업을 수행하면서 총 50회의 epoch를 거친 최적의 가치함수에 의한 작업 순열을 도출한
결과로 성능이 검증된다. 이때 한 번의 epoch가 완료되면 에이전트의 가치함수는 초기화되어 새로운 학습을 수행하도록 설정하였는데, 이는 탐색과정에서
발생할 수 있는 편향을 방지하고 다양하게 학습된 에이전트 중에서 가장 우수한 성능을 보이는 에이전트를 식별하기 위함이다.검증용 가치함수 $Q_{t\arg}et$의
갱신주기는 50회로 설정되어 주기마다 $Q$ 값으로 갱신한다.
100,000번의 반복되는 학습 과정에서 에이전트가 도출해낸 보상 그래프를 그림 4에 나타내었다. 표 1에 나타낸 벤치마크 데이터의 problem 중 rec33을 기준으로 제안된 DDQL 알고리즘 에이전트의 학습에 따른 보상을 확인하였다. 여기서 MVA(1000)은
에이전트가 1000번의 학습 동안 발생한 보상의 평균을 나타낸다. 그림 4를 통해 알 수 있듯이 제안된 강화학습 알고리즘으로 학습된 에이전트가 초기 탐색과정을 거치며 보상을 최소화하는 방향으로 점차 수렴하는 모습을 확인할
수 있다. 이를 통해 흐름생산 공정에 대한 학습을 위해 정해진 보상이 적절히 설정되었고, DDQL 강화학습 에이전트가 보상을 최소화하는 방향으로 학습을
원활히 수행했음을 확인할 수 있다. 대략 30,000회의 학습 때 최소지점을 거쳐 학습 후반으로 갈수록 보상이 약간 증가하는 것을 확인할 수 있는데
이는 학습이 진행될수록 강화학습 에이전트가 $Q$ 함수의 갱신 과정에서 과적합 되기 때문이다. 이 점을 고려하여 본 연구에서는 학습과정에서 에이전트에
반환된 보상 값 중 최저지점을 선택하여 강화학습 알고리즘의 성능 검증을 수행하였다.
그림 5에서는 서로 다른 강화학습 알고리즘(Q-learning, double Q-learning 및 DDQL)으로 학습된 에이전트가 도출해낸 최종 공정시간의
분포도를 Boxplot으로 나타내었다. 그림에서 알 수 있듯이 DDQL기법이 Q-learning과 DoubleQ 보다 상한과 하한의 폭이 좁고 박스의
위치가 상대적으로 아래에 있는 것을 확인할 수 있다. 이는 두 개의 함수를 사용함으로써 탐색과정에서 발생하는 노이즈로 인한 과추정을 방지함과 동시에
이득 함수를 사용하여 상태 행동 가치함수의 분산을 감소시킨 Dueling 구조에 기인한 결과이다. 이를 통해 DDQL 기법이 다른 기법들과 비교해
유휴시간 최소화를 통한 최소의 최종 공정시간을 제공할 수 있는 더 나은 방식임을 알 수 있다.
그림. 4. DDQL 에이전트의 학습에 따른 보상 분포
Fig. 4. Distribution of the reward of DDQL agent according to learning process
그림. 5. 강화학습 기법에 따른 최종 공정시간의 분포
Fig. 5. Distribution of processing time according to learning algorithms
표 2. Car와 Rec 데이터에 대한 Q-learning 알고리즘의 성능평가
Table 2. Performance evaluation of Q-learning algorithms based on Car and Rec data
|
|
Ordinary Q learning
|
Double Q learning
|
DDQL
|
Problem
|
nxm
|
BRE
|
ARE
|
WRE
|
BRE
|
ARE
|
WRE
|
BRE
|
ARE
|
WRE
|
Car01
|
11x5
|
0.017
|
0.182
|
0.325
|
0.021
|
0.151
|
0.292
|
0.017
|
0.143
|
0.272
|
Car02
|
13x4
|
0.071
|
0.182
|
0.338
|
0.036
|
0.144
|
0.229
|
0.046
|
0.139
|
0.203
|
Car03
|
12x5
|
0.172
|
0.311
|
0.478
|
0.121
|
0.224
|
0.325
|
0.125
|
0.218
|
0.326
|
Car04
|
14x4
|
0.126
|
0.241
|
0.426
|
0.052
|
0.152
|
0.325
|
0.052
|
0.151
|
0.273
|
Car05
|
10x6
|
0.002
|
0.158
|
0.285
|
-0.007
|
0.085
|
0.257
|
-0.011
|
0.105
|
0.296
|
Car06
|
8x9
|
0.09
|
0.191
|
0.304
|
0.095
|
0.195
|
0.278
|
0.103
|
0.19
|
0.263
|
Car07
|
7x7
|
0.027
|
0.114
|
0.373
|
0.019
|
0.093
|
0.328
|
0.018
|
0.099
|
0.202
|
Car08
|
8x8
|
0.013
|
0.132
|
0.265
|
0.016
|
0.112
|
0.209
|
0.014
|
0.1
|
0.187
|
rec01
|
20x5
|
0.202
|
0.3
|
0.411
|
0.134
|
0.245
|
0.338
|
0.15
|
0.224
|
0.325
|
rec03
|
20x5
|
0.115
|
0.242
|
0.394
|
0.108
|
0.197
|
0.318
|
0.092
|
0.198
|
0.267
|
rec05
|
20x5
|
0.042
|
0.201
|
0.348
|
0.023
|
0.14
|
0.24
|
0.047
|
0.125
|
0.262
|
rec07
|
20x10
|
0.155
|
0.267
|
0.386
|
0.143
|
0.219
|
0.32
|
0.156
|
0.221
|
0.303
|
rec09
|
20x10
|
0.148
|
0.295
|
0.422
|
0.18
|
0.258
|
0.387
|
0.155
|
0.236
|
0.319
|
rec11
|
20x10
|
0.166
|
0.278
|
0.365
|
0.168
|
0.266
|
0.377
|
0.131
|
0.239
|
0.335
|
rec13
|
20x15
|
0.144
|
0.237
|
0.319
|
0.121
|
0.196
|
0.28
|
0.119
|
0.181
|
0.268
|
rec15
|
20x15
|
0.146
|
0.222
|
0.304
|
0.149
|
0.212
|
0.273
|
0.097
|
0.194
|
0.285
|
rec17
|
20x15
|
0.193
|
0.284
|
0.376
|
0.17
|
0.25
|
0.356
|
0.169
|
0.236
|
0.335
|
rec19
|
30x10
|
0.187
|
0.25
|
0.376
|
0.164
|
0.235
|
0.323
|
0.151
|
0.214
|
0.34
|
rec21
|
30x10
|
0.212
|
0.282
|
0.447
|
0.154
|
0.253
|
0.356
|
0.144
|
0.232
|
0.324
|
rec23
|
30x10
|
0.152
|
0.278
|
0.426
|
0.188
|
0.259
|
0.35
|
0.162
|
0.23
|
0.309
|
rec25
|
30x15
|
0.183
|
0.248
|
0.31
|
0.154
|
0.231
|
0.315
|
0.143
|
0.211
|
0.274
|
rec27
|
30x15
|
0.214
|
0.287
|
0.356
|
0.182
|
0.267
|
0.378
|
0.174
|
0.252
|
0.325
|
rec29
|
30x15
|
0.225
|
0.306
|
0.38
|
0.204
|
0.305
|
0.415
|
0.187
|
0.285
|
0.41
|
rec31
|
50x10
|
0.166
|
0.25
|
0.332
|
0.165
|
0.237
|
0.322
|
0.182
|
0.23
|
0.356
|
rec33
|
50x10
|
0.175
|
0.238
|
0.369
|
0.151
|
0.223
|
0.321
|
0.151
|
0.218
|
0.332
|
rec35
|
50x10
|
0.106
|
0.178
|
0.265
|
0.075
|
0.154
|
0.225
|
0.071
|
0.15
|
0.239
|
rec37
|
75x20
|
0.198
|
0.265
|
0.312
|
0.195
|
0.263
|
0.337
|
0.194
|
0.258
|
0.3
|
rec39
|
75x20
|
0.188
|
0.244
|
0.326
|
0.184
|
0.242
|
0.286
|
0.168
|
0.231
|
0.29
|
rec41
|
75x20
|
0.232
|
0.286
|
0.352
|
0.215
|
0.276
|
0.336
|
0.213
|
0.275
|
0.324
|
5.2 Carlier와 Reeves 벤치마크 검증
다양한 공정상황을 모의할 수 있는 Carlier (28)와 Reeves (29) 벤치마크 데이터에서 Q-learning, double Q-learning 및 DDQL 기법 간 공정 최적화 성능의 차이를 비교한다. 또한, 최근까지
연구되어온 다른 흐름 생산 공정 스케줄링 알고리즘과도 공정 최적화 기법의 객관적인 성능을 검증한다. 흐름 생산 공정에 대한 성능평가에 활용되는 지표로는
최고 상대 오차(BRE), 평균 상대 오차(ARE) 및 최악 상대 오차(WRE)를 사용하였으며 각각 다음과 같이 수식으로 정의할 수 있다.
여기서 최고 상대 오차는 에이전트가 얼마나 최종 공정시간에 대한 최적해에 가까운 답을 도출했는지 평가하는 지표이다. 평균 상대 오차는 에이전트의 일반적인
성능을 평가하는 지표이다. 최악 상대 오차는 에이전트가 보장할 수 있는 최소성능을 평가하는 지표이다. 해당 지표들은 최적해를 기준으로 수치가 결정되므로
알고리즘이 최적해에 가까운 답을 도출할수록 해당 지표의 수치가 낮아지고 최적의 결과는 0과 같거나 작은 값을 나타낸다. 수식(13)에서 $z*$은
각각의 벤치마크 데이터에 대한 최종 공정시간의 최적해를 나타내며, $z_{best}$는 알고리즘이 도출한 최소의 최종 공정시간이다. 수식(14)의
$z_{avg}$는 알고리즘이 한 번의 반복마다 도출해낸 결과의 평균이고, 수식(15)에서 $z_{worst}$는 최악의 결과를 나타낸다.
벤치마크 데이터에 대한 알고리즘 간의 성능차이를 정량적으로 나타내기 위해 성능 개선율(PI, Performance Improvement) 수식을 다음과
같이 설정하였다.
수식 (16)에서 $z_{x}$는 비교 대상인 기존의 알고리즘이 도출한 최종 공정시간을 나타내며, $z_{DDQL}$은 DDQL 알고리즘이 도출한
최종 공정시간을 나타낸다. 앞서 설명한 성능지표를 기준으로 기존의 Q-learning, double Q-learning 및 DDQL 방식을 적용했을
때의 결과를
표 2에 나타내었다. 여기서 bold로 표시한 값이 각 케이스 별 최소의 BRE, ARE, WRE 값임을 나타낸다. 또한, 최근까지 발표된 흐름 생산 공정
스케줄링 기법들인 L-HDE
(30), ODDE
(31), DBA
(32), HBSA
(33), PSOVNS
(34), PSOMA
(35), HTLBO
(36), QDEA
(37), HGA
(38), HBA
(39), HCS
(40), HWA
(41)를 적용했을 때의 비교결과를
그림 6에서 확인할 수 있다.
표 2의 결과를 통해 알 수 있듯이 DDQL 기법을 적용한 강화학습 기반 흐름 생산 공정 최적화 방식이 기존의 Q-learning 대비 평균 BRE 성능은
약 17%, ARE 성능은 약 22%, 그리고 WRE 성능은 약 23%의 성능 개선율을 나타냈다. 이는 DDQL 기법이 $Q$ 함수를 학습하는 과정에서
발생하는 높은 편향 문제를 검증용 가치함수와 학습용 가치함수 둘 다를 활용하는 방식으로 방지하고, $A$ 함수를 기반으로 $Q$ 함수의 분산을 감소시켜
에이전트의 일반화 성능의 개선에 기인한 결과임을 알 수 있다.
그림. 6. Car와 Rec 데이터에 대한 다수 알고리즘별 성능평가
Fig. 6. Performance evaluation of multiple algorithms based on Car and Rec data
그림 6은 Car와 Rec 벤치마크 데이터의 BRE, ARE 및 WRE의 평균에 대한 각 흐름 생산 공정 스케줄링 알고리즘 간 비교결과이다. 그림에서 볼
수 있듯이 DDQL 알고리즘이 세 가지 성능지표에 대해 가장 우수한 성능을 보임을 알 수 있다. 특히, BRE 성능에서는 기존의 Q-learning
기반 강화학습 기법보다 DDQL 방식은 약 18%의 성능 개선을 보임으로써 궁극적으로 흐름 생산 공정의 유휴시간 감소 효과를 얻어낼 수 있다. 특히
ARE와 WRE에서 약 22%의 성능 개선을 보이는데 이는 DDQL 방식이 검증용 가치함수로 편향을 감소시키는 점을 이용해 기존의 단일 가치함수를
사용한 방식과 비교해 과추정을 방지하며, 이득 함수를 활용해 에이전트의 분산을 감소시키는 효과를 얻으면서 최적의 작업 정책을 선택하기 위한 상태 추정을
한 결과이다.
5.3 Taillard 벤치마크 검증
제안된 DDQL 기반 흐름 생산 공정 스케줄링 알고리즘을 보다 큰 규모의 다양한 작업환경에 대한 공정 최적화 성능을 확인하기 위해 흐름 생산 공정
최적화에 널리 사용되는 Taillard 벤치마크 데이터를 이용해 성능을 검증하였다. 최근까지 발표된 흐름 생산 공정 스케줄링 기법들과의 비교를 위해
HGA (43), TMIIG (44), DSOMA (45), IG_RIS (46), DWWO (4), IG_RIS (47) 알고리즘들의 성능도 함께 나타내었다. 각 알고리즘이 도출한 최적의 최종 공정시간을 기준으로 성능을 비교하였으며 이는 표 3에서 나타내었다.
표 3의 결과에서 비교적 간단한 흐름 생산 공정을 나타내는 20x20의 작업까지는 제안된 기법이 기존 휴리스틱 기반 알고리즘들과 비슷한 결과를 보인다.
하지만 상대적으로 복잡한 작업에 해당하는 50x5 이후부터는 작업 대부분에서 제안된 DDQL 기반 스케줄링 기법이 기존의 알고리즘보다 우수한 공정
최적화 성능을 보인다. 특히 흐름 공정의 규모가 커질수록 공정 최적화 성능의 차이가 점점 크게 나타난다. 수식(16)의 성능 개선율을 기준으로 평균을
낸 결과 공정 규모가 50x5일 때는 IG_RIS 알고리즘 대비 7% 개선, 500x20일 때는 18%의 개선을 보인다. 여기서 IG_RIS 알고리즘
대비 성능 개선율은 공정 규모에 따른 개별문제에 대해 $\sum\dfrac{z_{IGRIS}-z_{DDQL}}{z_{DDQL}}\times 100$
의 평균값으로 나타내었다.
표 3. Taillard 데이터에 대한 다수 알고리즘별 성능평가
Table 3. Performance evaluation of multiple algorithms based on Taillard data
Instance
|
nxm
|
Upper bound
|
DDQL
|
HGA
|
DSOMA
|
IIGA
|
TMIIG
|
DWWO
|
IG_RIS
|
Ta001
|
20 x 5
|
1278
|
1322
|
1449
|
1374
|
1486
|
1486
|
1486
|
-
|
Ta002
|
|
1359
|
1412
|
1460
|
1408
|
1528
|
1528
|
1528
|
-
|
Ta003
|
|
1081
|
1257
|
1386
|
1280
|
1460
|
1460
|
1460
|
-
|
Ta004
|
|
1293
|
1464
|
1521
|
1448
|
1588
|
1588
|
1588
|
-
|
Ta005
|
|
1236
|
1296
|
1403
|
1341
|
1449
|
1449
|
1449
|
-
|
Ta006
|
|
1195
|
1324
|
1430
|
1363
|
1481
|
1481
|
1481
|
-
|
Ta007
|
|
1239
|
1328
|
1461
|
1381
|
1483
|
1483
|
1483
|
-
|
Ta008
|
|
1206
|
1327
|
1433
|
1379
|
1482
|
1482
|
1482
|
-
|
Ta009
|
|
1230
|
1282
|
1398
|
1373
|
1469
|
1469
|
1469
|
-
|
Ta010
|
20 x 10
|
1108
|
1176
|
1324
|
1283
|
1377
|
1377
|
1377
|
-
|
Ta011
|
|
1582
|
1754
|
1955
|
1698
|
2044
|
2044
|
2044
|
-
|
Ta012
|
|
1659
|
1881
|
2123
|
1833
|
2166
|
2166
|
2166
|
-
|
Ta013
|
|
1496
|
1685
|
1912
|
1676
|
1940
|
1940
|
1940
|
-
|
Ta014
|
|
1378
|
1553
|
1782
|
1546
|
1811
|
1811
|
1811
|
-
|
Ta015
|
|
1419
|
1647
|
1933
|
1617
|
1933
|
1933
|
1933
|
-
|
Ta016
|
|
1397
|
1635
|
1827
|
1590
|
1892
|
1892
|
1892
|
-
|
Ta017
|
|
1484
|
1673
|
1944
|
1622
|
1963
|
1963
|
1963
|
-
|
Ta018
|
|
1538
|
1748
|
2006
|
1731
|
2057
|
2057
|
2057
|
-
|
Ta019
|
|
1593
|
1739
|
1908
|
1747
|
1973
|
1973
|
1973
|
-
|
Ta020
|
|
1591
|
1668
|
2001
|
1782
|
2051
|
2051
|
2051
|
-
|
Ta021
|
20 x 20
|
2297
|
2540
|
2912
|
2436
|
2973
|
2973
|
2973
|
-
|
Ta022
|
|
2100
|
2316
|
2780
|
2234
|
2852
|
2852
|
2852
|
-
|
Ta023
|
|
2326
|
2563
|
2922
|
2479
|
3013
|
3013
|
3013
|
-
|
Ta024
|
|
2223
|
2374
|
2967
|
2348
|
3001
|
3001
|
3001
|
-
|
Ta025
|
|
2291
|
2513
|
2953
|
2435
|
3003
|
3003
|
3003
|
-
|
Ta026
|
|
2226
|
2457
|
2908
|
2383
|
2998
|
2998
|
2998
|
-
|
Ta027
|
|
2273
|
2470
|
2970
|
2390
|
3052
|
3052
|
3052
|
-
|
Ta028
|
|
2200
|
2376
|
2763
|
2328
|
2839
|
2839
|
2839
|
-
|
Ta029
|
|
2237
|
2525
|
2972
|
2363
|
3009
|
3009
|
3009
|
-
|
Ta030
|
|
2178
|
2391
|
2919
|
2323
|
2979
|
2979
|
2979
|
-
|
Ta031
|
50 x 5
|
2724
|
2830
|
3127
|
3033
|
3161
|
3161
|
3170
|
2974
|
Ta032
|
|
2834
|
3083
|
3438
|
3045
|
3432
|
3440
|
3441
|
3171
|
Ta033
|
|
2621
|
2744
|
3182
|
3036
|
3211
|
3213
|
3218
|
2988
|
Ta034
|
|
2751
|
2872
|
3289
|
3011
|
3339
|
3343
|
3349
|
3113
|
Ta035
|
|
2863
|
3049
|
3315
|
3128
|
3356
|
3361
|
3376
|
3140
|
Ta036
|
|
2829
|
3077
|
3324
|
3166
|
3347
|
3346
|
3352
|
3158
|
Ta037
|
|
2725
|
2921
|
3183
|
3021
|
3231
|
3234
|
3243
|
3005
|
Ta038
|
|
2683
|
2986
|
3243
|
3063
|
3235
|
3241
|
3239
|
3040
|
Ta039
|
|
2552
|
2733
|
3059
|
2908
|
3072
|
3075
|
3078
|
2889
|
Ta040
|
|
2782
|
2832
|
3301
|
3120
|
3317
|
3322
|
3330
|
3094
|
Ta041
|
50 x 10
|
3025
|
3484
|
4251
|
3638
|
4274
|
4274
|
4274
|
3605
|
Ta042
|
|
2892
|
3412
|
4139
|
3511
|
4177
|
4179
|
4180
|
3470
|
Ta043
|
|
2864
|
3253
|
4083
|
3492
|
4099
|
4099
|
4099
|
3465
|
Ta044
|
|
3064
|
3551
|
4480
|
3672
|
4399
|
4399
|
4407
|
3649
|
Ta045
|
|
2986
|
3523
|
4316
|
3633
|
4322
|
4324
|
4324
|
3614
|
Ta046
|
|
3006
|
3477
|
4282
|
3621
|
4289
|
4290
|
4294
|
3574
|
Ta047
|
|
3107
|
3529
|
4376
|
3704
|
4420
|
4420
|
4420
|
3667
|
Ta048
|
|
3039
|
3443
|
4304
|
3572
|
4318
|
4321
|
4323
|
3549
|
Ta049
|
|
2902
|
3427
|
4162
|
3541
|
4155
|
4158
|
4155
|
3510
|
Ta050
|
|
3091
|
3483
|
4232
|
3624
|
4283
|
4286
|
4286
|
3603
|
Ta051
|
50 x 20
|
3875
|
4642
|
6138
|
4511
|
6129
|
6129
|
6129
|
4484
|
Ta052
|
|
3715
|
4350
|
5721
|
4288
|
5725
|
5725
|
5725
|
4262
|
Ta053
|
|
3668
|
4214
|
5847
|
4289
|
5862
|
5873
|
5862
|
4261
|
Ta054
|
|
3752
|
4434
|
5781
|
4378
|
5788
|
5789
|
5789
|
4338
|
Ta055
|
|
3635
|
4303
|
5891
|
4271
|
5886
|
5886
|
5886
|
4249
|
Ta056
|
|
3698
|
4437
|
5875
|
4202
|
5863
|
5874
|
5871
|
4271
|
Ta057
|
|
3716
|
4373
|
5937
|
4315
|
5962
|
5968
|
5969
|
4291
|
Ta058
|
|
3709
|
4447
|
5919
|
4326
|
5926
|
5940
|
5926
|
4298
|
Ta059
|
|
3765
|
4502
|
5839
|
4329
|
5876
|
5876
|
5876
|
4304
|
Ta060
|
|
3777
|
4441
|
5935
|
4422
|
5958
|
5959
|
5958
|
4398
|
Ta061
|
100 x 5
|
5493
|
5608
|
6492
|
6151
|
6397
|
6397
|
6433
|
6038
|
Ta062
|
|
5268
|
5510
|
6353
|
6064
|
6234
|
6246
|
6268
|
5933
|
Ta063
|
|
5175
|
5444
|
6148
|
6003
|
6121
|
6133
|
6162
|
5837
|
Ta064
|
|
5014
|
5349
|
6080
|
5786
|
6026
|
6028
|
6055
|
5661
|
Ta065
|
|
5250
|
5596
|
6254
|
6021
|
6200
|
6206
|
6221
|
5873
|
Ta066
|
|
5135
|
5340
|
6177
|
5869
|
6074
|
6088
|
6121
|
5732
|
Ta067
|
|
5246
|
5461
|
6257
|
6004
|
6247
|
6254
|
6311
|
5890
|
Ta068
|
|
5106
|
5386
|
6225
|
5924
|
6130
|
6150
|
6197
|
5785
|
Ta069
|
|
5454
|
5693
|
6443
|
6154
|
6370
|
6391
|
6418
|
6029
|
Ta070
|
|
5328
|
5541
|
6441
|
6186
|
6381
|
6396
|
6404
|
6049
|
Ta071
|
100 x 10
|
5770
|
6612
|
8115
|
7042
|
8077
|
8080
|
8093
|
6896
|
Ta072
|
|
5349
|
6017
|
7986
|
6813
|
7880
|
7888
|
7891
|
6622
|
Ta073
|
|
5677
|
6290
|
8057
|
6943
|
8028
|
8042
|
8047
|
6766
|
Ta074
|
|
5791
|
6566
|
8327
|
7198
|
8348
|
8350
|
8364
|
7037
|
Ta075
|
|
5468
|
6293
|
7991
|
6815
|
7958
|
7967
|
7966
|
6690
|
Ta076
|
|
5303
|
5944
|
7823
|
6685
|
7801
|
7808
|
7791
|
6517
|
Ta077
|
|
5599
|
6192
|
7915
|
6827
|
7866
|
7880
|
7881
|
6684
|
Ta078
|
|
5623
|
6235
|
7939
|
6874
|
7913
|
7912
|
7924
|
6729
|
Ta079
|
|
5875
|
6474
|
8226
|
6092
|
8161
|
8164
|
8152
|
6908
|
Ta080
|
|
5845
|
6230
|
8186
|
6990
|
8114
|
8130
|
8126
|
6832
|
Ta081
|
100 x 20
|
6286
|
7411
|
10745
|
7854
|
10700
|
10722
|
10727
|
7683
|
Ta082
|
|
6241
|
7326
|
10655
|
7910
|
10594
|
10611
|
10604
|
7739
|
Ta083
|
|
6329
|
7461
|
10672
|
7825
|
10611
|
10629
|
10624
|
7697
|
Ta084
|
|
6306
|
7378
|
10630
|
7902
|
10607
|
10615
|
10615
|
7730
|
Ta085
|
|
6377
|
7397
|
10548
|
7901
|
10539
|
10563
|
10551
|
7694
|
Ta086
|
|
6437
|
7460
|
10700
|
7921
|
10690
|
10684
|
10680
|
7745
|
Ta087
|
|
6346
|
7520
|
10827
|
8051
|
10825
|
10832
|
10824
|
7848
|
Ta088
|
|
6481
|
7595
|
10863
|
8025
|
10839
|
10846
|
10839
|
7879
|
Ta089
|
|
6358
|
7356
|
10751
|
7969
|
10723
|
10763
|
10745
|
7771
|
Ta090
|
|
6465
|
7499
|
10794
|
8036
|
10798
|
10797
|
10787
|
7818
|
Ta091
|
200 x 10
|
10868
|
11824
|
15739
|
13507
|
15319
|
15377
|
15418
|
13100
|
Ta092
|
|
10494
|
11763
|
15534
|
13458
|
15085
|
15167
|
15252
|
13048
|
Ta093
|
|
10922
|
12112
|
15755
|
13521
|
15376
|
15416
|
15412
|
13135
|
Ta094
|
|
10889
|
11368
|
15842
|
13686
|
15200
|
15250
|
15304
|
13112
|
Ta095
|
|
10524
|
11828
|
15692
|
13547
|
15209
|
15268
|
15277
|
13097
|
Ta096
|
|
10331
|
11560
|
15622
|
13247
|
15109
|
15163
|
15222
|
12869
|
Ta097
|
|
10857
|
11942
|
15877
|
13910
|
15395
|
15441
|
15459
|
13351
|
Ta098
|
|
10731
|
11943
|
15733
|
13830
|
15237
|
15295
|
15307
|
13225
|
Ta099
|
|
10438
|
11627
|
15573
|
13410
|
15100
|
15155
|
15186
|
13036
|
Ta100
|
|
10676
|
11476
|
15803
|
13744
|
15340
|
15382
|
15378
|
13119
|
Ta101
|
|
11294
|
13089
|
20148
|
15027
|
19681
|
19723
|
19724
|
14484
|
Ta102
|
|
11420
|
13098
|
20539
|
15211
|
20096
|
20127
|
20091
|
14690
|
Ta103
|
|
11446
|
13460
|
20511
|
15247
|
19913
|
19973
|
19989
|
14776
|
Ta104
|
|
11347
|
13105
|
20461
|
15174
|
19928
|
19997
|
19940
|
14694
|
Ta105
|
|
11311
|
13143
|
20339
|
15047
|
19843
|
19900
|
19875
|
14547
|
Ta106
|
|
11282
|
13459
|
20501
|
15212
|
19942
|
20003
|
19980
|
14734
|
Ta107
|
|
11456
|
13369
|
20680
|
15168
|
20112
|
20145
|
20119
|
14744
|
Ta108
|
|
11415
|
13332
|
20614
|
15247
|
20056
|
20053
|
20053
|
14763
|
Ta109
|
|
11343
|
13180
|
20300
|
15136
|
19918
|
19998
|
19932
|
14643
|
Ta110
|
|
11422
|
13009
|
20437
|
15243
|
19935
|
19932
|
19916
|
14703
|
Ta111
|
500 x 20
|
26189
|
29410
|
49095
|
37064
|
46689
|
47046
|
46871
|
35372
|
Ta112
|
|
26629
|
30277
|
49461
|
37419
|
47275
|
47630
|
47294
|
35743
|
Ta113
|
|
26458
|
29712
|
48777
|
37059
|
46544
|
46977
|
46846
|
35452
|
Ta114
|
|
26549
|
30292
|
49283
|
37014
|
46899
|
47328
|
47185
|
35687
|
Ta115
|
|
26404
|
30258
|
48950
|
36894
|
46741
|
47238
|
47037
|
35417
|
Ta116
|
|
26581
|
30302
|
49533
|
37372
|
46941
|
47553
|
47166
|
35747
|
Ta117
|
|
26461
|
29556
|
48943
|
36998
|
46509
|
46944
|
46794
|
35395
|
Ta118
|
|
26615
|
30341
|
49277
|
36944
|
46873
|
47346
|
47127
|
35568
|
Ta119
|
|
26083
|
30047
|
49207
|
36862
|
46743
|
47205
|
47025
|
35304
|
Ta120
|
|
26527
|
29842
|
49092
|
37098
|
46847
|
47374
|
47105
|
35643
|
흐름생산 공정문제는 전형적인 NP-hard 문제로써 기존의 접근 방식들은 대부분 rule-based 또는 휴리스틱 기법을 이용해 near-optimal
값을 찾아낸다. 특히 큰 규모의 공정 상황에서는 통계적인 휴리스틱 기법을 사용하게 되는데, 이 과정에서 도출한 근접값은 최적의 최종 공정 시간 값과
충분히 가깝지 않은 상황이 발생할 수 있다.
본 논문에서는 Markov decision process로 모델링이 가능한 흐름생산 공정문제를 강화학습 기법으로 해결하였고, 최적의 흐름생산 최종
공정시간을 제공하기 위한 상태, 행동, 보상에 대해 정의함으로써 강화학습 모델을 설계하였다. 특히 Q-learning은 강화학습의 대표적인 방식으로
Markov decision process를 기반으로 한 최적 정책값에 안정적으로 수렴하는 장점이 있고, 특히 큰 규모의 공정에 대해 얻은 최적 정책을
기반으로 기존의 기법들과 비교해 최적에 가까운 최소 공정시간을 예측할 수 있다. 또한, 제안된 DDQL 기반 스케줄링 기법이 Double Q-learning
구조를 가지면서 탐색 편향으로 인한 과추정 문제를 해결하고, Dueling 구조를 적용하여 $A$ 함수를 기반으로 $Q$ 함수의 분산을 감소시킴으로써
현재 상태에 대한 가치 추정의 개선을 통해 $Q$ 함수의 일반화 성능을 향상한 결과이다.
흐름 생산 공정에서 기계와 작업의 개수가 많은 상황에서는 현재 상태에서 취해야 하는 다음 행동의 후보가 많아져 상태에 대한 정보와 상태에서 취할 수
있는 행동의 예측 보상이 모두 포함된 단일 $Q$ 함수의 분산이 매우 커질 수 있다. Dueling 구조는 $Q$ 함수를 $V$ 함수와 $A$ 함수로
분리하여 에이전트가 특정 상태에 대한 가치와 상태에서 취할 수 있는 행동의 가치를 동시에 고려함으로써 불필요한 학습을 억제하게 한다. 이를 통해 기존의
강화학습 기반 방식들보다 다양한 작업에 대해 최적의 작업배열순서를 도출할 수 있음을 알 수 있다.
6. 결 론
본 연구는 다양한 흐름 생산 공정 환경에서 최종 공정시간 최소화를 보장할 수 있는 DDQL 기반 흐름 생산 공정 최적화 알고리즘을 제안한다. 강화학습
에이전트가 $Q$ 함수를 갱신하는 과정에서 double Q-learning 및 Dueling 구조를 적용함으로써 기존의 휴리스틱 기반 스케줄링과 Q-learning
기반 공정 최적화에서 발생할 수 있는 $Q$ 함수 분산증가, 탐색 편향 등의 문제를 해결하였다.
다양한 흐름 생산 공정을 모의할 수 있는 Car 및 Rec 벤치마크 데이터를 이용한 실험 결과 기존 강화학습 기반 흐름 생산 공정 최적화 기법보다
BRE 성능은 17%, ARE 성능은 22% 개선된 결과를 확인할 수 있었다. 또한, Taillard 벤치마크 데이터 기준 알고리즘이 도출한 최적의
작업 순열에서 기존의 휴리스틱 알고리즘 대비 최종 공정시간이 최대 18% 개선된 결과를 확인할 수 있었다. 특히, DDQL 알고리즘의 $Q$ 함수
학습에 따른 일반화 성능 개선으로 공정 규모가 큰 상황에서 다른 흐름 생산 공정 최적화 알고리즘보다 압도적인 성능을 나타냈다. DDQL 기법을 실제
공정에 적용하면 작업 공정의 최적화를 통해 기계 유휴시간을 감소시켜 공정 유지비용 절감의 효과를 얻을 수 있다.
Acknowledgements
This work was supported by the Smart Manufacturing Innovation Leaders program funded
by the Ministry of the Trade, Industry & Energy(MOTIE, Korea).
References
R. Ruiz, J. A. V Rodriguez, 2010, The hybrid flow shop scheduling problem, European
journal of operational research, Vol. 205, No. 1, pp. 1-18
S. M. Johnson, 1954, Optimal two‐and three‐stage production schedules with setup times
included, Naval research logistics quarterly, Vol. 1, No. 1, pp. 61-68
T. Kis, E. Pesch, 2005, A review of exact solution methods for the non-preemptive
multiprocessor flowshop problem, European Journal of Operational Research, Vol. 164,
No. 3, pp. 592-608
M. S. Nagano, H. H. Miyata, 2016, "Review and classification of constructive heuristics
mechanisms for no-wait flow shop problem, The International Journal of Advanced Manufacturing
Technology, Vol. 86, No. 5, pp. 2161-2174
D. Arora, G. Agarwal, 2016, Meta-heuristic approaches for flowshop scheduling problems:
a review, International Journal of Advanced Operations Management, Vol. 8, No. 1,
pp. 1-16
P. E. T. E. R. Stefan, 2003, Flow-shop scheduling based on reinforcement learning
algorithm, Production Systems and Information Engineering, Vol. 1, No. 1, pp. 83-90
R. S. Sutton, A. G. Barto, 1998, Introduction to reinforcement learning (Vol. 135),
Cambridge: MIT press
H. Hasselt, 2010, Double Q-learning. Advances in neural information processing systems,
23, pp. 2613-2621
Z. Wang, T. Schaul, M. Hessel, H. Hasselt, M. Lanctot, N. Freitas, June 2016, Dueling
network architectures for deep reinforcement learning, In International conference
on machine learning (pp. 1995-2003). PMLR
J. M. Framinan, R. Leisten, R. Ruiz-Usano, 2002, Efficient heuristics for flowshop
sequencing with the objectives of makespan and flowtime minimisation, European Journal
of Operational Research, Vol. 141, No. 3, pp. 559-569
M. Nawaz, E. E. Enscore Jr, I. Ham, 1983, A heuristic algorithm for the m-machine,
n-job flow-shop sequencing problem. Omega, Vol. 11, No. 1, pp. 91-95
M. Ancău, 2012, On solving flowshop scheduling problems. Proceedings of the Romanian
Academy, Series A, Vol. 13, No. 1, pp. 71-79
T Yamada, 2003, Studies on metaheuristics for jobshop and flowshop scheduling problems
L. Wang, L. Zhang, D. Z Zheng, 2006, An effective hybrid genetic algorithm for flow
shop scheduling with limited buffers, Computers & Operations Research, Vol. 33, No.
10, pp. 2960-2971
T. K. Varadharajan, C. Rajendran, 2005, A multi- objective simulated-annealing algorithm
for scheduling in flowshops to minimize the makespan and total flowtime of jobs, European
Journal of Operational Research, Vol. 167, No. 3, pp. 772-795
M. Akhshabi, J. Khalatbari, 2011, Solving flexible job-shop scheduling problem using
clonal selection algorithm, Indian Journal of Science & Technology, Vol. 4, No. 10,
pp. 1248-1251
C Low, 2005, Simulated annealing heuristic for flow shop scheduling problems with
unrelated parallel machines, Computers & Operations Research, Vol. 32, No. 8, pp.
2013-2025
I. A. Chaudhry, A. M Khan, 2012, Minimizing makespan for a no-wait flowshop using
genetic algorithm, Sadhana, Vol. 37, No. 6, pp. 695-707
Y. Fonseca, Y. Martinez, A. E. Figueredo, L. A. Pernia, 2014, Behavior of the main
parameters of the Genetic Algorithm for Flow Shop Scheduling Problems, Revista Cubana
de Ciencias Informaticas, Vol. 8, No. 1, pp. 99-111
C. R. A Reeves, 1995, genetic algorithm for flowshop sequencing, Computers & operations
research, Vol. 22, No. 1, pp. 5-13
A. Sadegheih, 2006, Scheduling problem using genetic algorithm, simulated annealing
and the effects of parameter values on GA performance, Applied Mathematical Modelling,
Vol. 30, No. 2, pp. 147-154
Y. Zhang, X. Li, Q. Wang, 2009, Hybrid genetic algorithm for permutation flowshop
scheduling problems with total flowtime minimization, European Journal of Operational
Research, Vol. 196, No. 3, pp. 869-876
P. E. T. E. R. Stefan, 2003, Flow-shop scheduling based on reinforcement learning
algorithm, Production Systems and Information Engineering, Vol. 1, No. 1, pp. 83-90
Y. C. Fonseca-Reyna, Y. Martinez-Jimenez, A. Nowe, 2018, Q-learning algorithm performance
for m-machine, n-jobs flow shop scheduling problems to minimize makespan, Investigacion
Operacional, Vol. 38, No. 3, pp. 281-290
Z. Zhang, W. Wang, S. Zhong, K. Hu, 2013, Flow shop scheduling with reinforcement
learning, Asia-Pacific Journal of Operational Research, 1350014, Vol. 30
E Taillard, 1993, Benchmarks for basic scheduling problems, european journal of operational
research, Vol. 64, No. 2, pp. 278-285
J. H. Lee, H. J. Kim, 2021, Reinforcement learning for robotic flow shop scheduling
with processing time variations, International Journal of Production Research, pp.
1-23
J Carlier, 1978, Ordonnancements a contraintes disjonctives, RAIRO- Operations Research,
Vol. 12, No. 4, pp. 333-350
A Reeves C. R, 1995, genetic algorithm for flowshop sequencing, Computers & operations
research, Vol. 22, No. 1, pp. 5-13
Y. Liu, M. Yin, W. Gu, 2014, An effective differential evolution algorithm for permutation
flow shop scheduling problem. Applied Mathematics and Computation, 248, pp. 143-159
X. Li, M. Yin, 2014, An opposition-based differential evolution algorithm for permutation
flow shop scheduling based on diversity measure, Advances in Engineering Software,
Vol. 55, pp. 10-31
Q. Luo, Y. Zhou, J. Xie, M. Ma, L. Li, 2014, Discrete bat algorithm for optimal problem
of permutation flow shop scheduling, The Scientific World Journal
Q. Lin, L. Gao, X. Li, C. Zhang, 2015, A hybrid backtracking search algorithm for
permutation flow-shop scheduling problem, Computers & Industrial Engineering, Vol.
85, pp. 437-446
M. F. Tasgetiren, Y. C. Liang, M. Sevkli, G. Gencyilmaz, 2007, A particle swarm optimization
algorithm for makespan and total flowtime minimization in the permutation flowshop
sequencing problem, European journal of operational research, Vol. 177, No. 3, pp.
1930-1947
B. Liu, L. Wang, Y. H. Jin, 2007, An effective PSO-based memetic algorithm for flow
shop scheduling, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics),
Vol. 37, No. 1, pp. 18-27
Z. Xie, C. Zhang, X. Shao, W. Lin, H. Zhu, 2014, An effective hybrid teaching–learning-based
optimization algorithm for permutation flow shop scheduling problem, Advances in Engineering
Software, Vol. 77, pp. 35-47
T. Zheng, M. Yamashiro, 2010, Solving flow shop scheduling problems by quantum differential
evolutionary algorithm, The International Journal of Advanced Manufacturing Technology,
Vol. 49, No. 5, pp. 643-662
L. Y. Tseng, Y. T. Lin, 2010, A hybrid genetic algorithm for no-wait flowshop scheduling
problem, International journal of production economics, Vol. 128, No. 1, pp. 144-152
O. Tosun, M. K. Marichelvam, 2016, Hybrid bat algorithm for flow shop scheduling problems,
International Journal of Mathematics in Operational Research, Vol. 9, No. 1, pp. 125-138
X. Li, M. Yin, 2013, A hybrid cuckoo search via Levy flights for the permutation flow
shop scheduling problem, International Journal of Production Research, Vol. 51, No.
16, pp. 4732-4754
M. Abdel-Basset, G. Manogaran, D. El-Shahat, S. Mirjalili, 2018, A hybrid whale optimization
algorithm based on local search strategy for the permutation flow shop scheduling
problem, Future Generation Computer Systems, Vol. 85, pp. 129-145
G. I. Zobolas, C. D. Tarantilis, G. Ioannou, 2009, Minimizing makespan in permutation
flow shop scheduling problems using a hybrid metaheuristic algorithm, Computers &
Operations Research, Vol. 36, No. 4, pp. 1249-1267
L. Y. Tseng, Y. T. Lin, 2010, A hybrid genetic algorithm for no-wait flowshop scheduling
problem, International journal of production economics, Vol. 128, No. 1, pp. 144-152
J. Y. Ding, S. Song, J. N. Gupta, R. Zhang, R. Chiong, C Wu, 2015, An improved iterated
greedy algorithm with a Tabu-based reconstruction strategy for the no-wait flowshop
scheduling problem, Applied Soft Computing, Vol. 30, pp. 604-613
D. Davendra, M. Bialic-Davendra, 2013, Scheduling flow shops with blocking using a
discrete self-organising migrating algorithm, International Journal of Production
Research, Vol. 51, No. 8, pp. 2200-2218
M. F. Tasgetiren, D. Kizilay, Q. K. Pan, P. N. Suganthan, 2017, Iterated greedy algorithms
for the blocking flowshop scheduling problem with makespan criterion, Computers &
Operations Research, Vol. 77, pp. 111-126
F. Zhao, H. Liu, Y. Zhang, W. Ma, C. Zhang, 2018, A discrete water wave optimization
algorithm for no-wait flow shop scheduling problem, Expert Systems with Applications,
Vol. 91, pp. 347-363
Q. K. Pan, L. Wang, B. H. Zhao, 2008, An improved iterated greedy algorithm for the
no-wait flow shop scheduling problem with makespan criterion, The International Journal
of Advanced Manufacturing Technology, Vol. 38, No. 7, pp. 778-786
저자소개
Seong Joon Kim is currently pursuing the integrated B.S. and M.S. degree from the
Department of Information and Communication Engineering, Changwon National University,
Chang won-si, South Korea.
His research interests include visible light communications and artificial intelligence.
Byung Wook Kim received the B.S. degree from the School of Electrical Engineering,
Pusan National University, Pusan, South Korea, in 2005, and the M.S. and Ph.D. degrees
from the Department of Electrical Engineering, KAIST, Daejeon, South Korea, in 2007
and 2012, respectively.
He was a Senior Engineer with the Korea Electrotechnology Research Institute, Changwon-si,
South Korea, from 2012 to 2013.
He was an Assistant Professor with the School of Electrical and Railway Engineering,
Kyungil University, Gyeongsan-si, South Korea, from 2013 to 2016.
He was an Assistant Professor with the Department of ICT Automotive Engineering, Hoseo
University, from 2016 to 2019.
He is currently an Assistant Professor with the Department of Information and Communication
Engineering, Changwon National University, Changwon-si, South Korea.
His research interests include visible light communications, machine learning, and
deep learning.