operations_research::LocalSearchOperator Class Referenceabstract

Detailed Description

The base class for all local search operators.

A local search operator is an object that defines the neighborhood of a solution. In other words, a neighborhood is the set of solutions which can be reached from a given solution using an operator.

The behavior of the LocalSearchOperator class is similar to iterators. The operator is synchronized with an assignment (gives the current values of the variables); this is done in the Start() method.

Then one can iterate over the neighbors using the MakeNextNeighbor method. This method returns an assignment which represents the incremental changes to the current solution. It also returns a second assignment representing the changes to the last solution defined by the neighborhood operator; this assignment is empty if the neighborhood operator cannot track this information.

Definition at line 805 of file constraint_solveri.h.

Public Member Functions

 LocalSearchOperator ()
 
 ~LocalSearchOperator () override
 
virtual bool MakeNextNeighbor (Assignment *delta, Assignment *deltadelta)=0
 
virtual void Start (const Assignment *assignment)=0
 
virtual void Reset ()
 
virtual const LocalSearchOperatorSelf () const
 
virtual bool HasFragments () const
 
virtual bool HoldsDelta () const
 
virtual std::string DebugString () const
 

Constructor & Destructor Documentation

◆ LocalSearchOperator()

operations_research::LocalSearchOperator::LocalSearchOperator ( )
inline

Definition at line 807 of file constraint_solveri.h.

◆ ~LocalSearchOperator()

operations_research::LocalSearchOperator::~LocalSearchOperator ( )
inlineoverride

Definition at line 808 of file constraint_solveri.h.

Member Function Documentation

◆ DebugString()

virtual std::string operations_research::BaseObject::DebugString ( ) const
inlinevirtualinherited

Reimplemented in operations_research::Pack, operations_research::Assignment, operations_research::SequenceVar, operations_research::RegularLimit, operations_research::SearchLimit, operations_research::OptimizeVar, operations_research::SolutionCollector, operations_research::IntVarIterator, operations_research::Constraint, operations_research::CPFeasibilityFilter, operations_research::Demon, operations_research::DecisionBuilder, operations_research::Decision, operations_research::ChristofidesFilteredDecisionBuilder, operations_research::ParallelSavingsFilteredDecisionBuilder, operations_research::PropagationBaseObject, operations_research::SequentialSavingsFilteredDecisionBuilder, operations_research::ComparatorCheapestAdditionFilteredDecisionBuilder, operations_research::EvaluatorCheapestAdditionFilteredDecisionBuilder, operations_research::LocalCheapestInsertionFilteredDecisionBuilder, operations_research::GlobalCheapestInsertionFilteredDecisionBuilder, operations_research::ArrayWithOffset< T >, operations_research::SearchLog, operations_research::BooleanVar, operations_research::LocalSearchMonitor, operations_research::PropagationMonitor, operations_research::LocalSearchFilterManager, operations_research::PathWithPreviousNodesOperator, operations_research::DelayedCallMethod2< T, P, Q >, operations_research::DelayedCallMethod1< T, P >, operations_research::DelayedCallMethod0< T >, operations_research::CallMethod3< T, P, Q, R >, operations_research::CallMethod2< T, P, Q >, operations_research::CallMethod1< T, P >, operations_research::ExchangeSubtrip, operations_research::RelocateSubtrip, operations_research::CallMethod0< T >, operations_research::PairNodeSwapActiveOperator< swap_first >, operations_research::RelocateExpensiveChain, operations_research::IndexPairSwapActiveOperator, operations_research::SwapIndexPairOperator, operations_research::PairExchangeRelocateOperator, operations_research::PairExchangeOperator, operations_research::LightPairRelocateOperator, operations_research::PairRelocateOperator, operations_research::MakePairInactiveOperator, operations_research::MakePairActiveOperator, and operations_research::MakeRelocateNeighborsOperator.

Definition at line 3093 of file constraint_solver.h.

◆ HasFragments()

virtual bool operations_research::LocalSearchOperator::HasFragments ( ) const
inlinevirtual

Reimplemented in operations_research::BaseLns.

Definition at line 815 of file constraint_solveri.h.

◆ HoldsDelta()

virtual bool operations_research::LocalSearchOperator::HoldsDelta ( ) const
inlinevirtual

◆ MakeNextNeighbor()

◆ Reset()

virtual void operations_research::LocalSearchOperator::Reset ( )
inlinevirtual

Reimplemented in operations_research::PathOperator.

Definition at line 811 of file constraint_solveri.h.

◆ Self()

virtual const LocalSearchOperator* operations_research::LocalSearchOperator::Self ( ) const
inlinevirtual

Definition at line 813 of file constraint_solveri.h.

◆ Start()

virtual void operations_research::LocalSearchOperator::Start ( const Assignment assignment)
pure virtual

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