![]() |
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.