Overview
This page covers a scenario’s inputs: the data the optimizer uses on top of a planning model. A scenario is one run of the optimizer (see Planning Scenarios). Every input here belongs to one scenario, not to the model, so the same model can plan against many demand and supply situations. You edit these inputs on the scenario’s Setup tab, in these sections:- Start date: the calendar date the first interval of the horizon starts on
- Demand Orders: what the plan must fulfill, and by when
- Supply Orders: externally procured raw materials and when they arrive
- On-Hand Inventory: stock available at the start date, or already in flight and landing later
- Inventory Goals: target stock levels the plan should hold
- Resource Capacity: per-interval capacity ceilings for each resource on the model
You can enter inputs on the Setup tab or ask Dexter to load them, often by handing Dexter an order export or spreadsheet.
Demand Orders
A demand order is a customer-facing commitment the plan tries to fulfill. Only SKU-classified entities are valid — intermediates and raws cannot be demanded directly (see material classification).
The optimizer chooses the interval in which to fulfill each order. A Buffer on the tag pulls the effective due date earlier — it is finish-early margin, not extra slack after the deadline. If the order’s tag is soft, the plan may miss the deadline and pay a penalty (which stays zero as long as the order finishes by the deadline minus its buffer); if the tag is hard, the plan must fulfill by the deadline minus any buffer intervals, or the scenario is infeasible.
Variants on Demand Lines
If a SKU has more than one BOM, a demand line’s variant selects the recipe. Matching is by subset: for every attribute the BOM’s condition mentions, the demand line must carry a compatible value. Extra attributes on the demand line — ones the BOM doesn’t condition on — are ignored. A demand line with no variant matches only a BOM whose variant condition is empty (a wildcard that matches any line); if every BOM for the entity conditions on some attribute, the demand line must carry those attributes to match.Supply Orders
A supply order is a scheduled arrival of raw material from outside the plant. Only RAW-classified entities are valid — intermediates and SKUs are produced internally by the plan, never procured.On-Hand Inventory
On-hand inventory is the stock available when the scenario starts. Each entry is a material and quantity with an optional variant. Any classification is valid: you can seed the scenario with raws, intermediates, or finished SKUs. An entry doesn’t have to be on the shelf yet. Stock that is already in flight, such as a build in progress, can be entered as landing a set number of intervals after the start date. The On-Hand Inventory section adds stock that is available at the start date; ask Dexter to enter in-flight quantities. The inventory adherence heatmap shows arriving stock as In flight in a cell’s tooltip. The start date and on-hand inventory together form the scenario’s starting point, in calendar time and in stock position.Inventory Goals
An inventory goal expresses a target stock position for an entity over an interval range. The optimizer pays a loss to deviate from it — this is the second term of the objective.
Copy to later periods fills the empty periods that follow a period with its target and margin.
How the Loss Curve Works
The penalty depends on how far actual inventory strays from the target, measured against the margin. As long as inventory stays within the margin of the target — above or below — there is no penalty at all. Once it drifts past the margin, the penalty grows faster and faster the further it goes: a small overshoot or undershoot is cheap, a large one is expensive. The margin is your knob for how tolerant the plan should be around each target.Under the hood the solver approximates this smooth curve with a series of straight-line segments, so tiny kinks in the penalty are expected. The mental model — no penalty inside the margin, a steeply growing penalty beyond it — is the one to plan with.
Resource Capacity
Resource capacity, set per resource and per interval on the scenario, is how many units of that resource (hours, pieces, whatever the resource’s unit is) are available in that interval. Validation warns you when a resource that a production route draws on has intervals with no capacity entry, for example: Resource ‘packaging-line’ has no capacity defined in intervals 3-5, 9; missing capacity defaults to 0. The warning doesn’t block Run optimizer, and the scenario view doesn’t display it. Ask Dexter to validate the scenario to see these warnings. The zero default has three practical consequences:- Modeling downtime — omit the interval, or set it to zero
- Modeling a surge — raise the ceiling for just those intervals
- Diagnosing an empty plan — check the capacity entries for the affected intervals first