Guide

Reference

Quick-lookup tables for the main options, settings, result views, and exports in SSPLAX.

Constraint types

Each constraint you add to a model is one of these types. The type determines how the limit is applied.

TypeWhat it limitsTypical unit
BudgetTotal cost across all flow pathsUSD
Carbon capTotal CO₂ emissions across the networktCO₂
CapacityThroughput through a specific stage or pathunits per period
Resource limitTotal usage of a custom resource (FTEs, GPU hours, etc.)resource unit
Minimum throughputMinimum delivery at a specific output pointunits per period

Objective types

DirectionWhat it doesCommon targets
MaximizePush the target as high as possibleThroughput, output volume
MinimizePush the target as low as possibleCost, carbon, resource usage

An objective can target the entire network or a specific output node. When minimizing, you typically also set minimum delivery requirements so the solver doesn't simply stop all flow.

Node types

Nodes are the stages in your flow network. Each node has a type that describes its role.

TypeRole
SourceWhere material, work, or demand enters the system
SinkWhere delivered output exits the system
ServiceA tool, machine, or service that transforms flow
QueueA buffer or inventory point between stages. Supports holding cost, max storage, and inventory carry-over across periods

Flow path settings

Each flow between two nodes has these configurable properties.

SettingDescription
From / ToWhich two nodes this path connects
ProductThe exact named product or material carried by this flow
UnitDerived from the product quantity unit and planning period
Min / MaxThe allowed flow range. Min is usually 0, max is the capacity
Cost rateCost per unit of flow (USD)
Cost segmentsBreakpoints where the cost rate changes at different volumes
Carbon rateCO₂ emitted per unit of flow
Resource ratesHow much of each custom resource this path consumes per unit
YieldFraction of input that becomes output (e.g., 0.72 = 28% loss)
Decision typeContinuous (how much), whole numbers, or yes/no (on/off)
ReversibleWhether flow can move in either direction

Conservation, queue inventory, backlog, output floors, and product objectives are separate for every node-and-product pair in every period. Transforming one product into another requires an explicit conversion with input/output amounts; yield never changes product identity. Conversion activity supports continuous, whole-number, and yes/no decisions, an explicit activity unit, bounds, and per-activity resource rates.

Constraint policy and enforcement

Each constraint carries these settings alongside its value. They control how firm the limit is and whether it may appear in recommendations.

SettingOptions / meaning
Decision interpretationOperational bottleneck (default, eligible repair option), Protected requirement (visible but never relaxed, cannot be softened), Policy relief permitted (relaxable, but labeled as policy relief)
Implementation cost / unitWhat relaxing this limit would actually cost, used to price repair options
Allow a penalized violationSwitches enforcement from hard to soft
Penalty / violation unitWhat each unit of violation costs the optimization score
Maximum violationCap on how far the limit may be exceeded; blank means unbounded
Repair priorityHigher priority makes a constraint more expensive to change in a combined repair

Decision group and option fields

Authored in the Model Editor under Decision alternatives. See Decisions & Targets.

FieldDescription
Group name / descriptionWhat choice this group represents
Min / Max selectedHow many options may be chosen from the group
Option typeYes/no, Integer, or Continuous
Option min / maxQuantity range when the option is selected; yes/no is fixed to 0 and 1
Fixed costCharged once if the option is selected at all
Variable costCharged per unit of selected quantity
Intervention costThe cost of changing the plan; used only by target seeking
OverrideSolver decides, Require, or Exclude
Decision stageAdaptive (may differ by scenario) or Committed (fixed before scenarios)
Resource ratesConsumption per unit, e.g. labor:2; money:50
Enable / disable flowsTurn flow paths on or off, e.g. +vendor_route; -internal_route
Enable / disable conversionsSame syntax for conversions
Capacity effectsCapacity added per unit selected, e.g. qc_hours:30
Output effectsDirect delivery per unit selected, e.g. release:lot:1
RulesRequires (A ≤ B) and Excludes (A + B ≤ 1) between any two options

Scenario analysis modes

Run from Analysis in Results when the model has saved scenarios. See Scenario Planning.

ModeWhat it holds fixedThe question it answers
Adaptive scenario analysisNothing. Each scenario re-optimizes independentlyBest feasible response if replanning is allowed
Committed-plan checkCommitted values stay at baseline; adaptive values may moveDoes the committed plan survive, and what does it cost us
Scenario-aware optimizationCommitted values shared across all scenariosWhat to commit to now, on an expected-value or worst-case rule
Scenario weightingRule
Equal weightingNo per-scenario values needed
ProbabilitiesAll scenarios or none; must form a valid total
Relative weightsAll scenarios or none; at least one must be positive

Data import

Opened from the Constraints screen. Accepts CSV, TSV, and XLSX. See Import Model Data.

