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.

[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))

Compiled modules for significant speedup can not be used!
https://pymoo.org/installation.html#installation

To disable this warning:
from pymoo.config import Config
Config.warnings['not_compiled'] = False

Best solution found:
X = [ 4.19729051e-18 -2.95505169e-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)