Skip to content

Releases: tachsin/genoxide

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 28 Sep 10:56
d2cf012

Added

  • batch 5 of the test problems, CEC 2006's g07-g18, each with its example (#277)

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 08:03
798c2b7

Added

  • (benchmarks) instruction counts for genoxide only, compared across its versions (#267)
  • (python) gx.Cmaes chooses the covariance, full or diagonal (#268)
  • batch 4 of the test problems, DTLZ5-7, the binary ZDT5 and WFG1-9, each with its example (#270)

Fixed

  • (site) draw WFG2's true front in its six pieces (#272)
  • [breaking] a multi-objective front has each genome once, in Rust, Python and the CLI (#273)
  • (benchmarks) commit the published run, publish and rerun it with one command, and move radiate to 1.3.2 (#275)
  • [breaking] polynomial mutation reaches the bounds, without cancellation near them (#276)

Documentation

  • install with cargo add, so the README never names an old version (#265)

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 28 Sep 01:58
034f3cd

Added

  • [breaking] add the test problem library: 16 classic functions and 13 classic multi-objective problems (#177)
  • add the engineering design problems and CEC 2006's g01-g06 (#191)
  • record the examples' output and a trace of each run, with the population in python's progress (#194)
  • (site) draw the berlin52 tour on a map of Berlin's districts (#242)
  • add genoxide's logo, wordmark and banner, and use them in the READMEs, on docs.rs and on the docs site (#247)
  • change a GA's rates and operators between generations (#248)
  • re-evaluate a GA's population when the fitness function changes (#249)
  • add examples for the 20 problems of batches 1-3 that had none, with a grid plot on the project pages (#252)
  • an example of its own for each of the 25 problems of batches 1-3 that had none (#253)
  • an overall benchmark score, and the interactive results linked from the README (#255)
  • [breaking] genoxide::math, the same to the bit on every platform, and the test problems use it (#263)

Fixed

  • (python) reject NoCrossover with a mutation rate of 0, as documented (#231)
  • (python) reject maximizing a test problem, read a batch's objectives from a tuple of columns, and correct the indicator docs (#233)
  • skip points with NaN values in IGD+, check MOEA/D's size, and match multi-objective sizes and docs to their promises (#234)
  • [breaking] truncation selects from exactly its fraction, and the engineering optima are feasible and the best known (#235)
  • [breaking] count BIPOP's first run as a small one, find a relative fitness program on Unix, and name the setting in common mistakes (#238)
  • (site) say which run the player plays, keep the player's focus, show the published benchmark charts, and don't publish a page without its README (#239)
  • name the operator in a CLI error from its table, and check the test problems against their sources (#241)
  • [breaking] an example for every problem, and SHADE's restarts, gx.De's options, CarSideImpact's best known value and four problems' ideal and nadir points (#261)

Documentation

  • explain each example's problem, representation, algorithm and output (#193)
  • check the examples' sources against the originals, count Kursawe's four pieces, and show the output on the docs site (#198)
  • make 0.8 the test problem release in the roadmap, and describe only what exists (#230)
  • describe multi-objective stagnation as it works, qualify reproducibility across platforms, and correct the example READMEs and the problems plan (#236)
  • link every example to its interactive page on tachsin.gr (#250)

v0.7.1

Choose a tag to compare

@github-actions github-actions released this 27 Sep 09:01
67a7554

Performance

  • cut the per-trial overhead of differential evolution (0.7.1) (#182)

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 20:50
346b7b7

Fixed

  • [breaking] restart differential evolution at the next ask, and don't restart constrained populations too early (#117)
  • [breaking] confirm duplicate children by equality, portable on 32 and 64 bits (#118)
  • stop runs that can never end, bound huge sizes, and correct the docs (#121)
  • [breaking] don't propose steady-state twins, and limit the initial PSO velocities (#122)
  • clearer errors and stricter settings in the Python package (#119)
  • correct the benchmark harness and docs, and use numpy fitness in pymoo and PyGAD (#123)
  • report stalled runs in Python, and bound genome lengths and workers (#126)
  • [breaking] use SHADE's published defaults for differential evolution (#137)

Documentation

  • document the Python API's parameters, ranges and errors (#164)
  • build the Python API reference with pdoc for GitHub Pages (#162)
  • make 0.7 the correctness release, and move GP and neuroevolution to 0.8 (#127)
  • keep the README to what helps choose a library (#138)
  • shorten the README and move the feature list to docs/features.md (#156)
  • tighten AGENTS.md and ROADMAP.md (#157)
  • add the PyPI badge (#160)
  • match docs/cli.md to the genoxide program (#161)
  • fix the api docs and add errors, panics and examples sections (#163)
  • add a docs site with the examples in Rust and Python tabs (#165)
  • examples in a folder each, in rust and python, with problems from the literature (#166)
  • show the benchmark charts of the 0.7 run, with a summary chart on the readme (#175)
  • mark 0.7 as released (#176)

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 06:35
8f7ae8c

Added

  • [breaking] eliminate duplicate children in NSGA-II, NSGA-III, SPEA2 and SMS-EMOA (#109)
  • [breaking] restart differential evolution on stagnation, and default to SHADE with a small population (#113)
  • add a Python package with numpy genomes, batch and parallel fitness functions (#105)
  • add NSGA-III, SPEA2, MOEA/D, SMS-EMOA and a progress callback to the Python package (#112)

Fixed

  • [breaking] shuffle the picks of stochastic universal sampling (#103)

Documentation

  • benchmark every minor release (#110)
  • benchmark 0.6 and its Python package, and mark 0.6 as released (#115)

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 25 Sep 02:49
011de6c

Documentation

  • benchmark 16 libraries on 14 scenarios, with the methodology and vertical charts (#106)

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 24 Sep 16:03
6617892

Fixed

  • handle infinite scores and huge bounds in selection and SBX, and other edge cases (#98)
  • handle infinite objective values in SMS-EMOA, SPEA2 and hypervolume contributions, and duplicate MOEA/D weights (#99)
  • make DE trials change a gene that can change, and bound lambda (#101)
  • clearer errors from the genoxide program and checkpoints (#102)
  • show observers the individuals migrants replace, and fix engine edge cases (#100)

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 14:29
a582d54

Added

  • add the island model with ring, fully connected and random migration (#82)
  • add batch evaluation of a whole generation in one call (#84)
  • add progress reporting and a tracing feature (#86)
  • add checkpoints to resume a run exactly, behind a serde feature (#88)
  • add asynchronous evaluation with a steady-state GA (#90)
  • add the genoxide program for runs described in TOML or JSON files (#92)

Documentation

  • add a GPU example of batch evaluation with wgpu (#93)

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 11:08
87a34a7

Added

  • add multi-objective scores, constrained dominance and non-dominated sorting (#58)
  • add the multi-objective engine and NSGA-II (#60)
  • add multi-objective indicators: hypervolume, IGD, IGD+, GD and spread (#62)
  • add a Pareto archive of non-dominated solutions (#64)
  • add the ZDT and DTLZ test problems and Das-Dennis reference points (#66)
  • add NSGA-III with reference directions (#68)
  • add SPEA2, the strength Pareto evolutionary algorithm 2 (#72)
  • add MOEA/D with Tchebycheff and PBI decomposition (#74)
  • add SMS-EMOA and exclusive hypervolume contributions (#76)

Fixed

  • [breaking] mutate each gene independently at the per-gene rate (#70)

Documentation

  • benchmark multi-objective algorithms against pymoo and DEAP (#77)