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

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

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,

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


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)