\begin{ccRefConcept}{NonnegativeLinearProgram}

\ccDefinition
A model of \ccRefName\ describes a linear program of the form
\input{QP_solver_ref/_nlp_description}

The description is given by appropriate \emph{random-access} 
iterators over the program data, see below. The program therefore 
comes in \emph{dense} representation which includes zero entries.

\ccHasModels
\ccc{Quadratic_program<NT>}\\
\ccc{Quadratic_program_from_mps<NT>}\\
\ccc{Nonnegative_linear_program_from_iterators<A_it, B_it, R_it, FL_it, L_it, FU_it, U_it, D_it, C_it>}


\ccTypes

\input{QP_solver_ref/_abr_types.tex}

\input{QP_solver_ref/_c_types.tex}

\ccOperations

\ccCreationVariable{lp}

\input{QP_solver_ref/_nmabr_methods.tex}

\input{QP_solver_ref/_c_methods.tex}

\ccRequirements

The value types of all iterator types (nested iterator types,
respectively, for \ccc{A_iterator}) must be convertible to some common
\ccc{IntegralDomain} \ccc{ET}.

\ccSeeAlso
The models

\ccc{Quadratic_program<NT>}\\
\ccc{Quadratic_program_from_mps<NT>}\\
\ccc{Nonnegative_linear_program_from_iterators<A_it, B_it, R_it, C_it>}

and the other concepts

\ccc{QuadraticProgram}\\
\ccc{LinearProgram}\\
\ccc{NonnegativeQuadraticProgram}
\end{ccRefConcept}
