\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)

CGAL 4.8 - Linear and Quadratic Programming Solver

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Classes | Enumerations
Classes
Linear and Quadratic Programming Solver Reference

##

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...
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 >
| \( \newcommand{\qprel}{\gtreqless} \newcommand{\qpx}{\mathbf{x}} \newcommand{\qpl}{\mathbf{l}} \newcommand{\qpu}{\mathbf{u}} \newcommand{\qpc}{\mathbf{c}} \newcommand{\qpb}{\mathbf{b}} \newcommand{\qpy}{\mathbf{y}} \newcommand{\qpw}{\mathbf{w}} \newcommand{\qplambda}{\mathbf{\lambda}} \) 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

enum CGAL::Quadratic_program_status

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

`#include <CGAL/QP_solution.h>`

Enumerator
QP_OPTIMAL |
QP_INFEASIBLE |
QP_UNBOUNDED |