과적·초과근무가 불가피할 때, 배차는 어떻게 작동해야 하나
현장에서는 투입 가능한 차량을 다 써도 물량이 넘치는 순간이 옵니다. 이때 '제약을 다 못 지키니 해 없음'으로 멈추는 배차는 그날 배송을 마비시킵니다. 실행 가능한 배차는 과적·초과근무를 감수하더라도 일단 계획을 만들어 내고, 어떤 차량이 무게·부피·시간·거리 중 무엇을 얼마나 초과했는지 '마킹'해, 관리자가 차량 추가·물량 이관 등으로 조치하게 합니다. SEECARGO는 이 원칙을 배차 엔진에 내재화하고 있습니다.
배차 솔루션을 평가할 때 데모는 늘 깔끔합니다. 차량과 물량이 딱 맞아떨어지고, 모든 시간창이 지켜지고, 동선이 예쁘게 나옵니다. 그런데 현장의 어느 바쁜 날, 물량이 차량을 넘어섭니다. 이때 솔루션이 어떻게 행동하느냐가, 그 배차가 책상 위 이론인지 현장에서 돌아가는 도구인지를 가릅니다.
책상 위 배차와 현장 배차는 무엇이 다른가
이론적인 배차는 모든 제약을 반드시 만족시키려 합니다. 그래서 제약을 다 지킬 수 없으면 “해 없음(infeasible)“을 내거나, 일부 배송을 그냥 빼 버립니다. 수학적으로는 옳지만, 현장에서는 치명적입니다. 빠진 배송은 누군가 손으로 다시 처리해야 하고, “오늘은 배차가 안 나옵니다”라는 답은 거래처에 통하지 않기 때문입니다.
현장의 운영은 다릅니다. “완벽하지 않아도 일단 차를 돌려야” 하는 날이 있습니다. 약간의 과적이나 초과근무를 감수하더라도 그날의 배송을 마치는 것이, 배송을 멈추는 것보다 낫기 때문입니다. 좋은 배차 엔진은 이 현실을 부정하지 않고 그대로 다룹니다.
물량이 차량을 넘으면, 배차는 멈춰야 하나
구체적인 상황을 봅시다. 그날 보내야 할 총 물량이 100톤인데, 투입 가능한 차량이 **10톤 트럭 8대(=80톤)**뿐이라고 합시다. 물리적으로 20톤이 부족합니다.
이때 두 갈래의 행동이 가능합니다.
| 배차의 반응 | 결과 |
|---|---|
| ”적재 초과 — 해 없음”으로 멈춤 | 그날 배차 자체가 안 나옴 → 운영 마비, 수작업 전환 |
| 과적을 감수하고 일단 배차 실행 + 초과 표시 | 일단 모든 배송이 계획에 들어감 → 관리자가 초과분만 조치 |
SEECARGO 엔진은 후자를 택합니다. 투입 가능한 차량을 다 써도 물량이 넘치면, 오류로 멈추지 않고 과적을 감수하더라도 일단 배차를 실행합니다. 그리고 이 원칙은 무게뿐 아니라 부피·주행시간·주행거리에도 똑같이 적용됩니다. 근무시간을 넘겨야 모든 배송이 끝나는 날이라면, 그 사실을 반영해 계획을 내되 초과를 표시하는 식입니다.
무엇을, 어떻게 ‘초과’로 표시하나
핵심은 초과를 숨기지 않는 것입니다. 과적·초과근무가 발생한 차량에는 별도 마킹이 붙습니다. 관리자는 “몇 번 차가 적재 한도를 몇 % 넘겼는지”, “어떤 차가 근무시간을 초과하는지”를 화면에서 바로 확인합니다.
이 가시화가 중요한 이유는, 그것이 곧 “차량을 추가로 투입해야 한다”는 신호이기 때문입니다. 감으로 “오늘 좀 빡세겠는데” 하고 넘기는 것과, “3번·7번 차가 초과 상태”라고 데이터로 보는 것은 대응의 질이 다릅니다.
초과가 보이면, 무엇을 할 수 있나
마킹을 본 관리자는 세 가지 조치를 할 수 있습니다.
| 조치 | 방법 |
|---|---|
| 차량 추가 후 재배차 | 차량을 추가하고 자동배차를 다시 실행 → 초과가 해소된 새 계획 |
| 수동 물량 이관 | 새로 투입한 차량으로 기존 차량의 물량 일부를 직접 옮김 |
| 용차 연동(검토 중) | 추가 차량이 필요할 때 용차를 추천받아 투입하는 연동을 검토 중 |
즉 배차는 “완벽한 답”을 강요하는 대신, 실행 가능한 출발점을 만들고 그 위에서 사람이 빠르게 판단하도록 설계됩니다. 자동화가 사람을 배제하는 게 아니라, 사람이 가장 잘하는 판단(차량을 더 넣을지, 어디서 뺄지)에 집중하게 하는 구조입니다.
왜 이게 ‘진짜 현장에서 돌아가는 배차’인가
이 차이는 작아 보이지만, 도입 후 가장 크게 체감되는 지점입니다. 제약을 조금만 못 지켜도 멈추는 솔루션은, 정작 가장 바쁜 날에 무용지물이 됩니다. 바쁜 날일수록 물량은 차량을 넘기 때문입니다.
배차 솔루션을 검토하신다면, 데모의 깔끔한 화면이 아니라 **“물량이 차량을 넘으면 어떻게 됩니까?”**를 꼭 물어보시길 권합니다. 그 한 질문이 책상 위 배차와 현장 배차를 가릅니다.
SEECARGO는 이렇게 해결합니다
SEECARGO는 과적·초과근무 허용을 배차 엔진에 직접 내재화하고 있습니다. 구체적으로는 이렇게 동작합니다.
- 멈추지 않고 강행 — 투입 가능한 차량을 다 써도 물량이 넘치면, 오류로 멈추는 대신 과적·초과근무를 감수하고 일단 배차를 실행합니다. 무게·부피·주행시간·주행거리에 동일하게 적용됩니다.
- 초과를 마킹 — 초과가 발생한 차량을 표시해, “어느 차가 무엇을 얼마나 넘겼는지”를 데이터로 드러냅니다.
- 즉시 조치 — 관리자는 차량을 추가해 자동 재배차하거나, 새 차량으로 기존 물량을 수동 이관할 수 있습니다. 추가 차량이 필요할 때 용차를 추천받아 투입하는 연동도 검토 중입니다.
이는 20여 개 현장 제약을 엔진에 담아 온 14년 운영 경험에서 나온 설계입니다 — “이론적으로 완벽한 배차”가 아니라 “오늘 배송을 마칠 수 있는 배차”, 단 초과를 숨기지 않고 통제 가능하게 드러낸다는 전제 위에서요.