PathTables available
Update limits and capacitiesConstraints
Add scenariosScenario values
Advanced model tablesResources, flows, conversions, decision groups, decision options, scenario values, uncertainty values
Import limitMaximum
File size10 MB
Data rows10,000
Columns200
Characters in one cell50,000

Scenario presets

Built-in presets with illustrative default constraint changes, used to stage Scenario B in the Compare tab. These are one-off comparisons, distinct from the named, weighted scenarios saved with the model.

PresetWhat it does
BaselineSolve with current constraints. The default starting point
AggressiveRelax capacity limits and tighten delivery requirements
Budget cutReduce budget constraints by a default percentage
Supplier slipLower capacity on vendor-linked paths
CustomManually adjust any constraint values for the comparison

Interventions

Predefined what-if actions in the Compare tab's intervention library. Each stages a Scenario B change so you can compare it against the baseline. Domain-specific templates may include additional interventions beyond these.

InterventionWhat it changes
Increase capacityRaises a constrained capacity limit by 10%
Relax budgetIncreases available budget by 10%
Defer demandReduces minimum delivery requirement by 10%
Expand route capacityOpens 10% more capacity on a flow path

What the results show

After solving, the Results screen organizes findings across several tabs.

DestinationWhat you see
AnswerSolved decision, achieved outcome, governing limits, repair, and the relevant time plan
AnalysisDrivers, pressure tests, uncertainty simulation, tradeoffs, decision maps, and scenario-aware analysis when enabled
CompareA separate re-solve beside the baseline, with changed assumptions, active-limit changes, and a Form-native solution diff
ReportDecision brief, export controls, constraint audit, documented inputs, risk checks, and scenario results

Result status

Every solve returns one of these outcomes.

StatusWhat it means
OptimalA best feasible plan was found that satisfies all constraints
InfeasibleNo plan can satisfy all constraints simultaneously. SSPLAX returns pre-solve checks, a verified combined repair package, and ranked single-limit changes
UnboundedThe objective can improve without limit, which usually means a constraint is missing
ErrorSomething went wrong during the solve

Input documentation fields

Each constraint can carry these documentation fields. They describe the input; they do not change the baseline solve.

FieldOptions
Input confidenceHigh, Medium, Low, or Unspecified
Value typeMeasured, Estimated, Placeholder, Imported, or Unspecified
SourceFree text. Where the number came from
OwnerFree text. Who is accountable for this input
Review rangeOptional lower and upper bounds for input review; separate from uncertainty sampling
NoteFree text. Any additional context
ImpactAuto-computed sensitivity score (0-100) showing how strongly the result depends on this constraint

Planning settings

Multi-period planning options available in the Constraints screen.

SettingDescription
PeriodsNumber of time periods to plan across (1-12)
Demand growthDefault percentage increase in minimum-throughput demand each period (-20% to +50%)
Constraint schedulesPer-constraint time pattern: Flat, Growth, Step, Ramp, or Custom. Generates period-by-period values so you don't have to type each one
Ramp ratesMaximum percentage a flow path can increase between periods
Cumulative budgetWhether budget is shared across all periods or per-period
Queue carry-overWhether inventory in queue nodes carries between periods
BacklogWhen enabled, unmet demand carries forward with a penalty rate instead of causing infeasibility
Inventory economicsAdds holding costs and storage caps to queue node inventories when carry-over is on

Model warnings

The Model Editor checks your network for structural issues before solving. These are the warnings and errors you may see.

Disconnected node

A node has no connections, so it will not participate in the solve. Connect it or remove it.

Missing source or sink

Every model needs at least one entry point (source) and one exit point (sink).

Self-loop

A path connects a node back to itself. Remove it or route through an intermediate node.

Invalid bounds

A path's minimum exceeds its maximum, or a constraint's default is outside its allowed range.

Unreachable output

There's no connected path from any source to this sink. Flow can't reach it.

Invalid yield

Yield must be greater than 0. A value of 0.72 means 72% passes through; values above 1 model a genuine gain or multiplication step.

Invalid cost curve

Cost segment breakpoints must increase, and rates must be zero or positive.

Duplicate path

Two paths between the same nodes carrying the same product. Merge them or differentiate the products.

No constraints

The model has no constraints. Without limits, the result is trivial.

No objectives

The model has no objective. Add one so the solver knows what to optimize.

How a model is organized

Every SSPLAX model has three layers:

Template

The structural blueprint: which nodes exist, how they're connected, what constraints and objectives are available, and what custom resources are defined. Templates can be starter templates (pre-built for a domain) or created from scratch in the Model Editor.

Your configuration

The specific values you've set: which objective is selected, what constraint values you've dialed in, how you've adjusted flow path capacities and costs, and your planning settings (periods, demand growth, ramp rates).

Results

The computed result in its Network, Composition, Portfolio, or Assignment grammar: the baseline answer, next move, governing limits, remaining headroom, and (if infeasible) the minimum changes needed to restore feasibility.