Skip to content

fedemagnani/optimization-solvers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Optimization Solvers

A comprehensive Rust library implementing composable state-of-the-art numerical optimization algorithms with WebAssembly support for browser-based optimization.

Quick Start

use optimization_solvers::{GradientDescent, BFGS, Newton};

// Run optimization with any solver
let result = solver.minimize(objective_function, max_iterations);

📚 Documentation & Resources

🧮 Solver Categories

First-Order Methods

Quasi-Newton Methods

  • 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)

Second-Order Methods

🚀 Getting Started

# 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

📦 Features

  • 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

About

Composable numerical solvers for unconstrained and simple-bounds constrained convex optimization problems in Rust. WASM compatible

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published