Class SQPActiveSetMinimizer

  • All Implemented Interfaces:
    Minimizer<ConstrainedOptimProblem,​IterativeSolution<Vector>>, ConstrainedMinimizer<ConstrainedOptimProblem,​IterativeSolution<Vector>>, Optimizer<ConstrainedOptimProblem,​IterativeSolution<Vector>>
    Direct Known Subclasses:
    SQPActiveSetOnlyInequalityConstraintMinimizer

    public class SQPActiveSetMinimizer
    extends Object
    implements ConstrainedMinimizer<ConstrainedOptimProblem,​IterativeSolution<Vector>>
    Sequential quadratic programming (SQP) is an iterative method for nonlinear optimization. SQP methods are used on problems for which the objective function and the constraints are twice continuously differentiable. SQP methods solve a sequence of optimization subproblems, each which optimizes a quadratic model of the objective subject to a linearization of the constraints. If the problem is unconstrained, then the method reduces to Newton's method for finding a point where the gradient of the objective vanishes. If the problem has only equality constraints, then the method is equivalent to applying Newton's method to the first-order optimality conditions, or Karush-Kuhn-Tucker conditions, of the problem. SQP methods are the state of the art in nonlinear programming methods. Schittkowski has shown that SQP can outperform every other tested method in terms of efficiency, accuracy, and percentage of successful solutions, over a large number of test problems. The general minimization problem takes this form. \[ \min_x f(x) \textrm{ s.t.,} \\ a_i(x) = 0, i = 1, 2, ..., p\\ c_j(x) \geq 0, j = 1, 2, ..., q \]
    See Also:
    • Field Detail

      • epsilon1

        protected final double epsilon1
      • epsilon2

        protected final double epsilon2
      • maxIterations

        protected final int maxIterations
    • Constructor Detail

      • SQPActiveSetMinimizer

        public SQPActiveSetMinimizer​(SQPActiveSetMinimizer.VariationFactory variant,
                                     double epsilon1,
                                     double epsilon2,
                                     int maxIterations)
        Construct an SQP Active Set minimizer to solve general minimization problems with inequality constraints.
        Parameters:
        variant - a factory that constructs a new instance of SQPASVariation for each problem
        epsilon1 - a precision parameter: when a number |x| ≤ ε, it is considered 0; for the SQP solver
        epsilon2 - a precision parameter: when a number |x| ≤ ε, it is considered 0; for the embedded QP solver; suggested value = 0.
        maxIterations - the maximum number of iterations
      • SQPActiveSetMinimizer

        public SQPActiveSetMinimizer​(double epsilon1,
                                     double epsilon2,
                                     int maxIterations)
        Construct an SQP Active Set minimizer to solve general minimization problems with inequality constraints.
        Parameters:
        epsilon1 - a precision parameter: when a number |x| ≤ ε, it is considered 0; for the SQP solver
        epsilon2 - a precision parameter: when a number |x| ≤ ε, it is considered 0; for the embedded QP solver; suggested value = 0.
        maxIterations - the maximum number of iterations
      • SQPActiveSetMinimizer

        public SQPActiveSetMinimizer​(double epsilon1,
                                     int maxIterations)
        Construct an SQP Active Set minimizer to solve general minimization problems with inequality constraints.
        Parameters:
        epsilon1 - a precision parameter: when a number |x| ≤ ε, it is considered 0; for the SQP solver
        maxIterations - the maximum number of iterations