Click or drag to resize

ActiveSetQPSolver Class

Class ActiveSetQPSolver solves convex quadratic programming (QP) problems.
Inheritance Hierarchy

Namespace: CenterSpace.NMath.Core
Assembly: NMath (in NMath.dll) Version: 7.4
public class ActiveSetQPSolver : IActiveSetQPSolver

The ActiveSetQPSolver type exposes the following members.

Public methodActiveSetQPSolver Constructs an ActiveSetQPSolver object.
Public propertyActiveSet Gets the set of active constraint Indices for the solution. If algorithm did not converge it returns these Indices for the final iteration.
(Overrides IActiveSetQPSolverActiveSet)
Public propertyIterations The number of iterations performed before the algorithm terminated.
(Overrides IActiveSetQPSolverIterations)
Public propertyLagrangeMultiplier Gets the values of the Lagrange multipliers for the solution if the algorithm converged. If it did not converge it returns the values of the Lagrange multiplier for the final iteration.
(Overrides IActiveSetQPSolverLagrangeMultiplier)
Public propertyMaxIterations Gets and sets the maximum number of iterations to perform.
(Overrides IActiveSetQPSolverMaxIterations)
Public propertyMaxSeconds Gets and sets the maximum number of seconds to spend in the inequality constrained QP solver.
(Overrides IActiveSetQPSolverMaxSeconds)
Public propertyOptimalObjectiveFunctionValue If the solver was successful, OptimalObjectiveFunctionValue returns the minimum value of the objective function.
(Overrides IActiveSetQPSolverOptimalObjectiveFunctionValue)
Public propertyOptimalX If the solver was successful, OptimalX returns the point at which the objective function is minimized.
(Overrides IActiveSetQPSolverOptimalX)
Public propertySolveException If an unexpected exception was encountered during the most recent call to the Solve method and the Status property has the value AlgorithmStatus.UnexpectedException, this property will return the Exception object that was caught. Otherwise this property has the value of null.
Public propertyStatus Gets the status of the solver for the most recent solution attempt.
(Overrides IActiveSetQPSolverStatus)
Public propertyStepSizeEpsilon Gets and sets the smallest step size considered to be non-zero. This step size should be small when compared with the approximate magintude of the solution.
Public methodSolve(QuadraticProgrammingProblem) Solves the given convex quadratic programming problem.
(Overrides IActiveSetQPSolverSolve(QuadraticProgrammingProblem))
Public methodSolve(QuadraticProgrammingProblem, DoubleVector) Solves the given convex quadratic programming problem.
(Overrides IActiveSetQPSolverSolve(QuadraticProgrammingProblem, DoubleVector))
QP problems are of the form:
Minimize 0.5*x'Hx + x'c

Subject to
ai'x = bi, for i in E,
ai'x >= bi, for i in I

where H is a symmetric matrix (sometimes called the Hessian) and E and I are finite sets of Indices, using an active-set method. This method is applicable only to convex problems, in which the matrix H is positive semidefinite.
Algorithm based on: Numerical Optimization, 2nd Edition, Jorge Nocedal, Stephen J. Wright, ISBN 978-0-387-30303-1, Chapter 16, Algorithm 16.3.
See Also