콘텐츠로 이동

리스크 엔진

개요

규칙 기반 결정론적 엔진 (v1.0.0)으로 반입 작업의 cut-off 충족 리스크를 계산합니다.

graph LR
    A[출발 지역] --> B[도로 이동 시간]
    B --> C[터미널 대기]
    C --> D[게이트 보정]
    D --> E[안전 버퍼]
    E --> F[총 소요시간]
    F --> G{여유시간 계산}
    G --> H[리스크 점수]
    G --> I[정시 확률]
    G --> J[최늦 출발]

계산 흐름

총 소요시간 = 도로_이동 + 터미널_대기 + 게이트_보정 + 안전_버퍼
여유시간 = cut_off_시간 - 현재시간 - 총_소요시간
여유시간 → 리스크 점수 (매핑 테이블)
여유시간 → 정시 도착 확률 (매핑 테이블)
리스크 점수 → 리스크 등급 (낮음 / 보통 / 높음)
최늦 안전 출발 시각 = cut_off_시간 - 총_소요시간

구성 요소

1. 도로 이동 시간

출발 지역별 기본 소요시간 + 교통 데이터 기반 보정:

지역 기본 (분)
송도 (SONGDO) 25
남동 (NAMDONG) 35
서구 (SEOGU) 20
연수 (YEONSU) 30
부평 (BUPYEONG) 40
시흥 (SIHEUNG) 45
안산 (ANSAN) 55

교통 데이터가 있으면 속도 기반 배율 적용:

  • 속도 ≥ 50 kph → ×1.0
  • 속도 30-49 kph → ×1.5
  • 속도 < 30 kph → ×2.5

2. 터미널 대기 시간

터미널 혼잡도 기반:

상태 대기 시간 (분)
원활 (smooth) 10
보통 (normal) 15
혼잡 (congested) 30
심각 (severe) 45

congestion_time_minutes가 있으면 직접 사용.

3. 게이트 보정

게이트 대기 차량 수 기반:

차량 수 추가 시간 (분)
0-9대 0
10-29대 5
30-49대 15
50대 이상 25

4. 안전 버퍼

보수적 모드

보수적 모드를 켜면 기본 버퍼보다 더 큰 안전 여유를 적용해 cut-off 미스 가능성을 낮춥니다. 실시간 데이터 변동성이 크거나 선적 우선순위가 높은 작업에서 유용합니다.

데이터 신선도

교통·터미널 데이터가 오래되면 현재 상황을 과소평가할 수 있어 추가 페널티를 반영합니다. 오래된 관측값은 낮은 리스크를 보여도 실제 운행에서는 더 보수적으로 해석해야 합니다.

조건 버퍼 (분)
기본 15
보수적 모드 35
오래된 데이터 페널티 +10
수동 설정 사용자 입력값

여유시간 → 리스크 매핑

여유시간 (분) 리스크 점수 정시 확률
≥ 90 5 (낮음) 0.97
60-89 20 (낮음) 0.90
30-59 45 (보통) 0.72
15-29 65 (보통) 0.50
0-14 82 (높음) 0.28
< 0 98 (높음) 0.05

리스크 등급

점수 범위 등급
0-34 낮음 (LOW)
35-69 보통 (MEDIUM)
70-100 높음 (HIGH)

원인 기여도 분석

4가지 요소(교통, 터미널 대기, 게이트, 버퍼)의 분 단위 기여도를 퍼센트로 환산하여 reason_items로 반환합니다. 기여도가 높은 순으로 정렬됩니다.