G3PCX: A Computationally Efficient Evolutionary Algorithm for Real-Parameter Optimization

Contents

G3PCX: A Computationally Efficient Evolutionary Algorithm for Real-Parameter Optimization#

The algorithm is implemented based on [23]. This is an implementation of PCX operator using G3 model. This is an unconstrained optimization algorithm which is suitable for real parameter optimization.

[1]:
from pymoo.algorithms.soo.nonconvex.g3pcx import G3PCX
from pymoo.problems.single import Ackley
from pymoo.optimize import minimize

problem = Ackley()

algorithm = G3PCX()

res = minimize(problem,
               algorithm,
               seed=1,
               verbose=False)

print("Best solution found: \nX = %s\nF = %s" % (res.X, res.F))
Best solution found:
X = [ 2.79908996e-16 -2.24514626e-16]
F = [4.4408921e-16]

API#

class pymoo.algorithms.soo.nonconvex.g3pcx.G3PCX(pop_size=100, sampling=<pymoo.operators.sampling.rnd.FloatRandomSampling object>, n_offsprings=2, n_parents=3, family_size=2, repair=<pymoo.core.repair.NoRepair object>, output=<pymoo.util.display.single.SingleObjectiveOutput object>, **kwargs)[source]

G3PCX algorithm for single-objective optimization.

Parameters:
  • pop_size – The population size.

  • sampling – The sampling strategy.

  • n_offsprings – The number of offsprings per generation.

  • n_parents – The number of parents for crossover.

  • family_size – The family size for replacement.

  • repair – The repair method for out-of-bound solutions.

  • output – The output display configuration.