DSMGA-II
High-performance Rust implementation of DSMGA-II with automatic linkage learning for discrete optimization.
Quick Start
use ;
let fitness_fn = OneMax;
let mut ga = new
.population_size
.max_generations
.build;
ga.run;
println!;
Features
- Automatic linkage learning with two-edge model
- Parallel fitness evaluation and linkage building
- Optional greedy hill climbing
- Checkpoint save/resume support
- Iterator and callback interfaces
Usage
Configuration
let mut ga = new
.population_size
.max_generations
.use_ghc
.seed
.build;
Iteration
for state in ga.take
Callbacks
ga.run_with;
Checkpoints
ga.save_checkpoint?;
let checkpoint = load_checkpoint?;
let mut ga = from_checkpoint;
Custom Fitness Functions
use FitnessFunction;
;
Architecture
src/dsmga2/
├── mod.rs # Main algorithm
├── config.rs # Configuration
├── population.rs # Population & GHC
├── linkage.rs # Linkage learning
├── selection.rs # Tournament selection
├── mixing.rs # Restricted mixing
└── convergence.rs # Convergence detection
Examples & Tools
Run examples:
CLI tools:
Testing