Guide

Decisions & Targets

Some decisions are quantities: how much moves along a path. Others are selections: which supplier to qualify, whether to add a second shift, which sites to open. Decision alternatives represent selections directly, so they do not have to be encoded as flows.

Where to add them

Open the Model Editor and expand Decision alternatives. A model can hold any number of groups, and each group holds the options that compete within it.

Decision alternatives are optional. A model without them behaves exactly as before, using flows, limits, and objectives only.

Groups: how many can be chosen

A group has a name, an optional description, and Min selected and Max selected. Those two numbers define the selection rule.

You wantMin selectedMax selected
Exactly one option, such as a single supplier11
At most one option, such as an optional upgrade01
Any subset, including none0number of options
At least two, no more than four24
Every option is mandatorynumber of optionsnumber of options

Selection counts are enforced exactly. A group whose minimum cannot be met makes the model infeasible rather than dropping the requirement.

Options: what each choice does

An option is one alternative within a group. These are its fields:

FieldWhat it means
Option nameThe alternative in plain terms, such as "Qualify vendor B" or "Add weekend shift".
TypeYes/no for take it or leave it, Integer for whole units, Continuous for any amount.
Min / MaxThe quantity range when the option is selected. Yes/no options are fixed to 0 and 1.
Fixed costCharged once if the option is selected at all, regardless of quantity.
Variable costCharged per unit of the selected quantity.
Lever costThe cost of changing the plan. Used only by target seeking, described below.
OverrideSolver decides is the default. Require forces the option in, Exclude rules it out.
Decision stageAdaptive values may differ by scenario. Committed values are fixed before scenarios resolve.
Resource ratesConsumption per unit, entered as labor:2; money:50.
Avoid double counting

Fixed cost, variable cost, and a money resource rate all contribute to the same total. Use the one that matches how the cost actually behaves, rather than entering it in more than one place.

Effects: what selecting it changes

An option can change the rest of the model. This is what makes a decision structural rather than only an entry on the cost side.

Enable / disable flows

Turn flow paths on or off. Entering +vendor_route; -internal_route opens one path and closes another when the option is chosen.

Enable / disable conversions

The same syntax applies to conversions, as in +external_qc; -internal_qc. Use it when an option changes which transformation is available.

Capacity effects

Add capacity to a resource pool or limit, per unit selected: qc_hours:30; suite_weeks:1. This is how an option such as engaging a contractor contributes additional QC hours.

Output effects

Deliver product directly, without routing it through the network. release:lot:1 contributes one lot at the release node per unit selected.

Pattern

For a route that exists physically but requires approval: draw the flow, set the decision option's override to Exclude for the baseline, and have the option enable that flow. The route stays closed until something explicitly opens it.

Rules between options

Once a model has two or more options, rules can link them across groups:

RuleMeaningCompiles as
RequiresChoosing A means B must also be chosenA ≤ B
ExcludesA and B cannot both be chosenA + B ≤ 1

Requires is one-directional. B can still be selected without A. If both directions are needed, add the rule twice.

Committed and adaptive

Every option, flow, and conversion carries a decision stage. It applies once the model has explicit scenarios, and is worth setting while you build.

Committed

Decided before the scenario is known, and identical across all of them. Capital spend, long-lead orders, and signed contracts belong here.

Adaptive

Decided after the scenario is known, so it may differ between scenarios. Routing, overtime, and batch placement belong here. This is the default.

See Scenarios & Resilience for how each stage behaves in the three analysis modes.

Reach a target with the least intervention

Standard optimization asks how good the outcome can be. Target seeking reverses the question: the outcome is fixed, and the model returns the least costly set of changes that reaches it.

The option appears on the Objective screen once the model has decision options that can act as levers. It takes four settings:

SettingWhat to enter
Target outcomeThe objective that must be reached.
Required target valueThe value it has to reach.
Intervention resourceHow levers are priced: Modeled intervention cost, which uses the Lever cost field, or any custom resource.
Controllable optionsThe decision options permitted to change. All others stay fixed at their baseline choice.

Selecting Seek target adds the target as a hard requirement, minimizes only the permitted levers, fixes the resulting intervention plan, then re-solves the operating model against it.

What comes back
Targetachieved or not achieved, with the remaining gap
Interventionsthe options selected, and the quantity of each
Total costpriced in the nominated resource
Limitswhat stays binding, and what becomes limiting next

A target is reported as achieved only when the final operating solve is optimal and the remaining gap is within tolerance, not when the intervention model alone produces a value.

Lever cost is deliberately separate from operating cost. Fixed and variable cost describe what an option costs to run; lever cost describes what it costs to change the plan. Keeping them apart prevents target seeking from treating ordinary operating expense as the price of intervening.

Reading decisions in the results

The Answer tab lists the selected options with their quantities, and reports whether each group's selection rule was satisfied, using your option names rather than solver variables. Exports carry the same detail. See Read the Answer.

One caution applies to models containing yes/no or whole-number decisions: classical shadow prices can be absent or unreliable. SSPLAX falls back to bounded re-solve tests and reports the resulting feasibility and objective change, so treat marginal values on mixed-integer models as directional rather than exact.