PMX Crossover with Rotation Genes
crossover
Industry-standard order-preserving crossover - the mathematically correct operator for permutation problems.
How it works. Each chromosome encodes (sequence, per-part-rotation). Partially Mapped Crossover preserves relative order between two parent sequences; uniform crossover on the rotation gene array lets useful rotations propagate. Crossover rate ~0.7.
Why it matters. Order-preserving crossover is mathematically the right operator for permutation problems like nesting - naïve crossover produces invalid sequences (duplicate parts, missing parts).
Tournament Selection
selection
Robust selection operator that needs no fitness scaling.
How it works. Pick k=3 random individuals; the fittest wins selection. Repeated until the next generation is filled.
Why it matters. Works correctly whether fitness scores are tightly clustered (late convergence) or spread wide (early exploration) without manual tuning.
Memetic Local Search (Baldwinian)
refinement
Hybrid GA / hill-climber that activates when the population plateaus.
How it works. When a generation produces no improvement over the previous best, the optimiser spends a few extra evaluations doing targeted swap/rotation perturbations on the current best individual. If a refinement improves fitness, it replaces the best; otherwise no cost is paid.
Why it matters. Pure GAs often stall in local optima. Memetic refinement is a well-known cure used in academic nesting literature (Burke et al., 2007) but rarely exposed in commercial nesters.
Adaptive Rotation Refinement
refinement
Starts coarse, refines automatically - best of both worlds.
How it works. The optimiser begins at 90° rotation steps (4 angles) where each evaluation is fast, then progressively refines through 45° → 30° → 15° → 5° → 1° as the population converges. Cells computed at coarser stages carry forward into the finer stage via slot remapping.
Why it matters. A naïve 1° step is 8× more expensive than 45° per evaluation. Adaptive refinement burns the early budget on broad exploration where coarse rotations are good enough, then spends the late budget on fine-tuning where it makes a real difference.
Elitism + Lexicographic Best-Tracking
elitism
Best results are never lost to crossover or mutation.
How it works. Top 2 individuals of every generation are copied verbatim into the next generation. "Best" is determined lexicographically - fewer unplaced parts wins, then highest efficiency.
Why it matters. Guarantees the optimiser is monotonically improving and that solutions placing more parts always beat solutions with higher % efficiency but fewer parts placed.
Time-Budgeted Search with Final-Stage Convergence
scheduling
Predictable stop times with smart early-exit.
How it works. User picks a wall-clock budget (e.g. 60s). The optimiser runs until the budget exhausts OR until 20 generations pass with no improvement at the finest rotation step - whichever comes first.
Why it matters. Production users need predictable wait times. Hard time cap + intelligent early-exit means "set 5 minutes" gives you a result in ≤ 5 minutes, often much sooner if the search has converged.