| Subclassable R6 base for an engine-hosted algorithm. | Algorithm |
| Differential Evolution - delegates to `sz_preset_de_rand_1` (default, DE/rand/1/bin), `sz_preset_de_best_1` (DE/best/1/bin), or `sz_preset_jde` (self-adaptive jDE), selected by `variant` (one of `"rand_1"`, `"best_1"`, `"jde"`) at `$new()` time. All three presets share the identical `(pop_size, budget)` signature, so `variant` is the only dispatch axis - no problem introspection needed (unlike [GeneticAlgorithm]'s space-driven auto-dispatch). | DifferentialEvolution |
| The ask/tell evaluation session - see the module doc. | EvalSession |
| Binary feature-selection search over a 2D dataset's columns. | FeatureSelection |
| Genetic Algorithm - auto-dispatches to `sz_preset_ga_real`/`ga_perm`/ `ga_bin`/`ga_int`/`ga_cat` (`R/000-wrappers.R`) based on `problem`'s own search space, read via `prob$space()`/`.sz_space_to_blocks()`: | GeneticAlgorithm |
| Family base for single-trajectory local search (hill-climbing/ SA-shaped). | LocalSearch |
| The general "tune anything" door: binds a caller-supplied `objective(x) -> numeric(1)` over ANY declared `sz_space(...)` - a single block (`sz_float(...)`, `sz_categorical(...)`, ...) or a multi-block space. `evaluate(x)` delegates to `objective` UNCHANGED - `x`'s exact shape follows [Problem]'s own genotype conversion table (a bare converted value for a single-block space, an unnamed `list` of per-block converted values in `space()`'s own block order for a multi-block one). | MixedTuning |
| Class skin over [sz_nsga2()] (`R/mo.R`) - NOT one of the 34 `sz_preset_*` builders (NSGA-II is not built on the scalar Engine/Registry/Generator/AlgorithmSpec machinery every `sz_preset_*` targets, see this file's own module doc). ZERO new MO capability: `$run()` delegates to `sz_nsga2()` VERBATIM, same positional/keyword arguments, same return value shape. | NSGA2 |
| Family base for population-style algorithms (GA/DE/ES-shaped). | PopulationAlgorithm |
| Prints an `sz_block` object (any of the five block kinds). | print.sz_block |
| Prints an `sz_result` object. | print.sz_result |
| Prints an `sz_space` object. | print.sz_space |
| Subclassable R6 base for a search-space problem. | Problem |
| Version of the underlying sezgi Rust core. | sezgi_version |
| Drives an `sz_algorithm` over an `EvalSession` to exhaustion. | sz_algo_solve |
| Declares a pure-R metaheuristic algorithm to run over an `EvalSession`. | sz_algorithm |
| Accepts a `Problem` subclass instance. | sz_as_problem |
| Bayesian Plackett-Luce posterior via Gibbs sampling. | sz_bayesian_plackett_luce |
| Central-bias scan: run an algorithm spec on paired centered/shifted BBOB conditions and test whether its performance gap differs between them (Kudela's center-bias-exploitation method). See `crates/bias/src/central.rs` for the full method provenance. | sz_bias_central |
| One-call bias report: runs both the structural and central bias scans on one algorithm spec and assembles a single report with a ready-to-paste LaTeX summary table. See `crates/bias/src/report.rs` for the full assembly/LaTeX-rendering details. | sz_bias_report |
| Structural-bias scan: run an algorithm spec repeatedly on the f0 random-function null problem and test its final positions for departure from uniformity (BIAS-toolbox method; Kononova et al. 2015 / Vermetten et al. 2022). See `crates/bias/src/structural.rs` for the full method provenance. | sz_bias_structural |
| Statistics-only structural-bias scan over externally-collected final positions - the bias bridge for algorithms authored OUTSIDE this package's own spec/engine (M3-5 Task 6), e.g. a pure-R 'sz_algorithm' driven by 'sz_algo_solve' over 'sz_eval_session_f0', one run at a time. Runs the SAME KS/AD/ Holm battery as 'sz_bias_structural' over caller-supplied `final_positions` instead of driving an algorithm spec through the engine itself - see 'crates/bias/src/structural.rs''s `scan_from_positions` for the full method provenance. Mirrors py-sezgi's `sezgi.bias.structural_positions()` 1:1. | sz_bias_structural_positions |
| A binary block: `n` bits. | sz_binary |
| A built-in-problem descriptor for [Algorithm]'s `run()`. | sz_builtin_bbob |
| A categorical block: `n` genes, each a category index in `0..k`. | sz_categorical |
| Direct, one-shot evaluation of a CEC 2014 (Liang, Qu & Suganthan 2013) function at `x`, bypassing `sz_solve_bbob`-style budget/engine machinery entirely - binds [`Cec2014::new`] + [`Cec2014::evaluate_batch`] exactly. Mirrors `sz_cec2022_evaluate` (M3-6 Task 10 - see py-sezgi's `sezgi.problems.cec2014_evaluate` for the identical binding on the Python side). See [`Cec2014::new`]'s own doc for the exact `fid`/`dim` domain. | sz_cec2014_evaluate |
| The report's pinned `F_i*` bias for a CEC 2014 function - binds [`Cec2014::f_star`] (`F_i* = 100*fid`). Does not depend on `dim`, so an internal probe `dim = 10` is used purely to validate `fid`. | sz_cec2014_f_star |
| Direct, one-shot evaluation of a CEC 2017 (Awad, Ali, Liang, Qu & Suganthan 2016) function at `x`, bypassing `sz_solve_bbob`-style budget/engine machinery entirely - binds [`Cec2017::new`] + [`Cec2017::evaluate_batch`] exactly. Mirrors `sz_cec2014_evaluate` (M3-6 Task 10 - see py-sezgi's `sezgi.problems.cec2017_evaluate` for the identical binding on the Python side). See [`Cec2017::new`]'s own doc for the exact `fid`/`dim` domain. | sz_cec2017_evaluate |
| The report's pinned `F_i*` bias for a CEC 2017 function - binds [`Cec2017::f_star`] (`F_i* = 100*fid`, the fid-gapped C dispatch bias, not the report's contiguous renumbering - see `Cec2017::new`'s own module doc). Does not depend on `dim`, so an internal probe `dim = 10` is used purely to validate `fid`. | sz_cec2017_f_star |
| Direct, one-shot evaluation of a CEC 2022 function at `x`, bypassing `sz_solve_bbob`-style budget/engine machinery entirely - binds [`Cec2022::new`] + [`Cec2022::evaluate_batch`] exactly. See `Cec2022::new`'s own doc for the exact `fid`/`dim` domain. | sz_cec2022_evaluate |
| The report's pinned `F_i*` bias for a CEC 2022 function - binds [`Cec2022::f_star`] (module doc section 1.2's table). `f_star` does not depend on `dim`, so an internal probe `dim = 10` is used purely to validate `fid` (every `fid` in `1..=12` accepts `dim = 10`, hybrids included). | sz_cec2022_f_star |
| Exports the IOH archive at `log_root` as a COCO/BBOB "old format" archive rooted at `out_dir` - see `sezgi_bench::coco_export`. Returns the list of written file paths (as strings), sorted for determinism. | sz_coco_export |
| ECDF/anytime curve(s) over an on-disk IOH archive. | sz_ecdf |
| Start an ask/tell evaluation session over a BBOB problem. | sz_eval_session |
| Start an ask/tell evaluation session over a CEC 2014 problem. | sz_eval_session_cec2014 |
| Start an ask/tell evaluation session over a CEC 2017 problem. | sz_eval_session_cec2017 |
| Start an ask/tell evaluation session over a CEC 2022 problem. | sz_eval_session_cec2022 |
| Start an ask/tell evaluation session over the f0 BIAS-toolbox null problem. | sz_eval_session_f0 |
| Start an ask/tell evaluation session over a vendored TSPLIB (TSP) instance. | sz_eval_session_tsp |
| A continuous block: `n` coordinates, each in `[lo, hi]`. | sz_float |
| An integer block: `n` coordinates, each in `[lo, hi]` (inclusive). | sz_int |
| Direct, one-shot objective evaluation of a decision vector `x` against any `sz_mo_*` problem string, bypassing `sz_nsga2()`'s population/budget machinery entirely. Added (M3-7) so fixture-value tests can pin an exact `x` (`sz_nsga2()`'s randomly-initialized population cannot), mirroring the existing `sz_cec2022_evaluate()`/`sz_cec2014_evaluate()`/ `sz_cec2017_evaluate()` one-shot-evaluation convention. | sz_mo_evaluate |
| The matching one-shot constraint-row evaluation for `sz_mo_evaluate()`, same calling convention. | sz_mo_evaluate_constraints |
| General-M exact hypervolume (While, Bradstreet & Barone 2012, the WFG algorithm; `M == 2` delegates internally to the SAME [`sezgi_stats::hypervolume_2d`]) - binds [`sezgi_stats::hypervolume`] (M3-7 Task 8/11). Unlike `sz_mo_hypervolume_2d`, `front`/`ref_point` may have any number `M >= 1` of objectives. | sz_mo_hypervolume |
| Exact 2-objective hypervolume (Zitzler & Thiele 1999 S-metric, reference-point variant; minimization) - binds [`sezgi_stats::hypervolume_2d`] exactly. See that function's doc for the pinned definition. | sz_mo_hypervolume_2d |
| Inverted Generational Distance (Ishibuchi et al. 2015, eq. 12, `p = 1`) - binds [`sezgi_stats::igd`] exactly. Any (equal, consistent) number of objectives across both `front` and `reference_front`. | sz_mo_igd |
| A deterministic `n`-point sample of the analytic Pareto front in OBJECTIVE space, if known. See `MoProblem::pareto_front` in `crates/core/src/mo.rs`. | sz_mo_pareto_front |
| Reads a "sezgi-moa v1" archive file written by `sz_nsga2(..., log_dir =, label =)` (M3-7 Task 9/11) - binds [`sezgi_bench::read_moa`]. Returns a named list: - `algo` (character): the logging algorithm name - always `"nsga2"` today (`nsga2_run_logged`'s own fixed `NSGA2_ALGO_NAME`). - `problem` (character): the `label` `sz_nsga2` was called with. **Kept as the literal on-disk header key name** (`crates/bench/src/mo_archive.rs`'s own format grammar: the header line is `problem <label>`, not `label <label>`) rather than renamed here to `"label"` - this binding stays a thin, direct mirror of `MoArchiveRun`'s own field names, so a reader cross-checking against the Rust struct (or the Python binding, M3-7 Task 10) sees the SAME key everywhere. - `m`, `seed`, `budget` (double, whole-number-valued - R has no native integer64). - `kind` (character): `"float"` or `"binary"`. - `records` (list, in file/eval order): each entry a named list with `eval_index` (double), `objectives` (numeric vector), `genotype` (numeric vector for `kind = "float"`, `logical` vector for `kind = "binary"` - see this module's own doc, "Container-idiom decisions"). - `archive` (list of numeric vectors): the reconstructed nondominated archive at evaluation budget `at`, via `MoArchiveRun::archive_at`. | sz_mo_read_moa |
| NSGA-II (Deb, Pratap, Agarwal & Meyarivan 2002) run on a ZDT/DTLZ/WFG multi-objective test problem. See `crates/components/src/nsga2.rs` for the full algorithm provenance. | sz_nsga2 |
| Build one paper-package statistics list PER DISTINCT BUDGET present in a `sz_run_experiment()` data.frame, in ascending budget order. | sz_per_budget_packages |
| A permutation block: one permutation of `0..n`. | sz_permutation |
| Builds an Artificial Bee Colony spec (Karaboga 2005, TR-06 / Karaboga & Basturk 2007, Journal of Global Optimization - a labeled metaphor preset; see `crates/components/src/abc.rs`'s module doc for the full provenance extraction against the author's own `ABCorig.m` plus the official `Python_ABC` port, the pop<->food-source convention resolution, the fitness-transform monotonicity proof, and the phase-design adjudication - a SINGLE stage, not two symmetric stages like `tlbo`: `gen/abc-employed` + the new `replace/abc-trial-greedy`, plus the new `adapter/abc-onlooker-scout` folding the onlooker AND scout phases together) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_abc |
| Builds an Ant Lion Optimizer spec (Mirjalili 2015, Advances in Engineering Software - a labeled metaphor preset; see `crates/components/src/alo.rs`'s module doc for the full provenance extraction against the author's own `ALO.m`/`Random_walk_around_ antlion.m`/`RouletteWheelSelection.m`, the faithful-full-walk cost decision, and the elitism design adjudication - the antlion population itself is the persisted memory via `replace/mu-plus-lambda`, no blackboard state needed) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_alo |
| Builds a Bat Algorithm spec (Yang, X.-S. 2010, NICSO - a labeled metaphor preset, see `crates/components/src/ba.rs`'s module doc for the tier note, citation, the verified `bat_algorithm.m` loop structure, the verified fixed-loudness/pulse-rate finding, the two composing sign-inversion deltas in the frequency draw and velocity term, and the design adjudication for the new `replace/bat-loudness-greedy` acceptance-coupled replacer) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_bat |
| Table-driven preset-backed algorithm wrapper classes. | AntLion ArtificialBeeColony BatAlgorithm CMAES CMAESIpop CuckooSearch EvolutionStrategy FireflyAlgorithm FlowerPollination GrasshopperOptimization GravitationalSearch GreyWolfOptimizer HarmonySearch HarrisHawks JAYA LSHADE MothFlameOptimization NelderMead ParticleSwarm RandomSearch SalpSwarm SHADE SimulatedAnnealing SineCosineAlgorithm sz_preset_classes TLBO WhaleOptimization |
| Builds a (mu/mu_w,lambda)-CMA-ES algorithm spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_cmaes |
| Builds a CMA-ES with IPOP-style stagnation restarts algorithm spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_cmaes_ipop |
| Builds a Cuckoo Search algorithm spec (Yang & Deb 2009 - a labeled metaphor preset, see `crates/components/src/cs.rs`'s module doc for the tier note, citation and pinned draw order) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_cuckoo_search |
| Builds a DE/best/1/bin algorithm spec (uniform init, clamp boundary, one-to-one-greedy replacement) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_de_best_1 |
| Builds a DE/rand/1/bin algorithm spec (uniform init, clamp boundary, one-to-one-greedy replacement) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_de_rand_1 |
| Builds a (mu/mu_w,lambda)-ES algorithm spec (mutation step drawn from `dist`) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_es_mu_plus_lambda |
| Builds a Firefly Algorithm (Yang, X.-S., *Nature-Inspired Metaheuristic Algorithms*, 2nd ed., Luniver Press, 2010 - a labeled metaphor preset, see `crates/components/src/fa.rs`'s module doc for the tier note, citation, the verified `fa_ndim.m`/`ffa_move.m` loop structure, the floored attractiveness formula, the closed-form `alpha` decay, and the hybrid in-place-self/live-distance/frozen-target double-loop semantics) spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_firefly |
| Builds a Flower Pollination Algorithm spec (Yang, X.-S. 2012, UCNC - a labeled metaphor preset, see `crates/components/src/fpa.rs`'s module doc for the tier note, citation, the verified `fpa_demo.m` loop structure, the switch-branch orientation delta, the global-step sign delta reusing `cs.rs`'s `cs_dim_step` verbatim, the local-step self-selection-not- excluded finding, and the min_pop adjustment from 3 down to 2) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_fpa |
| Builds a Binary-space GA spec (tournament selection, uniform crossover, bit-flip mutation - `gen/ga-bin` + `replace/mu-plus-lambda`) as JSON, ready to pass to `sz_solve_onemax()`. Binds [`sezgi_components::presets::ga_bin`] exactly - M3-8 Task 10, mirroring py-sezgi's `sezgi.presets.ga_bin` (M3-8 Task 9). | sz_preset_ga_bin |
| Builds a Categorical-space GA spec (tournament selection, uniform crossover, random-reset mutation - `gen/ga-cat` + `replace/mu-plus-lambda`) as JSON, ready to pass to `sz_solve_cat_match()`. Binds [`sezgi_components::presets::ga_cat`] exactly - M3-8 Task 10, mirroring py-sezgi's `sezgi.presets.ga_cat` (M3-8 Task 9). | sz_preset_ga_cat |
| Builds an Int-space GA spec (tournament selection, SBX-style integer crossover, polynomial-style integer mutation - `gen/ga-int` + `replace/mu-plus-lambda`) as JSON, ready to pass to `sz_solve_int_quadratic()`. Binds [`sezgi_components::presets::ga_int`] exactly - M3-8 Task 10, mirroring py-sezgi's `sezgi.presets.ga_int` (M3-8 Task 9). | sz_preset_ga_int |
| Builds a permutation-space GA spec (tournament selection, order crossover, swap mutation - `gen/ga-perm` + `replace/mu-plus-lambda`) as JSON, ready to pass to `sz_solve_tsp()`. Binds [`sezgi_components::presets::ga_perm`] exactly - same preset py-sezgi's `sezgi.presets.ga_perm` binds (M3-3 Task 9). | sz_preset_ga_perm |
| Builds a real-coded GA (SBX crossover, polynomial mutation) algorithm spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_ga_real |
| Builds a Grasshopper Optimisation Algorithm spec (Saremi, Mirjalili & Lewis 2017 - a labeled metaphor preset, see `crates/components/src/goa.rs`'s module doc for the tier note, citation, the IMPLEMENTER-VERIFY distance-normalization resolution and the zero-RNG-draw arithmetic-order pin) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_goa |
| Builds a Gravitational Search Algorithm spec (Rashedi, Nezamabadi-pour & Saryazdi 2009, Information Sciences - a labeled metaphor preset, and the wave's LAST stateful/blackboard algorithm; see `crates/components/src/gsa.rs`'s module doc for the full provenance extraction against the author's own `GSA.m`/`Gconstant.m`/ `massCalculation.m`/`Gfield.m`/`move.m`, the verified `M_i`-free force delta, and the confirmation that GSA's own `Fbest`/`Lbest` never feed back into the mechanism) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_gsa |
| Builds a Grey Wolf Optimizer algorithm spec (Mirjalili, Mirjalili & Lewis 2014 - a labeled metaphor preset, see `crates/components/src/gwo.rs`'s module doc for the tier note and citations) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_gwo |
| Builds a Harmony Search algorithm spec (Geem, Kim & Loganathan 2001 - a labeled metaphor preset, see `crates/components/src/hs.rs`'s module doc for the tier note and citations) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_harmony_search |
| Builds a Harris Hawks Optimization spec (Heidari, Mirjalili, Faris, Aljarah, Mafarja & Chen 2019, Future Generation Computer Systems - a labeled metaphor preset, and the wave's most structurally complex one: a multi-branch escape-energy tree whose progressive rapid-dive sub-branches evaluate mid-`generate()`. See `crates/components/src/hho.rs`'s module doc for the full provenance extraction against the paper author's own `HHO.m`, the hard/soft besiege mapping delta, the mean(X)/random-hawk in-place semantics, and the prominent in-generator-evaluation eval-accounting design decision) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_hho |
| Builds a JAYA spec (Rao 2016 - a labeled metaphor preset, see `crates/components/src/jaya.rs`'s module doc for the tier note, citation, the primary-paper-verified worked-example reproduction, the shared-per-dimension-per-generation `r1`/`r2` draw finding and the greedy-replacement delta vs mealpy's misleadingly-named `OriginalJA`) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_jaya |
| Builds a jDE algorithm spec (self-adaptive F/CR DE) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_jde |
| Builds an L-SHADE algorithm spec (population linearly reduced from `18 * dim`) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_lshade |
| Builds an MFO (Moth-Flame Optimization; Mirjalili 2015 - a labeled metaphor preset, see `crates/components/src/mfo.rs`'s module doc for the tier note, citation, the verified `MFO.m` loop structure, the two subtle draw/index deltas found vs the plan's sketch, and the blackboard flame-memory design) spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_mfo |
| Builds a Nelder-Mead simplex algorithm spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_nelder_mead |
| Builds a PSO (Clerc-Kennedy constriction) algorithm spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_pso |
| Builds a random search algorithm spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_random_search |
| Builds a simulated annealing (Metropolis, geometric cooling) algorithm spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_sa |
| Builds a Sine Cosine Algorithm spec (Mirjalili 2016 - a labeled metaphor preset, see `crates/components/src/sca.rs`'s module doc for the tier note, citation, the `SCA.m`-verified pinned draw order and the mealpy-`OriginalSCA` replacer delta) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_sca |
| Builds a SHADE algorithm spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_shade |
| Builds an SSA (Salp Swarm Algorithm; Mirjalili et al. 2017 - a labeled metaphor preset, see `crates/components/src/ssa.rs`'s module doc for the tier note, citation, the verified `SSA.m` half-population leader/follower split, the leader sign-branch pin, the verified in-place follower-chain semantics, and the persisted-food-vs-current-pop-best delta) spec as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_ssa |
| Builds a Teaching-Learning-Based Optimization spec (Rao, Savsani & Vakharia 2011, Computer-Aided Design - a labeled metaphor preset, and sezgi's FIRST multi-stage preset: two `[[stages]]` (teacher, then learner) run in sequence every generation. See `crates/components/src/tlbo.rs`'s module doc for the full provenance extraction against Yarpiz's `tlbo.m` - explicitly labeled third-party, not Rao's own code - the per-learner teaching-factor finding, the unconditionally-distinct partner-selection finding, the min_pop adjustment from 3 down to 2, and the "parameter-free" framing's Črepinšek/Liu/Mernik (2012) counterpoint) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_tlbo |
| Builds a Whale Optimization Algorithm spec (Mirjalili & Lewis 2016 - a labeled metaphor preset, see `crates/components/src/woa.rs`'s module doc for the tier note and citations) as JSON, ready to pass to `sz_solve_bbob()`. | sz_preset_woa |
| Reconstructs `RunRecord`s from an on-disk IOH archive at `log_root` (as written by `sz_run_experiment(..., log_dir = ...)`), one record per `(run, budget)` pair - see `sezgi_bench::ioh_records`'s doc comment for the exact `best_f`/`evals_used` semantics and the curtailed-view-vs- independent-run distinction for budgets smaller than a run's logged budget. | sz_read_ioh_records |
| Build a `sezgi_stats`-shaped results matrix for one `budget` from a `sz_run_experiment()` data.frame. | sz_results_matrix |
| Run a sezgi experiment spec across algorithms x problems x instances x seeds x budgets. | sz_run_experiment |
| Runs an algorithm spec on a BBOB problem and returns the result. | sz_solve_bbob |
| Runs an algorithm spec on [`CatMatch`] (a Categorical-block Hamming- distance-to-target matching problem; `sezgi_problems::diagnostics::CatMatch`) and returns the result - M3-8 Task 10, mirroring `sz_solve_onemax` exactly. Pairs with `sz_preset_ga_cat(...)`. Diagnostic only, see `CatMatch`'s own module doc. | sz_solve_cat_match |
| Runs an algorithm spec on a CEC 2014 (Liang, Qu & Suganthan 2013) function via [`Cec2014::new`] and returns the result - M3-6 Task 10, mirroring `sz_solve_cec2022` exactly (`Engine::from_spec` + `engine.run` + result conversion): same `best_f`/`evals`/`best_x` shape. See [`Cec2014::new`]'s own doc for the exact `fid`/`dim` domain. | sz_solve_cec2014 |
| Runs an algorithm spec on a CEC 2017 (Awad, Ali, Liang, Qu & Suganthan 2016) function via [`Cec2017::new`] and returns the result - M3-6 Task 10, mirroring `sz_solve_cec2014` exactly. See [`Cec2017::new`]'s own doc for the exact `fid`/`dim` domain. | sz_solve_cec2017 |
| Runs an algorithm spec on a CEC 2022 (Kumar, Price, Mohamed, Hadi & Suganthan 2021) function via [`Cec2022::new`] and returns the result - added later than the rest of the CEC surface, closing the gap where r-sezgi previously bound only direct evaluation (`sz_cec2022_evaluate`/`sz_cec2022_f_star`), with no `solve()`-integrated path, unlike py-sezgi's `sezgi.problems.cec2022(...)` + `sezgi.solve()`. Mirrors `sz_solve_bbob`/`sz_solve_tsp` exactly (`Engine::from_spec` + `engine.run` + result conversion): same `best_f`/`evals`/`best_x` shape, not py-sezgi's own `solve()` dict shape (`best_f`/`best_x`/`evals_used`/ `iterations`) - the established r-sezgi `sz_solve_*` convention governs here too. See `Cec2022::new`'s own doc for the exact `fid`/`dim` domain. | sz_solve_cec2022 |
| Runs an algorithm spec on [`IntQuadratic`] (an Int-block quadratic bowl around a fixed, deterministically-derived target; `sezgi_problems::diagnostics::IntQuadratic`) and returns the result - M3-8 Task 10, mirroring `sz_solve_onemax` exactly. Pairs with `sz_preset_ga_int(...)`. Diagnostic only, see `IntQuadratic`'s own module doc. | sz_solve_int_quadratic |
| Runs an algorithm spec on [`MixedDiagnostic`] (this file's own Float+Int+Categorical+Binary mixed-space scaffold problem, see its own doc) and returns the result - M3-8 Task 10. Added SOLELY so `gen/compound` (Task 5) is reachable end to end through the NORMAL R solve path, proven with a mixed-space `AlgorithmSpec` authored as TOML (this task's own test) - UNLIKE its three siblings above (which take `spec_json`, pairing with `sz_preset_ga_bin/ga_int/ga_cat`'s own `.to_json()` presets), this function takes `spec_toml` directly and parses it via [`AlgorithmSpec::from_toml`], the SAME entry point `sz_run_experiment_raw`'s `ExperimentSpec::from_toml` already establishes the "hand a raw TOML document straight to the Rust core" convention for (`experiment.rs`) - no R-side TOML library exists or is needed (r-sezgi has none in `DESCRIPTION`'s `Suggests`; unlike py-sezgi's test, which parses TOML with the stdlib's own `tomllib` into a dict before handing it to `solve()`, R has no such stdlib module, so parsing happens in Rust instead - `AlgorithmSpec::from_toml`/`::from_json` are just two serializations of the identical schema, so this is not a private shortcut, only a different serialization entry point already used elsewhere in this same file's crate). Mirrors `sz_solve_onemax` otherwise, EXCEPT `run_id` is dropped (fixed to `0` internally) rather than taken as an explicit parameter - with `spec_toml` this function already sits at 7 R-facing parameters; adding `run_id` would push it to 8 and trip this workspace's `clippy::too_many_arguments` gate (threshold 7, this file's ONE pre-existing exception is `sz_preset_es_mu_plus_lambda_raw`, not to be joined by a second). `run_id = 0` matches how this scaffold is actually exercised (this task's own TOML test, mirroring py-sezgi's `test_gen_compound_mixed_space_toml_spec_ solves_end_to_end`, calls `solve(spec, problem, master_seed=42)` with no `run_id` override either - `solve()`'s own Python signature defaults `run_id=0`). Test scaffolding only - NOT one of Task 5's brief-pinned diagnostics, and (unlike onemax/int_quadratic/cat_match) has no verified target: this file's own convention never surfaces `Problem::optimum()` in a result anyway (see `sz_solve_bbob`'s own `best_f`/`evals`/`best_x` shape), so that caveat needs no separate plumbing here. | sz_solve_mixed_diagnostic |
| Runs an algorithm spec on [`OneMax`] (Goldberg 1989's classic Binary-block GA diagnostic; `sezgi_problems::diagnostics::OneMax`) and returns the result - M3-8 Task 10, mirroring `sz_solve_tsp`/ `sz_solve_cec2022` exactly (`Engine::from_spec` + `engine.run`), except `best_x` is now typed via [`genotype_to_r`] rather than assumed `Float` (see that helper's own doc for the full type-mapping table). Pairs with `sz_preset_ga_bin(...)`. Diagnostic only - not a benchmark, see `OneMax`'s own module doc. | sz_solve_onemax |
| Runs an algorithm spec on a TSPLIB VENDORED instance (`"berlin52"`, `"eil51"`, `"st70"` - via [`Tsp::vendored`]; UNLIKE `sz_tsp_load()`/ `sz_tsp_tour_length()` in `problems.rs`, raw TSPLIB text is not accepted here - mirrors py-sezgi's `sezgi.problems.tsp(name)`, which is likewise vendored-only) and returns the result. Same output shape as `sz_solve_bbob()` (`best_f`/`evals`/`best_x`), not py-sezgi's own `solve()` dict shape (`best_f`/`best_x`/`evals_used`/`iterations`) - the established r-sezgi `sz_solve_*` convention governs here, not py-sezgi's key names (see `problems.rs`'s module doc, "Index-convention decision", for the general 1-based-vs-0-based rule this function's `best_x` also follows). | sz_solve_tsp |
| Composes one or more blocks into a search space, in the given order. | sz_space |
| Bayesian signed-rank test with a region of practical equivalence (ROPE). | sz_stats_bayesian_signed_rank |
| Cliff's delta effect size for two independent (unpaired) samples. | sz_stats_cliffs_delta |
| Qualitative magnitude label for a Cliff's delta value (Romano et al. 2006 thresholds). | sz_stats_cliffs_magnitude |
| Runs the Friedman test on a results matrix. | sz_stats_friedman |
| Comprehensive statistical analysis package for algorithm comparison. | sz_stats_paper_package |
| Plackett-Luce maximum-likelihood ranking (Hunter 2004 MM algorithm; see `sezgi_stats::plackett_luce`). | sz_stats_plackett_luce |
| Wilcoxon signed-rank test for two paired samples (Pratt zero-handling and tie correction; see `sezgi_stats::wilcoxon_signed_rank`). | sz_stats_wilcoxon |
| Loads a TSPLIB `EUC_2D` instance, either a vendored instance name (`"berlin52"`, `"eil51"`, `"st70"`) or raw TSPLIB file text (see [`load_tsp`]). | sz_tsp_load |
| Closed-tour length of a 1-based `tour` (a permutation of `1:n_cities` - see this module's own doc, "Index-convention decision") on the instance named/parsed by `name_or_text` (see [`load_tsp`]), via [`Tsp::evaluate_batch`]'s `nint`-rounded `EUC_2D` sum (`tsp.rs`'s module doc). | sz_tsp_tour_length |
| An owned per-call RNG handle exposed to an R-authored `generate`/ `initialize` callback as the `rng` argument - an external-pointer- backed `#[savvy]` object (`SzRng$new`/`SzRng$from_master`/method closures are all auto-generated by `savvy-cli`, the SAME mechanism `EvalSession` already uses, `session.rs`'s own module doc). Wraps a CLONE of the stage's live `RngStream` - mirrors `PyRng` (`py-sezgi/ src/lib.rs`) exactly: every method here delegates 1:1 to `RngStream`'s own `pub` API (`crates/core/src/rng.rs:16-59`), no new RNG logic. | SzRng |