Algorithms#
- class pymoo.algorithms.soo.nonconvex.ga.GA(pop_size=100, sampling=<pymoo.operators.sampling.rnd.FloatRandomSampling object>, selection=<pymoo.operators.selection.tournament.TournamentSelection object>, crossover=<pymoo.operators.crossover.sbx.SBX object>, mutation=<pymoo.operators.mutation.pm.PM object>, survival=<pymoo.algorithms.soo.nonconvex.ga.FitnessSurvival object>, eliminate_duplicates=True, n_offsprings=None, output=<pymoo.util.display.single.SingleObjectiveOutput object>, **kwargs)[source]
Genetic algorithm for single-objective optimization.
- Parameters:
pop_size – The population size.
sampling – The sampling strategy.
selection – The selection strategy for parent selection.
crossover – The crossover operator.
mutation – The mutation operator.
survival – The survival strategy.
eliminate_duplicates – Whether to eliminate duplicate solutions.
n_offsprings – The number of offsprings per generation.
output – The output display configuration.
- class pymoo.algorithms.soo.nonconvex.de.DE(pop_size=100, n_offsprings=None, sampling=<pymoo.operators.sampling.rnd.FloatRandomSampling object>, variant='DE/best/1/bin', output=<pymoo.util.display.single.SingleObjectiveOutput object>, **kwargs)[source]
- class pymoo.algorithms.soo.nonconvex.pso.PSO(self, pop_size=25, sampling=LHS(), w=0.9, c1=2.0, c2=2.0, adaptive=True, initial_velocity='random', max_velocity_rate=0.20, pertube_best=True, repair=NoRepair(), output=PSOFuzzyOutput(), **kwargs)[source]
Particle Swarm Optimization algorithm.
- Parameters:
pop_size – The size of the swarm being used.
sampling – Sampling strategy.
adaptive – Whether w, c1, and c2 are changed dynamically over time.
w – Inertia weight for velocity update.
c1 – Cognitive impact (personal best) during velocity update.
c2 – Social impact (global best) during velocity update.
initial_velocity – How to initialize particle velocities (‘random’ or ‘zero’).
max_velocity_rate – Maximum velocity rate normalized by problem bounds.
pertube_best – Whether to mutate the global best solution.
repair – Repair strategy for handling constraints.
output – Output display strategy.
**kwargs – Additional algorithm parameters.
- class pymoo.algorithms.moo.nsga2.NSGA2(pop_size=100, sampling=<pymoo.operators.sampling.rnd.FloatRandomSampling object>, selection=<pymoo.operators.selection.tournament.TournamentSelection object>, crossover=<pymoo.operators.crossover.sbx.SBX object>, mutation=<pymoo.operators.mutation.pm.PM object>, survival=<pymoo.operators.survival.rank_and_crowding.classes.RankAndCrowding object>, output=<pymoo.util.display.multi.MultiObjectiveOutput object>, **kwargs)[source]
- class pymoo.algorithms.moo.rnsga2.RNSGA2(self, ref_points, epsilon=0.001, normalization='front', weights=None, extreme_points_as_reference_points=False, **kwargs)[source]
Initialize R-NSGA-II algorithm.
- Parameters:
ref_points – Reference points.
epsilon – Distance threshold for epsilon-neighbor clustering.
normalization – Normalization strategy (‘no’, ‘front’, ‘ever’).
weights – Weight vector for objectives.
extreme_points_as_reference_points – Whether to include extreme points as references.
**kwargs – Additional arguments passed to NSGA2.
- class pymoo.algorithms.moo.moead.MOEAD(ref_dirs=None, n_neighbors=20, decomposition=None, prob_neighbor_mating=0.9, sampling=<pymoo.operators.sampling.rnd.FloatRandomSampling object>, crossover=<pymoo.operators.crossover.sbx.SBX object>, mutation=<pymoo.operators.mutation.pm.PM object>, output=<pymoo.util.display.multi.MultiObjectiveOutput object>, **kwargs)[source]