Quadratic programming is a special type of mathematical optimization problem.

Quadratic programming problem can be formulated like this:

Assume x belongs to Rn space. The (n x n) matrix E is positive semidefinite and h is any (n x 1) vector.

Minimize (with respect to x)

f(x) = 0.5 x' E x + h' x

with the following constraints (if there exists an answer then it satisfies these):

(1) A*x <= b  (inequality constraint)
(2) C*x  = d  (equality contraint)

If E is positive definite then f(x) is a convex function , and constraints are linear functions, we have from optimization theory that for point x to be an optimum point it is necessary and sufficient that x is a Karush-Kuhn-Tucker (KKT) point.

(this article needs a lot more work..)