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.3
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.
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