Skip to main content

Overview

Once the optimizer has run on a scenario, its Results tab shows the plan. From top to bottom:
  1. Summary cards: Fulfillment health and Inventory adherence
  2. Order Fulfillments: a Gantt of when each demand order is fulfilled
  3. Production Volume: how much of each material to produce in each period
  4. Resource Utilization: how much of each resource the plan uses against its capacity
  5. Custom charts you add with Create chart
  6. Inventory adherence: a heatmap of projected stock against your inventory goals
Reading a plan is rarely a one-shot exercise. You look at what the optimizer chose, spot a trade-off you don’t like, adjust the model or the scenario’s inputs, and run it again. This page covers what each part of the view shows and the adjust-and-re-run loop.

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
In the optimizer’s plan, only orders with a soft deadline can be late or unfulfilled. An order with a hard deadline must be fulfilled on time, or the scenario comes back infeasible. A soft-deadline order ends up late or unfulfilled when the lateness penalty was cheaper than what fulfilling it on time would have cost elsewhere, usually a competing higher-weight order on the same constrained resource. Switch the layout with the tabs in the card header:
  • 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
Click an order to see its due and scheduled dates, quantity, and tag. Expand Gantt opens the chart full screen, and Download Gantt saves it as an image. You can also adjust fulfillments by hand. Drag a bar to another period to move the fulfillment, or drag an unfulfilled order onto the timeline to schedule it. Unschedule removes an order’s fulfillment. The optimizer doesn’t check these edits: they don’t change the production plan, and the next Run optimizer replaces them.

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
Intermediates appear as their own rows in the periods leading up to the SKU that consumes them. The lead-up chain is part of the plan.

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.
Change one thing per iteration. Scenarios are cheap and saved, so a chain of single-change scenarios tells you exactly which adjustment moved the plan, while a batch of simultaneous edits leaves you guessing.

Comparing Scenarios

Every solved scenario keeps its inputs and results. There is no side-by-side comparison view for planning scenarios. The fastest way to compare two is to ask Dexter: which orders changed fulfillment, which periods shifted production, how the objective moved, and where the trade-off landed. Dexter can also chart both plans for a specific SKU or resource so the difference is visible at a glance.