Resources
Resources model shared constraints in your process — people, machines, licenses, or any capacity-limited asset. When multiple tasks compete for the same resource, the simulation queues them in order, so you can see exactly where contention slows your process down.
Core concepts
- Resource pool — a named asset with a fixed total capacity (number of units). All tasks that require the resource draw from the same pool.
- Unit count — how many units of a resource a single task occupies simultaneously. A task requiring 2 analysts holds 2 units while it runs.
- Acquire — when a task starts, it claims the required units from the pool. If not enough units are free, the task waits in a queue.
- Release — when a task finishes (its service time completes), it returns all acquired units to the pool.
- Cost — an optional dollar-per-period rate used to compute estimated resource cost in the simulation output.
Creating a resource
- Press
Mor click the Manage Resources button in the toolbar — the Manage Resources dialog opens. - Click Add resource — a new row appears in the resource list.
- Enter a name, an optional cost (for example,
$50/hour), and choose a color for the canvas indicator. - Close the dialog — the resource is now available to assign to nodes.
Name resources after roles or asset types rather than individuals (for example, "Analyst" rather than "Alice"). This makes it easier to scale unit counts without renaming.
Assigning a resource to a node
- Select the node on the canvas, then press
Ior click the info icon — the node info panel opens on the right. - Scroll to the Resources section and click Add — a resource selector appears.
- Choose the resource name from the list.
- Set the count — the number of units this task requires simultaneously.
- Click away or press
Escape— the assignment is saved automatically.
You can assign multiple resources to a single node. The task waits until all required resources are simultaneously available before it starts.
How resources affect simulation
During a simulation run the engine tracks each resource pool in real time. A task node with a resource assignment will:
- Check whether the required unit count is available — if not, the task enters a wait queue.
- Acquire the units for the duration of its service time.
- Release the units when the task completes, unblocking the next waiting task.
This models real contention: if five tasks all require the same analyst and only one analyst unit exists, they serialize through that availability. See Simulation for how queue time contributes to cycle time metrics.
Resource costs
If you set a cost and period (for example, $75/hour) the simulation reports an estimated resource cost in the output metrics. The estimate is calculated from actual occupied time across all runs.
Set costs on all resources to compare scenarios by total operating cost, not just throughput. The results panel shows per-resource cost alongside utilization so you can identify where money is being spent.
Viewing resource utilization
After a simulation run, the results panel shows avg resource utilization per resource — the fraction of simulation time the resource was occupied.
A utilization near 100% indicates a bottleneck. Tasks are spending significant time waiting for this resource. Consider increasing the unit count or redistributing work before concluding cycle time is acceptable.
Reference
Resource properties
| Property | Type | Description |
|---|---|---|
| Name | string | Display name shown in the Manage Resources dialog and on canvas indicators. |
| Cost | number | Dollar amount per period (for example, 75 for $75/hour). Optional. |
| Period | string | Time unit for the cost rate: hour, day, or minute. Required if cost is set. |
| Color | color | Color used for the resource indicator dot on the canvas. |
| Units | integer ≥ 1 | Total pool size — how many units of this resource exist across the whole process. Default: 1. |