InventoryCostObservables

Typed snapshot contracts for cost calculators. Each interface represents the data a cost calculator's ModelElementObserver.replicationEnded callback needs from one source ModelElement, captured at the moment that source's within-replication statistics are stable (immediately after the source's own replicationEnded() runs).

These are typed snapshots, not live views: every field value is sampled at construction time. Concrete data-class implementations live in CostObservablesData.

Warmup: every field is sourced from KSL's within-replication statistics (Counter.value, Response.average, TWResponse.weightedAverage), which reset at the warmup event. The snapshot fields therefore reflect only the post-warmup observation window, with no explicit time-arithmetic on the caller's part.

Inheritors

Properties

Link copied to clipboard
abstract val avgBacklog: Double

Time-weighted backlog units, sourced from the inventory's backlog policy. 0.0 when the inventory has no backlog policy attached.

Link copied to clipboard
abstract val avgOnHand: Double

Time-weighted on-hand units over the post-warmup window.

Link copied to clipboard
abstract val avgOnOrder: Double

Time-weighted on-order units.

Link copied to clipboard
abstract val item: ItemType

Item type the source Inventory holds.

Link copied to clipboard
abstract val lostSaleCount: Double

Count of lost-sale events (subset of stockouts).

Link copied to clipboard
abstract val orderCount: Double

Count of replenishment orders placed (post-warmup).

Link copied to clipboard
abstract val stockoutCount: Double

Count of stockout events.

Link copied to clipboard

Sum of units ordered across all replenishment orders.

Link copied to clipboard
abstract val totalUnitsShort: Double

Sum of (remainingDemand − amountOnHand) across stockouts.