Google OR-Tools: operations_research::MPObjective Class Reference
A class to express a linear objective. More...
A class to express a linear objective.
Definition at line 1023 of file linear_solver.h.
#include <linear_solver.h>
Public Member Functions | |
| MPObjective (const MPObjective &)=delete | |
| MPObjective & | operator= (const MPObjective &)=delete |
| void | Clear () |
| void | SetCoefficient (const MPVariable *var, double coeff) |
| double | GetCoefficient (const MPVariable *var) const |
| const absl::flat_hash_map< const MPVariable *, double > & | terms () const |
| void | SetOffset (double value) |
| Sets the constant term in the objective. | |
| double | offset () const |
| Gets the constant term in the objective. | |
| void | OptimizeLinearExpr (const LinearExpr &linear_expr, bool is_maximization) |
| void | MaximizeLinearExpr (const LinearExpr &linear_expr) |
| Resets the current objective to maximize linear_expr. | |
| void | MinimizeLinearExpr (const LinearExpr &linear_expr) |
| Resets the current objective to minimize linear_expr. | |
| void | AddLinearExpr (const LinearExpr &linear_expr) |
| Adds linear_expr to the current objective, does not change the direction. | |
| void | SetOptimizationDirection (bool maximize) |
| Sets the optimization direction (maximize: true or minimize: false). | |
| void | SetMinimization () |
| Sets the optimization direction to minimize. | |
| void | SetMaximization () |
| Sets the optimization direction to maximize. | |
| bool | maximization () const |
| Is the optimization direction set to maximize? | |
| bool | minimization () const |
| Is the optimization direction set to minimize? | |
| double | Value () const |
| double | BestBound () const |
Friends | |
| class | MPSolver |
| class | MPSolverInterface |
| class | CBCInterface |
| class | CLPInterface |
| class | GLPKInterface |
| class | SCIPInterface |
| class | SLMInterface |
| class | GurobiInterface |
| class | CplexInterface |
| class | XpressInterface |
| class | GLOPInterface |
| class | BopInterface |
| class | SatInterface |
| class | PdlpInterface |
| class | HighsInterface |
| class | KnapsackInterface |
|
delete |
◆ AddLinearExpr()
| void operations_research::MPObjective::AddLinearExpr | ( | const LinearExpr & | linear_expr | ) |
Adds linear_expr to the current objective, does not change the direction.
Definition at line 242 of file linear_solver.cc.
◆ BestBound()
| double operations_research::MPObjective::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.
Definition at line 279 of file linear_solver.cc.
◆ Clear()
| void operations_research::MPObjective::Clear | ( | ) |
Clears the offset, all variables and coefficients, and the optimization direction.
Definition at line 250 of file linear_solver.cc.
◆ GetCoefficient()
| double operations_research::MPObjective::GetCoefficient | ( | const MPVariable * | var | ) | const |
Gets the coefficient of a given variable in the objective
It returns 0 if the variable does not appear in the objective).
Definition at line 194 of file linear_solver.cc.
◆ maximization()
| bool operations_research::MPObjective::maximization | ( | ) | const |
Is the optimization direction set to maximize?
Definition at line 268 of file linear_solver.cc.
◆ MaximizeLinearExpr()
|
inline |
Resets the current objective to maximize linear_expr.
Definition at line 1074 of file linear_solver.h.
◆ minimization()
| bool operations_research::MPObjective::minimization | ( | ) | const |
Is the optimization direction set to minimize?
Definition at line 270 of file linear_solver.cc.
◆ MinimizeLinearExpr()
|
inline |
Resets the current objective to minimize linear_expr.
Definition at line 1078 of file linear_solver.h.
◆ offset()
|
inline |
◆ operator=()
|
delete |
◆ OptimizeLinearExpr()
| void operations_research::MPObjective::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.
Definition at line 230 of file linear_solver.cc.
◆ SetCoefficient()
| void operations_research::MPObjective::SetCoefficient | ( | const MPVariable * | 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.
Definition at line 200 of file linear_solver.cc.
◆ SetMaximization()
|
inline |
◆ SetMinimization()
|
inline |
◆ SetOffset()
| void operations_research::MPObjective::SetOffset | ( | double | value | ) |
◆ SetOptimizationDirection()
| void operations_research::MPObjective::SetOptimizationDirection | ( | bool | maximize | ) |
Sets the optimization direction (maximize: true or minimize: false).
Definition at line 257 of file linear_solver.cc.
◆ terms()
|
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 1057 of file linear_solver.h.
◆ Value()
| double operations_research::MPObjective::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.
Definition at line 272 of file linear_solver.cc.
◆ BopInterface
|
friend class BopInterface |
friend |
◆ CBCInterface
|
friend class CBCInterface |
friend |
◆ CLPInterface
|
friend class CLPInterface |
friend |
◆ CplexInterface
|
friend class CplexInterface |
friend |
◆ GLOPInterface
|
friend class GLOPInterface |
friend |
◆ GLPKInterface
|
friend class GLPKInterface |
friend |
◆ GurobiInterface
|
friend class GurobiInterface |
friend |
◆ HighsInterface
|
friend class HighsInterface |
friend |
◆ KnapsackInterface
|
friend class KnapsackInterface |
friend |
◆ MPSolver
◆ MPSolverInterface
|
friend class MPSolverInterface |
friend |
◆ PdlpInterface
|
friend class PdlpInterface |
friend |
◆ SatInterface
|
friend class SatInterface |
friend |
◆ SCIPInterface
|
friend class SCIPInterface |
friend |
◆ SLMInterface
|
friend class SLMInterface |
friend |
◆ XpressInterface
|
friend class XpressInterface |
friend |
The documentation for this class was generated from the following files:
- ortools/linear_solver/linear_solver.h
- ortools/linear_solver/linear_solver.cc