This website requires JavaScript.
16e9f732b1
chore: cargo fmt
main
swaits
2026-05-14 14:41:09 -06:00
a0f5b9a660
chore(release): v0.11.0
v0.11.0
swaits
2026-05-14 14:31:09 -06:00
819014bf58
docs(mutants): note the 2026-05 profiling campaign's equivalent mutants
swaits
2026-05-14 12:58:13 -06:00
a4b11f286e
perf(pareto): skip already-dominated points in pareto_front
swaits
2026-05-14 12:39:27 -06:00
66b4d9fa6b
perf(age_moea): score only the splitting front in environmental_selection
swaits
2026-05-14 12:22:38 -06:00
0ea09bdf82
perf(hype): reuse the per-sample dominators buffer
swaits
2026-05-14 12:22:38 -06:00
f3088e8353
perf(ibea): precompute the exp-transformed indicator matrix
swaits
2026-05-14 12:22:38 -06:00
2bd8f8fc11
perf(pareto): precompute oriented buffers in pareto_front
swaits
2026-05-14 12:02:15 -06:00
50501bb01e
test(bench): disable callgrind cache simulation in compare_profile
swaits
2026-05-14 11:27:12 -06:00
740965958f
perf(pareto): make pareto_compare allocation-free
swaits
2026-05-14 11:27:12 -06:00
1cecd44511
test(bench): profile the full compare workload with gungraun
swaits and Claude Opus 4.7
2026-05-14 10:28:40 -06:00
9df9c149d6
refactor(compare): split workload into a reusable module
swaits and Claude Opus 4.7
2026-05-14 10:17:00 -06:00
708f1ce9cd
docs: promote MOEA/D to the multi/many-objective default
swaits and Claude Opus 4.7
2026-05-14 09:03:53 -06:00
398c82326a
feat(compare): add many-objective problems (DTLZ at 4, 10, 8 objectives)
swaits and Claude Opus 4.7
2026-05-14 08:49:20 -06:00
a9d72b94f4
docs: correct disconnected-front and sequencing guidance from compare results
swaits and Claude Opus 4.7
2026-05-14 08:37:56 -06:00
7004a572c8
test(permutation): add ERX edge-preservation tests
swaits and Claude Opus 4.7
2026-05-14 08:34:26 -06:00
2b453464e7
refactor(compare): realign + sort tables, add combinatorial problems
swaits and Claude Opus 4.7
2026-05-14 07:13:05 -06:00
c50e390969
perf(bayesian_opt): reuse scratch buffers in the EI acquisition loop (2.40M -> 2.26M instr)
swaits and Claude Opus 4.7
2026-05-14 07:02:13 -06:00
9b1352e375
perf(tpe): compute KDE bandwidths once per iteration, not per call (383K -> 188K instr)
swaits and Claude Opus 4.7
2026-05-14 06:53:33 -06:00
cf26243765
perf(ant_colony): hoist powf out of the tour-building hot loop (1.04M -> 540K instr)
swaits and Claude Opus 4.7
2026-05-14 06:50:24 -06:00
3b4f765e03
perf(operators): make PMX and OX crossovers O(n) with value-indexed lookups
swaits and Claude Opus 4.7
2026-05-14 06:41:33 -06:00
47939fc5cb
perf(operators): make CycleCrossover O(n) with per-parent position tables (59K -> 12K instr)
swaits and Claude Opus 4.7
2026-05-14 06:39:50 -06:00
4aab5c7029
perf(pareto): flatten non_dominated_sort objective buffer (1.29M -> 1.10M instr)
swaits and Claude Opus 4.7
2026-05-14 06:36:47 -06:00
37821bdd3d
perf(metrics): stop re-sorting hypervolume_nd prefixes per slice (361K -> 291K instr)
swaits and Claude Opus 4.7
2026-05-14 06:34:47 -06:00
532d4a54db
perf(pareto): sort crowding-distance keys without Vec<Vec<f64>> indirection (-4.5%)
swaits and Claude Opus 4.7
2026-05-14 06:31:45 -06:00
3f104a4395
perf(operators): make ERX neighbor removal O(degree) per step (397K -> 140K instr)
swaits and Claude Opus 4.7
2026-05-14 06:28:25 -06:00
eb4c8a6a9f
perf(pareto): halve non_dominated_sort dominance comparisons (2.46M -> 1.27M instr)
swaits and Claude Opus 4.7
2026-05-14 06:24:30 -06:00
b1d339a869
test(bench): cover permutation operators, combinatorial problems, and remaining algorithms
swaits and Claude Opus 4.7
2026-05-14 06:17:49 -06:00
54f9db5dc9
docs(mutants): document the mutation-testing campaign in mutants.toml
swaits
2026-05-14 03:47:13 -06:00
6aee6d6318
style: rustfmt the Phase 1 test additions
swaits
2026-05-14 01:53:24 -06:00
2ca8d71b94
test(snapshot): pin exact run() output for every algorithm
swaits
2026-05-14 00:46:15 -06:00
7aa9e627f0
test(sms_emoa,pesa2,paes,random_search): pin remaining algorithm helpers
swaits
2026-05-13 22:54:25 -06:00
c5b003a9c9
test(tlbo,umda,simulated_annealing,tabu_search,tpe,snes,rvea,spea2): pin comparison and geometry helpers
swaits
2026-05-13 22:53:30 -06:00
6819ce4091
test(nelder_mead,nsga2,nsga3,one_plus_one_es,particle_swarm): pin selection/geometry helpers
swaits
2026-05-13 22:51:24 -06:00
c2319116b8
test(hyperband,moead,knea,ibea,ipop_cma_es,mopso): pin helper functions
swaits
2026-05-13 22:49:47 -06:00
952d93ac85
test(grea,hill_climber,hype): pin selection sizing and tournament logic
swaits
2026-05-13 22:48:38 -06:00
8ff43d0240
test(epsilon_moea): pin box_coords, corner_distance, box_dominates
swaits
2026-05-13 22:47:20 -06:00
03b450f050
test(genetic_algorithm): pin compare_for_fitness and survival_selection
swaits
2026-05-13 22:46:31 -06:00
4569244a68
test(pareto,metrics,selection): pin shared-utility comparisons and arithmetic
swaits
2026-05-13 22:42:01 -06:00
7b8b7170f4
test(differential_evolution): pin pick_three_distinct and convergence
swaits
2026-05-13 22:40:38 -06:00
44b70c34d5
test(cma_es): pin compare_so / better_than_so and exercise full convergence
swaits
2026-05-13 22:39:44 -06:00
8003a97dfa
test(bayesian_opt): pin GP / EI / erf helpers
swaits
2026-05-13 22:38:51 -06:00
3456db6cd8
test(ant_colony_tsp): pin better_than_so branches and build_tour invariants
swaits
2026-05-13 22:36:47 -06:00
e5e979f02a
test(age_moea): pin L_p helpers and add full-run snapshots
swaits
2026-05-13 22:33:23 -06:00
f63b85900c
test(real): pin exact outputs and algebraic invariants for every real-valued operator
swaits
2026-05-13 22:29:36 -06:00
aa8b6e46e6
test(permutation): pin operator outputs and prove they actually mutate
swaits
2026-05-13 20:24:01 -06:00
47cb1d5f79
test(repair): pin ProjectToSimplex argmax tie-breaking and position
swaits
2026-05-13 19:49:52 -06:00
c94357abe3
test(explorer): pin ExplorerExport, builders, ToDecisionValues outputs
swaits
2026-05-13 19:49:52 -06:00
3085359d01
test(async): parity sweep — run_async must match run with same seed
swaits
2026-05-13 19:46:53 -06:00
a773a1eaf6
test(algorithm_info): pin name/full_name/seed for every algorithm
swaits
2026-05-13 18:37:47 -06:00
6368db74bb
docs(book): permutation toolkit and multi-objective combinatorial cookbook
swaits
2026-05-13 18:37:47 -06:00
ab545e268a
docs(examples): add bi-objective TSP crossover-comparison demo
swaits
2026-05-13 18:37:47 -06:00
de463c2214
docs(examples): add bi-objective TSP, 3-objective JSS, and bi-objective knapsack benchmarks
swaits
2026-05-13 18:37:47 -06:00
fa499bdb6b
docs(examples): add Ulysses16 TSP and FT06 bi-objective JSS benchmarks
swaits
2026-05-13 18:37:47 -06:00
1d1187f20b
feat(operators): expand permutation toolkit
swaits
2026-05-13 18:37:47 -06:00
31e3757ad0
chore: gitignore cargo-mutants output dir
swaits
2026-05-13 18:37:47 -06:00
6371d82f40
docs(0.9): release notes, cookbook recipe, README polish
swaits
2026-05-06 12:24:26 -06:00
729842c260
feat(explorer): JSON export module + supporting metadata + example
swaits
2026-05-06 12:24:26 -06:00
57a43c260e
docs: 0.8.0 release polish — README, guide, changelog
v0.8.0
swaits
2026-05-06 10:31:50 -06:00
cbfedd85fa
feat(async): add run_async to every algorithm in the catalog
swaits
2026-05-06 10:31:50 -06:00
d1288aa623
ci(docs): re-enable GitHub Pages deploy
swaits
2026-05-06 08:58:57 -06:00
af226e3d3b
feat: drop heuropt-plot companion crate
swaits
2026-05-06 08:58:57 -06:00
cfd5207fb6
ci: drop Pages deploy + loosen simplex-projection fuzz tolerance
swaits
2026-05-06 08:29:14 -06:00
ae1daf687d
ci(docs): auto-enable GitHub Pages on first run
swaits
2026-05-06 08:18:16 -06:00
c1bc3b0528
docs(rustdoc): add runnable examples across operators, metrics, and Pareto utilities
swaits
2026-05-06 08:08:39 -06:00
d564f862d7
ci: fix mdbook edition + isolate fuzz crate from workspace
swaits
2026-05-06 08:08:39 -06:00
5b5fe50df3
feat(heuropt-plot): v0.1.0 — SVG visualization companion crate
swaits
2026-05-06 07:56:03 -06:00
6368ca5f3d
feat(async): AsyncProblem trait + run_async on RandomSearch and DifferentialEvolution
swaits
2026-05-06 07:53:21 -06:00
8cf518200a
feat(heuropt-plot): v0.1.0 — SVG visualization companion crate
heuropt-plot-v0.1.0
swaits
2026-05-05 15:23:14 -06:00
41122b7d48
feat: v0.7.0 — async evaluation
v0.7.0
swaits
2026-05-05 15:17:27 -06:00
b0f580841d
feat: v0.6.0 — observer / stop-conditions / tracing / IGD / R2
v0.6.0
swaits
2026-05-05 14:52:00 -06:00
fa3f2e8fb0
feat: v0.5.0 — comprehensive documentation release
v0.5.0
swaits
2026-05-05 14:02:10 -06:00
a9edb0916f
ci(fuzz): drop --locked on cargo install cargo-fuzz
swaits
2026-05-05 13:35:31 -06:00
232dbc0172
chore(release): bump to v0.4.0
v0.4.0
swaits
2026-05-05 12:03:52 -06:00
d60a3c3fe8
perf(pareto_archive): cache oriented + inline dominance checks in insert
swaits
2026-05-05 12:03:52 -06:00
060841d011
build(release): enable thin LTO + codegen-units=1 in release profile
swaits
2026-05-05 12:03:52 -06:00
f01089e9d0
perf(hypervolume): index-sort instead of cloning point vectors
swaits
2026-05-05 12:03:52 -06:00
adf18950dc
perf(spea2): incremental truncation sort + cache compute_fitness inputs
swaits
2026-05-05 12:03:52 -06:00
4c7126070b
perf(age_moea): cache lp_norm + maintain nearest-neighbor incrementally
swaits
2026-05-05 12:03:52 -06:00
214f07975a
perf(non_dominated_sort): cache oriented values + inline pareto_compare
swaits
2026-05-05 12:03:52 -06:00
4745a6bb16
perf(hypervolume): cut HSO recursion overhead by ~30× on n=100/3-D
swaits
2026-05-05 12:03:52 -06:00
345e3ea296
docs(readme): align decision tree with v0.3.0 comparison results
swaits
2026-05-05 11:03:12 -06:00
4a59041d1a
style: apply rustfmt drift across the crate
swaits
2026-05-05 11:03:12 -06:00
84cee3f29e
ci: add GitHub Actions workflow with full feature matrix and fuzz smoke
swaits
2026-05-05 11:03:12 -06:00
1eab8e4805
docs: add testing section to README and CHANGELOG entries for fuzz, fixes, and CI
swaits
2026-05-05 11:03:12 -06:00
f67b5c5160
fix(pareto): partition NaN-cycle orphan indices into a residual front
swaits
2026-05-05 11:03:12 -06:00
51fc7271b1
fix(operators): make ProjectToSimplex robust to extreme magnitudes
swaits
2026-05-05 11:03:12 -06:00
c7a8f43a99
test(fuzz): add cargo-fuzz harness for Pareto and operator hot paths
swaits
2026-05-05 11:03:12 -06:00
aba9dbf469
build(bench): expand gungraun bench suite to cover every algorithm
swaits
2026-05-05 11:02:01 -06:00
8a8c32f125
test(proptest): massive property-test expansion for every algorithm and operator
swaits
2026-05-05 10:58:13 -06:00
36e1d9d796
test(mutants): add cargo-mutants config for advisory mutation testing
swaits
2026-05-05 10:39:08 -06:00
dcf63316f6
test(proptest): add property-based tests for invariants
swaits
2026-05-05 10:37:31 -06:00
0b31b266ef
build(deps): add gungraun (was iai-callgrind) instruction-count benches
swaits
2026-05-05 10:35:21 -06:00
15d3b2752c
docs(examples): capture full comparison run output as compare-results.md
swaits
2026-05-05 10:30:54 -06:00
6faff0204d
docs(readme): update algorithm-selection decision tree for v0.3.0
swaits
2026-05-05 10:28:51 -06:00
9ae1df68cb
chore(release): roll up v0.3.0 — expensive-eval, gradient-free, multi-fidelity
swaits
2026-05-05 09:59:24 -06:00
bfc2875d62
feat(traits,algorithms): add PartialProblem trait and Hyperband
swaits
2026-05-05 09:57:05 -06:00
27f80fb2a3
feat(traits): add Repair<D> trait + ClampToBounds and ProjectToSimplex impls
swaits
2026-05-05 09:56:04 -06:00
66f6cf6e86
feat(selection): add stochastic_ranking_select for constrained problems
swaits
2026-05-05 09:55:15 -06:00
358e441b36
feat(algorithms): add Tpe (Tree-structured Parzen Estimator)
swaits
2026-05-05 09:53:39 -06:00