CGAL 6.1 - CGAL and Solvers

Loading...
Searching...
No Matches
List of all members
MixedIntegerProgramVariable Concept Reference
Reference Manual » Concepts

## Definition

`MixedIntegerProgramVariable` is a concept of a variable in a Mixed Integer Programming (MIP) problem.

Has models
  `CGAL::Variable<FT>`

## Types
enum | Variable_type { CONTINUOUS , INTEGER , BINARY }
| A variable can be continuous, integer, or binary. More...
typedef unspecified_type | FT

## Creation
| MixedIntegerProgramVariable (MixedIntegerProgramTraits *solver, Variable_type type, FT lb=, FT ub, const std::string &name, int idx)
| Constructs a variable initialized with the pointer of the solver it belongs to, the variable type, lower bound, upper bound, name, and index.

## Operations
Variable_type | variable_type () const
| Returns the variable type.
void | set_variable_type (Variable_type t)
| Sets/Changes the variable type.
const std::string & | name () const
| Returns the name of the variable.
void | set_name (const std::string &n)
| Sets the name of the variable.
int | index () const
| Returns the index of the variable.
void | set_index (int idx)
| Sets the index of the variable.
const MixedIntegerProgramTraits * | solver () const
| Returns the solver that owns this variable.
MixedIntegerProgramTraits * | solver ()
void | set_lower_bound (FT lb)
| Sets the lower bound.
void | set_upper_bound (FT ub)
| Sets the upper bound.
void | set_bounds (FT lb, FT ub)
| Sets both lower and upper bounds.
FT | lower_bound () const
| Gets the lower bound.
FT | upper_bound () const
| Gets the upper bound.
void | get_bounds (FT &lb, FT &ub) const
| Gets both lower and upper bounds.
FT | solution_value (bool rounded=false) const
| Returns the value of the variable in the current solution.
void | set_solution_value (FT value)
| Sets the solution value (should be called internally by the solver).
static FT | infinity ()
| Gets the infinity threshold (e.g., 1e20).

## Member Enumeration Documentation

## ◆ Variable_type

enum MixedIntegerProgramVariable::Variable_type

A variable can be continuous, integer, or binary.

Enumerator
CONTINUOUS |
INTEGER |
BINARY |

## Member Function Documentation

## ◆ infinity()

static FT MixedIntegerProgramVariable::infinity | ( |  | ) |
| static

Gets the infinity threshold (e.g., 1e20).

Values greater than this value are considered as infinity.

## ◆ solution_value()

FT MixedIntegerProgramVariable::solution_value | ( | bool | rounded = `false` | ) | const

Returns the value of the variable in the current solution.

Note
  (1) Valid only if the program was successfully solved. (2) If the variable is integer and rounded == true, then the value will be rounded to the nearest integer.