31편에서 우리는 DES를 오프라인 평가 도구로 썼다 — 후보 디스패칭 룰들을 시뮬레이션에서 겨루게 하고, 통계적으로 유의한 승자를 골라 현장에 내보내는 흐름이다. 그런데 그 흐름에는 암묵적인 전제가 있다. “한번 고른 룰을 한동안 그대로 쓴다”는 것. 이 글은 그 전제를 깬다. 시뮬레이션을 오프라인 실험실에서 꺼내 운영의 루프 안으로 가져오면 무슨 일이 생기는가 — 이것이 시뮬레이션 기반 스케줄링(simulation-based scheduling) 과 온라인(short-term) 시뮬레이션의 주제다. 8부에서 다룬 digital twin 논의가 반도체 fab에서 가장 구체적으로 실현되는 지점이기도 하다.
디스패칭과 스케줄링: 반응과 예측의 스펙트럼
먼저 자주 뒤섞이는 두 단어를 가르자.
- 디스패칭(dispatching): 지금 이 순간의 선택이다. 장비가 비는 순간, 대기 중인 lot들 중 무엇을 먼저 태울지를 룰(예: 납기 임박 우선, 대기시간 최장 우선)로 즉석에서 정한다. 미래 계획은 없고, 상황이 닥칠 때마다 반응한다 — 반응적(reactive) 접근이다.
- 스케줄링(scheduling): 앞으로의 계획 수립이다. 어떤 lot을 언제 어느 장비에 배정할지를 미리 시간표로 짠다 — 예측적(predictive) 접근이다. 잘 짜면 병목 회피·납기 준수 같은 전역 최적화가 가능하다.
이론만 보면 스케줄링이 우월해 보인다. 전체를 내다보고 짠 계획이 순간순간의 임기응변보다 나을 테니까. 문제는 fab의 불확실성이다. 장비는 예고 없이 고장 나고, 신규 lot은 계속 도착하고, 처리 시간은 흔들린다. 정성 들여 짠 정적 스케줄은 몇 시간이면 현실과 어긋나 낡은 종이가 된다. 반대로 순수 디스패칭은 교란에 강하지만(애초에 계획이 없으니 깨질 것도 없다) 근시안적이다.
그래서 실무는 양극단이 아니라 그 사이의 스펙트럼 위에 있다. “얼마나 먼 미래까지, 얼마나 자주 다시 계획하는가”가 스펙트럼 위의 좌표다. 시뮬레이션 기반 스케줄링은 이 스펙트럼의 중간 지대를 차지하는 실용적 해법이다.
시뮬레이션 기반 스케줄링: DES를 빠른 미래 재생기로
핵심 아이디어는 단순하다. 검증된 DES 모델은 현실보다 수백~수천 배 빠르게 미래를 재생할 수 있다. 그렇다면 —
- 전개(unfold): 현재의 fab 상태에서 출발해, 후보 정책(디스패칭 룰 세트, 룰의 가중치 parameter, PM(preventive maintenance, 예방 정비) 시점 등)을 적용한 시뮬레이션을 돌린다. 시뮬레이션이 남기는 궤적 — “어느 lot이 언제 어느 장비에서 처리되는가” — 자체가 가까운 미래의 예상 스케줄이고, 집계하면 예상 성능(throughput, cycle time, 납기 준수율)이 나온다. 즉, 최적화 알고리즘 없이도 “룰을 미래에 풀어놓은 결과”를 스케줄로 얻는 것이다.
- 비교·선택: 후보를 하나만 돌릴 이유가 없다. 후보 개를 각각 시뮬레이션해 최선을 고른다. 31편에서 다룬 오프라인 비교 방법론 — replication(독립 반복 실행), common random numbers, 신뢰구간 기반 선택 — 이 그대로 온라인으로 이식된다.
수식으로 적으면 이렇다. 현재 상태 에서 horizon (계획 구간, 예: 12시간)까지 정책 로 시뮬레이션했을 때의 성능을 라 하자 (는 고장·도착 등 무작위 요인의 실현). 무작위성 때문에 replication 번의 평균으로 추정하고, 후보 중 최선을 고른다.
이 식이 말하는 것: 온라인 시뮬레이션도 결국 11편의 output analysis다 — 추정치는 표본평균이고, 후보 간 차이가 신뢰구간 안에서 겹치면 “어느 쪽이 낫다”고 단정할 수 없다. 다만 오프라인과 달리 가 매번 바뀌고(지금의 fab 상태), 답을 내야 하는 시간 예산이 빡빡하다는 점이 다르다. 이 두 가지가 이 글 나머지의 주제다.
- rolling horizon: 계획 구간을 짧게 잡고(수 시간
수 일), 구간이 지나면 — 또는 대형 고장 같은 큰 교란이 생기면 — 현재 상태에서 다시 계획한다. 12시간짜리 계획을 짜되 앞의 12시간만 실제로 집행하고, 다음 주기에 새 스냅샷으로 새로 짜는 식이다. 먼 미래는 어차피 예측이 안 맞으니 짧게 보고 자주 고쳐 잡는다는, 불확실성에 대한 실용적 타협이다. 정적 스케줄의 “낡음” 문제를 계획을 계속 갈아 끼우는 것으로 흡수하는 셈이다.
온라인 시뮬레이션의 핵심: 스냅샷 초기화
여기가 이 글의 핵심이다. 입문 편 11편에서 다룬 steady-state 분석을 떠올려 보자. 빈 fab에서 시작해, 비현실적으로 한가한 warm-up 구간(초기 과도구간)을 잘라 버리고, 장기 평균을 추정했다. 초기 상태는 “걷어내야 할 편향”이었다.
온라인 시뮬레이션은 정확히 정반대다.
| steady-state 분석 (11편) | 온라인 시뮬레이션 (이 글) | |
|---|---|---|
| 유형 | 정상상태형 | 종료형(terminating) — horizon 끝이 자연스러운 종료점 |
| 시작 상태 | 빈 시스템 (인위적) | 지금의 fab 상태 (현실 그 자체) |
| warm-up | 필요 — 잘라내야 함 | 불필요 — 초기 상태가 곧 관심사 |
| 관심사 | 장기 평균 | 앞으로 수 시간~수 일의 과도 거동(transient) |
warm-up이 사라진 대신 새로운 요구가 생긴다. 정확한 초기 상태 — 스냅샷(snapshot) 이다. “지금부터의 미래”를 예측하려면 “지금”을 정확히 알아야 하기 때문이다. fab 스냅샷에 담겨야 하는 것은 대략 다음과 같다.
- lot 상태: 모든 lot의 현재 위치, 공정 route 상의 진행 스텝, 처리 중인 작업의 잔여 시간(30분짜리 공정을 20분째 진행 중이면 잔여 10분 — 이것을 무시하고 처음부터 다시 돌리면 초반 예측이 통째로 어긋난다), hot lot(최우선 처리가 지정된 긴급 lot) 여부 같은 우선순위 속성.
- 장비 상태: 가동/유휴/다운 여부, 예약된 PM 일정, 진행 중인 setup.
- 대기 행렬: 각 스테이션 앞에 어떤 lot들이 어떤 순서로 쌓여 있는가.
- (fidelity에 따라) 레티클 위치, AMHS(자동 반송 시스템) 상의 이동 중인 반송체 등 — 30편에서 본 fab 고유 자원들.
이 데이터의 원천은 MES(manufacturing execution system, 제조 실행 시스템)다. 그리고 여기서 냉정한 한계가 하나 나온다 — 스냅샷의 완전성과 정확도가 예측 품질의 상한을 결정한다. 모델이 아무리 정교해도 초기 상태가 틀리면 예측은 시작부터 틀린 곳에서 출발한다. MES에 잔여 처리 시간이 안 잡히거나 대기 행렬 순서가 실제와 다르면, 그 오차가 그대로 예측의 바닥에 깔린다.
digital twin 논의와의 연결
눈치챘겠지만, “MES가 fab 상태를 자동으로 가상 모델에 흘려 넣고, 그 위에서 시뮬레이션이 돈다”는 구도는 8부에서 이미 본 것이다. 17편의 성숙도 사다리로 말하면, 물리 → 가상의 자동 데이터 흐름이 있으니 최소 digital shadow 단계다. 온라인 시뮬레이션은 곧 digital shadow 위에서 도는 what-if 엔진이다 — 17편에서 “시뮬레이션은 트윈의 두뇌”라 부른 역할의 fab 구현체다. 시뮬레이션이 고른 정책이 사람의 승인 없이 자동으로 디스패처에 반영되는 단계까지 가면 양방향 연결, 즉 완전한 의미의 twin에 다가선다. 27편에서 본 반도체 3사의 fab twin 경쟁이 “자율 운영”을 목표로 내건 것이 바로 이 방향이고, 26편의 동기화 논의 — 트윈을 트윈답게 만드는 것은 실물과 같게 유지하는 기술이라는 결론 — 가 여기서는 “스냅샷을 얼마나 완전하고 신선하게 뽑느냐 + 모델 parameter를 얼마나 잘 보정해 두느냐”라는 실무 문제로 구체화된다.
예측의 한계: horizon이 길수록 발산한다
온라인 시뮬레이션이 뽑는 것은 예측이고, 예측에는 유통기한이 있다. 오차의 원천은 둘이다.
- 모델 오차 — 시뮬레이션 모델과 실제 fab의 차이(처리 시간 분포의 부정확, 빠진 제약 등). 시간이 갈수록 누적된다.
- 확률 분기 — 모델이 완벽해도, 고장·도착 같은 무작위 사건이 어느 쪽으로 실현되느냐에 따라 미래가 갈라진다. horizon이 길수록 분기가 쌓여 가능한 미래들의 폭이 넓어진다.
그래서 replication들의 결과는 horizon이 길수록 서로 벌어진다. 정직한 대응은 점 예측이 아니라 분포 예측이다 — replication 개가 만든 경험적 분포에서 구간(예: 1090% 분위수)을 뽑아 “내일 오전 이 스테이션의 WIP(work in process, 재공 재고)는 620740 lot 사이일 가능성이 높다”로 제시하는 것이다. 일기예보와 같은 원리다. 기상청이 “비 올 확률 70%“라고 말하지 “내린다/안 내린다”로 단정하지 않는 것은, 앙상블 예측(초기 조건과 모델을 조금씩 바꾼 여러 시뮬레이션)의 퍼짐을 그대로 전달하는 것이 정직하기 때문이다. 3일 예보보다 1주일 예보가 흐릿한 것처럼, fab 예측도 4시간 뒤는 꽤 선명하고 3일 뒤는 흐릿하다 — rolling horizon에서 “먼 미래는 짧게 보고 자주 다시 짠다”가 합리적인 이유가 바로 이것이다.
운영 시나리오: what-if 질의의 구체화
17편에서 추상적으로 말한 “what-if 예측”이 fab 운영에서는 이런 질의가 된다.
- (a) 교대 시작 전 미리보기 — “이 디스패칭 parameter로 오늘 하루를 돌리면 병목이 어디에 생기나?” 교대 시작 전에 12시간 시뮬레이션을 돌려, 특정 photo 스테이션 앞 WIP가 오후에 임계치를 넘는 것이 보이면 parameter를 조정하거나 인력을 재배치한다. 문제를 일어나기 전에 본다.
- (b) hot lot 투입의 파급 효과 — 긴급 lot을 최우선으로 끼워 넣으면 그 lot은 빨라지지만, 밀려난 다른 lot들의 납기는 어떻게 되나? 투입 전에 시뮬레이션으로 파급 효과를 정량화해 “이 hot lot 하나에 일반 lot 몇 개의 지연을 지불하는가”를 보고 결정한다.
- (c) PM 시점 후보 비교 — 병목 장비의 PM을 오늘 밤에 할까, 내일 오전에 할까? 각 시점을 후보로 넣고 시뮬레이션해 WIP 정체가 덜한 쪽을 고른다. 위 식에서 “후보 정책”이 디스패칭 룰이 아니라 PM 일정인 경우다.
셋 다 구조는 같다 — 스냅샷에서 출발하는 종료형 시뮬레이션으로 후보를 비교한다. 온라인 시뮬레이션은 하나의 엔진으로 이 모든 질의에 답하는 범용 도구다.
계산 예산: 왜 속도가 절실한가
마지막 제약은 시간이다. 위 시나리오들이 쓸모 있으려면 의사결정 리듬 안에 답이 나와야 한다. 간단히 계산해 보자. 매시간 계획을 갱신하는 rolling horizon에서, 후보 4개 × replication 10회 = 시뮬레이션 40회를 돌려야 한다면 —
- 1회 실행에 30초 걸리면: 분. 1시간 주기 안에 여유 있게 들어온다 (병렬화하면 분 단위).
- 1회 실행에 10분 걸리면: 분 시간. 답이 나오기 전에 fab이 다른 상태가 되어 버린다. 계획 갱신 주기를 늘리거나 후보·replication을 줄여야 하는데, 어느 쪽이든 예측 품질이나 대응력을 깎는다.
오프라인 연구에서는 “하룻밤 돌리면 되지”로 넘어가던 실행 시간이, 온라인 용도에서는 도구가 성립하느냐를 가르는 조건이 된다. 20편에서 FEL(future event list) 자료구조와 엔진 성능을 그토록 따진 이유가 여기서 절실해진다. 그리고 26편의 모델 패밀리 전략이 다시 등장한다 — 매시간 도는 온라인 시뮬레이션에는 AMHS를 지연 시간으로 뭉뚱그린 가벼운 모델을, 주간 계획·정책 학습에는 무거운 고fidelity 모델을 쓰는 식으로, 용도별로 fidelity를 달리 가져간다. 가장 정교한 모델이 가장 좋은 온라인 모델이 아니다 — 제때 답하지 못하는 예측은 없는 것과 같기 때문이다.
정리
- 디스패칭은 지금의 반응, 스케줄링은 미래의 계획이다. fab의 불확실성 때문에 정적 스케줄은 금방 낡고, 실무는 두 극단 사이의 스펙트럼에서 움직인다.
- 시뮬레이션 기반 스케줄링은 DES를 빠른 미래 재생기로 쓴다: 현재 상태에서 후보 정책을 전개(unfold) 해 예상 스케줄·성능을 얻고, 후보들을 비교·선택하며(31편의 방법론이 온라인으로 이식), rolling horizon으로 짧게 계획하고 자주 다시 짠다.
- 온라인 시뮬레이션은 11편의 steady-state 분석과 정반대다 — warm-up 없는 종료형 시뮬레이션이며, 필요한 것은 정확한 스냅샷(lot 위치·잔여 처리 시간·장비 상태·대기 행렬)이다. MES가 원천이고, 스냅샷 품질이 예측 품질의 상한이다. 구도 자체가 digital shadow 위의 what-if 엔진 — 8부 논의의 fab 구현체다.
- 모델 오차와 확률 분기 때문에 예측은 horizon에 따라 발산한다. 여러 replication의 분포(구간) 예측으로 제시하는 것이 정직하다 — 일기예보와 같은 원리.
- 온라인 용도는 분 단위 실행 시간을 요구한다. 엔진 성능(20편)과 용도별 fidelity의 모델 패밀리(26편)가 성립 조건이다.
9부의 마지막 글에서는 이 모든 것을 직접 돌려 볼 수 있는 공개 자원 — fab 시뮬레이션의 벤치마크 데이터셋과 도구 — 를 33편에서 다룬다.