Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::LocalSearchFilterManager Class Reference

Detailed Description

Filter manager: when a move is made, filters are executed to decide whether the solution is feasible and compute parts of the new cost. This class schedules filter execution and composes costs as a sum.

Definition at line 3137 of file constraint_solveri.h.

#include <constraint_solveri.h>

Inheritance diagram for operations_research::LocalSearchFilterManager:
operations_research::BaseObject

Classes

struct  FilterEvent

Public Types

enum  FilterEventType { kAccept , kRelax }

Public Member Functions

std::string DebugString () const override
 LocalSearchFilterManager (std::vector< FilterEvent > filter_events)
 LocalSearchFilterManager (std::vector< LocalSearchFilter * > filters)
void Revert ()
bool Accept (LocalSearchMonitor *monitor, const Assignment *delta, const Assignment *deltadelta, int64_t objective_min, int64_t objective_max)
void Synchronize (const Assignment *assignment, const Assignment *delta)
 Synchronizes all filters to assignment.
int64_t GetSynchronizedObjectiveValue () const
int64_t GetAcceptedObjectiveValue () const
Public Member Functions inherited from operations_research::BaseObject
 BaseObject ()
 BaseObject (const BaseObject &)=delete
BaseObjectoperator= (const BaseObject &)=delete
virtual ~BaseObject ()=default

Member Enumeration Documentation

◆ FilterEventType

Enumerator
kAccept 
kRelax 

Definition at line 3141 of file constraint_solveri.h.

Constructor & Destructor Documentation

◆ LocalSearchFilterManager() [1/2]

operations_research::LocalSearchFilterManager::LocalSearchFilterManager ( std::vector< FilterEvent > filter_events)
explicit

Definition at line 3802 of file local_search.cc.

◆ LocalSearchFilterManager() [2/2]

operations_research::LocalSearchFilterManager::LocalSearchFilterManager ( std::vector< LocalSearchFilter * > filters)
explicit

Definition at line 3787 of file local_search.cc.

Member Function Documentation

◆ Accept()

bool operations_research::LocalSearchFilterManager::Accept ( LocalSearchMonitor * monitor,
const Assignment * delta,
const Assignment * deltadelta,
int64_t objective_min,
int64_t objective_max )

Returns true iff all filters return true, and the sum of their accepted objectives is between objective_min and objective_max. The monitor has its Begin/EndFiltering events triggered.

Definition at line 3827 of file local_search.cc.

◆ DebugString()

std::string operations_research::LocalSearchFilterManager::DebugString ( ) const
inlineoverridevirtual

Reimplemented from operations_research::BaseObject.

Definition at line 3148 of file constraint_solveri.h.

◆ GetAcceptedObjectiveValue()

int64_t operations_research::LocalSearchFilterManager::GetAcceptedObjectiveValue ( ) const
inline

Definition at line 3170 of file constraint_solveri.h.

◆ GetSynchronizedObjectiveValue()

int64_t operations_research::LocalSearchFilterManager::GetSynchronizedObjectiveValue ( ) const
inline

Definition at line 3169 of file constraint_solveri.h.

◆ Revert()

void operations_research::LocalSearchFilterManager::Revert ( )

Definition at line 3816 of file local_search.cc.

◆ Synchronize()

void operations_research::LocalSearchFilterManager::Synchronize ( const Assignment * assignment,
const Assignment * delta )

Synchronizes all filters to assignment.

Definition at line 3883 of file local_search.cc.


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