optimization-solvers

Crates.iooptimization-solvers
lib.rsoptimization-solvers
version0.1.1
created_at2025-02-16 21:56:25.775263+00
updated_at2025-07-08 20:29:37.38073+00
descriptionNumerical optimization solvers for unconstrained and simple-bounds constrained convex optimization problems. Wasm compatible
homepage
repositoryhttps://github.com/fedemagnani/optimization-solvers
max_upload_size
id1558176
size2,269,070
Federico Magnani (fedemagnani)

documentation

README

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

Commit count: 33

cargo fmt