class Ineq_constrained_qp

inequality constrained quadratic program

Inheritance:


Public Methods

void add_inequality_cons(Vector c, double r)
add a constraint

c*vars >= r

PRE c

void assert_solution(Vector sol)
use a KKT method to assert optimality of sol
Vector constraint_solve(Vector)
solve the problem using a projected gradient method
int dim()
Real eval(Vector v)
evaluate the quadratic function for input v
Ineq_constrained_qp(int novars)
set up matrices to go with the problem
Vector Ineq_constrained_qp::constraint_solve(Vector start)
the numerical solving
Vector solve(Vector start)
Solve it

Documentation

inequality constrained quadratic program
void assert_solution(Vector sol)
use a KKT method to assert optimality of sol

Vector constraint_solve(Vector)
solve the problem using a projected gradient method

Vector solve(Vector start)
Solve it. First try it the easy way.

int dim()
Returns:
the number of variables in the problem

void add_inequality_cons(Vector c, double r)
add a constraint

c*vars >= r

PRE c.dim() == dim ();

Ineq_constrained_qp(int novars)
set up matrices to go with the problem

Real eval(Vector v)
evaluate the quadratic function for input v

Vector Ineq_constrained_qp::constraint_solve(Vector start)
the numerical solving. Mordecai Avriel, Nonlinear Programming: analysis and methods (1976) Prentice Hall.

Section 13.3

This is a "projected gradient" algorithm. Starting from a point x the next point is found in a direction determined by projecting the gradient onto the active constraints. (well, not really the gradient. The optimal solution obeying the active constraints is tried. This is why H = Q^-1 in initialisation))


Direct child classes:
Mixed_qp

alphabetic index hierarchy of classes


This program documentation comes from lilypond-1.0.0.tar.gz. It was generated by <janneke@gnu.org> on Fri Jul 31 15:42:17 CEST 1998