실버-밀 휴리스틱 (Silver-Meal Heuristic)

산업공학
한 줄 정의: 기간별 수요가 다른 상황에서 기간당 평균비용이 가장 낮아지도록 주문 주기를 늘려 가며 발주량을 정하는 근사 기법입니다.

쉽게 풀면

생필품을 한 번에 며칠치씩 살지 정하는 상황을 생각해 봅시다. 한꺼번에 많이 사면 장 보러 가는 횟수는 줄지만 집에 쌓아 둘 짐이 늘어납니다. 실버-밀 휴리스틱은 이 고민을 하루당 비용으로 환산해 판단합니다. 이번에 며칠치를 살지 하루치씩 늘려 가며 하루당 드는 비용을 계산하다가, 그 값이 처음으로 다시 올라가는 순간 직전에서 멈추는 것입니다. 공장의 발주계획도 똑같이 처리합니다. 이번 발주에 몇 기간분의 수요를 담을지 한 기간씩 늘려 보면서 기간당 평균비용을 재고, 값이 올라가기 시작하면 거기서 로트를 확정한 뒤 다음 기간부터 다시 같은 계산을 반복합니다.

왜 중요한가

자재소요계획 안에서는 품목마다 기간별 소요량이 들쭉날쭉하게 나오므로 수요가 일정하다고 전제하는 공식은 쓸 수 없습니다. 최적해를 주는 동적계획 기반 알고리즘이 있지만 품목 수가 수만 개인 실무 환경과 계획을 매기 갱신하는 롤링 방식에서는 부담이 큽니다. 이 기법은 계산이 간단하면서도 최적해에 가까운 비용을 내기 때문에 로트사이징 연구의 비교 기준으로 오래 쓰이고 있습니다.

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

"실버-밀 휴리스틱으로 산출한 발주계획의 총비용이 와그너-휘틴 알고리즘 최적해 대비 소폭 증가에 그쳤다."

와그너-휘틴 알고리즘이 주는 최적 총비용을 기준선으로 삼아, 훨씬 간단한 휴리스틱의 비용 열화 폭을 측정했다는 뜻입니다.

"수요 변동이 큰 구간에서는 최소단위비용법보다 실버-밀 기법의 성능이 우수하였다."

단위당 비용을 기준으로 삼는 경쟁 휴리스틱과 비교한 결과입니다. 두 기법은 기준이 기간당 비용이냐 단위당 비용이냐에서 갈립니다.

"계획 구간을 매 기간 앞으로 밀며 재계산하는 롤링 방식으로 휴리스틱을 적용하였다."

고정된 전체 구간을 한 번에 푸는 대신, 수요 정보가 갱신될 때마다 계획을 다시 세우는 실무형 운영 방식을 실험 조건으로 삼았다는 의미입니다.

조금 더 깊게 보면

핵심은 판단 기준을 총비용이 아니라 기간당 평균비용으로 잡는다는 점입니다. 현재 기간부터 여러 기간분을 한 번에 발주한다고 가정하고, 발주에 드는 고정비와 그 기간 동안 쌓아 두는 재고유지비를 합해 기간 수로 나눈 값을 순차적으로 계산합니다. 이 값이 감소하는 동안은 로트를 키우고, 처음 증가로 돌아서면 직전 시점에서 확정한 뒤 다음 로트로 넘어갑니다. 국소적인 정지 규칙이므로 전역 최적성은 보장되지 않으며, 수요가 급증하거나 급감하는 구간에서는 열화가 두드러질 수 있습니다.

주의할 점

수요가 일정하다는 가정 위에 세워진 경제적주문량 공식과 혼동하면 안 됩니다. 이 기법은 기간별 수요가 서로 다른 동적 상황을 전제합니다. 또한 평균비용이 한 번 올라가면 즉시 멈추기 때문에, 그 뒤에 더 유리한 로트 구성이 있어도 놓칠 수 있습니다.

관련 용어