Vineyard Frost Protection: Optimizer Example | Vose Software

ModelRisk Optimizer example · Agriculture and food

Vineyard Frost Protection

How many protection units per block keep every bud above the frost-damage line on a cold night?

  • Complexity: ★★★★★
  • Free Excel workbook
  • Needs ModelRisk with the Optimizer

The optimisation problem

Lowest mean protection cost

Decide
Frost protection units for 5 blocks, 0 to 10
Goal
Lowest mean protection cost
Limit
At most a 10% chance the coldest bud falls below −2 °C
Engine
Vertex Detector

What the Optimizer found

Starting planOptimizer’s plan
Block 133
Block 236
Block 332
Block 436
Block 532
Goal: Mean total protection cost ($)6,3007,980
Limit: Chance coldest bud temp (°C) is at or below −2, at most 10%30% not met8.6% met

ModelRisk Optimizer run on 13 Oct 2026: the Vertex Detector engine, with Turbo simulation, tried 293 plans, each simulated with 10,000 samples, in 3 seconds. Both plans above were then simulated again with the same 10,000 samples.

What the workbook models

Five vineyard blocks face an uncertain overnight minimum temperature (normal). Each protection unit lifts a block's coldest-bud temperature. Buds are damaged below −2 °C. You choose integer units per block.

Decision, objective and constraint

Decision
5 integer unit counts, each 0 to 10
Objective
Minimise Mean total protection cost
Hard constraint
probability the coldest bud drops below −2 °C ≤ 10% (i.e. ≥90% frost-safe)

The engine: Vertex Detector

A chance constraint over integer decisions walls the feasible region with an infinite penalty, so gradient engines stall. Method=Auto routes it to the Vertex Detector, which walks the feasible edge to the cheapest frost-safe plan. 1000 iterations/trial give a stable 90% assurance.

The model

Place integer protection units per block so the coldest bud stays above the frost line with ≥90% assurance.

InputDecision (the Optimizer changes it)Calculated or uncertain (sampled each iteration)Objective

Parameters

Warming per unit (°C)0.90
Cost per unit ($/night)420
Damage threshold (°C)-2.00

Units (decision highlighted)

BlockUnits (0-10)Ambient min °CBud temp °C
Block 13uncertaincalculated
Block 23uncertaincalculated
Block 33uncertaincalculated
Block 43uncertaincalculated
Block 53uncertaincalculated

Results

Total protection cost ($): objectivecalculated
Coldest bud temp (°C): constraintcalculated

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

Chance constraint
a limit that must hold with a stated probability (here 90%)

Find similar models