Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <constraint_solver.h>
Public Member Functions | |
OptimizeVar (Solver *solver, bool maximize, IntVar *var, int64_t step) | |
OptimizeVar (Solver *solver, const std::vector< bool > &maximize, std::vector< IntVar * > vars, std::vector< int64_t > steps) | |
~OptimizeVar () override | |
int64_t | best () const |
Returns the best value found during search. | |
IntVar * | var () const |
Returns the variable that is optimized. | |
void | BeginNextDecision (DecisionBuilder *db) override |
Internal methods. | |
void | RefuteDecision (Decision *d) override |
Before refuting the decision. | |
bool | AtSolution () override |
bool | AcceptSolution () override |
virtual std::string | Name () const |
std::string | DebugString () const override |
void | ApplyBound () |
Public Member Functions inherited from operations_research::ObjectiveMonitor | |
ObjectiveMonitor (Solver *solver, const std::vector< bool > &maximize, std::vector< IntVar * > vars, std::vector< int64_t > steps) | |
-------— Objective Management -------— | |
~ObjectiveMonitor () override | |
ObjectiveMonitor (const ObjectiveMonitor &)=delete | |
ObjectiveMonitor & | operator= (const ObjectiveMonitor &)=delete |
IntVar * | ObjectiveVar (int index) const |
IntVar * | MinimizationVar (int index) const |
int64_t | Step (int index) const |
bool | Maximize (int index) const |
int64_t | BestValue (int index) const |
int | Size () const |
void | EnterSearch () override |
Beginning of the search. | |
bool | AcceptDelta (Assignment *delta, Assignment *deltadelta) override |
void | Accept (ModelVisitor *visitor) const override |
Accepts the given model visitor. | |
Public Member Functions inherited from operations_research::SearchMonitor | |
SearchMonitor (Solver *const s) | |
SearchMonitor (const SearchMonitor &)=delete | |
This type is neither copyable nor movable. | |
SearchMonitor & | operator= (const SearchMonitor &)=delete |
~SearchMonitor () override | |
virtual void | RestartSearch () |
Restart the search. | |
virtual void | ExitSearch () |
End of the search. | |
virtual void | EndNextDecision (DecisionBuilder *b, Decision *d) |
After calling DecisionBuilder::Next, along with the returned decision. | |
virtual void | ApplyDecision (Decision *d) |
Before applying the decision. | |
virtual void | AfterDecision (Decision *d, bool apply) |
virtual void | BeginFail () |
Just when the failure occurs. | |
virtual void | EndFail () |
After completing the backtrack. | |
virtual void | BeginInitialPropagation () |
Before the initial propagation. | |
virtual void | EndInitialPropagation () |
After the initial propagation. | |
virtual void | NoMoreSolutions () |
When the search tree is finished. | |
virtual bool | LocalOptimum () |
virtual void | AcceptNeighbor () |
After accepting a neighbor during local search. | |
virtual void | AcceptUncheckedNeighbor () |
After accepting an unchecked neighbor during local search. | |
virtual bool | IsUncheckedSolutionLimitReached () |
virtual void | PeriodicCheck () |
Periodic call to check limits in long running methods. | |
virtual int | ProgressPercent () |
virtual void | Install () |
A search monitors adds itself on the active search. | |
Solver * | solver () const |
Public Member Functions inherited from operations_research::BaseObject | |
BaseObject () | |
BaseObject (const BaseObject &)=delete | |
This type is neither copyable nor movable. | |
BaseObject & | operator= (const BaseObject &)=delete |
virtual | ~BaseObject () |
Additional Inherited Members | |
Static Public Attributes inherited from operations_research::SearchMonitor | |
static constexpr int | kNoProgress = -1 |
Protected Member Functions inherited from operations_research::ObjectiveMonitor | |
const std::vector< IntVar * > & | objective_vars () const |
const std::vector< IntVar * > & | minimization_vars () const |
int64_t | BestInternalValue (int index) const |
int64_t | CurrentInternalValue (int index) const |
void | SetCurrentInternalValue (int index, int64_t value) |
template<typename T > | |
void | MakeMinimizationVarsLessOrEqualWithSteps (const T &upper_bounds) |
template<typename T > | |
IntVar * | MakeMinimizationVarsLessOrEqualWithStepsStatus (const T &upper_bounds) |
bool | CurrentInternalValuesAreConstraining () const |
Protected Member Functions inherited from operations_research::SearchMonitor | |
void | ListenToEvent (Solver::MonitorEvent event) |
Protected Attributes inherited from operations_research::ObjectiveMonitor | |
bool | found_initial_solution_ |
This class encapsulates an objective. It requires the direction (minimize or maximize), the variable to optimize, and the improvement step.
Definition at line 4584 of file constraint_solver.h.
|
inlineoverride |
Definition at line 4592 of file constraint_solver.h.
|
overridevirtual |
This method is called when a solution is found. It asserts whether the solution is valid. A value of false indicates that the solution should be discarded.
This code should never return false in sequential mode because ApplyBound should have been called before. In parallel, this is no longer true. That is why we keep it there, just in case.
In unchecked mode, variables are unbound and the solution should be accepted.
Reimplemented from operations_research::SearchMonitor.
|
overridevirtual |
This method is called when a valid solution is found. If the return value is true, then search will resume after. If the result is false, then search will stop there.
Reimplemented from operations_research::ObjectiveMonitor.
|
overridevirtual |
Internal methods.
Reimplemented from operations_research::SearchMonitor.
|
inline |
Returns the best value found during search.
Definition at line 4596 of file constraint_solver.h.
|
overridevirtual |
Reimplemented from operations_research::BaseObject.
|
virtual |
|
overridevirtual |
Before refuting the decision.
Reimplemented from operations_research::SearchMonitor.
|
inline |
Returns the variable that is optimized.
Definition at line 4599 of file constraint_solver.h.