|
CGAL 6.0 - Linear and Quadratic Programming Solver
|
A model of LinearProgram 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, \\ & & \qpl \leq \qpx \leq \qpu \end{eqnarray*}
in \( n\) real variables \( \qpx=(x_0,\ldots,x_{n-1})\). Here,
\( \qprel\) is an \( m\)-dimensional vector of relations from \( \{\leq, =, \geq\}\),
\( \qpu\) is an \( n\)-dimensional vector of upper bounds for \( \qpx\), where \( u_j\in\mathbb{R}\cup\{\infty\}\) for all \( j\)
\( c_0\) is a constant.
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.
CGAL::Quadratic_program<NT> CGAL::Quadratic_program_from_mps<NT> CGAL::Linear_program_from_iterators<A_it, B_it, R_it, FL_it, L_it, FU_it, U_it, D_it, C_it> and the other concepts
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 | FL_iterator |
| A random access iterator type to go over the existence (finiteness) of the lower bounds \( l_j, j=0,\ldots,n-1\). | |
| typedef unspecified_type | L_iterator |
| A random access iterator type to go over the entries of the lower bound vector \( \qpl\). | |
| typedef unspecified_type | UL_iterator |
| A random access iterator type to go over the existence (finiteness) of the upper bounds \( u_j, j=0,\ldots,n-1\). | |
| typedef unspecified_type | U_iterator |
| A random access iterator type to go over the entries of the upper bound vector \( \qpu\). | |
| 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\). | |
| FL_iterator | get_fl () const |
| returns an iterator over the existence of the lower bounds \( l_j, j=0,\ldots,n-1\). | |
| L_iterator | get_l () const |
| returns an iterator over the entries of \( \qpl\). | |
| FU_iterator | get_fu () const |
| returns an iterator over the existence of the upper bounds \( u_j, j=0,\ldots,n-1\). | |
| L_iterator | get_u () const |
| returns an iterator over the entries of \( \qpu\). | |
| 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 existence (finiteness) of the lower bounds \( l_j, j=0,\ldots,n-1\).
The value type of FL_iterator is bool.
A random access iterator type to go over the relations \( \qprel\).
The value type of R_iterator is CGAL::Comparison_result.
A random access iterator type to go over the existence (finiteness) of the upper bounds \( u_j, j=0,\ldots,n-1\).
The value type of UL_iterator is bool.
| A_iterator LinearProgram::get_a | ( | ) | const |
| B_iterator LinearProgram::get_b | ( | ) | const |
| C_iterator LinearProgram::get_c | ( | ) | const |
| FL_iterator LinearProgram::get_fl | ( | ) | const |
| FU_iterator LinearProgram::get_fu | ( | ) | const |
| L_iterator LinearProgram::get_l | ( | ) | const |
| R_iterator LinearProgram::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\).
| L_iterator LinearProgram::get_u | ( | ) | const |