Multi-Objective Build Optimizer — Updated for 0.25.1
The build tool finds character builds that maximize daily damage (or cases) while minimizing daily net cost, given your level, rank/battle bonuses, company engines, and any gear or skill pins you set. Rather than recommending a single "best" build, it gives the highest damage builds for each net cost tier (0, 0.05, 0.1, etc).
The optimizer is NSGA-II (Non-dominated Sorting Genetic Algorithm II), a well-established multi-objective evolutionary algorithm. It works by evolving a population of candidate builds through selection, crossover and mutation.
A separate single-objective run identifies the highest-damage skill allocation for the highest gear tier, which becomes the gold-bordered "highest damage" card appended to results.
Net cost = gear durability cost + consumables (ammo, food, pill) − scrap resale from used gear − expected case income − estimated loot rewards − company engine income. All gear cost figures are durability-weighted: a piece that lasts two days costs half as much per day as one that breaks. The "net cost per 1K damage" efficiency figure divides net cost by daily damage, and acts as our primary comparison metric across builds.
Each gear tooltip shows up to three rows:
Why does the same tier show identical gear stats across all build cards? The "Optimal" recommendation is build-aware, but for most armor slots the optimal quality band is robust — the damage-per-price argmax lands on the same point whether the overall build costs 0.15 or 0.25 per 1K damage, because the marginal contribution of, say, pants armor to total damage is small relative to the price curve shape. The 0.15-vs-0.25 difference between cards comes from choosing different tier combinations and skill distributions, not from buying different rolls of the same item. Weapons are the exception — the Optimal recommendation there sweeps a 5x5 ATK/CritC quality grid and is more sensitive to build context.
The tool needs a Warera API token to fetch live market prices, stat ranges, and transaction history. Without one it falls back to built-in defaults, which may be stale. Token is stored locally in your browser and is never sent anywhere except the Warera API. If you see "Default prices" in the header, click the token prompt that appears after optimizing to enter yours.