1.서 론
주문-로트 페깅(Order-lot pegging)은 주문의 납기(Due Date)를 만족시키기 위하여, 완성된 재고 로트와 미완성 인 상태로 생산 중인 로트(WIP; Work-in-Process)를 주문 (Order)에 할당하는 기능이다. 이 주문-로트 페깅을 통하 여 로트에 납기를 부여하고, 이 납기 기반의 생산이 가능 하다. 혹은 자동차의 도색, 전장 옵션 등을 고객의 주문 이 들어오는 시점에 확정하여 생산 프로세스에 변화를 가할 수 있다.
<Figure 1>은 생산 라인에서 주문-로트 페깅의 전형적 인 예이다. 생산이 작업셀 WC1에서 WC2를 거처 WC3 순으로 진행되고, 각각의 작업셀 앞에는 대기 로트들이 해당 워크센터에서의 작업을 위해 대기하고 있고, 작업 셀에는 1대에서 수십 대의 설비에서 로트들의 작업이 진 행된다. 주문 i의 경우 4개의 로트를 필요로 할 때, WC2 와 WC3에 있는 로트를 할당하거나(실선), WC1과 WC2 에 있는 로트를 할당할 수(점선) 있다. 이 할당의 방법에 따라 주문 i를 완료할 수 있는 시점이 결정될 수 있다. 실 선으로 할당하여 페깅한 경우가 점선으로 할당한 경우보 다 더 빨리 생산이 완료되어 고객에게 납품될 수 있다. 따라서, 긴급한 주문에 생산 진도가 앞선 로트를 할당하 고, 납기에 여유가 있는 주문에 진도가 늦은 로트를 배정 하는 등의 방식을 통해 페깅을 최적화하여 고객 납기 만 족도를 높일 수 있다.
주문-로트 페깅 기능을 적용하는 사례나 시스템들은 많이 있지만 대부분 완성품 재고를 주문에 할당하는 할당 문제로 정의할 수 있다. 그러나 반도체 산업의 경우 30일 이상의 긴 생산 기간(TAT) 과 생산하는 상품의 복잡성으 로 인해 주문-로트 페깅의 난이도가 매우 높고 이런 연구 결과를 실제에 적용한 경우는 소수에 불과하다. 또한, 반 도체 분야의 페깅 연구들도 대부분의 논문들이 조립 라인 (Assembly Line)이나 최종 반도체 모듈 조립생산라인을 대 상으로 그 범위가 한정되어 있다. Steiner and Yeomans[11] 는 적시 생산 방식(JIT, Just in Time)의 조립 라인을 대상 으로 정수계획법을 사용한 방법론을 제안하였고, Knutson et al.[8] 과 Fowler et al.[6]는 반도체 조립 및 테스트 라인 을 대상으로 정수계획법을 활용하여 주문-로트 할당의 페 깅 문제를 수학적으로 모델링하고 bin packing 문제로 변환 하여 해결하는 휴리스틱 알고리듬을 제안하였다. Carlyle et al.[2]은 Knutson et al.[8]과 Fowler et al.[6]의 페깅 알 고리듬을 수정 및 확장하여 제안하였다.
Wu[12]는 주문-로트 할당 방법에 대한 상세 절차를 제 시하지 않았지만, 반도체 웨이퍼 FAB에서 특정 주문에 대한 페깅된 로트들은 유지하면서 다른 주문들에 페깅 로트들은 바꿀 수 있는 경우에 대한 소프트 페깅 방법론 을 제안하였다. 이와 유사한 방식으로 Bang et al.[1]은 반도체 웨이퍼 FAB에서의 주문들과 로트들의 페깅 관계 를 변경할 수 있는 소프트 페깅 알고리듬을 제안하였다.
최근 반도체 FAB에서의 주문-로트 페깅에 관하여 최 적 알고리듬 개발에 대한 연구가 진행되고 있다. Ng et al. [10]은 로트 크기가 불확실한 상황에서 Robust optimization 방법론을 적용하여 주문량 미달성과 주문량 초과달성 을 최소화하는 모델을 제시하고, Branch-and-price와 Benders decomposition 방법을 적용하여 문제를 풀었다. Lim and Kim[7]은 반도체 FAB에서의 주문-로트 페깅 문제의 정수계획법 기반의 수학적 모델을 제시하였고, 이 페깅 문제가 제품의 분기가 없는 상황에서 주문의 생산 순서 를 결정하는 문제(sequencing problem)로 변환할 수 있음 을 증명하였고, 주문-로트 페깅에 적합한 주문의 순서를 결정하는 휴리스틱을 개발하였고, Lim et al.[9]은 실제 상 황의 문제 크기에 대해서 최적해를 도출하는 방법론보다 현실적인 시간 내에 우위에 있는 결과를 제시하는 라그 랑지안 휴리스틱을 제안하였다
이러한 기존 연구들은 반도체 전체 공급망 영역에서 일부만을 다루고 있다. 또한 주문-로트 페깅 시 병목공정 의 생산 가능 능력(production capacity)을 반영하여 특정 주문에 대하여 제품의 타입이나 속성(발열량, 데이터 처 리 속도, 작동 온도 범위 등)은 적합하나 납기를 지킬 수 있는지의 여부를 고려한 경우는 없었다.
본 논문에서는 반도체 FAB내 병목공정의 생산가능 능력을 고려하여 각 공정별 투입 필요시점을 정확하게 산 정하고, 로트의 속성과 주문 간의 품질제약을 고려하여 페깅의 정합성을 높이고 이를 기반으로 납기약속(ATP)의 신뢰도를 높이는 알고리듬을 제안하였다. 이 알고리듬을 실제 반도체 제조 시스템에 적용하여, 신규 주문 입수 후 30분 이내에 고객의 주문에 대해 신속하고 정확한 주문- 로트 페깅 목록(Order-lot Pegging List) 생성 및 납기약속 이 가능하게 되고 고객의 요청납기에 만족하지 못하는 주문 또한 납기 약속 전에 확인하여 납기 조정이 가능하 게 된다. 유사한 방식으로, 주문에 페깅 된 로트가 위치 하는 생산 step의 투입 필요시점이 현재 시점보다 과거에 있다면 이는 페깅된 로트가 해당 주문의 납기를 만족시 키지 못하는 것으로 납기 지연을 예측할 수 있게 된다. 또한, 투입 필요시점을 기준으로 생산 완료될 때까지의 시간인 TAT(Turn-Around-Time)를 더해서 생산 완료 시 간을 예측하여 납기를 예측할 수 있다. 이때 납기 요청 또는 약속 시점 이후에 생산완료 되는 경우 납기 지연을 예측할 수 있게 된다.
오러-로트 페깅은 반도체 제조업체의 납기 산정 및 페 깅된 로트의 생산 진행 현황 정보를 해당 로트가 할당된 고객에게 전달하여 공급사-고객사 간의 협업 정도를 한 단계 높이는 역할을 할 수 있다. 이런 협업 방식은 Cho and Kim[3]이 제안한 반도체 산업에서의 협업 전략 성숙 도에서 Level 4-Best Practice에 해당하는 높은 수준의 협 업 체계를 구축할 수 있다.
본 연구에서 제시한 주문-로트 페깅 알고리듬을 MIMAC (Measurement and Improvement of Manufacturing Capacities) dataset 6(Fowler and Robinson, 1995) 데이터를 사용 하여 반도체 웨이퍼 FAB을 모델링하고 고객 주문을 생 성하여 해당 주문-로트 페깅에 알고리듬을 적용하였으며 주문-로트 페깅의 결과를 확인하고 납기 지연이 예측되 는 로트들과 예상 납기를 확인할 수 있다.
2.주문-로트 페깅 절차 및 방법론
본 논문에서 제안하는 알고리듬 프로시저는 한 STEP 의 모든 로트가 페깅 되거나, 모든 주문이 로트가 할당되 어 마지막 공정부터 첫 번째 공정까지 반복된다. 즉, 아 래 제안하는 프로시저 1부터 프로시저 4까지가 반도체 산업의 공급망 전 영역의 마지막 공정부터 첫 번째 공정 까지 step 경로 정보를 반영해서 각 공정 별로 반복적으 로 적용된다.
<Figure 2>에서와 같이 생산의 마지막 단계인 반도체 웨이퍼 FAB의 출구 step에서부터 역순으로 웨이퍼 FAB 투입까지 각각의 생산 step마다 주문-로트 페깅을 진행하 여 주문에 로트를 할당하게 된다. i번째 step에서 재공 (WIP)이 2개 로트, 총 50매의 wafer가 있고, 주문의 요구 량이 200개 웨이퍼라면, i번 step에 있는 로트 2개는 이 주문에 페깅 되고, 주문에서 부족한 수량 150매에 대해 서는 i-1번째 step에서 동일한 페깅 방법을 적용하여 주 문과 로트를 서로 할당하게 된다. 각각의 주문에 대해서, 주문에서 필요로 하는 수량이 모두 페깅 되거나, 웨이퍼 FAB 출구에서 웨이퍼 FAB 투입까지 모든 로트가 페깅 되어 더 이상 페깅 될 재공이 없을 때까지 반복하여 진 행하게 된다.
제안하는 주문-로트 페깅 프로시저의 각 프로세스는 세부 내용은 아래와 같다:
Order-lot pegging 알고리듬
본 주문-로트 페깅 알고리듬에 필요한 입력 정보(Input information)와 결과로 도출되는 출력 인자(Output information) 는 다음과 같다.
-
inputs : WIP, 잔여 주문, 현재 step, step 경로 정보, matching constraints(주문-로트 품질 제약 정보
-
outputs : 주문-로트 페깅 결과, unpegging 로트, 추가 투입 필요량(required release plan)
여기에서, WIP은 각 공정의 로트들의 집합이고, 현재 step 은 알고리듬이 적용되고 있는 step, 잔여 주문은 현재까 지 로트를 할당 받지 못한 (페깅 되지 않은) 주문들의 집 합으로 주문은 납기 및 대상 업체의 우선순위에 따라 우 선순위로 정렬되어 있다. step 경로 정보는 마지막 공정 부터 투입 공정까지 공정의 전/후 관계가 정의된 생산 기준 정보이다. 고객 주문의 제품별로 한 step에서 이전 step은 2개 이상의 step에서 올 수 있으며, 한 step의 bin 등급(품질 등급)에 따라 두 개 이상의 step으로 분기될 수 있다. Matching constraints는 품질 제약 정보로써 로 트의 속성과 주문의 속성 중에서 서로 페깅 할 수 없는 속성 조합 또는 반드시 페깅 해야 하는 속성의 조합을 나타내는 정보이다. 결과로써, 페깅된 현황을 나타내는 주문-로트 페깅 결과와 현재 step 이전 또는 이후에 존재 하는 로트들 중에서 어느 주문에도 할당되지 않은 로트 목록인 unpegging 로트 목록을 제시한다. 이 unpegging 로트 목록을 통해서 불필요하게 투입되어 있는 로트를 분류해낼 수 있다. 주문이 없어 생산 라인 내에 장기 정 체되는 로트는 웨이퍼 FAB의 내부 공간 부족을 야기하고 최종적으로 폐기하게 되어 대량의 손실을 입을 수 있다. 이 unpegging 로트를 대상으로 추가적인 영업활동을 통 해 해당 제품의 판로를 개척하여 로트의 장기 정채로 인한 손실을 줄일 수 있다. 추가 투입 필요량(Required Release Plan)은 고객 주문별로 납기 만족을 위해서 step별 투입 필요 시점 정보를 제시하여 생산의 우선순위에 반영한다.
[Procedure 1] 페깅 대상 주문 선택
현재 step i에서 주문-로트 페깅을 완료한 후의 잔여 주문들 중에 우선순위가 가장 높은 주문을 선택한다.
[Procedure 2] 최적의 step 경로 검색
현재 step i로 올 수 있는 그 전 step이 2개 이상인 경 우, 이 step들 중 최적인 step을 선택하여 그 step을 따라 투입 step까지 경로를 결정하고 해당 step들에 있는 로트 들을 대상으로 페깅한다.
최적 step을 찾는 조건은 다음과 같다:
-
투입 step까지 남은 step이 가장 적은 경로의 step. 즉, 가장 짧은 TAT를 갖는 경로를 찾는다
-
현재 step으로 분기해서 들어오는 수량의 양이 가장 많은 step. 웨이퍼 테스트 공정과 같이 반도체 웨이 퍼를 테스트하여 상위 bin과 하위 bin으로 나뉘어 다음 step을 진행하는 경우, 현재 step으로 더 많은 비율로 분기되는 방향으로 step을 전개하여 최소량 의 로트로 최대의 주문을 만족할 수 있도록 한다 (테스트 공정은 과거 테스트 데이터를 기반으로 상 위/하위 bin 비율의 분기 정보를 갖고 있음).
[Procedure 3] 주문과 로트들을 할당(페깅)
Procedure 1에서 선택된 주문에 대해서 현재 step의 가 공 및 대기 로트들(선택된 이전 step이 종료되어 이동중 인 로트들 포함)을 대상으로 품질 제약 정보(Matching Constraint)를 고려해서 주문의 납기가 빠른 수량부터 로 트의 수량으로 차감하고, 해당 로트에 주문 정보를 할당 하여 페깅한다.
선택된 주문이 현재 step에 존재하는 모든 로트를 페 깅한 후에도 주문의 잔량이 남아 있는 경우, 현재 step에 서의 투입 필요량은 주문의 페깅 후 잔량이 된다.
[Procedure 4] 투입 필요량에 대한 필요 시점 결정 (Capacity-filtering 프로시저)
투입 필요량에 대한 필요시점은 해당 공정이 병목공정 이라면 제품의 해당 공정에서 일별 생산 가능 수량(capacity profile)을 반영하여 capacity-filtering 프로시저[4]에 의해서 결정된다. 병목공정이 아니라면 해당 공정 이후 입고까지의 TAT(Turn Around Time)만큼만 주문의 납기 에서 차감하여 구해진다. 다음 장에서 capacity-filtering 프로시저의 적용 방법을 간략하게 서술하였다.
Capacity-filtering 프로시저
병목 공정에서 아직 페깅되지 않은 주문들의 투입 필 요량에 대한 투입필요 시점은 잔여 주문의 제품(product) 별로 해당 병목공정의 일별 생산 가능 수량과 잔여 주문 의 일별 투입 필요량을 비교하여 생산 가능 능력을 반영 한 투입 필요시점을 산출할 수 있다[4]. 이 프로시저에서 loading-profile LP(t)는 잔여 주문의 시간 대별(t 시점) 투 입 필요량을 의미하며, capacity-profile CP(t)이 병목공정 의 일별 생산 가능량을 나타낸다. LP(t)의 초기값은 잔여 주문의 일별 투입필요량을 해당 공정 이후 입고까지의 잔여 생산 기준 시간(잔여 TAT)만큼만 앞으로 당겨서 구 해지고, CP(t)는 해당 공정에서 해당 제품을 생산 가능한 설비들의 하루 중에서 진행 가능 시간(Machine Hours)에 해당 설비의 시간 당 생산량(UPEH, Unit Per Equipment Hour)을 곱하여 구할 수 있다.
따라서 특정한 시점 t에 LP(t) > CP(t)이면 생산 가능량을 초과하였으므로 초과한 수량만큼 t-1시점의 loading- profile LP(t-1)에 더하여 준다. 이 과정을 반복하여 모든 시점 의 loading profile이 각 시점의 capacity-profile보다 작은 값 을 가지도록 조정한다. 이렇게 CP(t)를 초과하는 양을 잘라 서 왼쪽으로 밀어내는 과정을 capacity-filtering 프로세스라 고 하고, 초기 LP(t)를 capacity가 반영이 안된 load ing profile이라하고, capacity-filtering이 완료된 LP(t)를 capacity가 반영된 loading profile(capacitated loading profile)이라고 한다.
Capacity-filtering 프로시저는 LP(t)의 마지막 LP-segment 부터 왼쪽으로 차례대로 수행된다. 이렇게 오른쪽 마지막 부터 왼쪽 방향으로 가능생산률(capacity-rate)을 넘는 부 하률(load-rate)은 실행 불가능한 부하율로 볼 수 있고, 이 실행 불가능한 부하율을 이동시켜, 왼쪽 LP-segment에서 수행하여 완료하게 한다. 추가적으로 서로 다른 제품의 시간 당 생산율(UPEH)이 같다면 동일 LP-segment의 수량 내에는 서로 다른 제품의 수량이 섞여 있을 수 있으며, 이 를 추가로 나타내려면 제품 조합(product-mix)이 LP-segment 속성에 추가될 수 있다. 두 가지 이상의 제품의 조 합으로 이루어진 경우 capacity-filtering에서 밀어내는 경 우 동일 비율로 밀어내거나 제품별 우선순위에 따라 밀어 낼 수 있으며 이는 선택적으로 가능하다. 본 연구에서 활 용한 capacity-filtering 프로시저의 설명과 pseudo code는 Choi and Seo[4]에 상세히 기술되어 있다.
3.실험 결과 및 응용
본 논문에서 제안된 주문-로트 페깅 알고리듬은 국내 반도체 생산 시스템이 적용되어 운영 중이나 기업의 기 밀 유지 및 시스템의 복잡도로 인하여 의도하지 않은 영향 을 제거하기 위하여 Fowler and Robinson[5]에 의해 공개되 어 있는 FAB model인 MIMAC(Measurement and Improvement of Manufacturing Capacities) dataset #6를 이용하여 시뮬레이션 테스트를 수행하였다. FAB 모델은 104개의 장비 그룹, 228개의 장비로 구성되며, 서로 다른 프로세 스를 거치는 9개의 제품을 생산하도록 설계되었다. 각 프로세스의 평균 공정 수는 282개이며, 가장 긴 프로세 스의 공정은 355개이다. 하나의 로트는 24개의 wafer로 구성되었으며, 한 해에 총 2,777개의 로트들이 투입된다. 공정 중에서 병목공정은 PHOTO 공정이며, 시뮬레이션 결과 병목공정이 되지 않는 제품은 processing time을 수 정해서 병목공정으로 생성하여 실험하였다.
시뮬레이션 테스트는 9개의 제품에 대해서 고객 주문을 생성하여 주문-로트 페깅을 수행하였고, capacity-filtering 을 적용한 경우와 적용하지 않은 경우 병목 공정에서 투입 필요시점, 납기 약속 시점의 차이를 확인하였으며 capacity- filtering을 하지 않은 경우는 납기약속을 지키지 못할 수 있음을 보임으로써 capacity-filtering이 정합성 있는 납 기약속(ATP)을 위해 필요하다는 것을 확인 할 수 있었다.
<Table 1>은 본 논문의 제 2장에서 제안한 주문-로트 페깅 알고리듬만 적용하여 시뮬레이션 한 결과이며, <Table 2>는 병목 공정(PHOTO)인 17011_F1310, 47011_F1310 두 공정에서 제 3장에서 제안한 capacity filtering 알고리듬을 추가로 적용한 결과이다. 본 결과에서 확인할 수 있듯이 투입 필요시점(Target Date)이 capacity filtering을 적용하게 되면 17011_F1310공정의 product1은 P1-1010 로트가 2일, 나머지 로트들이 1일씩 지연되게 되고, 47011_F1310 공 정의 product6의 P6-6010 로트가 1일 뒤로 지연되게 된다. 따라서 FAB 공정 완성 예상일(APT Date) 또한 각각 2일, 1일씩 지연 되는 것을 확인할 수 있다. 따라서, 각 제품별 로 병목공정의 capacity를 반영하면 납기를 만족시키지 못하는 제품과 로트들을 확인할 수 있다. 여기서 확인할 수 있듯이 FAB 투입단 공정(17011_F1310)으로 갈수록 납기 만족을 못 하는 로트들이 많아지게 되고 FAB 출구 단 공정(47011_F1310)은 병목 공정이 적게 남아 있어서 납기 만족을 비교적 정확하게 예측 할 수 있다.
<Table 3>에서는 Order# 201411022에 대해서 다음과 같이 주문-로트 페깅 결과를 확인할 수 있다. 매일 생산 이 진행됨에 따라, 매일 특정 시간을 기준으로 고객에게 페깅된 로트의 생산 진행 현황을 제공할 수 있다. 이 정 보를 기반으로 고객은 자신에게 할당된 로트의 진행 위 치 및 생산 이력 등을 확인할 수 있고, 이 데이터를 기반 으로 생산자가 제시한 납품 가능 일자를 검증하고 자신 의 생산 계획에 반영하거나, 이미 확보한 재고로 간주하 여 고객사의 안전 재고를 축소함으로써 전체 공급망의 재고 비용을 절감할 수 있다.
<Table 4>에서는 모든 주문에 대해서 페깅이 완료된 후에 어떠한 주문에도 페깅이 되지 않은 unpegging 로트 의 목록과 사유를 확인할 수 있다. unpegging 사유는 생 산 단종이나 긴급 주문에 대응하기 위한 선행 생산 분량 에 해당하는 전략적 비축, 해당 제품에 대한 주문이 최소 16주 동안 전혀 없는 폐기 대상 물량, 해당 제품에 대한 주문은 있지만 필요한 양을 초과하여 투입하여 발생하거 나 주문이 생산 중간에 취소되어 초과 투입 물량으로 구 분될 수 있다.
Unpegging데이터를 생성하기 위해서 P4는 주문이 없 는 제품을 투입하고, P6는 추가 투입하여 폐기와 초과투 입 상황을 생성하였다. 이와 같이 주문에 페깅되지 않은 unpegging 로트의 목록을 관리하여 영업활동을 통해 주 문을 찾는 활동을 통하여, 해당 로트가 장기간 정체되어 FAB 공간을 차지하거나, 폐기되어 손실로 이어지는 문제 를 최소화 할 수 있다.
추가 타당성 검토를 위해서 고객 주문을 30% 증가시킨 추가 실험을 수행했으며 [부록]에 그 결과를 수록했다. 결과는 위 결과와 유사하게 병목공정의 생산 가능 수량 정보를 반영하면 납기를 만족시키지 못하는 제품과 로트 들을 확인할 수 있다.
4.결 론
본 논문에서는 반도체 산업의 공급사슬 문제에서 납기 약속의 정합성 향상을 위해서 주문-로트 페깅을 수행할 때, 병목공정의 생산 가능 수량 정보를 고려해서 신속하 고 정확한 납기약속을 할 수 있는 체계를 제안하였다. 이 를 통해서 각 공정의 투입 필요시점을 정확하게 산정하고, 생산 과정에서 발생한 로트의 품질 속성과 주문 간 품질 제약을 고려하여 페깅의 정합성을 높이고 이를 기반으로 납기약속의 신뢰도를 높이는 알고리듬을 제안하였다.
제안하는 알고리듬의 타당성 검토를 위해 MIMAC 데 이터로 반도체 웨이퍼 FAB을 모델링하고 고객 주문을 생성하여 본 논문에서 제안하는 알고리듬을 적용하여 실 험하였다. 그 결과 공정 별 주문-로트 페깅 목록와 더불 어 공정의 생산능력 정보가 반영된 경우와 그렇지 않은 경우의 납기약속 결과를 비교하여 공정의 생산 능력 정 보가 반영된 경우 실제로는 고객의 요청납기에 만족하지 못하는 주문이 발생함을 확인할 수 있었으며, 실제로는 납기약속 전에 확인하여 납기 조정이 가능하게 된다. 본 논문에서 소개된 주문-로트 페깅 알고리듬을 기반으로 실제 반도체 제조업체의 납기 산정 및 페깅된 로트의 생 산 진행 현황 정보를 해당 로트가 할당된 고객에게 전달 하여 공급사-고객사 간의 협업 정도를 한 단계 높이는 역 할을 하였다.
본 연구는 병목공정의 생산 가능 수량 정보를 반영하 는 경우로 한정하였지만, batch processing 및 정체관리 등의 제약이 실제로는 존재하므로 보다 정확한 납기 약속을 위 해서 이를 반영하는 연구를 추가로 진행할 필요가 있다.