Package: sezgi 0.1.6

sezgi: Metaheuristic Optimization with a 'Rust' Core

Build and run metaheuristic optimization algorithms as serializable component graphs executed by a 'Rust' core, with reproducible, bit-exact trajectories shared across the 'R' and 'Python' frontends. Includes population and local-search algorithm presets, standard benchmark suites (BBOB, CEC 2014/2017/2022, TSP), multi-objective indicators, structural-bias diagnostics and statistical comparison tools.

Authors:Tolga Berber [aut, cre], Beyzanur Siyah [aut], Emir Karayağız [aut], The authors of the dependency Rust crates [ctb]

sezgi_0.1.6.tar.gz
sezgi_0.1.6.zip(r-4.7-x86_64)sezgi_0.1.6.zip(r-4.7-arm64)sezgi_0.1.6.zip(r-4.6-x86_64)sezgi_0.1.6.zip(r-4.6-arm64)sezgi_0.1.6.zip(r-4.5-x86_64)
sezgi_0.1.6.tgz(r-4.6-x86_64)sezgi_0.1.6.tgz(r-4.6-arm64)sezgi_0.1.6.tgz(r-4.5-x86_64)sezgi_0.1.6.tgz(r-4.5-arm64)
sezgi_0.1.6.tar.gz(r-4.7-arm64)sezgi_0.1.6.tar.gz(r-4.7-x86_64)sezgi_0.1.6.tar.gz(r-4.6-arm64)sezgi_0.1.6.tar.gz(r-4.6-x86_64)
sezgi_0.1.6.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
sezgi/json (API)

# Install 'sezgi' in R:
install.packages('sezgi', repos = c('https://tdelphi1981.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/tdelphi1981/sezgi/issues

On CRAN:

Conda:

rustcargo

2.72 score 35 scripts 269 downloads 129 exports 1 dependencies

Last updated from:4868fb10b9. Checks:15 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK176
linux-devel-x86_64OK190
source / vignettesOK320
linux-release-arm64OK135
linux-release-x86_64OK179
macos-release-arm64OK119
macos-release-x86_64OK325
macos-oldrel-arm64OK153
macos-oldrel-x86_64OK269
windows-devel-arm64OK301
windows-devel-x86_64OK261
windows-release-arm64OK318
windows-release-x86_64OK226
windows-oldrel-x86_64OK242
wasm-releaseOK176

Exports:AlgorithmAntLionArtificialBeeColonyBatAlgorithmCMAESCMAESIpopCuckooSearchDifferentialEvolutionEvolutionStrategyFeatureSelectionFireflyAlgorithmFlowerPollinationGeneticAlgorithmGrasshopperOptimizationGravitationalSearchGreyWolfOptimizerHarmonySearchHarrisHawksJAYALocalSearchLSHADEMixedTuningMothFlameOptimizationNelderMeadNSGA2ParticleSwarmPopulationAlgorithmProblemRandomSearchSalpSwarmsezgi_versionSHADESimulatedAnnealingSineCosineAlgorithmsz_algo_solvesz_algorithmsz_as_problemsz_bayesian_plackett_lucesz_bias_centralsz_bias_reportsz_bias_structuralsz_bias_structural_positionssz_binarysz_builtin_bbobsz_categoricalsz_cec2014_evaluatesz_cec2014_f_starsz_cec2017_evaluatesz_cec2017_f_starsz_cec2022_evaluatesz_cec2022_f_starsz_coco_exportsz_ecdfsz_eval_sessionsz_eval_session_cec2014sz_eval_session_cec2017sz_eval_session_cec2022sz_eval_session_f0sz_eval_session_tspsz_floatsz_intsz_mo_evaluatesz_mo_evaluate_constraintssz_mo_hypervolumesz_mo_hypervolume_2dsz_mo_igdsz_mo_pareto_frontsz_mo_read_moasz_nsga2sz_per_budget_packagessz_permutationsz_preset_abcsz_preset_alosz_preset_batsz_preset_cmaessz_preset_cmaes_ipopsz_preset_cuckoo_searchsz_preset_de_best_1sz_preset_de_rand_1sz_preset_es_mu_plus_lambdasz_preset_fireflysz_preset_fpasz_preset_ga_binsz_preset_ga_catsz_preset_ga_intsz_preset_ga_permsz_preset_ga_realsz_preset_goasz_preset_gsasz_preset_gwosz_preset_harmony_searchsz_preset_hhosz_preset_jayasz_preset_jdesz_preset_lshadesz_preset_mfosz_preset_nelder_meadsz_preset_psosz_preset_random_searchsz_preset_sasz_preset_scasz_preset_shadesz_preset_ssasz_preset_tlbosz_preset_woasz_read_ioh_recordssz_results_matrixsz_run_experimentsz_solve_bbobsz_solve_cat_matchsz_solve_cec2014sz_solve_cec2017sz_solve_cec2022sz_solve_int_quadraticsz_solve_mixed_diagnosticsz_solve_onemaxsz_solve_tspsz_spacesz_stats_bayesian_signed_ranksz_stats_cliffs_deltasz_stats_cliffs_magnitudesz_stats_friedmansz_stats_paper_packagesz_stats_plackett_lucesz_stats_wilcoxonsz_tsp_loadsz_tsp_tour_lengthTLBOWhaleOptimization

Dependencies:R6

Readme and manuals

Help Manual

Help pageTopics
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