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

static bool OpenCLTemplate.LinearAlgebra.floatOptimization.QuadraticProgramming.CheckFeasibility ( floatLinalg.floatVector  x0,
floatLinalg.floatMatrix  M,
floatLinalg.floatVector  d,
floatLinalg.floatMatrix  A,
floatLinalg.floatVector  b,
floatLinalg.floatVector  Mxd 
) [static]

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
delegate float OpenCLTemplate.LinearAlgebra.floatOptimization.QuadraticProgramming.ComputePDResidualNorm ( floatLinalg.floatVector  x,
floatLinalg.floatVector  lambda,
floatLinalg.floatVector  nu,
float  t 
)

Computes norm of primal dual residuals vector.

delegate void OpenCLTemplate.LinearAlgebra.floatOptimization.QuadraticProgramming.ComputeRestrictions ( floatLinalg.floatVector  x,
ref floatLinalg.floatVector  fx 
)

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 bool OpenCLTemplate.LinearAlgebra.floatOptimization.QuadraticProgramming.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).


Member Data Documentation

Kernel to compute last element of a vector.

Generated on Sun Dec 4 17:27:04 2011 for OpenCLTemplate by  doxygen 1.6.3