Guide

Build a Model

A model in SSPLAX is a flow network: nodes connected by edges, subject to constraints, optimized toward an objective. This page covers every building block.

Nodes

Nodes represent stages in your system — sources, processes, queues, and outputs. Every model has at least one source (where material enters) and one sink (where it exits).

Source

Entry point — raw material, inbound demand, input stage.

Sink

Exit point — delivered output, final destination.

Service

A service, tool, or machine that transforms flow.

Queue

A buffer or inventory point between stages.

In the Model Editor, you can add nodes, rename them, and connect them with edges. The canvas shows the network visually so you can verify the topology before solving.

Flows and paths

An edge connects two nodes and carries a commodity (typically "throughput") in one direction. Each edge has a minimum and maximum flow, defining the feasible range.

The solver decides how much flows along each edge to meet the objective while respecting all constraints. A path from source to sink may pass through multiple intermediate nodes — the solver optimizes the entire network simultaneously.

Yield ratio

If a stage loses material (e.g., 72% yield in a manufacturing step), set the yield ratio on its outbound edge. Output = input × yield. The solver accounts for this when computing end-to-end throughput.

Reversible edges

Mark an edge as reversible to allow flow in either direction. Useful for modeling transfers between work centers or bidirectional material movement.

Binary decisions

Set an edge's variable type to "binary" when the decision is on/off rather than how-much. The solver treats these as 0/1 integer variables — the edge is either active or inactive. You can also force a binary edge on or off to test specific configurations.

Capacities and limits

Edge bounds (min/max) define what's physically possible for each flow path. The min is typically 0; the max is the stage's capacity. When you adjust these on the Constraints screen, you're telling the solver the feasible range for each path.

If the solver returns a flow at its maximum, that edge is capacity-constrained. Check the constraint shadow prices in the results to understand which limits are most worth relaxing.

Costs, demand, and resources

Each edge can carry multiple cost and resource overlays:

Cost rate

USD per unit of flow. When minimizing cost, the solver routes flow through the cheapest available paths. Cost rates also appear in budget constraints.

Cost segments (piecewise-linear)

Define breakpoints where the cost rate changes. For example, the first 100 units cost $5/unit, the next 50 cost $8/unit. The solver picks the optimal volume on each segment.

Carbon rate

Tonnes of CO₂ per unit of flow. Feeds into carbon cap constraints and the carbon minimization objective.

Custom resources

Define any resource (FTEs, GPU hours, water, energy) and attach consumption rates to edges. Then add resource limit constraints to cap total usage across the network.

Constraints

Constraints are the heart of SSPLAX. They represent real-world limits that the solver must respect. On the Constraints screen, you adjust each constraint's value within its allowed range using sliders.

Budget

Total cost across all paths cannot exceed this amount (USD).

Carbon cap

Total CO₂ emissions across the network cannot exceed this limit.

Capacity

Throughput through a specific stage or path is capped at this rate.

Resource limit

Total consumption of a custom resource (FTEs, GPU hours, etc.) is capped.

Minimum throughput

A minimum delivery requirement at a specific output point.

For details on each type, see the Reference page.

Objectives

The objective tells the solver what "good" means. Each template defines one or more objectives:

Maximize throughput

Push as much flow as possible from sources to sinks. The most common objective — answers "how much can we deliver?"

Minimize cost

Find the cheapest way to meet all minimum throughput requirements. Answers "what's the least-cost plan that still delivers?"

Minimize resource

Minimize total consumption of a specific resource (carbon, FTEs, energy) while meeting delivery requirements.

On the Objective screen, if the template has minimum throughput requirements, you'll also set the required delivery levels before proceeding.

Common modeling patterns

Most real-world models fall into a few recurring shapes:

Fan-out

One source feeding multiple parallel paths (e.g., demand split across suppliers). The solver decides how much flows through each.

Sequential pipeline

Stages in series with yield losses at each step. The binding constraint is usually the tightest stage, not the last one.

Diamond

Two parallel paths that merge before the sink. Useful for comparing routes (e.g., build in-house vs. outsource) under a shared budget.

Multi-period

The same network solved across multiple time periods with demand growth, ramp rates, and carry-over between periods. Set this up in Planning Settings.

For step-by-step walkthroughs, see Modeling Playbooks.