Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Multi-objective optimization framework. NSGA-II, NSGA-III, MOEA/D, Pareto fronts, constraint handling, benchmarks (ZDT, DTLZ), for engineering design and optimization problems.
.claude/skills/mkurman-pymoo/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 27% | 0% |
| case-02 | ✓→✓ | = Same ✓ | 18% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 62% | 0% |
| case-09 | ✓→✓ | = Same ✓ | 187% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 35% | 0% |
-----|----------|--------------| | GA | General-purpose | Flexible, customizable operators | | DE | Continuous optimization | Good global search | | PSO | Smooth landscapes | Fast convergence | | CMA-ES | Difficult/noisy problems | Self-adapting |
| Algorithm | Best For | Key Features | |-----------|----------|--------------| | NSGA-II | Standard benchmark | Fast, reliable, well-tested | | R-NSGA-II | Preference regions | Reference point guidance | | MOEA/D | Decomposable problems | Scalarization approach |
| Algorithm | Best For | Key Features | |-----------|----------|--------------| | NSGA-III | 4-15 objectives | Reference direction-based | | RVEA | Adaptive search | Reference vector evolution | | AGE-MOEA | Complex landscapes | Adaptive geometry |
| Approach | Algorithm | When to Use | |----------|-----------|-------------| | Feasibility-first | Any algorithm | Large feasible region | | Specialized | SRES, ISRES | Heavy constraints | | Penalty | GA + penalty | Algorithm compatibility |
See: references/algorithms.md for comprehensive algorithm reference
pythonfrom pymoo.problems import get_problem # Single-objective problem = get_problem("rastrigin", n_var=10) problem = get_problem("rosenbrock", n_var=10) # Multi-objective problem = get_problem("zdt1") # Convex front problem = get_problem("zdt2") # Non-convex front problem = get_problem("zdt3") # Disconnected front # Many-objective problem = get_problem("dtlz2", n_obj=5, n_var=12) problem = get_problem("dtlz7", n_obj=4)
See: references/problems.md for complete test problem reference
pythonfrom pymoo.algorithms.soo.nonconvex.ga import GA from pymoo.operators.crossover.sbx import SBX from pymoo.operators.mutation.pm import PM algorithm = GA( pop_size=100, crossover=SBX(prob=0.9, eta=15), mutation=PM(eta=20), eliminate_duplicates=True )
Continuous variables:
Binary variables:
Permutations (TSP, scheduling):
See: references/operators.md for comprehensive operator reference
Problem: Algorithm not converging
Problem: Poor Pareto front distribution
Problem: Few feasible solutions
Problem: High computational cost
save_history=TrueThis skill includes comprehensive reference documentation and executable examples:
Detailed documentation for in-depth understanding:
Search patterns for references:
grep -r "NSGA-II\|NSGA-III\|MOEA/D" references/grep -r "Feasibility First\|Penalty\|Repair" references/grep -r "Scatter\|PCP\|Petal" references/Executable examples demonstrating common workflows:
Run examples:
bashpython3 scripts/single_objective_example.py python3 scripts/multi_objective_example.py python3 scripts/many_objective_example.py python3 scripts/custom_problem_example.py python3 scripts/decision_making_example.py
Installation:
bashuv pip install pymoo
Dependencies: NumPy, SciPy, matplotlib, autograd (optional for gradient-based)
Documentation: https://pymoo.org/
Version: This skill is based on pymoo 0.6.x
Common patterns:
ElementwiseProblem for custom problemsg(x) <= 0 and h(x) = 0('n_gen', N) or get_termination("f_tol", tol=0.001)| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 22,272 | 18,471 | -17% | 1 | 1 | 0% | 4,087 | 5,174 | +27% | 0 | 0 | — |
case-02 | pass→pass | 14,378 | 8,488 | -41% | 1 | 1 | 0% | 2,518 | 2,975 | +18% | 0 | 0 | — |
case-03 | pass→pass | 8,989 | 6,705 | -25% | 1 | 1 | 0% | 1,699 | 2,760 | +62% | 0 | 0 | — |
case-09 | pass→pass | 4,502 | 3,904 | -13% | 1 | 1 | 0% | 776 | 2,226 | +187% | 0 | 0 | — |
case-04 | pass→pass | 12,978 | 9,048 | -30% | 1 | 1 | 0% | 2,220 | 3,005 | +35% | 0 | 0 | — |
case-05 | pass→pass | 14,416 | 6,217 | -57% | 1 | 1 | 0% | 2,520 | 2,634 | +5% | 0 | 0 | — |
case-06 | pass→pass | 12,498 | 9,184 | -27% | 1 | 1 | 0% | 2,507 | 3,283 | +31% | 0 | 0 | — |
case-07 | pass→pass | 10,993 | 6,403 | -42% | 1 | 1 | 0% | 2,081 | 2,785 | +34% | 0 | 0 | — |
case-08 | pass→pass | 5,405 | 3,077 | -43% | 1 | 1 | 0% | 971 | 1,997 | +106% | 0 | 0 | — |
case-10 | pass→pass | 8,842 | 4,872 | -45% | 1 | 1 | 0% | 1,599 | 2,386 | +49% | 0 | 0 | — |
case-11 | pass→pass | 9,921 | 5,798 | -42% | 1 | 1 | 0% | 2,048 | 2,687 | +31% | 0 | 0 | — |
case-12 | pass→pass | 15,006 | 8,393 | -44% | 1 | 1 | 0% | 2,694 | 2,965 | +10% | 0 | 0 | — |
case-13 | pass→pass | 13,275 | 8,043 | -39% | 1 | 1 | 0% | 2,636 | 2,970 | +13% | 0 | 0 | — |
case-14 | pass→pass | 3,833 | 3,730 | -3% | 1 | 1 | 0% | 594 | 2,048 | +245% | 0 | 0 | — |
case-15 | pass→pass | 3,556 | 2,011 | -43% | 1 | 1 | 0% | 649 | 1,826 | +181% | 0 | 0 | — |
case-16 | pass→pass | 9,027 | 4,968 | -45% | 1 | 1 | 0% | 1,477 | 2,262 | +53% | 0 | 0 | — |
case-17 | pass→pass | 7,443 | 5,874 | -21% | 1 | 1 | 0% | 1,382 | 2,561 | +85% | 0 | 0 | — |
case-18 | pass→pass | 6,057 | 4,250 | -30% | 1 | 1 | 0% | 1,153 | 2,283 | +98% | 0 | 0 | — |
case-19 | pass→pass | 6,637 | 5,363 | -19% | 1 | 1 | 0% | 1,223 | 2,377 | +94% | 0 | 0 | — |
case-20 | pass→pass | 18,635 | 16,098 | -14% | 1 | 1 | 0% | 3,372 | 4,395 | +30% | 0 | 0 | — |
case-21 | fail→fail | 15,083 | 8,994 | -40% | 1 | 1 | 0% | 2,771 | 3,179 | +15% | 0 | 0 | — |
case-22 | fail→fail | 19,540 | 10,770 | -45% | 1 | 1 | 0% | 4,004 | 3,635 | -9% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +5 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.