Expand description
Constrained optimization algorithms
This module provides methods for constrained optimization of scalar functions of one or more variables.
§Example
ⓘ
use ndarray::{array, Array1};
use scirs2_optimize::constrained::{minimize_constrained, Method, Constraint};
// Define a simple function to minimize
fn objective(x: &[f64]) -> f64 {
(x[0] - 1.0).powi(2) + (x[1] - 2.5).powi(2)
}
// Define a constraint: x[0] + x[1] <= 3
fn constraint(x: &[f64]) -> f64 {
3.0 - x[0] - x[1] // Should be >= 0
}
// Minimize the function starting at [0.0, 0.0]
let initial_point = array![0.0, 0.0];
let constraints = vec![Constraint::new(constraint, Constraint::INEQUALITY)];
let result = minimize_constrained(
objective,
&initial_point,
&constraints,
Method::SLSQP,
None
)?;
// The constrained minimum should be at [0.5, 2.5]
Re-exports§
pub use augmented_lagrangian::minimize_augmented_lagrangian;
pub use augmented_lagrangian::minimize_equality_constrained;
pub use augmented_lagrangian::minimize_inequality_constrained;
pub use augmented_lagrangian::AugmentedLagrangianOptions;
pub use augmented_lagrangian::AugmentedLagrangianResult;
pub use cobyla::minimize_cobyla;
pub use interior_point::minimize_interior_point;
pub use interior_point::minimize_interior_point_constrained;
pub use interior_point::InteriorPointOptions;
pub use interior_point::InteriorPointResult;
pub use slsqp::minimize_slsqp;
pub use trust_constr::minimize_trust_constr;
Modules§
- augmented_
lagrangian - Augmented Lagrangian methods for constrained optimization
- cobyla
- COBYLA (Constrained Optimization BY Linear Approximations) algorithm
- interior_
point - Interior point methods for constrained optimization
- slsqp
- SLSQP (Sequential Least SQuares Programming) algorithm for constrained optimization
- trust_
constr - Trust-region algorithm for constrained optimization
Structs§
- Constraint
- Constraint type for constrained optimization
- Options
- Options for the constrained optimizer.
Enums§
- Constraint
Kind - The kind of constraint
- Method
- Optimization methods for constrained minimization.
Functions§
- minimize_
constrained - Minimizes a scalar function of one or more variables with constraints.
Type Aliases§
- Constraint
Fn - Type alias for constraint functions that take a slice of f64 and return f64