Reference
How the Optimizer & Discover work
The simulator includes two automated search tools: Optimize refines a rig you've already built, and Discover generates entirely new layouts from scratch. Both use the same engine under the hood — a genetic algorithm running across multiple background threads.
What is a genetic algorithm?
Think of it like evolution. The optimizer starts with your current rig layout (or a random one, in Discover mode) and treats it like a living thing. It then:
- Mutates — makes small random changes to the layout, like swapping a component or changing a single cell.
- Breeds — takes parts of two good layouts and combines them into a new one (called crossover).
- Scores — evaluates each new layout against the rules (heat must be negative, power must be sufficient) and ranks it by your chosen goal.
- Keeps the winner — if the new layout scores better, it becomes the new champion. If not, it's discarded.
This cycle repeats thousands of times per second. Over time, layouts get progressively better — the same way natural selection works, just much faster.
Multiple threads
The search runs on multiple Web Workers — background threads that don't freeze your browser. Each thread explores independently, trying different mutations. When one thread finds something better, it shares the discovery with all the others so they can build on it. This parallel approach covers more ground faster than a single search path could.
Mutation strategies
The algorithm uses several different strategies to avoid getting stuck:
- Precise mutation — flips 1 to 3 random cells. Fine-tuning.
- Swap — picks two components and switches their positions.
- Crossover — merges the best-known layout with a slightly modified copy.
- Broad mutation — changes multiple cells at once. Gets more aggressive if the search has been stuck for a while.
- Region mutation — rewrites an entire row or column within one case.
If no improvement is found after many attempts, the algorithm forces a harder shake-up — crossing the current best with a completely random layout or rewriting a whole region — to escape local optima (a solution that looks good nearby but isn't the best overall).
Hard rules (non-negotiable)
Every candidate layout must pass these checks or it's immediately rejected:
- Heat must be negative. If the hottest non-cooler component has positive heat, the layout fails.
- Power must be sufficient. If overclocking is set and the rig can't sustain it (the simulator would auto-downgrade the clock), the layout fails.
- PSU rules apply. PSUs take up two cells (horizontal or vertical), can't overlap other components, and must fit within the 5×5 grid.
Optimization goals
Choose what the optimizer prioritizes using the algorithm dropdown:
- MIPS — highest raw computing power. The default and most common choice.
- Brute Force — maximizes the brute force characters stat, which is derived from MIPS via a polynomial curve. At high MIPS, the difference is subtle, but this mode specifically targets the brute formula.
- Budget — best MIPS-per-dollar. Finds layouts that deliver the most performance relative to their cost. Uses market prices if you have an API key set, otherwise uses RRP values.
Optimize vs Discover
Only one button is visible at a time, and the simulator picks the right one for you automatically. If your rig has at least one component in any case, the Optimize button appears. If all cases are empty, the Optimize button is hidden and Discover appears instead. There's no wrong choice to make — the right tool is always the one shown.
| Optimize | Discover | |
|---|---|---|
| When it appears | Any case has at least one component | All cases are empty |
| Starting point | Your current rig layout | Empty grid (clears first) |
| Goal | Improve what you have | Find something new |
| Algorithm | MIPS, Brute, or Budget | Always MIPS |
| When to use | You have a decent layout and want to squeeze more out of it | Starting fresh, curious what the algorithm can come up with |
Convergence (auto-stop)
The optimizer tracks every evaluation. If it goes 1,500 consecutive evaluations without finding anything better — across all threads — it concludes the search has converged and stops automatically. The button briefly shows "Converged" to let you know it finished on its own, then resets.
You can also stop it manually at any time. Either way, the best layout found is kept on the grid.
Overclock awareness
Both Optimize and Discover respect whatever overclock level you have set. If you're at +30%, the optimizer evaluates every candidate at +30% and rejects any layout that can't sustain that clock speed. This means the results are always viable at your chosen overclock — no surprises when you try to run the build in-game.
Tips
- Run Discover a few times with different case counts to explore different layout styles. Once it finishes, the Optimize button will appear automatically — the result is ready to refine straight away.
- To switch from Optimize back to Discover, just clear your case. The button swaps instantly.
- The optimizer is fast but not omniscient. Sometimes a manual tweak followed by another Optimize run produces better results than either alone.
- Budget mode shines when you have an API key set — it uses live market prices instead of static RRP values.