OpenCLTemplate.LinearAlgebra.floatOptimization.QuadraticProgramming Class Reference
Quadratic problem solving.
More...
List of all members.
Classes |
| class | SolutionLog |
| | Log of various parameters of solution. More...
|
Public Member Functions |
| delegate bool | StopFunc (floatLinalg.floatVector x, floatLinalg.floatVector lambda, floatLinalg.floatVector nu) |
| | Delegate to stop execution if that's thhe case (as in the feasibility problem, when we can quit if t less than zero).
|
| float[] | SolvePrimalDual (float[] x0, float[] lambda0, float[] nu0, floatLinalg.floatSymPosDefMatrix P, float[] q, float[,] M, float[] d, float[,] A, float[] b, StopFunc sf) |
| | Solves a quadratic programming problem 1/2 x'Px + q'x subject to Mx less or equal d and Ax = b.
|
| delegate void | ComputeRestrictions (floatLinalg.floatVector x, ref floatLinalg.floatVector fx) |
| | Computes values of the restrictions.
|
| delegate float | ComputePDResidualNorm (floatLinalg.floatVector x, floatLinalg.floatVector lambda, floatLinalg.floatVector nu, float t) |
| | Computes norm of primal dual residuals vector.
|
Static Public Member Functions |
| static float[] | CheckFeasibility (float[] x0, float[,] M, float[] d, float[,] A, float[] b) |
| | Checks if it's possible to satisfy Mx less than d and Ax = b. Returns a feasible point if so.
|
| static bool | CheckFeasibility (floatLinalg.floatVector x0, floatLinalg.floatMatrix M, floatLinalg.floatVector d, floatLinalg.floatMatrix A, floatLinalg.floatVector b, floatLinalg.floatVector Mxd) |
| | Checks if it's possible to satisfy Mx less than d and Ax = b. Returns a feasible point in x0 if so.
|
Static Public Attributes |
| static CLCalc.Program.Kernel | kernelgetLast |
| | Kernel to compute last element of a vector.
|
Detailed Description
Quadratic problem solving.
Member Function Documentation
Checks if it's possible to satisfy Mx less than d and Ax = b. Returns a feasible point in x0 if so.
- Parameters:
-
| x0 | Initial guess |
| M | Inequality constraint matrix |
| d | Inequality rhs |
| A | Equality constr matrix |
| b | Equality rhs |
| Mxd | Temporary vector to hold M*x - d |
| static float [] OpenCLTemplate.LinearAlgebra.floatOptimization.QuadraticProgramming.CheckFeasibility |
( |
float[] |
x0, |
|
|
float |
M[,], |
|
|
float[] |
d, |
|
|
float |
A[,], |
|
|
float[] |
b | |
|
) |
| | [static] |
Checks if it's possible to satisfy Mx less than d and Ax = b. Returns a feasible point if so.
- Parameters:
-
| x0 | Initial guess |
| M | Inequality constraint matrix |
| d | Inequality rhs |
| A | Equality constr matrix |
| b | Equality rhs |
Computes norm of primal dual residuals vector.
Computes values of the restrictions.
| float [] OpenCLTemplate.LinearAlgebra.floatOptimization.QuadraticProgramming.SolvePrimalDual |
( |
float[] |
x0, |
|
|
float[] |
lambda0, |
|
|
float[] |
nu0, |
|
|
floatLinalg.floatSymPosDefMatrix |
P, |
|
|
float[] |
q, |
|
|
float |
M[,], |
|
|
float[] |
d, |
|
|
float |
A[,], |
|
|
float[] |
b, |
|
|
StopFunc |
sf | |
|
) |
| | |
Solves a quadratic programming problem 1/2 x'Px + q'x subject to Mx less or equal d and Ax = b.
- Parameters:
-
| x0 | Start point x0 |
| lambda0 | Start dual point lambda0 |
| nu0 | Start nus (equality constraints) |
| P | Positive semidefinite quadratic objective matrix P |
| q | Linear objective q |
| M | Ineq constraint matrix M |
| d | Ineq constraint right hand side d |
| A | Constraint matrix A |
| b | Constraint right hand side b |
| sf | Stop function. The system won't check feasibility if this function is not null. Return true when you want the optimization to stop based on x, lambda and nu |
Delegate to stop execution if that's thhe case (as in the feasibility problem, when we can quit if t less than zero).
Member Data Documentation
Kernel to compute last element of a vector.