Files
2nd/10_Wiki/Topics/AI_and_ML/SCM (Supply Chain Management).md
T
koriweb d8a80f6272 chore(wiki): dangling 링크 canonical 정규화 (768파일/1200건)
이름만 다른(표기 변형) [[위키링크]]를 대상 문서의 canonical 제목으로 치환해
끊겼던 1,200개 링크를 연결. 제목/파일명 정규화 일치만 적용하고 별칭 매칭은
과병합 위험으로 제외(애매성 가드). 원본은 _link_reconcile_backup/ 에 백업.
도구: Datacollect/scripts/link_reconcile_apply.mjs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 12:24:15 +09:00

193 lines
6.3 KiB
Markdown

---
id: wiki-2026-0508-scm-supply-chain-management
title: SCM (Supply Chain Management)
category: 10_Wiki/Topics
status: verified
canonical_id: self
aliases: [Supply Chain Management, Supply Chain]
duplicate_of: none
source_trust_level: A
confidence_score: 0.9
verification_status: applied
tags: [scm, supply-chain, logistics, optimization, operations-research]
raw_sources: []
last_reinforced: 2026-05-10
github_commit: pending
tech_stack:
language: Python
framework: OR-Tools / Pyomo
---
# SCM (Supply Chain Management)
## 매 한 줄
> **"매 plan → source → make → deliver → return 의 end-to-end flow 최적화"**. 매 SCOR 모델 (1996) 의 frame 위에서 매 ERP/APS (SAP IBP, Oracle, o9, Kinaxis) 가 운영. 매 2020 COVID, 2022 우크라이나, 2024 홍해 등 매 black-swan 연쇄 이후 매 resilience + AI-driven autonomous SCM 이 핵심 의제 (Gartner: 50%+ 기업 by 2026).
## 매 핵심
### 매 SCOR 5단계
- **Plan**: demand forecast, S&OP, inventory policy.
- **Source**: supplier selection, procurement, contracts.
- **Make**: production scheduling, MRP, capacity.
- **Deliver**: warehousing, transportation, last-mile.
- **Return**: reverse logistics, refurb, recycling.
### 매 KPI
- **OTIF** (On-Time-In-Full): delivery reliability.
- **Cash-to-Cash cycle**: working capital efficiency.
- **Forecast accuracy** (MAPE/WAPE).
- **Perfect Order Rate**: error-free fulfillment.
- **Inventory turnover** = COGS / avg inventory.
### 매 응용
1. Demand forecasting (TFT, N-BEATS, Chronos foundation model).
2. VRP / route optimization (last-mile, mid-mile).
3. Supplier risk monitoring (Resilinc, Everstream).
4. Inventory optimization (multi-echelon, newsvendor).
5. Digital twin of supply network.
## 💻 패턴
### Demand forecast (Chronos foundation model, 2026)
```python
from chronos import ChronosPipeline
import torch, pandas as pd
pipeline = ChronosPipeline.from_pretrained(
"amazon/chronos-bolt-base", torch_dtype=torch.bfloat16
)
history = pd.read_csv("sales.csv")["units"].values
forecast = pipeline.predict(
context=torch.tensor(history),
prediction_length=28, # 28-day horizon
num_samples=100,
) # quantile-aware probabilistic
```
### Multi-echelon inventory (newsvendor + safety stock)
```python
from scipy.stats import norm
import numpy as np
def reorder_point(mu_d, sigma_d, lead_time, service_level=0.95):
z = norm.ppf(service_level)
mean_lt_demand = mu_d * lead_time
sigma_lt = sigma_d * np.sqrt(lead_time)
safety_stock = z * sigma_lt
return mean_lt_demand + safety_stock, safety_stock
rop, ss = reorder_point(mu_d=120, sigma_d=30, lead_time=7)
```
### VRP (OR-Tools)
```python
from ortools.constraint_solver import pywrapcp, routing_enums_pb2
def solve_vrp(distance_matrix, demands, vehicle_capacities, depot=0):
mgr = pywrapcp.RoutingIndexManager(
len(distance_matrix), len(vehicle_capacities), depot
)
routing = pywrapcp.RoutingModel(mgr)
def dist_cb(i, j):
return distance_matrix[mgr.IndexToNode(i)][mgr.IndexToNode(j)]
routing.SetArcCostEvaluatorOfAllVehicles(
routing.RegisterTransitCallback(dist_cb)
)
def demand_cb(i):
return demands[mgr.IndexToNode(i)]
routing.AddDimensionWithVehicleCapacity(
routing.RegisterUnaryTransitCallback(demand_cb),
0, vehicle_capacities, True, "Capacity"
)
params = pywrapcp.DefaultRoutingSearchParameters()
params.first_solution_strategy = (
routing_enums_pb2.FirstSolutionStrategy.PATH_CHEAPEST_ARC
)
return routing.SolveWithParameters(params)
```
### Supplier risk score (LLM + structured)
```python
import anthropic, json
client = anthropic.Anthropic()
news = fetch_news(supplier="Foxconn Zhengzhou", days=7)
resp = client.messages.create(
model="claude-opus-4-7",
max_tokens=512,
messages=[{"role": "user", "content": f"""
Score supplier risk 0-100 based on news. Output JSON.
News: {news}
Schema: {{"score": int, "drivers": [str], "recommended_action": str}}
"""}],
)
risk = json.loads(resp.content[0].text)
```
### Bullwhip effect simulation
```python
# Beer game style — order amplification upstream
def bullwhip(retail_demand, smoothing=0.3, levels=4):
orders = [retail_demand]
for _ in range(levels):
prev = orders[-1]
next_orders = [prev[0]]
for d in prev[1:]:
next_orders.append(
smoothing * d + (1 - smoothing) * next_orders[-1] + 0.5 * (d - next_orders[-1])
)
orders.append(next_orders)
return orders # variance grows upstream
```
### Digital twin (NetworkX flow)
```python
import networkx as nx
G = nx.DiGraph()
G.add_edge("Supplier_TW", "Port_Kaohsiung", capacity=500, cost=10)
G.add_edge("Port_Kaohsiung", "Port_LA", capacity=400, cost=80, lead=14)
G.add_edge("Port_LA", "DC_Dallas", capacity=350, cost=20)
flow_cost, flow_dict = nx.network_simplex(G, demand={"DC_Dallas": 300, "Supplier_TW": -300})
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| New SKU, no history | Foundation model (Chronos, TimeGPT) zero-shot |
| Mature SKU, seasonal | TFT / Prophet + holiday regressors |
| Sub-day routing | OR-Tools VRP / Hexaly |
| Supplier disruption | Multi-source + safety stock + risk score |
| Network redesign | MILP (Pyomo + Gurobi) |
**기본값**: Chronos-bolt forecasting + multi-echelon safety stock + OR-Tools VRP.
## 🔗 Graph
- 부모: [[Operations-Research]]
- 변형: [[S&OP]]
- 응용: [[ERP]]
- Adjacent: [[Time-Series-Analysis|Time-Series-Forecasting]] · [[Digital Twin]]
## 🤖 LLM 활용
**언제**: supplier risk synthesis from news, RFP analysis, procurement copilot, demand sensing from external signals (weather, social).
**언제 X**: numerical optimization (VRP, MILP) — use OR solvers, not LLM.
## ❌ 안티패턴
- **Spreadsheet hell**: critical S&OP in Excel without version control.
- **Single forecast number**: ignore quantiles → systematic stockouts or overstocks.
- **Bullwhip ignored**: each tier optimizes locally, variance amplifies upstream.
- **Supplier concentration**: 80% volume from one country/factory.
## 🧪 검증 / 중복
- Verified (APICS SCOR, Gartner Magic Quadrant 2025, MIT CTL research).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — SCM SCOR, forecasting, VRP, risk patterns |