Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::ChangeValue Class Referenceabstract

#include <constraint_solveri.h>

Inheritance diagram for operations_research::ChangeValue:
operations_research::IntVarLocalSearchOperator operations_research::LocalSearchOperator operations_research::BaseObject

Public Member Functions

 ChangeValue (const std::vector< IntVar * > &vars)
 --— ChangeValue Operators --—
 
 ~ChangeValue () override
 
virtual int64_t ModifyValue (int64_t index, int64_t value)=0
 
- Public Member Functions inherited from operations_research::IntVarLocalSearchOperator
 IntVarLocalSearchOperator (const std::vector< IntVar * > &vars, bool keep_inverse_values=false)
 
 ~IntVarLocalSearchOperator () override
 
bool HoldsDelta () const override
 
void Start (const Assignment *assignment) override
 
virtual bool IsIncremental () const
 
int Size () const
 
int64_t Value (int64_t index) const
 
IntVarVar (int64_t index) const
 Returns the variable of given index.
 
virtual bool SkipUnchanged (int index) const
 
int64_t OldValue (int64_t index) const
 
int64_t PrevValue (int64_t index) const
 
void SetValue (int64_t index, int64_t value)
 
bool Activated (int64_t index) const
 
void Activate (int64_t index)
 
void Deactivate (int64_t index)
 
bool ApplyChanges (Assignment *delta, Assignment *deltadelta) const
 
void RevertChanges (bool change_was_incremental)
 
void AddVars (const std::vector< IntVar * > &vars)
 
bool MakeNextNeighbor (Assignment *delta, Assignment *deltadelta) override
 --— Base operator class for operators manipulating IntVars --—
 
- Public Member Functions inherited from operations_research::LocalSearchOperator
 LocalSearchOperator ()
 
 ~LocalSearchOperator () override
 
virtual void Reset ()
 
virtual const LocalSearchOperatorSelf () const
 
virtual bool HasFragments () const
 
- Public Member Functions inherited from operations_research::BaseObject
 BaseObject ()
 
 BaseObject (const BaseObject &)=delete
 This type is neither copyable nor movable.
 
BaseObjectoperator= (const BaseObject &)=delete
 
virtual ~BaseObject ()
 
virtual std::string DebugString () const
 

Protected Member Functions

bool MakeOneNeighbor () override
 This method should not be overridden. Override ModifyValue() instead.
 
- Protected Member Functions inherited from operations_research::IntVarLocalSearchOperator
int64_t InverseValue (int64_t index) const
 
int64_t OldInverseValue (int64_t index) const
 
void AddToAssignment (IntVar *var, int64_t value, bool active, std::vector< int > *assignment_indices, int64_t index, Assignment *assignment) const
 

Detailed Description

Defines operators which change the value of variables; each neighbor corresponds to one modified variable. Sub-classes have to define ModifyValue which determines what the new variable value is going to be (given the current value and the variable).

Definition at line 1289 of file constraint_solveri.h.

Constructor & Destructor Documentation

◆ ChangeValue()

operations_research::ChangeValue::ChangeValue ( const std::vector< IntVar * > & vars)
explicit

--— ChangeValue Operators --—

Definition at line 302 of file local_search.cc.

◆ ~ChangeValue()

operations_research::ChangeValue::~ChangeValue ( )
override

Definition at line 305 of file local_search.cc.

Member Function Documentation

◆ MakeOneNeighbor()

bool operations_research::ChangeValue::MakeOneNeighbor ( )
overrideprotectedvirtual

This method should not be overridden. Override ModifyValue() instead.

Reimplemented from operations_research::IntVarLocalSearchOperator.

Definition at line 307 of file local_search.cc.

◆ ModifyValue()

virtual int64_t operations_research::ChangeValue::ModifyValue ( int64_t index,
int64_t value )
pure virtual

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