Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
com.google.ortools.constraintsolver.LocalSearchFilter Class Reference
Inheritance diagram for com.google.ortools.constraintsolver.LocalSearchFilter:
com.google.ortools.constraintsolver.BaseObject com.google.ortools.constraintsolver.IntVarLocalSearchFilter

Public Member Functions

synchronized void delete ()
 
void swigReleaseOwnership ()
 
void swigTakeOwnership ()
 
void Relax (Assignment delta, Assignment deltadelta)
 
void Commit (Assignment delta, Assignment deltadelta)
 
boolean accept (Assignment delta, Assignment deltadelta, long objective_min, long objective_max)
 
boolean isIncremental ()
 
void synchronize (Assignment assignment, Assignment delta)
 
void Revert ()
 
void Reset ()
 
long getSynchronizedObjectiveValue ()
 
long getAcceptedObjectiveValue ()
 
 LocalSearchFilter ()
 
- Public Member Functions inherited from com.google.ortools.constraintsolver.BaseObject
 BaseObject ()
 
String toString ()
 

Protected Member Functions

 LocalSearchFilter (long cPtr, boolean cMemoryOwn)
 
void finalize ()
 
void swigDirectorDisconnect ()
 
- Protected Member Functions inherited from com.google.ortools.constraintsolver.BaseObject
 BaseObject (long cPtr, boolean cMemoryOwn)
 

Static Protected Member Functions

static long getCPtr (LocalSearchFilter obj)
 
static long swigRelease (LocalSearchFilter obj)
 
- Static Protected Member Functions inherited from com.google.ortools.constraintsolver.BaseObject
static long getCPtr (BaseObject obj)
 
static long swigRelease (BaseObject obj)
 

Additional Inherited Members

- Protected Attributes inherited from com.google.ortools.constraintsolver.BaseObject
transient boolean swigCMemOwn
 

Detailed Description

Classes to which this template function can be applied to as of 04/2014.
Usage: LocalSearchOperator* op = MakeLocalSearchOperator<Relocate>(...);
class TwoOpt;
class Relocate;
class Exchange;
class Cross;
class MakeActiveOperator;
class MakeInactiveOperator;
class MakeChainInactiveOperator;
class SwapActiveOperator;
class ExtendedSwapActiveOperator;
class MakeActiveAndRelocate;
class RelocateAndMakeActiveOperator;
class RelocateAndMakeInactiveOperator;
Local Search Filters are used for fast neighbor pruning.
Filtering a move is done in several phases:

  • in the Relax phase, filters determine which parts of their internals
    will be changed by the candidate, and modify intermediary State
  • in the Accept phase, filters check that the candidate is feasible,
  • if the Accept phase succeeds, the solver may decide to trigger a
    Synchronize phase that makes filters change their internal representation
    to the last candidate,
  • otherwise (Accept fails or the solver does not want to synchronize),
    a Revert phase makes filters erase any intermediary State generated by the
    Relax and Accept phases.
    A given filter has phases called with the following pattern:
    (Relax.Accept.Synchronize | Relax.Accept.Revert | Relax.Revert)*.
    Filters's Revert() is always called in the reverse order their Accept() was
    called, to allow late filters to use state done/undone by early filters'
    Accept()/Revert().

Definition at line 43 of file LocalSearchFilter.java.

Constructor & Destructor Documentation

◆ LocalSearchFilter() [1/2]

com.google.ortools.constraintsolver.LocalSearchFilter.LocalSearchFilter ( long cPtr,
boolean cMemoryOwn )
protected

Definition at line 46 of file LocalSearchFilter.java.

◆ LocalSearchFilter() [2/2]

com.google.ortools.constraintsolver.LocalSearchFilter.LocalSearchFilter ( )

Definition at line 171 of file LocalSearchFilter.java.

Member Function Documentation

◆ accept()

