![]() |
#include <CGAL/QP_models.h>
(QP) | minimize | xTDx+cTx+c0 |
subject to | Ax ~ b, | |
l ![]() ![]() |
in n real variables x=(x0,...,xn-1). Here,
If D=0, the program is
a linear program; if the variable bounds are x 0, we have a
nonnegative program.
This class allows you to build your program entry by entry, using the set-methods below.
If you only need to wrap existing (random-access) iterators over your own data, then you may use any of the four models Quadratic_program_from_iterators<A_it, B_it, R_it, FL_it, L_it, FU_it, U_it, D_it, C_it>, Linear_program_from_iterators<A_it, B_it, R_it, FL_it, L_it, FU_it, U_it, C_it>, Nonnegative_quadratic_program_from_iterators<A_it, B_it, R_it, D_it, C_it>, and Nonnegative_linear_program_from_iterators<A_it, B_it, R_it, C_it>.
If you want to read a quadratic program in MPSFormat from a stream, please use the model Quadratic_program_from_mps<NT>.
| |
The number type of the program entries.
|
| |||
constructs a quadratic program with no variables and no constraints, ready
for data to be added. Unless relations are explicitly set, they will
be of type default_r. Unless bounds are explicitly set, they
will be as specified by default_fl (finite lower bound?),
default_l (lower bound value if lower bound is finite),
default_fu (finite upper bound?), and
default_l (upper bound value if upper bound is finite). If all
parameters take their default values, we thus get equality constraints
and bounds x ![]()
|
|
| returns true if and only if qp is a linear program. | ||
|
| returns true if and only if qp is a nonnegative program. | ||
|
| sets the entry Aij in column j and row i of the constraint matrix A of qp to val. An existing entry is overwritten. qp is enlarged if necessary to accomodate this entry. | ||
|
| sets the entry bi of qp to val. An existing entry is overwritten. qp is enlarged if necessary to accomodate this entry. | ||
|
| |||
sets the entry ~ i of qp to rel. CGAL::SMALLER
means that the i-th constraint is of type `` ![]() ![]() | ||||
|
| |||
if is_finite, this sets the entry lj of qp to val,
otherwise it sets lj to - ![]() | ||||
|
| |||
if is_finite, this sets the entry uj of qp to val,
otherwise it sets uj to ![]() | ||||
|
| sets the entry cj of qp to val. An existing entry is overwritten. qp is enlarged if necessary to accomodate this entry. | ||
|
| sets the entry c0 of qp to val. An existing entry is overwritten. | ||
|
|
sets the entries
2Dij and 2Dji of qp to val. Existing entries are
overwritten. qp is enlarged if necessary to accomodate these entries.
|
QP_solver/first_qp.cpp
QP_solver/first_lp.cpp
QP_solver/first_nonnegative_qp.cpp
QP_solver/first_nonnegative_lp.cpp
QP_solver/invert_matrix.cpp