CGAL 6.0.1 - 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.
CGAL::Quadratic_program<NT>
CGAL::Quadratic_program_from_mps<NT>
CGAL::Nonnegative_linear_program_from_iterators<A_it, B_it, R_it, FL_it, L_it, FU_it, U_it, D_it, C_it>
The value types of all iterator types (nested iterator types, respectively, for A_iterator
) must be convertible to some common IntegralDomain
ET
.
CGAL::Quadratic_program<NT>
CGAL::Quadratic_program_from_mps<NT>
CGAL::Nonnegative_linear_program_from_iterators<A_it, B_it, R_it, C_it>
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.