|
CGAL 6.3 - Linear and Quadratic Programming Solver
|
A model of NonnegativeLinearProgram describes a linear program of the form.
\begin{eqnarray*}\mbox{(QP)}& \mbox{minimize} &\qpc^{T}\qpx+c_0 \\ &\mbox{subject to} & A\qpx\qprel \qpb, \\ & & \qpx \geq 0 \end{eqnarray*}
in \( n\) real variables \( \qpx=(x_0,\ldots,x_{n-1})\). Here,
The description is given by appropriate random-access iterators over the program data, see below. The program therefore comes in dense representation which includes zero entries.
The value types of all iterator types (nested iterator types, respectively, for A_iterator) must be convertible to some common IntegralDomain ET.
Types | |
| typedef unspecified_type | A_iterator |
| A random access iterator type to go columnwise over the constraint matrix \( A\). | |
| typedef unspecified_type | B_iterator |
| A random access iterator type to go over the entries of the right-hand side \( \qpb\). | |
| typedef unspecified_type | R_iterator |
| A random access iterator type to go over the relations \( \qprel\). | |
| typedef unspecified_type | C_iterator |
| A random access iterator type to go over the entries of the linear objective function vector \( c\). | |
Operations | |
| int | get_n () const |
| returns the number \( n\) of variables (number of columns of \( A\)) in lp. | |
| int | get_m () const |
| returns the number \( m\) of constraints (number of rows of \( A\)) in lp. | |
| A_iterator | get_a () const |
| returns an iterator over the columns of \( A\). | |
| B_iterator | get_b () const |
| returns an iterator over the entries of \( \qpb\). | |
| R_iterator | get_r () const |
| returns an iterator over the entries of \( \qprel\). | |
| C_iterator | get_c () const |
| returns an iterator over the entries of \( \qpc\). | |
| std::iterator_traits< C_iterator >::value_type | get_c0 () const |
| returns the constant term \( c_0\) of the objective function. | |
A random access iterator type to go columnwise over the constraint matrix \( A\).
The value type is a random access iterator type for an individual column that goes over the entries in that column.
A random access iterator type to go over the relations \( \qprel\).
The value type of R_iterator is CGAL::Comparison_result.
| A_iterator NonnegativeLinearProgram::get_a | ( | ) | const |
| B_iterator NonnegativeLinearProgram::get_b | ( | ) | const |
| C_iterator NonnegativeLinearProgram::get_c | ( | ) | const |
| R_iterator NonnegativeLinearProgram::get_r | ( | ) | const |
returns an iterator over the entries of \( \qprel\).
The corresponding past-the-end iterator is get_r()+get_m(). The value CGAL::SMALLER stands for \( \leq\), CGAL::EQUAL stands for \( =\), and CGAL::LARGER stands for \( \geq\).