Core¶
This subpackage store templates used in jMetalPy.
Algorithm¶
-
class
jmetal.core.algorithm.Algorithm¶ Bases:
typing.Generic,threading.Thread-
get_current_computing_time() → float¶
-
get_evaluations() → int¶
-
get_name() → str¶
-
get_result() → R¶ Returns: Final population.
-
-
class
jmetal.core.algorithm.EvolutionaryAlgorithm¶ Bases:
jmetal.core.algorithm.Algorithm-
create_initial_population() → typing.List[S]¶
-
evaluate_population(population: typing.List[S]) → typing.List[S]¶
-
init_progress() → None¶
-
is_stopping_condition_reached() → bool¶
-
replacement(population: typing.List[S], offspring_population: typing.List[S]) → typing.List[S]¶
-
reproduction(population: typing.List[S]) → typing.List[S]¶
-
run()¶ Step One: Generate the initial population of individuals randomly. (First generation)
Step Two: Evaluate the fitness of each individual in that population
Step Three: Repeat the following regenerational steps until termination
- Select the best-fit individuals for reproduction. (Parents)
- Breed new individuals through crossover and mutation operations to give birth to offspring.
- Evaluate the individual fitness of new individuals.
- Replace least-fit population with new individuals.
Note
To develop an EA, all the abstract the methods used in the run() method must be implemented.
-
selection(population: typing.List[S]) → typing.List[S]¶
-
update_progress()¶
-
-
class
jmetal.core.algorithm.ParticleSwarmOptimization¶ Bases:
jmetal.core.algorithm.Algorithm-
create_initial_swarm() → typing.List[jmetal.core.solution.FloatSolution]¶
-
evaluate_swarm(swarm: typing.List[jmetal.core.solution.FloatSolution]) → typing.List[jmetal.core.solution.FloatSolution]¶
-
init_progress() → None¶
-
initialize_global_best(swarm: typing.List[jmetal.core.solution.FloatSolution]) → None¶
-
initialize_particle_best(swarm: typing.List[jmetal.core.solution.FloatSolution]) → None¶
-
initialize_velocity(swarm: typing.List[jmetal.core.solution.FloatSolution]) → None¶
-
is_stopping_condition_reached() → bool¶
-
perturbation(swarm: typing.List[jmetal.core.solution.FloatSolution]) → None¶
-
run()¶
-
update_global_best(swarm: typing.List[jmetal.core.solution.FloatSolution]) → None¶
-
update_particle_best(swarm: typing.List[jmetal.core.solution.FloatSolution]) → None¶
-
update_position(swarm: typing.List[jmetal.core.solution.FloatSolution]) → None¶
-
update_progress() → None¶
-
update_velocity(swarm: typing.List[jmetal.core.solution.FloatSolution]) → None¶
-
-
jmetal.core.algorithm.R= ~R¶
Operator¶
-
class
jmetal.core.operator.Crossover(probability: float)¶ Bases:
jmetal.core.operator.OperatorClass representing crossover operator.
-
execute(source: S) → R¶
-
get_name() → str¶
-
get_number_of_parents()¶
-
-
class
jmetal.core.operator.Mutation(probability: float)¶ Bases:
jmetal.core.operator.OperatorClass representing mutation operator.
-
execute(source: S) → R¶
-
get_name() → str¶
-
-
class
jmetal.core.operator.Operator¶ Bases:
typing.GenericClass representing operator
-
execute(source: S) → R¶
-
get_name() → str¶
-
-
jmetal.core.operator.R= ~R¶
-
class
jmetal.core.operator.Selection¶ Bases:
jmetal.core.operator.OperatorClass representing selection operator.
-
execute(source: S) → R¶
-
get_name() → str¶
-
Problem¶
-
class
jmetal.core.problem.BinaryProblem(rf_path: str = None)¶ Bases:
jmetal.core.problem.ProblemClass representing binary problems.
-
create_solution() → jmetal.core.solution.BinarySolution¶
-
evaluate(solution: jmetal.core.solution.BinarySolution) → jmetal.core.solution.BinarySolution¶
-
-
class
jmetal.core.problem.FloatProblem(rf_path: str = None)¶ Bases:
jmetal.core.problem.ProblemClass representing float problems.
-
create_solution() → jmetal.core.solution.FloatSolution¶
-
evaluate(solution: jmetal.core.solution.FloatSolution) → jmetal.core.solution.FloatSolution¶
-
-
class
jmetal.core.problem.IntegerProblem(rf_path: str = None)¶ Bases:
jmetal.core.problem.ProblemClass representing integer problems.
-
create_solution() → jmetal.core.solution.IntegerSolution¶
-
evaluate(solution: jmetal.core.solution.IntegerSolution) → jmetal.core.solution.IntegerSolution¶
-
-
class
jmetal.core.problem.Problem(reference_front_path: str)¶ Bases:
typing.GenericClass representing problems.
-
MAXIMIZE= 1¶
-
MINIMIZE= -1¶
-
create_solution() → S¶ Creates a random solution to the problem.
Returns: Solution.
-
evaluate(solution: S) → S¶ Evaluate a solution. For any new problem inheriting from
Problem, this method should be replaced.Returns: Evaluated solution.
-
evaluate_constraints(solution: S)¶
-
get_name() → str¶
-
static
read_front_from_file(file_path: str) → typing.List[typing.List[float]]¶ Reads a front from a file and returns a list.
Returns: List of solution points.
-
static
read_front_from_file_as_solutions(file_path: str) → typing.List[S]¶ Reads a front from a file and returns a list of solution objects.
Returns: List of solution objects.
-
Solution¶
-
class
jmetal.core.solution.BinarySolution(number_of_variables: int, number_of_objectives: int, number_of_constraints: int = 0)¶ Bases:
jmetal.core.solution.SolutionClass representing float solutions
-
get_total_number_of_bits() → int¶
-
-
class
jmetal.core.solution.FloatSolution(number_of_variables: int, number_of_objectives: int, number_of_constraints: int, lower_bound: typing.List[float], upper_bound: typing.List[float])¶ Bases:
jmetal.core.solution.SolutionClass representing float solutions
-
class
jmetal.core.solution.IntegerSolution(number_of_variables: int, number_of_objectives: int, number_of_constraints: int, lower_bound: typing.List[int], upper_bound: typing.List[int])¶ Bases:
jmetal.core.solution.SolutionClass representing integer solutions
-
class
jmetal.core.solution.Solution(number_of_variables: int, number_of_objectives: int, number_of_constraints: int = 0)¶ Bases:
typing.GenericClass representing solutions
Observable¶
-
class
jmetal.core.observable.DefaultObservable¶ Bases:
jmetal.core.observable.Observable-
deregister(observer: jmetal.core.observable.Observer)¶
-
deregister_all()¶
-
notify_all(*args, **kwargs)¶
-
register(observer: jmetal.core.observable.Observer)¶
-