[첨단 헬로티]
국가가 추진하는 Society 5.0의 사고에 기초해, 공장을 포함하는 다양한 분야에서 에너지 가치사슬이 검토되고 있다. 공장은 고객 납기를 지키고 코스트를 억제해 적정한 품질의 제품을 제조하는 것이 미션이다. 이를 위한 생산 계획 문제는 보통 어떤 제약 하에서 납기를 최소화하는 조합 최적화 문제로서 정식화되고, 최적화 문제 중에서 전형적인 문제의 하나로서 연구가 진행되어 왔다. 그 중에서 기계의 처리 순서가 다른 다수의 작업을 취급하는 생산 형태의 것을 작업 숍이라고 부르고, 작업 숍 형태의 생산 형태를 갖는 공장의 스케줄을 최적화하는 문제를 작업 숍 스케줄링 문제(이하 ‘JSP’)라고 한다.
JSP는 문제의 규모가 커짐에 따라 조합의 수가 많아져 최적해를 얻기가 어려워지는 문제로서 알려져 있다. 이 문제의 규모 확대에 대응하기 위해 여러 가지 메타휴리스틱 방법이 적용되어 왔다. 최근 현실의 생산 계획은 소비자 요구의 다양화에 의해 단품종 다량 생산에서 다품종 소량 생산으로 이행되고 있다. 메타휴리스틱 방법의 하나인 타부 탐색(이하 ‘TS’)은 조정해야 할 파라미터가 타부 리스트 길이(이하, ‘TL 길이’)뿐이기 때문에 다품종 소량 생산에 적용 유효성을 기대할 수 있다. 그러나 TL 길이가 고정값이기 때문에 다품종 소량 생산에 대응하기 위해서는 매번 초기 TL 길이를 사전에 조정해야 한다. 그러므로 저자 등은 리액티브 타부 탐색(이하 ‘RTS’)를 이용한 JSP의 해법을 제안, TL 길이를 탐색마다 자동 조정하여 초기 TL 길이의 사전 조정을 하지 않고 최적해를 얻는 것을 확인했다.
최근 일본뿐만 아니라, 세계적으로 에너지 기원의 온실 효과 가스의 배출이 문제가 되고 있으며, 에너지 절감이 큰 과제가 되고 있다. 일본에서는 산업 분야의 에너지 소비가 드러나고 있으며, 이 최소화는 일본의 소비 에너지 절감에 큰 기여가 된다. 피크 시간대의 전력 소비량을 억제함으로써 경영적인 관점에서 에너지 코스트를 낮출 수 있는 동시에, 에너지 소비량이 가장 큰 산업 분야의 에너지 소비를 억제할 수 있기 때문에 저자도 포함해 3차 에너지 피크 시프트나 절감을 고려한 JSP의 연구가 이루어지 시작하고 있다.
여기에서 공장의 에너지 흐름을 생각한다(그림 1). 우선 전력회사나 가스회사 등의 에너지 회사에서 2차 에너지를 구입한다. 2차 에너지는 에너지 플랜트를 통해 3차 에너지로 변환되고, 변환된 3차 에너지는 생산 라인에서 소비된다. 따라서 생산 측의 에너지인 3차 에너지의 시프트나 절감을 해도 거기에 맞춰 2차 에너지 공급을 최소화하도록 에너지 플랜트를 운용하지 않으면, 최종적인 2차 에너지 절감으로는 이어지지 않는다. 기존 2차 에너지의 최소화를 목표로 하는 에너지 플랜트의 최적 운용은 생산 계획이 결정된 것을 전제로, 3차 에너지를 고정해 최적화 계산이 이루어지고 있다. 즉, 앞에서 말한 바와 같이 공장 내의 에너지 흐름은 2차 에너지 구입에서 3차 에너지 소비까지는 연결되어 있으며, 에너지 플랜트 운영 및 생산 계획을 동시에 생각하면서 문제 해결이 이루어져야 하는데, 현 상황에서는 생산 계획의 최적화와 에너지 플랜트의 최적화는 별도로 해결되고 있으며, 이러한 의미에서 2차 에너지 절감은 불완전했다.
▲ 그림 1 공장의 에너지 흐름의 예
이 글에서는 공장 내의 에너지 가치사슬을 최적화하는 의미로, 생산 계획과 에너지 플랜트 최적 운용을 통합한 2차 에너지의 절감을 고려한 생산 계획 방법에 대해 설명한다. 설명 방법은 JEITA가 제창하고 있는 ‘연계 제어’를 실현한 방법 중 하나라고 할 수 있다. 10기계 10작업의 JSP에 적용함으로써 2차 에너지 절감을 고려한 생산 계획의 최적화가 가능해지는 동시에, 납기와 에너지 절감의 가중치를 변경함으로써 목적에 맞는 다양한 스케줄을 생성할 수 있는 것을 확인했다.
생산 계획과 에너지 플랜트 최적 운용의 통합 프레임 워크
그림 2에 나타냈듯이 주 문제를 JSP, 부 문제를 EMS로 정하고, 쌍방을 고려함으로써 최적의 스케줄링 및 최적의 에너지 플랜트 최적 운용 방법을 생성하는 프레임 워크를 구축했다. 처음에 주 문제인 생산 계획을 RTS로 탐색할 때에, 생성된 각 인접 스케줄링에 대해 인접 스케줄의 3차 에너지 소비량을 부 문제로 넘긴다. 부 문제 측에서는 각 인접 스케줄에 대한 에너지 플랜트 최적 운용을 구해 2차 에너지 코스트를 주 문제에 반송한다. 이것을 바탕으로 주 문제 측에서 생산 시간 및 2차 에너지 코스트를 이용해 탐색을 계속할 수 있는 틀이 되고 있다. 이하에 주 문제 및 부 문제의 개요를 설명한다.
▲ 그림 2 생산 계획과 에너지 플랜트 최적 운용의 통합 프레임 워크
1. 주 문제
주 문제인 JSP는 이하와 같이 설명할 수 있다. N개의 각 작업은 K대의 기계를 사용해 생산을 하며, 각 작업은 K개의 공정을 가지고 작업에 의해 기계의 처리 시간이나 공정 순서가 미리 정해져 있는 것으로 한다. 기계는 고장나지 않는 것을 전제로 하고, 하나의 기계는 동시에 2개 이상의 작업을 처리할 수 없다. 또한, 한번 처리가 개시된 기계 공정은 도중에 중단할 수 없다. 이러한 조건을 만족시키고, 생산 시간(메이크 스팬)을 최소화하는 것을 목적으로 한 문제이다.
(1) 결정변수
결정변수는 각 공정의 작업 종료 프레임 번호 FOE(Oi, k)가 된다. 여기에서 Oi, k는 작업 i의 k번째로 처리되는 공정이다.
(2) 목적함수
전 공정이 종료할 때까지의 메이크 스팬의 최소화와 하나의 스케줄에 걸리는 1일의 2차 에너지 코스트(구입 전력량, 구입 가스량의 합)의 최소화를 목적함수로 한다. 또한, 이 문제는 일반적으로는 다목적 함수가 되지만, 이 2가지 목적함수를 스칼라화 방법에 의해 하나의 목적함수로 했다.
여기에서 MS : 전 공정의 작업 종료 시의 최대 프레임 수치(메이크 스팬), EC : 1일의 2차 에너지 코스트, w1, w2 : 목적함수의 각 항에 대한 가중치 계수(w1+w2=1), wp : 페널티값에 대한 가중치 계수, Penalty : 제약 조건식 (6), (7)을 넘은 분을 제곱했을 때 합의 합계값
(3) 제약 조건
이하에 JSP의 제약 조건식을 나타냈다.
여기에서 FOS(Oi, k) : 각 공정의 작업 개시 프레임 번호, Ti,k : 각 공정 처리 프레임 수, M Slimit : 메이크 스팬 상한 제약
제약 조건식 (6)을 만족시키지 못하는 경우, 제약 위반량의 2승 노름의 합계에 페널티 계수를 곱한 값을 목적함수값에 패널티값으로서 부가하는(식 (1) 제3항) 외점 페널티 함수를 이용했다.
2. 부 문제
부 문제인 에너지 플랜트 최적 운용은 전기학회 산업 응용 부문 ‘정보 지능 시스템의 신전개와 그 산업 응용 조사 전문위원회’가 정리한 ‘산업 응용을 위한 최적화 벤치마크 문제집’의 3.2절 ‘에너지 플랜트 운용 계획을 위한 최적화 벤치마크 문제’에서 제안된 모델을 이용했다. 에너지 플랜트를 그림 3에 나타냈다. 이 글에서는 부 문제를 선형 계획 문제로서 정식화하고, 수리계획법 솔버의 하나인 GLPK를 이용해 풀고 있는데, 설비 특성의 비선형성을 고려해 메타휴리스틱 방법으로 푸는 것도 가능하다.
▲ 그림 3 대상으로 한 에너지 플랜트
(1) 결정변수
EMS에서 결정변수는 이하에 나타냈다. 1일 24시간, 즉 24점의 입출력 수치를 결정변수(연속값)로 한다.
• 터보 냉동기 : 열 출력량
• 증기 흡수식 냉동기 : 열출력량
• 가스 터빈 : 소비 가스량
(2) 목적함수
1일 운영 코스트(구입 전력량, 구매 가스량의 합)의 합계 최소화로 한다.
여기에서 N : 1일 분할 점수, : 시간 i의 전기 구입 단가,
: 시간 i의 가스 구입 단가,
: 시간 i의 전기 구입량,
: 시간 i의 가스터빈 소비 가스량,
: 시간 i의 보일러 소비 가스량
(3) 제약 조건
이하에 EMS의 제약 조건을 나타냈다.
• 수급 밸런스 : 각 기기의 전기, 열, 가스의 입출력은 고정값으로서 설정하는 전기, 열, 증기의 각 부하와 밸런스가 잡혀 있을 필요가 있다.
• 기기 특성 : 각 기기의 입출력 상하한값, 입출력 특성을 만족시킨다.
병렬 리액티브 타부 검색
Fred Glover에 의해 조합 최적화 문제를 풀기 위한 범용적인 반복 발견적 방법으로서 제안된 TS는 TL 길이가 탐색 효율에 크게 영향을 주는 것이 알려져 있다. 이것에 대해 RTS에서는 Reaction 및 Escape라는 기능을 이용함으로써 사전에 TL 길이를 조정할 필요를 없애고, 광범위 영역을 효율적으로 탐색할 수 있게 된다. 지면 사정에 따라 이하에서는 Reaction, Escape 및 병렬 RTS만 설명한다.
1. Reaction
RTS는 이하의 방법에 의해 TL 길이를 자동 조정한다.
Step.1 탐색이 끝난 탐색점의 상태는 모두 보존 리스트에 보존해 둔다.
Step.2 새로운 탐색점으로 이동했을 때에 그 탐색점이 이전에 탐색된 점으로, 어떤 일정 이하의 탐색 횟수(CYCLEMAX)로 다시 탐색된 경우, 탐색이 루프하고 있다고 간주해 TL 길이를 길게 한다.
Step.3 이전 탐색된 상태가 나타날 때까지의 탐색 횟수 이동 평균(CYCLEMOVEAVE)보다 오랫동안 TL 길이 수정이 없었던 경우, 혹은 모든 인접 상태가 타부였던 경우, TL 길이를 짧게 한다.
2. Escape
국소 해를 여러 번 탈출하고 다시 기존 탐색점으로 되돌아가는 TL 길이를 훨씬 넘는 루프가 존재한 경우에 대응하기 위해 Escape가 도입됐다. Escape는 반복 탐색되는 상태 수가 사전에 설정된 임계값을 넘었을 때 실행된다. Escape에서는 일정 횟수만큼 랜덤 탐색을 반복한다. 이에 의해 탐색 영역을 완전히 변경하는 것이 가능하다.
3. 병렬 RTS
병렬 RTS는 초기 해를 여러 개 준비해 각 초기 해에 대해 RTS를 병렬로 실행하고, 마지막에 얻어진 해 중에서 가장 좋은 해를 출력한다. 이에 의해 탐색할 수 있는 범위가 늘어나고, 보다 질 좋은 해를 얻을 수 있는 가능성이 높아진다.
생산 계획 및 에너지 플랜트 최적 운용 통합 방법의 개요
1. 스케줄 표현 방법
JSP에서는 사전에 각 작업에 대한 기계의 처리 순서와 처리 프레임 수가 주어진다. 예를 들어, 3기계 3작업 문제인 경우의 조건을 표 1에 나타냈다. 이 정보를 이용함으로써 FOE(Oi, k)라고 하는 정보를 얻을 수 있고 하나의 스케줄을 표현할 수 있게 된다.
▲ 표 1 3기계 3작업 JSP의 각 공정 처리 순서와 처리 프레임 수의 예
2. 초기 스케줄 생성 방법
이 글에서는 초기 스케줄이 액티브 스케줄이 되는 생성 방법을 적용하고 있다. 초기 스케줄 생성 단계에서는 2차 에너지 코스트의 최소화는 무시, 여러 개의 초기 스케줄을 생성하고 있다.
3. 근방 스케줄의 생성 방법과 평가
이 연구에서는 근방 스케줄을 생성하는데 있어 크리티컬 블록(이하, ‘CB’)을 이용한 근방 해 생성 방법을 이용하고 있기 때문에 크리티컬 패스(이하 ‘CP’)를 구하는 것이 중요하다. CP는 스케줄 중에서 메이크 스팬을 구축하고 있는 일련의 공정이다. CP를 구성하는 공정 집합 내, 시간적으로 인접한 공정끼리는 동일한 기계에 의해 처리되고 있는지, 혹은 동일한 작업으로 처리하고 있다는 특징을 가진다.
이 특징을 이용해 가장 큰 FOE(Oi, k)를 가지는 공정에서 시간축 전방향으로 CP를 찾아 간다. 이때 CP는 경우에 따라 하나의 스케줄 중에서 2개로 분기하는 경우가 있기 때문에 CP를 구할 때에는 분기를 고려한 폭 우선 탐색을 이용한다. CB는 CP 중에서 동일한 기계가 계속 처리하고 있는 일련의 공정을 나타낸다. 근방 스케줄은 이 CB의 연속하는 2개 공정의 처리 순서를 바꿔 넣는 방법을 이용해 생성할 수 있다.
이러한 방법에 의해 생성된 각 인접 상태에 대해, 앞에서 설명했듯이 부 문제를 풀어 2차 에너지를 계산, 2차 에너지의 절감도 고려한 평가를 한다.
4. 통합 방법의 개요
JSP 및 에너지 플랜트 최적 운용을 통합한 병렬 RTS를 적용한 통합 방법은 앞에서 설명한 초기 스케줄(액티브 스케줄)을 여러 개 생성, 각 초기 스케줄에 대해 RTS를 실행하는 병렬 RTS가 된다. 이때, 앞에서 설명한 Reaction 및 Escape를 필요에 따라 이용한다. 자세한 내용은 문헌을 참조하기 바란다.
시뮬레이션
여기에서는 통합 방법을 10기계 10작업의 JSP에 적용해, 목적함수의 가중치 함수를 변경했을 때의 결과를 비교한다.
1. 시뮬레이션 조건
처음 작업 개시 프레임 번호 0을 오전 8시로 설정하고, 1프레임당 시간을 1분(시간당 60프레임)로 정함으로써 현실적인 공장을 가정했다. 이 글에서 다루는 10기계 10작업 문제는 벤치마크 문제로, 메이크 스팬만을 고려한 경우의 최적해는 943인 것으로 알고 있다.
이하에 파라미터를 나타냈다.
• 검색 횟수 : 20000, TL 길이의 수정률 a : 0.1, 초기 TL 길이 : 10~50를 10마다, CYCLEMAX : 30
• 가중치 계수 : 0.1~1.0(0.1마다), 가중치 계수
: 0.1~0.9(0.1마다), 가중치 계수
: 0.2,
: 2, M Slimit : 960
시뮬레이션 프로그램은 인텔 Corei7-4790(3.60GHz) PC 상의 C 언어 및 GLPK(VS2012ARM Cross Tools Command Prompt)를 이용해 구축했다. 각 공정의 처리 순서, 처리 프레임 수, 소비 전력량 이외의 상세한 조건은 문헌을 참조하기 바란다.
2. 시뮬레이션 결과
지면이 한정되어 있기 때문에 여기에서는 1예로서 그림 4에 목적함수의 가중치 계수 을 변경했을 때의 메이크 스팬과 2차 에너지 코스트의 추이를 나타냈다. (1) 식으로부터 =1.0일 때는 메이크 스팬만이 고려되고 있으며,
=0.1일 때는 가장 2차 에너지 코스트 절감이 우선되고 있는 것이 된다. 즉,
=1.0일 때가 2차 에너지 코스트를 고려하지 않은 기존형 JSP를 풀고 있는 것이 된다.
▲ 그림 4 목적함수 w1 값을 변화시켰을 때의 메이크 스팬과 2차 에너지 코스트의 변화
가장 2차 에너지 코스트 절감을 우선시키는 경우, 메이크 스팬이 1.9% 증가하지만 2차 에너지 코스트를 4.7% 줄일 수 있으며, 대폭적인 코스트 절감을 실현할 수 있는 것을 알 수 있다. 실제로는 다양한 경영 상황을 고려해 을 조정함으로써 공장의 상황에 맞는 생산 계획이 가능해진다.
맺음말
공장 내의 에너지 가치사슬을 최적화하는 의미로, 생산 계획과 에너지 플랜트 최적 운용을 통합한 2차 에너지 절감을 고려한 생산 계획 방법에 대해 설명했다. 앞으로 보다 대규모 문제에 대한 적용성을 검토하는 동시에, 병렬 분산 처리 등의 고속화를 검토해 나갈 예정이다.
, 메이지대학 종합수리학부 네트워크디자인학과
, 메이지대학 대학원 첨단수리이학연구과
本 記事는 日本 「計測自動制御學會」가 發行하는 「計測と制御」誌와의 著作權協定에 依據하여 提供받은 資料입니다.