Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/alexplatasl/dplbnde/llms.txt

Use this file to discover all available pages before exploring further.

Differential Evolution (DE) is a population-based optimizer for continuous parameter spaces. dplbnDE applies DE to the space of CPT parameters, using CLL as the fitness function.

The DE cycle

Each generation, every individual goes through mutation, crossover, constraint repair, and selection.
1

Mutation

A mutant vector is formed by combining existing population members. For DE/best/1:
mutant <- vec(best$.params) + F * (vec(r1$.params) - vec(r2$.params))
best is the current best individual, r1 and r2 are randomly selected, and F is the mutation factor.
2

Crossover

A trial vector mixes the mutant with the current individual. Binomial crossover:
cross_points <- runif(dim) > CR
trial[cross_points] <- mutant[cross_points]
3

Constraint repair

Two repairs enforce the probability constraints:
# Fold out-of-bounds values back into [0, 1]
trial <- reflect(trial)
# Renormalize CPT rows to sum to 1
trial <- keepSumFast(trial, group_indices)
4

Selection

The trial replaces the current individual only if its CLL is strictly better:
if (f > fitness[j]) {
  pop[[j]] <- trial
}

Mutation strategies

StrategyFormulaUsed by
DE/best/1best + F×(r1 − r2)DEbest (pairs=1)
DE/best/2best + F×(r1−r2+r3−r4)DEbest (pairs=2)
DE/rand/1r0 + F×(r1 − r2)DErand (pairs=1)
DE/rand/2r0 + F×(r1−r2+r3−r4)DErand (pairs=2)
current-to-pbestxi + F×(xp−xi) + F×(r1−r2)JADE, L-SHADE, jSO, NL-SHADE-RSP

Key parameters

Number of candidate solutions. Minimum enforced is 6. Larger NP explores more broadly but costs more evaluations per generation. Default: 40.
Maximum number of generations. Total evaluations ≈ NP × G for classic variants. Default: 100.
Controls mutation step size. Range [0, 2]. Typical values 0.4–0.9. Adaptive variants update F automatically using a Cauchy distribution. Default: 0.5.
Probability of inheriting a dimension from the mutant. Range [0, 1]. Adaptive variants update CR using a Normal distribution. Default: 0.7.

Adaptive variants

JADE, L-SHADE, jSO, and NL-SHADE-RSP automatically tune F and CR each generation using success histories:
  • F is sampled from a Cauchy distribution centered on the historical mean of successful F values
  • CR is sampled from a Normal distribution centered on the historical mean of successful CR values
  • Successful values are those that produced an improvement — they are stored in a memory of size H (default 6)
L-SHADE and jSO additionally apply Linear Population Size Reduction (LPSR): the population shrinks linearly from NP to a minimum of 4 over the course of evolution, concentrating evaluations on the most promising individuals.

Build docs developers (and LLMs) love