![]() |
Google OR-Tools v9.12
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 () |
![]() | |
ObjectiveMonitor (Solver *solver, const std::vector< bool > &maximize, std::vector< IntVar * > vars, std::vector< int64_t > steps) | |
~ObjectiveMonitor () override | |
ObjectiveMonitor (const ObjectiveMonitor &)=delete | |
ObjectiveMonitor & | operator= (const ObjectiveMonitor &)=delete |
IntVar * | ObjectiveVar (int index) const override |
IntVar * | MinimizationVar (int index) const override |
int64_t | Step (int index) const override |
bool | Maximize (int index) const override |
int64_t | BestValue (int index) const override |
int | Size () const override |
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. | |
![]() | |
BaseObjectiveMonitor (Solver *solver) | |
~BaseObjectiveMonitor () override | |
BaseObjectiveMonitor (const BaseObjectiveMonitor &)=delete | |
BaseObjectiveMonitor & | operator= (const BaseObjectiveMonitor &)=delete |
bool | is_active () const |
void | set_active (bool is_active) |
![]() | |
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 |
![]() | |
BaseObject () | |
BaseObject (const BaseObject &)=delete | |
This type is neither copyable nor movable. | |
BaseObject & | operator= (const BaseObject &)=delete |
virtual | ~BaseObject () |
Additional Inherited Members | |
![]() | |
static constexpr int | kNoProgress = -1 |
![]() | |
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 |
![]() | |
void | ListenToEvent (Solver::MonitorEvent event) |
![]() | |
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 4682 of file constraint_solver.h.
|
inlineoverride |
Definition at line 4690 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 4694 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 4697 of file constraint_solver.h.