Overview
Once the optimizer has run on a scenario, its Results tab shows the plan. From top to bottom:- Summary cards: Fulfillment health and Inventory adherence
- Order Fulfillments: a Gantt of when each demand order is fulfilled
- Production Volume: how much of each material to produce in each period
- Resource Utilization: how much of each resource the plan uses against its capacity
- Custom charts you add with Create chart
- Inventory adherence: a heatmap of projected stock against your inventory goals
Results Out of Date
If you change a scenario’s inputs after it was solved, a Results out of date banner appears above the results: the plan still shows, but it reflects the old inputs. Click Run optimizer to refresh it. While a new solve runs, the banner shows its progress and the existing results stay visible. If the solve doesn’t produce a plan, the banner shows why; see how a scenario can end.Summary Cards
Order Fulfillments
Order Fulfillments is a Gantt with one bar per demand order, placed in the period the plan fulfills it. An order is either fulfilled in full in one period or not fulfilled at all; there is no partial fulfillment. A fulfilled order can still be late:- On time: fulfilled on or before its due date
- Late: fulfilled after its due date. The bar carries a badge such as 2W LATE, and a marker shows the original due date
- Unfulfilled: not in the plan. The bar is shown at its due date
- By SKU: one row per SKU
- By resource: one row per resource the order’s production draws on. Use the resource menu to show All resources or only resources of one kind
- List: a table of orders with their SKU, Tag, Qty, Due date, and Fulfilled date
Production Volume
Production Volume is a table of the plan’s production quantities: one row per material and production route, one column per period. By Entity and By Period swap rows and columns. You can edit a cell to change a planned quantity. Use the header controls to shape the table:- Table settings: add Demand, Incoming supply, and Stock columns next to the plan. A material with several routes also gets an All routes row with its total
- Filter rows: show Only with demand or Only with incoming supply
- Sort by: Name, Demand, or Supply
Resource Utilization
Resource Utilization charts how much of each resource the plan uses in each period against that resource’s capacity, one strip per resource. Pick which resources to show with Resources. Each strip shows the resource’s Peak Capacity and flags use above capacity (for example +12 over capacity), which can happen after you edit production by hand. Explain this asks Dexter to explain the chart. If some production can’t be placed on the chart, for example a quantity outside the horizon, a note says how many input rows were excluded and why.Custom Charts
Click Create chart to add your own chart below the built-in ones. Choose a Chart type (Bar chart, Line chart, or Area chart), a metric for the Y axis (Production, Material consumption, Fulfilled demand, Inventory level, Resource usage, or Supply), and optionally a Date range. The X axis is time. You can change the settings later from the chart header, remove the chart, or click Explain this to have Dexter explain it. Custom charts aren’t saved with the scenario; they’re cleared when you leave the page.Inventory Adherence
The Inventory adherence heatmap has one row per material and one column per period. Each cell shows the projected end-of-period stock, colored by how it compares with the material’s inventory goal:
Only cells with a goal count toward the Inventory adherence summary card.
Hover a cell to see its status and the goal’s target and margin. Stock that is still arriving, such as in-flight on-hand inventory, shows as In flight in the tooltip.
Solve Figures
The results view doesn’t show the solver’s own numbers. Ask Dexter for them: the objective value (and how it splits between lateness penalty and inventory loss), the optimality gap, the best bound, the solve time, and whether the solver stopped because it reached the gap or hit the time limit. The objective value is the weighted total loss the optimizer minimized. Lower is better, but it’s only comparable across scenarios on the same model with the same settings. The gap tells you how far the plan could be from the best possible one: a plan at a tight gap is one you can commit to, while a plan returned at the time limit with a wide gap is valid but worth checking.The Adjust-and-Re-Run Loop
First-cut plans are rarely the plan you ship. They surface where the model’s assumptions don’t match your judgment. The knobs, in the order you typically reach for them:- Change the solver behavior. On the planning model, Keep stock protects inventory targets at the expense of due dates, and Fill orders does the reverse. Plan hits every due date but lets inventory drift? Lean toward Keep stock. Holds inventory well but misses orders you cared about? Lean toward Fill orders.
- Re-tune per-tag weights. A class of orders being dropped too readily deserves a higher order tag weight; an inventory goal being over-protected at others’ expense deserves a lower one.
- Update demand or supply as new information arrives. New orders, a supply delay, a start-date shift: put the changed inputs on a new scenario rather than editing the old one, so before and after stay comparable.
- Adjust or add custom constraints. If the plan does something operationally impossible that the base model doesn’t capture (a batching rule, a changeover limit), encode it as a custom constraint.
- Extend the horizon or add capacity. A perpetually tight or infeasible plan usually means the horizon is too short for the lead-up chain, or the declared capacity doesn’t match what the floor can run.