BackLogPolicyAbstract

abstract class BackLogPolicyAbstract @JvmOverloads constructor(inventory: Inventory, name: String? = null) : ModelElement, BackLogInfoIfc(source)

Abstract base for backlog policies that an Inventory uses to handle demands which cannot be filled immediately.

Subclasses provide a queue/data structure for waiting demands and statistic accessors; backlog and fillBackLogs are the two primary extension points.

See sc.inventorylayer.BackLogPolicyAbstract

Inheritors

Constructors

Link copied to clipboard
constructor(inventory: Inventory, name: String? = null)

Properties

Link copied to clipboard
open override val amountBackLogged: Int

Total units associated with all backlogged demands.

Link copied to clipboard
protected val amtBackLogged: TWResponse
Link copied to clipboard

Read-only view of the amount-backlogged response.

Link copied to clipboard

Time-weighted average backlog over the post-warmup observation window for the most recent replication. Cost calculators read this in their REPLICATION_ENDED callback to compute the continuous backorder-cost line — saves observers from having to reach through to amtBackLogged's within-replication statistic. Returns 0.0 if read before the first replication end (no within-replication data yet).

Link copied to clipboard
protected val inventory: Inventory

Functions

Link copied to clipboard
Link copied to clipboard

Wire the amount-backlogged response into the upstream aggregate. Subclasses can override to add their queue-level responses.

Link copied to clipboard
protected abstract fun backlog(demand: SupplyChainModel.Demand)

Place demand into this policy's backlog structure.

Link copied to clipboard
protected fun fillBackLog(demand: SupplyChainModel.Demand, amount: Int)
Link copied to clipboard
protected abstract fun fillBackLogs()

Attempt to fill currently-backlogged demands.

Link copied to clipboard

Subclasses provide the backlog statistic surface.