동적스케줄링 (Dynamic Scheduling)

산업공학
한 줄 정의: 새로운 작업의 도착, 설비 고장 등 예측하지 못한 사건이 발생하는 상황에서 스케줄을 실시간으로 결정하거나 조정하는 스케줄링 방식입니다.

쉽게 풀면

정적 스케줄링이 처음부터 모든 작업 정보를 알고 있는 상태에서 미리 시간표를 짜는 것이라면, 동적 스케줄링은 운행 중인 지하철처럼 갑자기 승객이 몰리거나 신호 문제가 생기는 등 예상치 못한 일이 계속 발생하는 상황에서 그때그때 대응해 운행 계획을 조정하는 것과 비슷합니다. 새로운 작업이 언제 들어올지, 기계가 언제 고장 날지 미리 알 수 없기 때문에, 스케줄은 고정된 것이 아니라 상황 변화에 맞춰 계속 갱신됩니다. 이런 환경에서는 최소여유시간규칙, 임계비율규칙 같은 실시간 우선순위 규칙이 자주 사용됩니다.

왜 중요한가

실제 생산현장이나 서비스 환경은 작업 도착, 설비 고장, 긴급 주문 등 예측 불가능한 변화가 끊임없이 발생하기 때문에, 처음에 세운 계획을 그대로 유지하기 어렵습니다. 동적 스케줄링은 이런 불확실성 속에서도 합리적인 성과를 유지할 수 있는 방법을 찾는 문제로, 실무 적용성이 높아 많은 연구가 이루어집니다.

논문에서는 이렇게 쓰입니다

"본 연구는 작업이 무작위 시점에 도착하는 동적 스케줄링 환경을 가정하고, 강화학습 기반 디스패칭 규칙을 제안하였다."

작업 도착이 불확실한 동적 환경에서 학습 기반 방법을 적용한 연구를 설명합니다.

"설비 고장이 발생하는 동적 스케줄링 상황에서 기존 정적 스케줄과 재스케줄링 전략의 성능을 비교 분석하였다."

동적 환경에서 발생하는 교란에 대응하는 전략의 성능을 평가하는 문장입니다.

조금 더 깊게 보면

동적 스케줄링에서는 작업 도착 시점, 처리시간, 설비 상태 등 정보 일부가 실행 도중에야 밝혀지는 경우가 많아, 완전한 최적해보다는 실시간으로 계산 가능한 디스패칭 규칙이나 근시안적(heuristic) 접근이 흔히 활용됩니다. 최근에는 시뮬레이션과 강화학습을 결합해 다양한 상황 변화에 적응하는 스케줄링 정책을 학습하는 연구도 활발히 이루어지고 있습니다.

주의할 점

동적 스케줄링은 매 순간의 결정이 이후 상황에 영향을 미치므로, 특정 시점에서는 좋아 보이는 결정이 장기적으로는 비효율적인 결과를 낳을 수 있습니다. 따라서 단기 성과와 장기 성과를 함께 고려한 평가가 필요합니다.

관련 용어