Configuration Reference¶
Complete reference for all Waremax configuration options.
Overview¶
Waremax configurations are YAML files with the following top-level sections:
| Section | Required | Description |
|---|---|---|
seed |
Yes | Random seed for reproducibility |
simulation |
Yes | Timing parameters |
map |
Yes | Map file reference |
storage |
Yes | Storage file reference |
robots |
Yes | Robot fleet configuration |
stations |
Yes | Station definitions |
orders |
Yes | Order generation settings |
policies |
No | Dispatching policies |
traffic |
No | Traffic management |
routing |
No | Routing algorithm |
charging_stations |
No | Charging stations |
maintenance_stations |
No | Maintenance stations |
inbound |
No | Inbound flow configuration |
replenishment |
No | Replenishment settings |
metrics |
No | Metrics collection |
Configuration Sections¶
| Reference | Description |
|---|---|
| Scenario Schema | Complete schema overview |
| Simulation | Timing and duration settings |
| Robots | Robot fleet configuration |
| Stations | Station definitions |
| Orders | Order generation |
| Policies | Dispatching policies |
| Traffic | Traffic management |
| Routing | Routing algorithms |
| Battery | Battery and charging |
| Maintenance | Maintenance and failures |
| Metrics | Metrics collection |
Quick Reference¶
Minimal Configuration¶
seed: 42
simulation:
duration_minutes: 30
map:
file: map.json
storage:
file: storage.yaml
robots:
count: 10
max_speed_mps: 1.5
stations:
- id: "S1"
node: "0"
type: pick
service_time_s:
base: 5.0
orders:
arrival_process:
type: poisson
rate_per_min: 1.0
lines_per_order:
type: negbinomial
mean: 3.0
sku_popularity:
type: zipf
Full Configuration¶
seed: 42
simulation:
duration_minutes: 60
warmup_minutes: 10
time_unit: seconds
map:
file: warehouse.json
storage:
file: inventory.yaml
robots:
count: 20
max_speed_mps: 1.8
max_payload_kg: 30
battery:
enabled: true
capacity_wh: 500
min_soc: 0.20
consumption:
per_meter_wh: 0.08
idle_power_w: 3.0
service_power_w: 15.0
maintenance:
enabled: true
interval_hours: 8.0
failure:
enabled: true
mtbf_hours: 100.0
stations:
- id: "pick_1"
node: "N100"
type: pick
concurrency: 2
queue_capacity: 15
service_time_s:
distribution: lognormal
base: 6.0
base_stddev: 1.5
per_item: 2.0
per_item_stddev: 0.5
charging_stations:
- id: "charger_1"
node: "N50"
bays: 4
charge_rate_w: 250
queue_capacity: 8
maintenance_stations:
- id: "maint_1"
node: "N75"
bays: 2
maintenance_duration_s: 300
repair_time:
distribution: lognormal
base: 600
base_stddev: 120
orders:
arrival_process:
type: poisson
rate_per_min: 2.0
lines_per_order:
type: negbinomial
mean: 4.0
dispersion: 1.2
sku_popularity:
type: zipf
alpha: 1.1
due_times:
type: fixed_offset
minutes: 45
policies:
task_allocation:
type: auction
travel_weight: 1.0
queue_weight: 0.5
station_assignment:
type: due_time_priority
batching:
type: station_batch
max_items: 20
priority:
type: sla_driven
traffic:
policy: reroute_on_wait
edge_capacity_default: 2
node_capacity_default: 2
wait_threshold_s: 3.0
max_reroute_attempts: 3
deadlock_detection: true
deadlock_resolver: youngest_backs_up
reservation_enabled: false
routing:
algorithm: astar
congestion_aware: true
congestion_weight: 0.6
cache_routes: true
metrics:
sample_interval_s: 60
per_robot_breakdown: true
per_station_breakdown: true
generate_heatmap: true
trace:
enabled: false
max_entries: 10000
sample_rate: 1.0
Default Values¶
Most optional fields have sensible defaults:
| Field | Default |
|---|---|
warmup_minutes |
0 |
max_payload_kg |
25 |
concurrency |
1 |
queue_capacity |
unlimited |
traffic.policy |
wait_at_node |
routing.algorithm |
dijkstra |
metrics.sample_interval_s |
60 |
See individual section pages for complete default values.
Validation¶
Validate configurations before running:
Common validation errors:
- Missing required fields
- Invalid parameter types
- Out-of-range values
- Unknown policy types
- Missing file references