pile·
AI / ML·마켓컬리마켓컬리 Hello World·

컬리는 물류 최적화 문제를 어떻게 풀고 있을까? - 2부

1부의 유전 알고리즘 최적화를 실제 환경에 적용하기 전, 실제와 닮은 가상 물류센터(Digital Twin)를 만들어 검증한 과정을 다룬다. 확률적으로 결정되는 작업 행동을 분포 추정으로 재현하고, 시뮬레이션으로 알고리즘 효과를 측정했다.

핵심 포인트
  • Digital Twin 구축은 규칙이 명확한 부분(non-stochastic)과 작업자 판단에 달린 확률적 부분(stochastic)을 구분하는 데서 출발한다.
  • 바구니를 얼마나 채우는가는 부피 값 Y를 확률변수로 보고 MLE로 분포를 추정, Weibull 및 Weibull Mixture로 실제 바구니 수를 재현했다.
  • 바구니 처리 속도는 상품 수·종류 등으로 회귀분석해(R-squared 0.8 이상) 추정했다.
  • AnyLogic으로 실측 사이즈 QPS를 구현해, 동일 주문 그룹 기준 유전 알고리즘이 기존 대비 총 처리 시간을 약 3% 줄임을 확인했다.
상세 정리
  • 검증 필요성: 1부 결과는 과거 데이터에 적용한 것이라, 실제 환경 변수를 반영한 엄밀한 사전 검증이 필요했다.
  • stochastic 구분: 피킹 지시 생성은 명확한 규칙이라 그대로 구현 가능하지만, 바구니를 얼마나 채울지는 작업자 판단이라 확률적으로 추정해야 한다.
  • 부피 기준: 컬리 상품은 대체로 가볍고 카트에 얹어 끌기에 무게보다 부피가 중요하다고 보고, 임의 부피 값 Y를 넘기 전까지 상품을 담는 방식으로 가상 바구니를 생성했다.
  • 분포 추정(MLE): 과거 실제 부피 X의 히스토그램이 특정 구간 밀집·오른쪽 긴 꼬리로 Weibull과 유사해, MLE로 X의 모분포를 추정했다.
  • Mixture 보정: 단일 Weibull로 어긋나는 구간은 Weibull과 다른 분포를 혼합해 보정하되, 과적합 위험을 경계해 이상치 제거 후 Weibull과 균등분포 혼합으로 일부만 보정했다.
  • 검증: 추정 분포로 만든 가상 바구니 수가 실제 작업자 판단 바구니 수와 큰 차이 없이 변동까지 잘 포착했다.
  • 처리 속도 추정: 처리 속도도 확률변수로 보고, 상품 수(X1)·종류(X2)를 주요 변수로, 작업량(X3)·숙련도(X4)는 통제 가정 하에 회귀분석해 R-squared 0.8 이상을 얻었다.
  • 방법론 통찰: 부피(MLE)와 속도(OLS 회귀)는 결국 조건부 분포로 Y를 추론하는 같은 맥락이며, 정규분포 가정 시 MLE와 OLS 결과가 같다.
  • Digital Twin 구현: AnyLogic 유료 소프트웨어로 실측 사이즈 QPS를 만들어, 가상 바구니가 규칙에 따라 작업대를 순회하며 처리 시간을 기록하도록 했다.
  • 시뮬레이션 결과: 편의상 직렬 처리를 가정했지만 동일 주문 그룹에서 유전 알고리즘이 기존 대비 일관되게 약 3% 총 처리 시간을 줄였다.
  • 실제 적용: 한 물류센터에 실제 적용한 결과, 동일 사이즈 주문 그룹에서 상품 가짓수가 일관되게 낮아 현장 작업자도 체감할 정도의 변화가 있었다.
왜 읽나최적화 알고리즘을 실배포 전 시뮬레이션(Digital Twin)과 분포 추정으로 검증하려는 데이터 사이언티스트에게.
마켓컬리
마켓컬리 Hello World 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. AI / ML·LY CorporationLY Corporation·

    Grafana에서 자연어로 장애 원인을 분석하기: LLM 에이전트 기반 SRELens 개발기

    LY Corporation Home SRE 팀이 장애 분석 시 메트릭·로그·트레이스가 각각 다른 화면에 흩어져 있는 문제를 해결하기 위해 Grafana 플러그인 SRELens를 개발했다. SRELens는 LLM 에이전트가 자연어 질의를 받아 실제 관측성 데이터를 조회하고, 근거와 함께 장애 원인 후보를 정리해 주는 도구다. LGTM-P 스택(Loki·Grafana·Tempo·Mimir·Pyroscope)과 FlavaMCP 게이트웨이를 통합해 단일 채팅 인터페이스에서 멀티시그널 분석이 가능하다.

    #llm-app#mcp#observability+2