Spokes.wiki Search Graph Growth About

optimization-algorithms-wiki

Defined Term mechanism source ↗ source url updated Tue Jun 09 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

Backtracking Search Algorithm (BSA)

BSA is an evolutionary population-based optimizer proposed by Pinar Civicioglu (2013) for real-valued numerical optimization. Its signature is memory: it keeps a historical (archive) population alongside the current one and moves “with an eye on past experience.” Source: andrey-dik‘s MQL5 implementation (C_AO_BSA_Backtracking); minimal params (population size, mixrate).

How it works (four steps per iteration)

  1. Selection-I — with ~50% probability the historical population is refreshed from the current one, then randomly shuffled for diversity.
  2. MutationM = P + F·(oldP − P), with F a normally-distributed amplitude; movement relative to historical positions.
  3. Crossover — either “mixrate” (take several coordinates from the current pop) or a single random coordinate.
  4. Selection-IIgreedy: keep a trial only if it improves fitness.

Benchmark (context-relative)

Ranked 20/45 (55.10%) on the population-optimization-benchmark — the best of the founding four — “a compromise between ease of implementation and search efficiency,” a stable mid-pack performer. (Benchmark-relative; see no-free-lunch-theorem.)

metaheuristic-optimization · exploration-vs-exploitation · population-optimization-benchmark · no-free-lunch-theorem · andrey-dik · cma-es