C++ Reference: class LocalSearchFilterManager

Note: This documentation is automatically generated.

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.
Method
Accept

Return type: bool

Arguments: LocalSearchMonitor* const 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.

DebugString

Return type: std::string

GetAcceptedObjectiveValue

Return type: int64_t

GetSynchronizedObjectiveValue

Return type: int64_t

LocalSearchFilterManager

Return type: explicit

Arguments: std::vector<FilterEvent> filter_events

Builds a manager that calls filter methods using an explicit ordering.

LocalSearchFilterManager

Return type: explicit

Arguments: std::vector<LocalSearchFilter*> filters

Builds a manager that calls filter methods using the following ordering: first Relax() in vector order, then Accept() in vector order. Note that some filters might appear only once, if their Relax() or Accept() are trivial.

Revert

Return type: void

Calls Revert() of filters, in reverse order of Relax events.

Synchronize

Return type: void

Arguments: const Assignment* assignment, const Assignment* delta

Synchronizes all filters to assignment.