NMath Reference Guide

## QuadraticProgrammingProblem Class |

Class QuadraticProgrammingProblem encapsulates a quadratic programming (QP) problem.

Inheritance Hierarchy

SystemObject

CenterSpace.NMath.CoreBoundedVariableProblem

CenterSpace.NMath.CoreLinearConstrainedProblem

CenterSpace.NMath.CoreQuadraticProgrammingProblem

CenterSpace.NMath.CoreBoundedVariableProblem

CenterSpace.NMath.CoreLinearConstrainedProblem

CenterSpace.NMath.CoreQuadraticProgrammingProblem

Syntax

The QuadraticProgrammingProblem type exposes the following members.

Constructors

Name | Description | |
---|---|---|

QuadraticProgrammingProblem |
Default constructor. Behavior of resulting object is undefined.
| |

QuadraticProgrammingProblem(DoubleMatrix, DoubleVector) |
Constructs a QuadraticProgrammingProblem object for minimizing
the quadratic
`x'Hx + x'g` |

Properties

Name | Description | |
---|---|---|

c |
Gets and sets the vector c in the objective
function
x'Hx + x'c | |

Constraints |
Gets and sets the linear constraints for the problem.
(Inherited from LinearConstrainedProblem.) | |

H |
Gets and sets the matrix H in the objective
function
x'Hx + x'c | |

NumVariables |
Gets the number of variables in the problem.
(Overrides BoundedVariableProblemNumVariables.) | |

VariableBounds |
Gets and sets variable bounds for the problem.
(Inherited from BoundedVariableProblem.) |

Methods

Name | Description | |
---|---|---|

AddBounds(Int32, Double, Double) |
Adds upper and lower bound constraints to a variable.
(Inherited from BoundedVariableProblem.) | |

AddBounds(Int32, Double, Double, Double) |
Adds upper and lower bound constraints to a variable.
(Inherited from BoundedVariableProblem.) | |

AddConstraint(LinearConstraint) |
Adds the given constraint to the problem.
(Inherited from LinearConstrainedProblem.) | |

AddConstraint(DoubleVector, Double, Double) |
Adds a linear inequality constraint of the form
lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem.) | |

AddConstraint(ILinearConstraintCoefficients, Double, Double) |
Adds a linear inequality constraint of the form
lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem.) | |

AddConstraint(DoubleVector, Double, Double, Double) |
Adds a linear inequality constraint of the form
lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem.) | |

AddConstraint(ILinearConstraintCoefficients, Double, Double, Double) |
Adds a linear inequality constraint of the form
lowerBound <= coefficients'x < upperBound
(Inherited from LinearConstrainedProblem.) | |

AddEqualityConstraint(DoubleVector, Double) |
Adds an equality constraint of the form
coefficients'x = rightHandSide
(Inherited from LinearConstrainedProblem.) | |

AddEqualityConstraint(ILinearConstraintCoefficients, Double) |
Adds an equality constraint of the form
coefficients'x = rightHandSide
(Inherited from LinearConstrainedProblem.) | |

AddLowerBound(Int32, Double) |
Adds an lower bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem.) | |

AddLowerBound(Int32, Double, Double) |
Adds an lower bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem.) | |

AddLowerBoundConstraint(DoubleVector, Double) |
Adds a linear inequality constraint of the form
coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem.) | |

AddLowerBoundConstraint(ILinearConstraintCoefficients, Double) |
Adds a linear inequality constraint of the form
coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem.) | |

AddLowerBoundConstraint(DoubleVector, Double, Double) |
Adds a linear inequality constraint of the form
coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem.) | |

AddLowerBoundConstraint(ILinearConstraintCoefficients, Double, Double) |
Adds a linear inequality constraint of the form
coefficients'x >= lowerBound
(Inherited from LinearConstrainedProblem.) | |

AddUpperBound(Int32, Double) |
Adds an upper bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem.) | |

AddUpperBound(Int32, Double, Double) |
Adds an upper bound constraint on the variable at the given index.
(Inherited from BoundedVariableProblem.) | |

AddUpperBoundConstraint(DoubleVector, Double) |
Adds a linear inequality constraint of the form
coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem.) | |

AddUpperBoundConstraint(ILinearConstraintCoefficients, Double) |
Adds a linear inequality constraint of the form
coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem.) | |

AddUpperBoundConstraint(DoubleVector, Double, Double) |
Adds a linear inequality constraint of the form
coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem.) | |

AddUpperBoundConstraint(ILinearConstraintCoefficients, Double, Double) |
Adds a linear inequality constraint of the form
coefficients'x <= upperBound
(Inherited from LinearConstrainedProblem.) | |

CheckVariableIndex |
Checks that the given variable index is valid. Must be between 0
and number of variables - 1.
(Overrides BoundedVariableProblemCheckVariableIndex(Int32).) | |

Clone |
Returns a deep copy of self.
| |

EvaluateConstraints |
Evaluates each of the constraints at the specified point and
returns the results.
(Inherited from LinearConstrainedProblem.) | |

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

PointIsFeasible(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.) | |

PointIsFeasible(DoubleVector, Double) |
Function for determining the feasibility of a give point.
(Inherited from LinearConstrainedProblem.) | |

ToString |
Creates a string representation of the problem.
(Overrides ObjectToString.) |

Fields

Name | Description | |
---|---|---|

constraints_ |
Problem constraints.
(Inherited from LinearConstrainedProblem.) | |

variableBounds_ |
Map containing variable bounds. Key is the variable ID, the value is the bounds.
(Inherited from BoundedVariableProblem.) |

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