|
- The method of Goldfarb and Idnani solves strictly convex quadratic optimization problems of
the form
f(x) = 1/2 xTGx -g0Tx = minx ,
subject to the constraints
HTx+h0 = 0,
CTx + c0 >= 0 .
- The matrix G of dimension n
is assumed as symmetric and positive definite. This is checked first
using its Cholesky decomposition.
The matrix H (with dimension n × p) must have rank p.
If these conditions are not met, the code terminates unsuccessfully.
The column number of C and hence the number of inequality constraints
is m. Of course p or m can be zero.
- The necessary and sufficient optimality conditions for the solution are
-
Gx-g0 - H μ - C λ = 0 ,
- h(x) = HTx+h0 = 0 ,
- g(x) = CTx + c0 >= 0 ,
- min{ λ , CTx + c0 } = 0
the ''min'' to be understood componentwise.
μ and λ are the
so called Lagrange multipliers. The fourth condition means that one of the multipliers
λi and its corresponding constraint gi(x)
can never simultaneously be strictly larger than zero, or in other terms, that at most
multipliers corresponding to ''active'' constraints (those which are at their lower bound)
can play a role in the optimality test and that the λi can never
be negative.
The method first solves the purely equality constrained problem. This could be done in different
ways, we use here the general scheme of the method, beginning with the unconstrained minimizer
G-1g0 and subsequently satisfying one equality constraint after
the other by adding it to the ''active set''.
These equality constraints never leave the active set. Together with the current x
one also has the currrent multipliers for the subproblem.
Next the problem is solved on subsets J of the set {1,...,m}.
Beginning with the empty set for J one adds one violated inequality constraint to the active set and
tries to solve the so obtained new equality constrained problem. This results in a correction
direction for x as well as for the current multipliers. In the simplest case the added inequality
becomes satisfied first following this path and the new subproblem is solved.
This is a ''full step'' in this code.
If x is now
feasible for all constraints, the solution process is complete.
It may occur that along this mentioned linear path one (or more) of the currently strictly
positive multipliers λi, i in J becomes zero: the movement
stops there and the corresponding constraints are removed from the active set, a new
path direction is obtained (with the aim to satisfy the selected inequality constraint
being unchanged). This can occur several times. These steps are named ''partial steps''
here. Their number is necessarily finite and since a constraint, once satisfied, never can
become violated later, the method is finite.
The objective function increases here (weakly) monotonically and the infeasibility
decreases, whereas the dual variables μ and λ always satisfy their
constraints: this gives the method its characterization as a dual solver.
|