A comprehensive Rust library implementing composable state-of-the-art numerical optimization algorithms with WebAssembly support for browser-based optimization.
- Live WASM demo - Run some optimization problems from yout browser
use optimization_solvers::{GradientDescent, BFGS, Newton};
// Run optimization with any solver
let result = solver.minimize(objective_function, max_iterations);
- Documentation - Full Rust API documentation
- Examples - Complete examples for all optimization algorithms
- WASM Documentation - Browser-based optimization with WebAssembly
- Academic resources - Misc of papers/books about numerical optimization
- Gradient Descent - Classic steepest descent
- Projected Gradient - Constrained optimization
- Coordinate Descent - Coordinate-wise optimization
- SPG - Spectral Projected Gradient
- P-Norm Descent - Lp-norm based descent
- BFGS - Broyden-Fletcher-Goldfarb-Shanno
- DFP - Davidon-Fletcher-Powell
- Broyden - Broyden's method
- L-BFGS-B - Limited-memory BFGS with bounds (enable
lbfgsb
feature flag)
- Newton's Method - Classical Newton optimization
- Projected Newton - Constrained Newton
- SPN - Spectral Projected Newton
# Add to Cargo.toml
cargo add optimization-solvers
# Run examples
cargo run --example gradient_descent_example
cargo run --example bfgs_example
# Build for WebAssembly
cd wasm && ./build-wasm.sh
- Multiple Algorithms: 15+ optimization algorithms
- WebAssembly Support: Run in browsers with full performance
- Line Search Methods: Backtracking, More-Thuente, and more
- Bounded Optimization: Support for box constraints
- Comprehensive Examples: Ready-to-run examples for all solvers