Insights • SentinelForge Methodology

The Mathematics Behind Military Logistics

OPLOG NEXUS — quantitative & statistical models for resource and cost planning

June 2026 NATO Logistics Handbook 2012 · AJP-4 · MC 55/4 DD/4 · DU-4.11.1 (Polish Armed Forces)

Every logistics decision on NATO’s Eastern Flank — how much fuel to hold, where to preposition 155 mm rounds, how many spare gearboxes keep a fleet at 95% availability — reduces to a calculable question. OPLOG NEXUS, the nodal flow-modelling and sustainment engine inside SentinelForge, operationalises the quantitative apparatus that NATO and the Polish Armed Forces use for exactly these questions: from Days of Supply and safety stocks, through readiness-based sparing and ammunition expenditure models, to Monte Carlo resilience simulation and life-cycle costing. Below is the full methodological toolkit — formulas, charts and a worked brigade-level example.

The engine operates on concrete network nodes — regional logistics bases, ordnance depots, military logistics units, combat units and allied installations — in two regimes: peacetime (exercises, NDPP-style planning) and crisis/war (OPP/LOPP simulation game). It is doctrinally aligned with LOGFAS components (SPM, ACROSS, SDM, LOGREP) and interoperable in concept with national ERP systems such as ZWSI RON. Since 2022, the shift from just-in-time to just-in-case — deeper war reserves, upward-revised consumption norms and stress-tested supply chains — has made these methods central rather than academic.

B.1 Days of Supply (DOS) & consumption norms

Days of Supply is the fundamental NATO planning unit — the number of days a force can sustain itself from held stocks. Consumption norms (planning factors) are tabulated per consumer: a soldier (water, rations), a vehicle (litres/km or litres/engine-hour — FCU per STANAG 2115) or a weapon system (rounds per combat day). Total stock = operating stock + safety stock + lead-time reserve, with a combat-intensity multiplier applied in crisis.

$$DOS = \frac{\text{stock on hand}}{\bar d \cdot I} \qquad\quad \text{required stock} = \bar d \cdot (\text{operating days} + \text{reserve})$$
NATO HANDBOOK CH.6STANAG 2115CLASSES I–V

B.2 Safety stock, reorder point & EOQ

Under demand and lead-time variability, the (s, S) policy triggers a replenishment order when stock falls to the reorder point s, restoring the target level S. Safety stock covers both sources of uncertainty; the Economic Order Quantity balances ordering cost against holding cost.

$$SS = z\sqrt{L\,\sigma_d^2 + \bar d^{\,2}\sigma_L^2} \qquad ROP(s) = \bar d \cdot L + SS \qquad Q^* = \sqrt{\frac{2DS}{H}}$$
2026-07-03T21:24:08.681969 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 10 20 30 40 50 60 Time [days] 0 20 40 60 80 100 Stock [units] Chart 1 · Inventory profile under an (s, S) policy Inventory level Reorder point s = 35 Order-up-to S = 100 Safety stock SS = 15
Chart 1. Inventory profile under an (s, S) policy: consumption, reorder point, safety stock and lead time.
2026-07-03T21:24:08.896970 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 500 1000 1500 2000 2500 3000 3500 4000 Order quantity Q 0 2000 4000 6000 8000 10000 12000 14000 16000 Annual cost [c.u.] Q* ≈ 1000 Chart 2 · Economic Order Quantity (EOQ) Ordering cost D/Q·S Holding cost Q/2·H Total cost
Chart 2. EOQ — the total-cost minimum at Q*, where ordering and holding costs intersect.

B.3 Intermittent-demand forecasting (Croston / SBA / TSB)

Demand for spare parts (Class IX) and ammunition (Class V) is intermittent — long zero-demand periods punctuated by sudden spikes — so moving averages fail. Croston’s method separates the series into non-zero demand size z and inter-demand interval p using exponential smoothing; SBA corrects Croston’s bias, and TSB adds a demand-probability update for obsolescence.

$$z_t = \alpha d_t + (1-\alpha)z_{t-1}, \quad \hat y = \frac{z_t}{p_t} \qquad SBA = \left(1-\frac{\alpha}{2}\right)\frac{z_t}{p_t} \qquad TSB:\ \hat y = P_t \cdot z_t$$
2026-07-03T21:24:09.111939 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 5 10 15 20 25 30 35 40 Period 0 2 4 6 8 Demand [units] Chart 3 · Intermittent demand — Croston / SBA forecasts Croston forecast SBA forecast Actual demand
Chart 3. Intermittent demand with Croston and SBA forecast tracks.

Method selection follows the ADI/CV² classification (Syntetos–Boylan cut-offs 1.32 / 0.49): smooth series go to exponential smoothing or ARIMA; intermittent, erratic and lumpy series to Croston-family estimators.

2026-07-03T21:24:09.320448 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0.0 0.5 1.0 1.5 2.0 2.5 3.0 ADI — average demand interval 0.00 0.25 0.50 0.75 1.00 1.25 1.50 1.75 2.00 CV² — demand size variability SMOOTH INTERMITTENT ERRATIC LUMPY ADI = 1.32 CV² = 0.49 Chart 4 · Demand classification (Syntetos–Boylan thresholds)
Chart 4. Demand classification: smooth / intermittent / erratic / lumpy.

