CGAL 6.1 - CGAL and Solvers
|
#include <Concepts/QuadraticProgramTraits.h>
A concept that describes the set of methods used to define and solve a quadratic programming (qp
) problem of the general form:
\begin{eqnarray*} & \mbox{minimize} & \frac{1}{2}\mathbf{x}^{T}P\mathbf{x} + \mathbf{q}^{T}\mathbf{x} + r \\ & \mbox{subject to} & \mathbf{l} \leq A\mathbf{x} \leq \mathbf{u} \end{eqnarray*}
in \( n \) real variables \( \mathbf{x} = (x_0, \ldots, x_{n-1}) \) and \( m \) constraints.
Here,
CGAL::OSQP_quadratic_program_traits<T>
Memory | |
void | resize (const std::size_t n, const std::size_t m) |
Allocates memory for n variables and m constraints in qp . | |
Initialization | |
void | set_P (const std::size_t i, const std::size_t j, const FT value) |
Sets the entries Pij and Pji of qp to value . | |
void | set_q (const std::size_t i, const FT value) |
Sets the entry qi of qp to value . | |
void | set_r (const FT value) |
Sets the entry r of qp to value . | |
void | set_A (const std::size_t i, const std::size_t j, const FT value) |
Sets the entry Aij in the row i and column j of the constraint matrix A of qp to value . | |
void | set_l (const std::size_t i, const FT value) |
Sets the entry li of qp to value . | |
void | set_u (const std::size_t i, const FT value) |
Sets the entry ui of qp to value . | |
Solution | |
template<typename OutIterator > | |
bool | solve (OutIterator solution) |
solves the quadratic program. | |
void QuadraticProgramTraits::resize | ( | const std::size_t | n, |
const std::size_t | m | ||
) |
Allocates memory for n
variables and m
constraints in qp
.
void QuadraticProgramTraits::set_A | ( | const std::size_t | i, |
const std::size_t | j, | ||
const FT | value | ||
) |
Sets the entry Aij
in the row i
and column j
of the constraint matrix A
of qp
to value
.
void QuadraticProgramTraits::set_l | ( | const std::size_t | i, |
const FT | value | ||
) |
Sets the entry li
of qp
to value
.
void QuadraticProgramTraits::set_P | ( | const std::size_t | i, |
const std::size_t | j, | ||
const FT | value | ||
) |
Sets the entries Pij
and Pji
of qp
to value
.
void QuadraticProgramTraits::set_q | ( | const std::size_t | i, |
const FT | value | ||
) |
Sets the entry qi
of qp
to value
.
void QuadraticProgramTraits::set_r | ( | const FT | value | ) |
Sets the entry r
of qp
to value
.
void QuadraticProgramTraits::set_u | ( | const std::size_t | i, |
const FT | value | ||
) |
Sets the entry ui
of qp
to value
.
bool QuadraticProgramTraits::solve | ( | OutIterator | solution | ) |
solves the quadratic program.
Number of values in solution
equals to the number n
of values in the vector x
.
OutIterator | a model of OutputIterator that accepts values of type FieldNumberType |
solution | an output iterator with the solution |
success == true