CGAL 5.4 - Linear and Quadratic Programming Solver

This module provides high and low level classes that allow to construct and represent linear and quadratic programs and their solution.

There is a class that represents the solution of a linear or quadratic program. An instance of this class is returned by any of the solution functions below.

We offer a number of predefined models for the above program concepts. The following two are simultaneously models for all four concepts and are probably the most convenient models; they allow you to construct linear or quadratic programs entry by entry, or from streams in MPSFormat. At any time, you can query these programs for linearity and nonnegativity and thus select the appropriate solution function.

Then there are specific models for any of the four program concepts above; these are useful if you want to maintain the program data yourself, since they simply wrap random access iterators over the program data and involve no further copying of data.

Classes

class  CGAL::Linear_program_from_iterators< A_it, B_it, R_it, FL_it, L_it, FU_it, U_it, C_it >
 An object of class Linear_program_from_iterators describes a linear program of the form. More...
 
class  CGAL::Nonnegative_linear_program_from_iterators< A_it, B_it, R_it, C_it >
 An object of class Nonnegative_linear_program_from_iterators describes a linear program of the form. More...
 
class  CGAL::Nonnegative_quadratic_program_from_iterators< A_it, B_it, R_it, D_it, C_it >
 An object of class Nonnegative_quadratic_program_from_iterators describes a convex quadratic program of the form. More...
 
class  CGAL::Quadratic_program_from_iterators< A_it, B_it, R_it, FL_it, L_it, FU_it, U_it, D_it, C_it >
 An object of class Quadratic_program_from_iterators describes a convex quadratic program of the form. More...
 
class  CGAL::Quadratic_program_from_mps< NT >
 An object of class Quadratic_program_from_mps describes a convex quadratic program of the general form. More...
 
class  CGAL::Quadratic_program< NT >
 An object of class Quadratic_program describes a convex quadratic program of the form

\begin{eqnarray*} \mbox{(QP)}& \mbox{minimize} & \qpx^{T}D\qpx+\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})\). More...

 
class  CGAL::Quadratic_program_solution< ET >
 An object of class Quadratic_program_solution represents the solution of a linear or convex quadratic program of the general form. More...
 

Enumerations

enum  CGAL::Quadratic_program_status { CGAL::QP_OPTIMAL, CGAL::QP_INFEASIBLE, CGAL::QP_UNBOUNDED }
 This is an enumeration type containing the values QP_OPTIMAL, QP_INFEASIBLE, and QP_UNBOUNDED. More...
 

Enumeration Type Documentation

◆ Quadratic_program_status

#include <CGAL/QP_solution.h>

This is an enumeration type containing the values QP_OPTIMAL, QP_INFEASIBLE, and QP_UNBOUNDED.

It indicates the status of a linear or quadratic program solution as represented by an object of type Quadratic_program_solution<ET>.

See also
Quadratic_program_solution<ET>
Enumerator
QP_OPTIMAL 
QP_INFEASIBLE 
QP_UNBOUNDED