ModelRisk Optimizer example · Agriculture and food
Aquaculture: Daily Feed Pulses
How many feed pulses per pen give a robust harvest weight without risking an oxygen crash?
The optimisation problem
Highest 25th-percentile harvest weight
- Decide
- Feed pulses for 5 pens, 0 to 10
- Goal
- Highest 25th-percentile harvest weight
- Limit
- At most a 5% chance any pen’s oxygen crashes below 4.0 mg/L
- Engine
- Vertex Detector
What the Optimizer found
| Starting plan | Optimizer’s plan | |
|---|---|---|
| Pen 1 | 4 | 4 |
| Pen 2 | 4 | 5 |
| Pen 3 | 4 | 4 |
| Pen 4 | 4 | 5 |
| Pen 5 | 4 | 4 |
| Goal: 25th percentile of harvest weight (g) | 125 | 137 |
| Limit: Chance lowest pen O2 is at or below 4, at most 5% | 1.2% met | 5.0% met |
ModelRisk Optimizer run on 13 Oct 2026: the Vertex Detector engine tried 133 plans, each simulated with 10,000 samples, in 302 seconds. Both plans above were then simulated again with the same 10,000 samples.
What the workbook models
Five fish pens share a feeding plan. Water temperature is uncertain (normal) and drives both growth and oxygen demand. More feed grows fish faster but draws down dissolved oxygen.
Decision, objective and constraint
- Decision
- 5 integer feed-pulse counts, each 0 to 10
- Objective
- Maximise the 25th-percentile harvest weight
- Hard constraint
- probability any pen's oxygen crashes below 4.0 mg/L ≤ 5%
The engine: Vertex Detector
A percentile objective plus a chance constraint over integers then Auto then Vertex Detector.
The model
Set integer feed pulses per pen to maximise a robust (P25) harvest weight while keeping the oxygen-crash risk under 5%.
InputDecision (the Optimizer changes it)Calculated or uncertain (sampled each iteration)Objective
Parameters
| Growth per pulse (g) | 7.00 |
|---|---|
| O2 draw per pulse | 0.40 |
| Baseline O2 | 7.00 |
Units (decision highlighted)
| Pen | Feed pulses (dec) | Temp °C (unc.) | Growth g | O2 level |
|---|---|---|---|---|
| Pen 1 | 4 | uncertain | uncertain | calculated |
| Pen 2 | 4 | uncertain | uncertain | calculated |
| Pen 3 | 4 | uncertain | uncertain | calculated |
| Pen 4 | 4 | uncertain | uncertain | calculated |
| Pen 5 | 4 | uncertain | uncertain | calculated |
Results
| Harvest weight (g): objective | calculated |
|---|---|
| Lowest pen O2: constraint | calculated |
Decision cells hold starting values: the workbook opens at the starting plan above, and the Optimizer finds its plan when you run it. The figures are illustrative.
Run it yourself. Open the workbook with ModelRisk, open the Optimizer from the ribbon (the saved task opens with it) and press Start.
Glossary
- P25 weight
- the harvest weight reached in the worst 25% of scenarios
Find similar models
- Product
- Type
- Application
- Uses
Download the workbook and run the Optimizer. It opens in Excel with ModelRisk.
Related example models
- ModelRiskOptimizer★★★★★Vertical Farm: Crop Rack AllocationHow many grow-racks should each crop get to maximise expected profit within the light and water budgets?Splits grow-racks among four crops for the highest mean profit within a 4,000 kWh lighting and 2,600 L water budget.
- ModelRiskOptimizer★★★★★Vineyard Frost ProtectionHow many protection units per block keep every bud above the frost-damage line on a cold night?Places frost protection units across five vineyard blocks at the lowest mean cost, with at most a 10% chance of frost damage.
- ModelRiskOptimizer★★★★★Craft Bakery: Sourdough HydrationWhat hydration percentage yields the target crumb structure?Finds the dough hydration, between 60% and 90%, that puts the crumb index on its target of 3.2.
An illustrative example: the figures are invented for teaching. Last updated 9 October 2026.