Render Farm Scheduling: Optimizer Example | Vose Software

ModelRisk Optimizer example · Media production

Render Farm: Frame Distribution

Which render node should each shot go to, so the busiest node finishes as early as possible?

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

The optimisation problem

Shortest mean makespan

Decide
A render node for each of 20 shots (6 nodes)
Goal
Shortest mean makespan
Limit
None
Engine
Genetic Algorithm

What the Optimizer found

Starting planOptimizer’s plan
Decisions changed–18 of 20
Goal: Mean makespan (busiest node load)202147
All 20 decisions starting plan, then the Optimizer’s
Shot 101
Shot 210
Shot 322
Shot 435
Shot 543
Shot 653
Shot 705
Shot 812
Shot 925
Shot 1031
Shot 1144
Shot 1250
Shot 1303
Shot 1410
Shot 1524
Shot 1631
Shot 1745
Shot 1852
Shot 1904
Shot 2012

ModelRisk Optimizer run on 13 Oct 2026: the Genetic Algorithm engine, with Turbo simulation, tried 833 plans, each simulated with 10,000 samples, in 7 seconds. Both plans above were then simulated again with the same 10,000 samples.

What the workbook models

This workbook showcases the ModelRisk optimizer on a COMBINATORIAL assignment problem. Placing 20 shots on 6 render nodes gives 6^20 (about 3.7 x 10^15) possible layouts — far too many to enumerate, even though the sheet itself is small. Method = Auto detects the combinatorial assignment GROUP and routes the model to the GENETIC ALGORITHM (GA).

That routing is structural, not a tuning preference: any Order / Project / Schedule group goes to GA, because the engine has to preserve the group structure while it searches.

GA carries a whole population of candidate layouts and recombines their good parts, so it keeps finding better assignments across the run.

The problem is deliberately sized so a classic (non-Turbo) run finishes in minutes rather than hours: the search ends on stagnation or on the trial budget (900 trials, stagnation after 400), and the Time (max) limit of 1800 s is only a safety net.

Decision, objective and constraint

Decision
20 integer node assignments (Model!B7:B26), each 0 to 5 — a Schedule (assignment) group
Objective
Minimise the Mean makespan = Mean of MAX(node loads), Model!F16
Constraint
None — any assignment is valid (a node may take many shots)

Why the Genetic Algorithm

Parallel-machine makespan (P||Cmax) is NP-hard and rugged: the heavy hero-shots must land on different nodes, and moving one shot usually just shifts the bottleneck, so a search that changes one coordinate at a time can settle into a local trap. GA recombines whole node layouts from a population and repairs them, which lets it leave such traps.

Routing does not depend on which engine wins a given instance: Method = Auto sends any Order / Project / Schedule group to GA, the engine that keeps the group valid.

The model

Distribute 20 shots across 6 render nodes so the whole batch finishes as early as possible.

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

Shots (decision = node 0 to 5; sizes are uncertain, low spread)

ShotNode (dec)Render time min (unc.)NodeLoad
Shot 10uncertain0calculated
Shot 21uncertain1calculated
Shot 32uncertain2calculated
Shot 43uncertain3calculated
Shot 54uncertain4calculated
Shot 65uncertain5calculated
Shot 70uncertain
Shot 81uncertain
Shot 92uncertain
Shot 103uncertainMakespan = busiest node load - objective (Min Mean)calculated
Shot 114uncertain
Shot 125uncertain
Shot 130uncertain
Shot 141uncertain
Shot 152uncertain
Shot 163uncertain
Shot 174uncertain
Shot 185uncertain
Shot 190uncertain
Shot 201uncertain

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.

How to run it

  1. ModelRisk ribbon to Optimizer (the saved task opens).
  2. Start Optimization.
  3. Read the node assignments in B7:B26 and the Mean makespan in F16.

Find similar models