Class SQPActiveSetOnlyInequalityConstraintMinimizer
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.general.sqp.activeset.SQPActiveSetMinimizer
-
- dev.nm.solver.multivariate.constrained.general.sqp.activeset.SQPActiveSetOnlyInequalityConstraintMinimizer
-
- All Implemented Interfaces:
Minimizer<ConstrainedOptimProblem,IterativeSolution<Vector>>
,ConstrainedMinimizer<ConstrainedOptimProblem,IterativeSolution<Vector>>
,Optimizer<ConstrainedOptimProblem,IterativeSolution<Vector>>
public class SQPActiveSetOnlyInequalityConstraintMinimizer extends SQPActiveSetMinimizer
This implementation is a modified version of Algorithm 15.2 in the reference to solve a general constrained optimization problem with only inequality constraints. \[ \min_x f(x) \textrm{ s.t.,} \\ c_j(x) = 0, j = 1, 2, ..., q\\ \]
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
SQPActiveSetOnlyInequalityConstraintMinimizer.Solution
This is the solution to a general minimization problem with only inequality constraints using the SQP Active Set algorithm.-
Nested classes/interfaces inherited from class dev.nm.solver.multivariate.constrained.general.sqp.activeset.SQPActiveSetMinimizer
SQPActiveSetMinimizer.VariationFactory
-
-
Field Summary
-
Fields inherited from class dev.nm.solver.multivariate.constrained.general.sqp.activeset.SQPActiveSetMinimizer
epsilon1, epsilon2, maxIterations
-
-
Constructor Summary
Constructors Constructor Description SQPActiveSetOnlyInequalityConstraintMinimizer(double epsilon1, double epsilon2, int maxIterations)
Construct an SQP Active Set minimizer to solve general minimization problems with only inequality constraints.SQPActiveSetOnlyInequalityConstraintMinimizer(double epsilon1, int maxIterations)
Construct an SQP Active Set minimizer to solve general minimization problems with only inequality constraints.SQPActiveSetOnlyInequalityConstraintMinimizer(SQPActiveSetMinimizer.VariationFactory variant, double epsilon1, double epsilon2, int maxIterations)
Construct an SQP Active Set minimizer to solve general minimization problems with only inequality constraints.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IterativeSolution<Vector>
solve(RealScalarFunction f, RealVectorFunction g, GreaterThanConstraints greater)
Minimize a function subject to only inequality constraints.IterativeSolution<Vector>
solve(RealScalarFunction f, GreaterThanConstraints greater)
Minimize a function subject to only inequality constraints.SQPActiveSetOnlyInequalityConstraintMinimizer.Solution
solve(ConstrainedOptimProblem problem)
Solve an optimization problem, e.g.,OptimProblem
.
-
-
-
Constructor Detail
-
SQPActiveSetOnlyInequalityConstraintMinimizer
public SQPActiveSetOnlyInequalityConstraintMinimizer(SQPActiveSetMinimizer.VariationFactory variant, double epsilon1, double epsilon2, int maxIterations)
Construct an SQP Active Set minimizer to solve general minimization problems with only inequality constraints.- Parameters:
variant
- a factory that constructs a new instance ofSQPASVariation
for each problemepsilon1
- a precision parameter: when a number |x| ≤ ε, it is considered 0; for the SQP solverepsilon2
- a precision parameter: when a number |x| ≤ ε, it is considered 0; for the embedded QP solver; suggested value = 0maxIterations
- the maximum number of iterations
-
SQPActiveSetOnlyInequalityConstraintMinimizer
public SQPActiveSetOnlyInequalityConstraintMinimizer(double epsilon1, double epsilon2, int maxIterations)
Construct an SQP Active Set minimizer to solve general minimization problems with only inequality constraints.- Parameters:
epsilon1
- a precision parameter: when a number |x| ≤ ε, it is considered 0; for the SQP solverepsilon2
- a precision parameter: when a number |x| ≤ ε, it is considered 0; for the embedded QP solver; suggested value = 0maxIterations
- the maximum number of iterations
-
SQPActiveSetOnlyInequalityConstraintMinimizer
public SQPActiveSetOnlyInequalityConstraintMinimizer(double epsilon1, int maxIterations)
Construct an SQP Active Set minimizer to solve general minimization problems with only inequality constraints.- Parameters:
epsilon1
- a precision parameter: when a number |x| ≤ ε, it is considered 0maxIterations
- the maximum number of iterations
-
-
Method Detail
-
solve
public IterativeSolution<Vector> solve(RealScalarFunction f, RealVectorFunction g, GreaterThanConstraints greater) throws Exception
Minimize a function subject to only inequality constraints.- Parameters:
f
- the objective function to be minimizedg
- the gradient function for fgreater
- the greater-than-or-equal-to constraints- Returns:
- a solution to the minimization problem
- Throws:
Exception
- when there is an error solving the problem
-
solve
public IterativeSolution<Vector> solve(RealScalarFunction f, GreaterThanConstraints greater) throws Exception
Minimize a function subject to only inequality constraints.- Parameters:
f
- the objective function to be minimizedgreater
- the greater-than-or-equal-to constraints- Returns:
- a solution to the minimization problem
- Throws:
Exception
- when there is an error solving the problem
-
solve
public SQPActiveSetOnlyInequalityConstraintMinimizer.Solution solve(ConstrainedOptimProblem problem) throws Exception
Description copied from interface:Optimizer
Solve an optimization problem, e.g.,OptimProblem
.- Specified by:
solve
in interfaceOptimizer<ConstrainedOptimProblem,IterativeSolution<Vector>>
- Overrides:
solve
in classSQPActiveSetMinimizer
- Parameters:
problem
- an optimization problem- Returns:
- a solution to the optimization problem
- Throws:
Exception
- when there is an error solving the problem
-
-