C++ Reference

C++ Reference: Linear solver

MPObjective

Detailed Description

A class to express a linear objective.

Definition at line 890 of file linear_solver.h.

Public Member Functions

void Clear ()
 Clears the offset, all variables and coefficients, and the optimization direction. More...
 
void SetCoefficient (const MPVariable *const var, double coeff)
 Sets the coefficient of the variable in the objective. More...
 
double GetCoefficient (const MPVariable *const var) const
 Gets the coefficient of a given variable in the objective. More...
 
const absl::flat_hash_map< const MPVariable *, double > & terms () const
 Returns a map from variables to their coefficients in the objective. More...
 
void SetOffset (double value)
 Sets the constant term in the objective. More...
 
double offset () const
 Gets the constant term in the objective. More...
 
void OptimizeLinearExpr (const LinearExpr &linear_expr, bool is_maximization)
 Resets the current objective to take the value of linear_expr, and sets the objective direction to maximize if "is_maximize", otherwise minimizes. More...
 
void MaximizeLinearExpr (const LinearExpr &linear_expr)
 Resets the current objective to maximize linear_expr. More...
 
void MinimizeLinearExpr (const LinearExpr &linear_expr)
 Resets the current objective to minimize linear_expr. More...
 
void AddLinearExpr (const LinearExpr &linear_expr)
 Adds linear_expr to the current objective, does not change the direction. More...
 
void SetOptimizationDirection (bool maximize)
 Sets the optimization direction (maximize: true or minimize: false). More...
 
void SetMinimization ()
 Sets the optimization direction to minimize. More...
 
void SetMaximization ()
 Sets the optimization direction to maximize. More...
 
bool maximization () const
 Is the optimization direction set to maximize? More...
 
bool minimization () const
 Is the optimization direction set to minimize? More...
 
double Value () const
 Returns the objective value of the best solution found so far. More...
 
double BestBound () const
 Returns the best objective bound. More...
 

Member Function Documentation

◆ AddLinearExpr()

void AddLinearExpr ( const LinearExpr linear_expr)

Adds linear_expr to the current objective, does not change the direction.

◆ BestBound()

double BestBound ( ) const

Returns the best objective bound.

In case of minimization, it is a lower bound on the objective value of the optimal integer solution. Only available for discrete problems.

◆ Clear()

void Clear ( )

Clears the offset, all variables and coefficients, and the optimization direction.

◆ GetCoefficient()

double GetCoefficient ( const MPVariable *const  var) const

Gets the coefficient of a given variable in the objective.

It returns 0 if the variable does not appear in the objective).

◆ maximization()

bool maximization ( ) const

Is the optimization direction set to maximize?

◆ MaximizeLinearExpr()

void MaximizeLinearExpr ( const LinearExpr linear_expr)
inline

Resets the current objective to maximize linear_expr.

Definition at line 935 of file linear_solver.h.

◆ minimization()

bool minimization ( ) const

Is the optimization direction set to minimize?

◆ MinimizeLinearExpr()

void MinimizeLinearExpr ( const LinearExpr linear_expr)
inline

Resets the current objective to minimize linear_expr.

Definition at line 939 of file linear_solver.h.

◆ offset()

double offset ( ) const
inline

Gets the constant term in the objective.

Definition at line 926 of file linear_solver.h.

◆ OptimizeLinearExpr()

void OptimizeLinearExpr ( const LinearExpr linear_expr,
bool  is_maximization 
)

Resets the current objective to take the value of linear_expr, and sets the objective direction to maximize if "is_maximize", otherwise minimizes.

◆ SetCoefficient()

void SetCoefficient ( const MPVariable *const  var,
double  coeff 
)

Sets the coefficient of the variable in the objective.

If the variable does not belong to the solver, the function just returns, or crashes in non-opt mode.

◆ SetMaximization()

void SetMaximization ( )
inline

Sets the optimization direction to maximize.

Definition at line 953 of file linear_solver.h.

◆ SetMinimization()

void SetMinimization ( )
inline

Sets the optimization direction to minimize.

Definition at line 950 of file linear_solver.h.

◆ SetOffset()

void SetOffset ( double  value)

Sets the constant term in the objective.

◆ SetOptimizationDirection()

void SetOptimizationDirection ( bool  maximize)

Sets the optimization direction (maximize: true or minimize: false).

◆ terms()

const absl::flat_hash_map<const MPVariable*, double>& terms ( ) const
inline

Returns a map from variables to their coefficients in the objective.

If a variable is not present in the map, then its coefficient is zero.

Definition at line 918 of file linear_solver.h.

◆ Value()

double Value ( ) const

Returns the objective value of the best solution found so far.

It is the optimal objective value if the problem has been solved to optimality.

Note: the objective value may be slightly different than what you could compute yourself using MPVariable::solution_value(); please use the –verify_solution flag to gain confidence about the numerical stability of your solution.


The documentation for this class was generated from the following file: