Click or drag to resize

QuadraticProgrammingProblem Class

Class QuadraticProgrammingProblem encapsulates a quadratic programming (QP) problem.
Inheritance Hierarchy
SystemObject
  CenterSpace.NMath.CoreBoundedVariableProblem
    CenterSpace.NMath.CoreLinearConstrainedProblem
      CenterSpace.NMath.CoreQuadraticProgrammingProblem

Namespace: CenterSpace.NMath.Core
Assembly: NMath (in NMath.dll) Version: 7.4
Syntax
[SerializableAttribute]
public class QuadraticProgrammingProblem : LinearConstrainedProblem, 
	ICloneable

The QuadraticProgrammingProblem type exposes the following members.

Constructors
 NameDescription
Public methodQuadraticProgrammingProblem Default constructor. Behavior of resulting object is undefined.
Public methodQuadraticProgrammingProblem(DoubleMatrix, DoubleVector) Constructs a QuadraticProgrammingProblem object for minimizing the quadratic
C#
x'Hx + x'g
Top
Properties
 NameDescription
Public propertyc Gets and sets the vector c in the objective function x'Hx + x'c
Public propertyConstraints Gets and sets the linear constraints for the problem.
(Inherited from LinearConstrainedProblem)
Public propertyH Gets and sets the matrix H in the objective function x'Hx + x'c
Public propertyNumVariables Gets the number of variables in the problem.
(Overrides BoundedVariableProblemNumVariables)
Public propertyVariableBounds Gets and sets variable bounds for the problem.
(Inherited from BoundedVariableProblem)
Top
Methods
 NameDescription
Public methodAddBounds(Int32, Double, Double) Adds upper and lower bound constraints to a variable.
(Inherited from BoundedVariableProblem)
Public methodAddBounds(Int32, Double, Double, Double) Adds upper and lower bound constraints to a variable.
(Inherited from BoundedVariableProblem)
Public methodAddConstraint(LinearConstraint) Adds the given constraint to the problem.
(Inherited from LinearConstrainedProblem)
Public methodAddConstraint(DoubleVector, Double, Double) Adds a linear inequality constraint of the form lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem)
Public methodAddConstraint(ILinearConstraintCoefficients, Double, Double) Adds a linear inequality constraint of the form lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem)
Public methodAddConstraint(DoubleVector, Double, Double, Double) Adds a linear inequality constraint of the form lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem)
Public methodAddConstraint(ILinearConstraintCoefficients, Double, Double, Double) Adds a linear inequality constraint of the form lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem)
Public methodAddEqualityConstraint(DoubleVector, Double) Adds an equality constraint of the form coefficients'x = rightHandSide
(Inherited from LinearConstrainedProblem)
Public methodAddEqualityConstraint(ILinearConstraintCoefficients, Double) Adds an equality constraint of the form coefficients'x = rightHandSide
(Inherited from LinearConstrainedProblem)
Public methodAddLowerBound(Int32, Double) Adds an lower bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem)
Public methodAddLowerBound(Int32, Double, Double) Adds an lower bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem)
Public methodAddLowerBoundConstraint(DoubleVector, Double) Adds a linear inequality constraint of the form coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem)
Public methodAddLowerBoundConstraint(ILinearConstraintCoefficients, Double) Adds a linear inequality constraint of the form coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem)
Public methodAddLowerBoundConstraint(DoubleVector, Double, Double) Adds a linear inequality constraint of the form coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem)
Public methodAddLowerBoundConstraint(ILinearConstraintCoefficients, Double, Double) Adds a linear inequality constraint of the form coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem)
Public methodAddUpperBound(Int32, Double) Adds an upper bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem)
Public methodAddUpperBound(Int32, Double, Double) Adds an upper bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem)
Public methodAddUpperBoundConstraint(DoubleVector, Double) Adds a linear inequality constraint of the form coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem)
Public methodAddUpperBoundConstraint(ILinearConstraintCoefficients, Double) Adds a linear inequality constraint of the form coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem)
Public methodAddUpperBoundConstraint(DoubleVector, Double, Double) Adds a linear inequality constraint of the form coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem)
Public methodAddUpperBoundConstraint(ILinearConstraintCoefficients, Double, Double) Adds a linear inequality constraint of the form coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem)
Protected methodCheckVariableIndex Checks that the given variable index is valid. Must be between 0 and number of variables - 1.
(Overrides BoundedVariableProblemCheckVariableIndex(Int32))
Public methodClone Returns a deep copy of self.
Public methodEvaluateConstraints Evaluates each of the constraints at the specified point and returns the results.
(Inherited from LinearConstrainedProblem)
Public methodIsLinear Performs a check to see if in fact the problem is a linear programming problem. Or, equivalently, if all the entries in the matrix H are zero.
Public methodPointIsFeasible(DoubleVector) Function for determining the feasibility of a give point. A point x is feasible if it satisfies all the constraints of the problem.
(Inherited from LinearConstrainedProblem)
Public methodPointIsFeasible(DoubleVector, Double) Function for determining the feasibility of a give point.
(Inherited from LinearConstrainedProblem)
Public methodToString Creates a string representation of the problem.
(Overrides ObjectToString)
Top
Fields
 NameDescription
Protected fieldconstraints_ Problem constraints.
(Inherited from LinearConstrainedProblem)
Protected fieldvariableBounds_ Map containing variable bounds. Key is the variable ID, the value is the bounds.
(Inherited from BoundedVariableProblem)
Top
Remarks
A QP problem has the following 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.

See Also