uo.algorithm.metaheuristic.variable_neighborhood_search package

Submodules

uo.algorithm.metaheuristic.variable_neighborhood_search.problem_solution_vns_support module

uo.algorithm.metaheuristic.variable_neighborhood_search.vns_optimizer module

The variable_neighborhood_search contains class VnsOptimizer, that represents implements algorithm VNS.

class uo.algorithm.metaheuristic.variable_neighborhood_search.vns_optimizer.VnsOptimizer(vns_shaking_support: VnsShakingSupport, vns_ls_support: VnsLocalSearchSupport, k_min: int, k_max: int, finish_control: FinishControl, problem: Problem, solution_template: Solution | None, output_control: OutputControl | None = None, random_seed: int | None = None, additional_statistics_control: AdditionalStatisticsControl | None = None)

Bases: SingleSolutionMetaheuristic

Instance of the class VnsOptimizer encapsulate Variable Neighborhood Search optimization algorithm.

copy()

Copy the current instance of class VnsOptimizer

Returns:

new instance of class VnsOptimizer with the same properties

Return type:

uo.algorithm.metaheuristic.variable_neighborhood_search.VnsOptimizer

classmethod from_construction_tuple(construction_tuple: VnsOptimizerConstructionParameters)

Additional constructor, that creates new instance of class VnsOptimizer.

Parameters:

construction_tuple (VnsOptimizerConstructionParameters) – tuple with all constructor parameters

init() None

Initialization of the VNS algorithm

property k_max: int

Property getter for the k_max parameter for VNS

Returns:

k_max parameter for VNS

Return type:

int

property k_min: int

Property getter for the k_min parameter for VNS

Returns:

k_min parameter for VNS

Return type:

int

main_loop_iteration() None

One iteration within main loop of the VNS algorithm

string_rep(delimiter: str, indentation: int = 0, indentation_symbol: str = '', group_start: str = '{', group_end: str = '}') str

String representation of the VnsOptimizer instance

Parameters:
  • delimiter (str) – delimiter between fields

  • indentation (int, optional, default value 0) – level of indentation

  • indentation_symbol (str, optional, default value '') – indentation symbol

  • group_start (str, optional, default value '{') – group start string

  • group_end (str, optional, default value '}') – group end string

Returns:

string representation of instance that controls output

Return type:

str

class uo.algorithm.metaheuristic.variable_neighborhood_search.vns_optimizer.VnsOptimizerConstructionParameters(vns_shaking_support: VnsShakingSupport = None, vns_ls_support: VnsLocalSearchSupport = None, k_min: int | None = None, k_max: int | None = None, finish_control: FinishControl | None = None, problem: Problem = None, solution_template: Solution | None = None, output_control: OutputControl | None = None, random_seed: int | None = None, additional_statistics_control: AdditionalStatisticsControl | None = None)

Bases: object

Instance of the class VnsOptimizerConstructionParameters represents constructor parameters for VNS algorithm.

additional_statistics_control: AdditionalStatisticsControl | None = None
finish_control: FinishControl | None = None
k_max: int | None = None
k_min: int | None = None
output_control: OutputControl | None = None
problem: Problem = None
random_seed: int | None = None
solution_template: Solution | None = None
vns_ls_support: VnsLocalSearchSupport = None
vns_shaking_support: VnsShakingSupport = None
uo.algorithm.metaheuristic.variable_neighborhood_search.vns_optimizer.random() x in the interval [0, 1).