CGAL 5.4.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.

• CGAL::Quadratic_program_solution

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.

• CGAL::Quadratic_program (for linear and quadratic programs that own their data and are built entry-wise)
• CGAL::Quadratic_program_from_mps (for linear and quadratic programs read from an input stream in MPSFormat; the constructed program can also be manipulate entry-wise)

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.

• CGAL::Quadratic_program_from_iterators (for quadratic programs that wrap given iterators, without copying data)
• CGAL::Linear_program_from_iterators (for linear programs wrapping given iterators)
• CGAL::Nonnegative_quadratic_program_from_iterators (for nonnegative quadratic programs, wrapping given iterators)
• CGAL::Nonnegative_linear_program_from_iterators (for nonnegative linear programs, wrapping given iterators)

## 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...

An object of class Quadratic_program_from_mps describes a convex quadratic program of the general form. More...

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...

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

#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>.
Quadratic_program_solution<ET>