f8b21af4be
10_Wiki/Topics 대규모 정리: - 오류 캡처/미완성 stub 문서 227개 제거 - 교차폴더 중복 43클러스터 병합 (63파일 → redirect) - 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건 - 카테고리 MOC 6개 신규 생성 - Graph 섹션 미해결 related-keyword 링크 10,058건 제거 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6.3 KiB
6.3 KiB
id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
| id | title | category | status | canonical_id | aliases | duplicate_of | source_trust_level | confidence_score | verification_status | tags | raw_sources | last_reinforced | github_commit | tech_stack | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| wiki-2026-0508-scm-supply-chain-management | SCM (Supply Chain Management) | 10_Wiki/Topics | verified | self |
|
none | A | 0.9 | applied |
|
2026-05-10 | pending |
|
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.
매 응용
- Demand forecasting (TFT, N-BEATS, Chronos foundation model).
- VRP / route optimization (last-mile, mid-mile).
- Supplier risk monitoring (Resilinc, Everstream).
- Inventory optimization (multi-echelon, newsvendor).
- Digital twin of supply network.
💻 패턴
Demand forecast (Chronos foundation model, 2026)
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)
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)
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)
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
# 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)
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 · 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 |