The SearcherType
enum represents different types of available searching algorithms. To
set a searcher in the model is mandatory.
Searchers
SearcherType(Enum):
Represents different types of search algorithms.
Enum Members:
DFS (str)
: Depth-First Search algorithm.BAB (str)
: Branch and Bound algorithm.LDS (str)
: Limited Discrepancy Search algorithm.PBS (str)
: Portfolio-Based Search algorithm.RBS (str)
: Restart-Based Search algorithm.
Example:
my_model = Modeller()
my_model.set_searcher(SearcherType.LDS) # Represents "Limited Discrepancy Search"
Cutoff
The Cutoff module provides a set of classes for defining various optimization cutoff conditions. These cutoff conditions help control the termination of search algorithms based on predefined criteria. The module also includes meta-cutoff classes that allow users to combine and manipulate different cutoff conditions to create more complex termination strategies.
Cutoff Classes
CutoffConstant
Represents a constant optimization cutoff condition.
Parameters:
constant_value
(int): The constant value for the cutoff.
CutoffFibonacci
Represents a Fibonacci optimization cutoff condition. Methods
CutoffGeometric
Represents a geometric progression optimization cutoff condition.
Parameters:
base
(float): The base value of the geometric progression.scale
(int): The scale value of the geometric progression.
CutoffLuby
Represents a Luby sequence optimization cutoff condition.
Parameters:
scale
(int): The scaling factor for the Luby sequence.
CutoffLinear
Represents a linear optimization cutoff condition.
Parameters:
scale
(int): The scaling factor for the linear cutoff.
CutoffRandom
Represents a random optimization cutoff condition.
Parameters:
seed
(int): The seed value for the random number generator.minimum
(int): The minimum cutoff value.maximum
(int): The maximum cutoff value.round_value
(int): The value to round the cutoff to.
Meta-Cutoff Classes
MetaCutoffAppender
Represents a meta-cutoff that appends two different cutoff conditions.
Parameters:
first_cutoff
(Cutoff): The first cutoff condition.number_from_first
(int): The number of solutions from the first cutoff to append.second_cutoff
(Cutoff): The second cutoff condition.
MetaCutoffMerger
Represents a meta-cutoff that merges two different cutoff conditions.
Parameters:
first_cutoff
(Cutoff): The first cutoff condition.second_cutoff
(Cutoff): The second cutoff condition.
MetaCutoffRepeater
Represents a meta-cutoff that repeats a sub-cutoff condition multiple times.
Parameters:
sub_cutoff
(Cutoff): The sub-cutoff condition to be repeated.repeat
(int): The number of times to repeat the sub-cutoff.