B.4 Reliability & availability (RAM)

Expected failures (≈ operating hours × fleet / MTBF) drive Class IX demand and repair-shop workload. Reliability and steady-state availability follow directly from MTBF and MTTR:

$$R(t) = e^{-t/MTBF} \qquad\quad A = \frac{MTBF}{MTBF + MTTR}$$

B.5 Multi-echelon optimisation & readiness-based sparing

Instead of optimising each warehouse in isolation, METRIC/VARI-METRIC optimise the whole depot→theatre→unit system for operational availability at minimum cost. The expected backorders follow Palm’s theorem with a Poisson repair pipeline; a marginal (greedy) analysis adds the item with the highest ΔA/ΔC. Tools such as OPUS10 reach the same availability roughly 20–40% cheaper than conventional per-item stocking.

$$EBO(s) = \sum_{x>s} (x-s)\,P(X=x), \qquad X \sim Poisson(\lambda_{pipe}), \quad \lambda_{pipe} = \lambda_{fail}\cdot T_{repair}$$
2026-07-03T21:24:09.483697 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 20 40 60 80 100 Investment in spares [%] 0 20 40 60 80 100 Operational availability [%] ~20–40% saved Chart 5 · Cost/effectiveness curve — readiness-based sparing RBS / VARI-METRIC Conventional (per-item) method
Chart 5. Cost/effectiveness curve: readiness-based sparing vs the conventional method.

B.6 Ammunition expenditure models (Class V / ACROSS)

Three complementary methodologies are harmonised in Bi-SC stockpile planning: level of effort (consumption × days × (1 + losses)), lifetime (total rounds to system destruction) and the target-oriented model, which computes the rounds needed to defeat an assessed target set with a required confidence:

$$N = \text{number of targets} \cdot \frac{\ln(1-p_{required})}{\ln(1-p_k)}$$
2026-07-03T21:24:09.630061 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 5 10 15 20 25 30 Days of combat 0 2000 4000 6000 8000 Cumulative expenditure [rds] DOS ≈ 10.7 d Chart 6 · Class V expenditure by intensity — level-of-effort method low (60/day) medium (180/day) high (420/day) War stock = 4 500
Chart 6. Class V expenditure by combat intensity and the stock-exhaustion point (DOS).

B.7 Stochastic simulation & Monte Carlo

N independent replications — sampling failures, attrition and interdiction — produce a distribution of outcomes rather than a single point estimate, presented as a P10/P50/P90 percentile fan. Uncertainty shrinks approximately as \(1/\sqrt{N}\). This is the core of SentinelForge’s resilience testing: how robust is the plan to surge demand and supply-chain disruption?

2026-07-03T21:24:09.790300 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 20 40 60 80 100 120 Days of operation 0 20 40 60 80 100 Readiness [%] Chart 7 · Monte Carlo simulation — readiness uncertainty fan P10–P90 band Median P50
Chart 7. Monte Carlo simulation: the P10–P90 readiness uncertainty fan over 120 days of operation.

B.8 Life-cycle cost (LCC / TCO)

Total cost of ownership discounts acquisition, operation & maintenance, and disposal into net present value. O&M typically represents 60–70% of a military system’s life-cycle cost — the decisive argument for quantitative sustainment planning at the acquisition stage.

$$TCO = C_{acq} + \sum_{t=1}^{n} \frac{C_{O\&M,t}}{(1+r)^t} + \frac{C_{disposal}}{(1+r)^T}$$
2026-07-03T21:24:09.886325 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 20 40 60 80 100 Share of total cost of ownership (TCO) [%] Acquisition 28% Operation & Maintenance (O&M) 67% 5% Chart 8 · Life-cycle cost structure — O&M dominates
Chart 8. Life-cycle cost structure — O&M dominates the total cost of ownership.

B.9 Advanced methods: queues, routing & time series

Queueing theory (MRO). Repair stations are modelled as M/M/1 (Poisson arrivals λ, exponential service μ). Waiting time explodes as utilisation ρ approaches 1 — which is why repair capacity is planned with a reserve (ρ ≈ 0.7–0.85), never at 100%.

$$\rho = \frac{\lambda}{\mu} \qquad L_q = \frac{\rho^2}{1-\rho} \qquad W_q = \frac{L_q}{\lambda}$$
2026-07-03T21:24:10.007919 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 20 40 60 80 100 Repair-station load ρ = λ/μ [%] 0.0 2.5 5.0 7.5 10.0 12.5 15.0 17.5 20.0 Number of jobs overload zone ρ → 1 Chart 9 · Queueing theory (M/M/1) — repair backlog vs load Queue length Lq = ρ²/(1−ρ) In system L = ρ/(1−ρ)
Chart 9. Queueing theory (M/M/1): repair backlog grows non-linearly with station load ρ.

