u-metaheur
Domain-agnostic metaheuristic optimization framework
Overview
u-metaheur provides generic implementations of common metaheuristic algorithms. It contains no domain-specific concepts — scheduling, nesting, routing, etc. are defined by the user through trait implementations.
Algorithms
| Module | Algorithm | Description |
|---|---|---|
ga |
Genetic Algorithm | Population-based evolutionary optimization with pluggable selection, crossover, and mutation operators |
brkga |
BRKGA | Biased Random-Key GA — user implements only a decoder; all evolutionary mechanics are handled generically |
sa |
Simulated Annealing | Single-solution trajectory optimization with pluggable cooling schedules |
alns |
ALNS | Adaptive Large Neighborhood Search — destroy/repair operators with adaptive weight selection |
cp |
Constraint Programming | Domain-agnostic modeling layer for constrained optimization with interval, integer, and boolean variables |
dispatching |
Dispatching | Generic priority rule composition engine for multi-rule item ranking |
Key Traits
// GA — implement these for your domain
// BRKGA — implement only the decoder
// ALNS — implement destroy and repair operators
Features
serde— Enable serde serialization for algorithm parameters
Quick Start
[]
= { = "https://github.com/iyulab/u-metaheur" }
# with serde support
= { = "https://github.com/iyulab/u-metaheur", = ["serde"] }
Build & Test
Dependencies
- u-numflow — Mathematical primitives (statistics, RNG)
rand0.9 — Random number generationrayon1.10 — Parallel computationserde1.0 — Serialization (optional)
License
MIT License — see LICENSE.
Related
- u-numflow — Mathematical primitives
- u-geometry — Computational geometry
- u-schedule — Scheduling framework
- u-nesting — 2D/3D nesting and bin packing