\( \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 5.0.2 - CGAL and Solvers
MixedIntegerProgramLinearConstraint Concept Reference

Definition

MixedIntegerProgramLinearConstraint is a concept of a linear constraint in a Mixed Integer Programming (MIP) problem.

Has Models:
CGAL::Linear_constraint<FT>

Creation

 MixedIntegerProgramLinearConstraint (MixedIntegerProgramTraits *solver, FT lb, FT ub, const std::string &name, int idx)
 Constructs a linear constraint, initialized with the solver it belongs to, the lower bound, upper bound, name, and index.
 

Operations

const std::string & name () const
 Returns the name of the constraint.
 
void set_name (const std::string &n)
 Sets the name of the constraint.
 
int index () const
 Returns the index of the constraint.
 
void set_index (int idx)
 Sets the index of the constraint.
 
const MixedIntegerProgramTraitssolver () const
 Returns the solver that owns this constraint.
 
MixedIntegerProgramTraitssolver ()
 
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.
 
void set_coefficients (const std::unordered_map< const MixedIntegerProgramVariable *, FT > &coeffs)
 Sets the coefficients of the constraint.
 
void add_coefficient (const MixedIntegerProgramVariable *var, FT coeff)
 Adds a coefficient to a variable of the constraint.
 
const std::unordered_map< const MixedIntegerProgramVariable *, FT > & coefficients () const
 Returns the coefficients of the constraint.
 
FT get_coefficient (const MixedIntegerProgramVariable *var) const
 Gets the coefficient of the variable in this constraint.
 
void set_offset (FT value)
 Sets the constant term.
 
FT offset () const
 Gets the constant term.
 
void clear ()
 Clears all variables and sets the constant term to zero. More...
 
static FT infinity ()
 Gets the infinity threshold (e.g., 1e20). More...
 

Member Function Documentation

◆ clear()

template<typename FT >
void MixedIntegerProgramLinearConstraint< FT >::clear ( )

Clears all variables and sets the constant term to zero.

Useful to reuse the object to define a new linear constraint.

◆ infinity()

template<typename FT >
static FT MixedIntegerProgramLinearConstraint< FT >::infinity ( )
static

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

Values greater than this value are considered as infinity.