Routing & distribution. Convoy and distribution planning is formulated as a linear / integer programme (transportation problem, Vehicle Routing Problem), solved with heuristics such as Clarke–Wright savings, tabu search and genetic algorithms:

$$\min \sum_{i,j} c_{ij} x_{ij} \quad \text{s.t.} \quad \sum_j x_{ij} \le supply_i,\ \ \sum_i x_{ij} \ge demand_j,\ \ x_{ij} \ge 0$$

Smooth-demand forecasting. Regular consumption (Classes I, III) is forecast with time-series models — ARIMA(p, d, q) and Holt–Winters exponential smoothing — with confidence intervals widening over the horizon:

$$\varphi(B)\,(1-B)^d\, y_t = \theta(B)\,\varepsilon_t$$
2026-07-03T21:24:10.141911 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ 0 10 20 30 40 Period [months] 95 100 105 110 Demand Chart 10 · ARIMA forecast for smooth demand with confidence bands Historical data ARIMA forecast 80% interval 95% interval
Chart 10. ARIMA forecast for smooth demand with 80% / 95% confidence bands.

Sensitivity & risk. One-way sensitivity analysis ranks parameters by their impact on the result (tornado diagram); combined with Monte Carlo it yields the joint risk distribution.

2026-07-03T21:24:10.273275 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ −20 −15 −10 −5 0 5 10 15 20 Change in TCO [%] Operation intensity Equipment MTBF Fuel price (Class III) O&M cost / man-hr Delivery lead time Discount rate r Chart 11 · Sensitivity analysis (tornado) — impact on TCO + parameter − parameter
Chart 11. Tornado sensitivity analysis: the parameters with the largest impact on TCO.

B.10 Worked example: a mechanised brigade

An illustrative case: ~3,500 soldiers, medium intensity, a 30-DOS self-sufficiency target for Classes I/III/IX and 7 DOS for artillery ammunition (Class V). Daily consumption (norms × consumers) yields the required stock per class; fuel safety stock with \(\bar d = 90{,}000\) l, \(\sigma_d = 18{,}000\) l, \(L = 2\) d, \(\sigma_L = 0.5\) d and \(z = 1.65\) (95% service level):

$$SS = 1.65\sqrt{2\cdot 18{,}000^2 + 90{,}000^2\cdot 0.5^2} \approx 85{,}300\ \text{l} \qquad ROP = 90{,}000\cdot 2 + 85{,}300 \approx 265{,}300\ \text{l}$$
2026-07-03T21:24:10.410735 image/svg+xml Matplotlib v3.10.8, https://matplotlib.org/ Class I (water/food) Class III (fuel F-34) Class V (155 mm ammo) Class IX (spares/MRO) 0 5 10 15 20 25 30 35 40 Stock coverage [days of supply] 34 DOS 30 DOS 7.5 DOS 21 DOS Chart 12 · Case study (mech. brigade) — DOS coverage by supply class Target DOS = 30 d
Chart 12. Brigade stock coverage (DOS) by supply class — Class V below target, replenishment priority.

The cost picture is dominated by ammunition: 2.7 million litres of F-34 at €1.00/l is €2.7 M, while 16,800 rounds of 155 mm at €3,000 each is €50.4 M — which is precisely why precise Class V sizing (B.6) and forecasting (B.3) carry the greatest financial leverage.

B.11 Synthesis: method → application → key formula

MethodApplicationKey formula
Days of SupplyStock sizing by self-sufficiency daysDOS = stock / d̄
Safety stock (s, S)Demand & lead-time variabilitySS = z·√(L·σd² + d̄²·σL²)
EOQOrder quantityQ* = √(2DS/H)
Croston / SBA / TSBIntermittent demandforecast = z/p
ADI / CV²Forecast-method selectioncut-offs 1.32 / 0.49
ARIMA / Holt–WintersSmooth / seasonal demandARIMA(p,d,q)
RAM (MTBF/MTTR)Spares & repairsA = MTBF/(MTBF+MTTR)
Queueing (M/M/1)Repair throughputLq = ρ²/(1−ρ)
LP / VRPRouting & distributionmin Σ c·x
METRIC / RBSAvailability-driven stockEBO(s); ΔA/ΔC
ACROSS (ammo)Class V stockpileusage × days × (1+losses)
Monte CarloUncertainty / riskP10 / P50 / P90
LCC / TCOLife-cycle costTCO = Cacq + ΣCO&M/(1+r)t
Sources & disclaimer. Synthesis based exclusively on open sources: NATO Logistics Handbook 2012, AJP-4, MC 55/4, STANAG 2115/2961/3151, Polish doctrine D-4/DD-4 and DU-4.11.1, and the operations-research literature (Croston 1972; Syntetos–Boylan 2005; Sherbrooke — METRIC/VARI-METRIC). Actual NATO/Polish Armed Forces consumption norms and stockpile tables are classified; all values in the examples and charts are illustrative and require calibration with authoritative data before any decision use. SentinelForge is limited to logistics, sustainment and decision support with a human in the loop — it contains no targeting or weapons-employment functionality.