AIMech AI

BI-population CMA-ES

Algorithms AIMech:BIPOPCMAES DRAFT
The original 2009 multistart CMA-ES algorithm that interlaces increasing-population attempts with randomized smaller population and initial-scale attempts according to spent function-evaluation budgets, using its specified positive-weight covariance and cumulative step-size base.
Identity Notes & Concept Scope This record describes the original 2009 positive-weight whole BIPOP method with its specified CMA base, spent-evaluation-budget interleaving and independent random small-population/initial-scale rules. It is distinct from the existing 2005 IPOP algorithm, 2001 rank-one base, 2003 covariance component and 2006 signed active component. Fresh postmerge collection at 1031c6b1f1f4492fbebec6eee1db5a6c68672d9e checked all 737 native and 442 pinned AIO record identities and bytes. Four searches included ignored and hidden files, yielding 1,463 occurrences grouped into 26 exact contents; root read all 26 complete contents. No normalized ID, label, alias or scoped-synonym collision was found for the explicit probes. The matches are carried active-covariance leads, unrelated Gaussian-process cross-covariance language, and existing IPOP boundary context. This finding is bounded to the pinned inventory and inspected semantic neighborhoods, not all AI literature. Existing owner 202 retains its IPOP record and prior resolution, adds BIPOP, and keeps other restart residuals.

Claims & Grounded Evidence

6 Claims
Mechanism #fixed-positive-weight-cma-base
The original whole algorithm uses the specified Gaussian CMA-ES base for minimizing an evaluated objective in integer dimension D>=1. Each generation samples lambda independent offspring with mean m and covariance sigma^2*C, ranks them by objective value, and recombines the best mu=floor(lambda/2) with positive normalized weights. The author erratum specifies the weights actually used as w_i=(ln(mu+1/2)-ln(i))/sum_j(ln(mu+1/2)-ln(j)), with i,j from 1 to mu. The covariance rule combines retained C, a rank-one evolution-path term and a weighted second moment of selected displacements about the old mean. Its h_sigma gate suppresses the new covariance-path increment when the step-size path is too long and adds the stated correction to the old-C coefficient. Population-dependent weights, effective selection mass and learning rates are recomputed for the population used by each attempt.
Mechanism #inherited-cumulative-step-size-adaptation
The fixed base accumulates the normalized mean displacement after whitening by the symmetric inverse square root of the current positive-definite C into a separate path p_sigma. It updates the positive scalar scale by sigma_new=sigma*exp((c_sigma/d_sigma)*(norm(p_sigma_new)/E_norm_standard_normal-1)), where the expectation is the length of a D-dimensional standard-normal vector. This inherited scalar exponential is distinct from the restart budget policy and population doubling. In exact real arithmetic, finite exponents preserve a positive sigma; this does not establish objective improvement or finite-precision stability.
Mechanism #spent-budget-restart-selection
After one standalone run with lambda_def=4+floor(3 ln D), the procedure interlaces complete attempts from two restart regimes. Each regime has an account of function evaluations already spent; the initial standalone run is disregarded in the large-regime account. A small-regime attempt is selected if and only if its current spent budget is smaller than the large-regime budget; otherwise the large regime is selected, including ties. The first restart is therefore large. This is evaluation-cost balancing between sequential attempts, not simultaneous evolution of two populations, fixed alternation, equal numbers of attempts or exact equality of costs after every attempt.
Mechanism #increasing-population-regime
In the original large-population regime, lambda doubles before each large restart, with initial scale sigma_0=2. The configured sequence permits at most nine such restarts, so its largest population is 2^9*lambda_def. These are large-regime restarts, not a bound of nine on all attempts including the interlaced small regime. Doubling occurs between attempts rather than every generation. The source describes a schedule whose final configured restart is large; stopping early on the objective target can instead finish in a small attempt. The nine-restart setting is specific to this original configuration.
Mechanism #randomized-small-population-and-scale
Given the latest large-regime population lambda_l, the small regime uses independent uniform draws U,V on [0,1] to set lambda_s=floor(lambda_def*(lambda_l/(2*lambda_def))^(U^2)) and sigma_0=2*10^(-2V). Thus lambda_s lies between lambda_def and lambda_l/2, while the initial scale is log-uniform on [0.02,2]. At the first large population 2*lambda_def, the small population is simply lambda_def; later large populations permit variation. The population rule is not a uniform draw over integers in that range. The paper also enforces a small-run evaluation cap described as half the recent large budget; this record preserves that wording without certifying a last-run versus cumulative implementation convention.
Scope #original-configuration-and-stopping-boundary
In the evaluated configuration, each run starts with a mean sampled uniformly in [-4,4]^D, identity covariance and zero evolution paths. That box specifies initialization, not a claim that every Gaussian offspring remains inside it. A local attempt ends on its target or the listed iteration, function-range, stagnation, small-coordinate/path, no-effect or covariance-conditioning criteria. Overall termination also depends on the target or largest configured final population. These controls are not global-optimality certificates. This named positive-weight 2009 whole method is distinct from the original increasing-population-only restart procedure, a covariance-update component or a generic controller with an arbitrary inner optimizer.

⚠️ Curated Limitations & Negative Results

Artificial Intelligence Ontology (AIO) Grounding

Mapped AIO Classes
AIO Target Class Mapping Relation Mapping Rationale
AIO:ExponentialFunction
Exponential Function
related_match The specified base of the original whole algorithm requires the scalar exponential in cumulative step-size adaptation, Table 1 Equation 6. This inherited component supports the related mapping; budget balancing and population doubling are not its basis. The optimizer is neither equivalent to nor a subclass of the scalar function, and no neural activation or elementwise matrix-exponential interpretation is asserted.

Evidence Sources & Primary Literature

2 Sources
Source ID Publication / Document Type / Access Reference & Checksum
hansen2009bipop
Nikolaus Hansen
primary paper
full_text
ID: https://doi.org/10.1145/1570256.1570333
sha256:bdeda80ecf49…
bipop-author-erratum
Nikolaus Hansen
official documentation
documentation
sha256:d41ce85e51d0…

Curation Provenance

Curator: Codex
Method: ai_assisted
Model: GPT-6
Created: 2026-10-15T06:52:10Z
Updated: 2026-10-15T06:52:10Z
Source File: data/curated/BIPOPCMAES.yaml