boolean com.google.ortools.constraintsolver.LocalSearchFilter.accept ( Assignment delta,
Assignment deltadelta,
long objective_min,
long objective_max )

Accepts a "delta" given the assignment with which the filter has been
synchronized; the delta holds the variables which have been modified and
their new value.
If the filter represents a part of the global objective, its contribution
must be between objective_min and objective_max.
Sample: supposing one wants to maintain a[0,1] + b[0,1] <= 1,
for the assignment (a,1), (b,0), the delta (b,1) will be rejected
but the delta (a,0) will be accepted.
TODO(user): Remove arguments when there are no more need for those.

Definition at line 124 of file LocalSearchFilter.java.

◆ Commit()

void com.google.ortools.constraintsolver.LocalSearchFilter.Commit ( Assignment delta,
Assignment deltadelta )

Dual of Relax(), lets the filter know that the delta was accepted.

Definition at line 109 of file LocalSearchFilter.java.

◆ delete()

synchronized void com.google.ortools.constraintsolver.LocalSearchFilter.delete ( )

◆ finalize()

void com.google.ortools.constraintsolver.LocalSearchFilter.finalize ( )
protected

◆ getAcceptedObjectiveValue()

long com.google.ortools.constraintsolver.LocalSearchFilter.getAcceptedObjectiveValue ( )

Objective value from the last time Accept() was called and returned true.

Definition at line 167 of file LocalSearchFilter.java.

◆ getCPtr()

static long com.google.ortools.constraintsolver.LocalSearchFilter.getCPtr ( LocalSearchFilter obj)
staticprotected

Definition at line 51 of file LocalSearchFilter.java.

◆ getSynchronizedObjectiveValue()

long com.google.ortools.constraintsolver.LocalSearchFilter.getSynchronizedObjectiveValue ( )

Objective value from last time Synchronize() was called.

Definition at line 160 of file LocalSearchFilter.java.

◆ isIncremental()

boolean com.google.ortools.constraintsolver.LocalSearchFilter.isIncremental ( )

Definition at line 128 of file LocalSearchFilter.java.

◆ Relax()

void com.google.ortools.constraintsolver.LocalSearchFilter.Relax ( Assignment delta,
Assignment deltadelta )

Lets the filter know what delta and deltadelta will be passed in the next
Accept().

Definition at line 102 of file LocalSearchFilter.java.

◆ Reset()

void com.google.ortools.constraintsolver.LocalSearchFilter.Reset ( )

Sets the filter to empty solution.

Definition at line 153 of file LocalSearchFilter.java.

◆ Revert()

void com.google.ortools.constraintsolver.LocalSearchFilter.Revert ( )

Cancels the changes made by the last Relax()/Accept() calls.

Definition at line 146 of file LocalSearchFilter.java.

◆ swigDirectorDisconnect()

void com.google.ortools.constraintsolver.LocalSearchFilter.swigDirectorDisconnect ( )
protected

◆ swigRelease()

static long com.google.ortools.constraintsolver.LocalSearchFilter.swigRelease ( LocalSearchFilter obj)
staticprotected

Definition at line 55 of file LocalSearchFilter.java.

◆ swigReleaseOwnership()

void com.google.ortools.constraintsolver.LocalSearchFilter.swigReleaseOwnership ( )

◆ swigTakeOwnership()

void com.google.ortools.constraintsolver.LocalSearchFilter.swigTakeOwnership ( )

◆ synchronize()

void com.google.ortools.constraintsolver.LocalSearchFilter.synchronize ( Assignment assignment,
Assignment delta )

Synchronizes the filter with the current solution, delta being the
difference with the solution passed to the previous call to Synchronize()
or IncrementalSynchronize(). 'delta' can be used to incrementally
synchronizing the filter with the new solution by only considering the
changes in delta.

Reimplemented in com.google.ortools.constraintsolver.IntVarLocalSearchFilter.

Definition at line 139 of file LocalSearchFilter.java.


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