feat(algorithms): add Tlbo (Teaching-Learning-Based Optimization)
Rao 2011 TLBO: parameter-free single-objective optimizer for Vec<f64>.
The selling point — uniquely among the metaheuristics we ship — is that
it has NO algorithm-specific hyperparameters: no F, CR, w, c1, c2, σ,
mutation rate, etc. Just population_size and generations.
Each generation has two phases:
- **Teacher phase**: identify the best individual (the 'teacher'). For
every learner, compute a 'mean' learner and try replacing it with a
candidate moved toward the teacher by a random fraction, scaled by
the gap between teacher and (TF · mean), where TF ∈ {1, 2}.
- **Learner phase**: each learner picks a random partner and tries
moving toward the better one of the pair. Only successful moves are
kept.
Single-objective only, Vec<f64> only, bounds enforced via clamping.
Tests cover Sphere1D convergence, deterministic reruns, and panic on
multi-objective.
This commit is contained in:
@@ -22,6 +22,7 @@ pub mod simulated_annealing;
|
||||
pub mod sms_emoa;
|
||||
pub mod spea2;
|
||||
pub mod tabu_search;
|
||||
pub mod tlbo;
|
||||
pub mod umda;
|
||||
|
||||
pub use ant_colony_tsp::*;
|
||||
@@ -45,4 +46,5 @@ pub use simulated_annealing::*;
|
||||
pub use sms_emoa::*;
|
||||
pub use spea2::*;
|
||||
pub use tabu_search::*;
|
||||
pub use tlbo::*;
|
||||
pub use umda::*;
|
||||
|
||||
Reference in New Issue
Block a user