brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
problem-modelingDefine, validate, and troubleshoot pymoo optimization problems, built-in test problems, constraints, bounds, and evaluation output shapes.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this sub-skill when a task asks how to represent an optimization problem in
pymoo: built-in benchmark problems, custom vectorized or elementwise objectives,
functional objectives, bounds, constraint signs, equality constraints, Pareto
front/set methods, evaluation shape validation, or confusing Problem warnings.
minimize, termination, ask-and-tell, callbacks, and result
interpretation belong to optimization-workflows.operators-and-variables.performance-and-parallelization.analysis-and-visualization._evaluate contracts, objective/constraint
sign conventions, built-in get_problem, and validation of F/G/H.out["G"] and are feasible when G <= 0; equality
constraints belong in out["H"] and should be near zero.Problem for matrix-friendly
NumPy/SciPy objectives; use ElementwiseProblem for one-candidate black-box
calls; use FunctionalProblem for concise objective/constraint functions.__init__: n_var, n_obj, n_ieq_constr,
n_eq_constr, xl, xu, and optional vtype/vars must match the search
space and outputs.out["F"] a 2-D matrix with one row per candidate and one column per
objective. For constraints, align rows with F.problem.evaluate(...) on tiny sample
inputs, request F, G, and H, assert finite values, and inspect signs.get_problem("zdt1"),
get_problem("dtlz2", n_obj=3), Sphere(n_var=...), and constrained
families are useful baselines before debugging custom code.n_constr carefully: this version maps it to
n_ieq_constr with a warning; new problem code should use n_ieq_constr
and n_eq_constr explicitly.Problem, ElementwiseProblem, FunctionalProblem, get_problem, and
evaluate.