![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
The consistency level is maintained up to kFreeAndUncovered. More...
The consistency level is maintained up to kFreeAndUncovered.
Once we have a first solution to the problem, there may be (most often, there are) elements in E that are covered several times. To decrease the total cost, SteepestSearch tries to eliminate some redundant S_j's from the solution or equivalently, to flip some x_j's from 1 to 0. the algorithm gets its name because it goes in the steepest immediate direction, taking the S_j with the largest total cost.
Definition at line 371 of file set_cover_heuristics.h.
#include <set_cover_heuristics.h>
Public Member Functions | |
SteepestSearch (SetCoverInvariant *inv) | |
SteepestSearch (SetCoverInvariant *inv, absl::string_view name) | |
bool | NextSolution (const SubsetBoolVector &in_focus) final |
SteepestSearch. | |
bool | NextSolution (absl::Span< const SubsetIndex > focus) final |
bool | NextSolution () final |
Virtual methods that must be implemented by derived classes. | |
Public Member Functions inherited from operations_research::BoolVectorBasedSolutionGenerator | |
BoolVectorBasedSolutionGenerator (SetCoverInvariant *inv, SetCoverInvariant::ConsistencyLevel consistency_level, absl::string_view class_name, absl::string_view name) | |
Public Member Functions inherited from operations_research::SetCoverSolutionGenerator | |
SetCoverSolutionGenerator (SetCoverInvariant *inv, SetCoverInvariant::ConsistencyLevel consistency_level, absl::string_view class_name, absl::string_view name) | |
virtual | ~SetCoverSolutionGenerator ()=default |
void | SetName (const absl::string_view name) |
SetCoverInvariant * | inv () const |
virtual SetCoverSolutionGenerator & | ResetLimits () |
Resets the limits to their default values. | |
SetCoverSolutionGenerator & | SetMaxIterations (int64_t max_iterations) |
Sets the maximum number of iterations. | |
int64_t | max_iterations () const |
Returns the maximum number of iterations. | |
SetCoverSolutionGenerator & | SetTimeLimitInSeconds (double seconds) |
Sets the time limit in seconds. | |
absl::Duration | run_time () const |
double | run_time_in_seconds () const |
Returns the total elapsed runtime in seconds. | |
double | run_time_in_microseconds () const |
Returns the total elapsed runtime in microseconds. | |
std::string | name () const |
Returns the name of the heuristic. | |
std::string | class_name () const |
Returns the name of the class. | |
Cost | cost () const |
Returns the current cost of the solution in the invariant. | |
bool | CheckInvariantConsistency () const |
Additional Inherited Members | |
Protected Member Functions inherited from operations_research::SetCoverSolutionGenerator | |
SetCoverModel * | model () const |
Accessors. | |
BaseInt | num_subsets () const |
double | time_limit_in_seconds () const |
The time limit in seconds. | |
Protected Attributes inherited from operations_research::SetCoverSolutionGenerator | |
absl::Duration | run_time_ |
run_time_ is an abstract duration for the time spent in NextSolution(). | |
SetCoverInvariant::ConsistencyLevel | consistency_level_ |
The consistency needed by the solution generator. |
|
inlineexplicit |
Definition at line 373 of file set_cover_heuristics.h.
|
inline |
Definition at line 376 of file set_cover_heuristics.h.
|
inlinefinalvirtual |
Virtual methods that must be implemented by derived classes.
Computes the next full solution taking into account all the subsets.
Reimplemented from operations_research::BoolVectorBasedSolutionGenerator.
Definition at line 222 of file set_cover_heuristics.h.
|
inlinefinalvirtual |
Computes the next partial solution considering only the subsets whose indices are in focus.
Reimplemented from operations_research::BoolVectorBasedSolutionGenerator.
Definition at line 218 of file set_cover_heuristics.h.
|
finalvirtual |
Return false if inv() contains no solution.
Create priority queue with cost of using a subset, by decreasing order. Do it only for selected AND removable subsets.
Reimplemented from operations_research::BoolVectorBasedSolutionGenerator.
Definition at line 475 of file set_cover_heuristics.cc.