zdt — ZDT Problem Collection

This module contains the ZDT suite for multiobjective optimization as defined in [Zitzler2000]. The problems have two objectives each. Except for ZDT5, the search spaces are continuous.

class optproblems.zdt.ZDT(**kwargs)

The whole collection.

This class inherits from list and by default generates all problems with their default configuration.
Parameters:kwargs – Arbitrary keyword arguments, passed through to the constructors of the ZDT problems.

References

[Zitzler2000]Zitzler, E., Deb, K., and Thiele, L. (2000). Comparison of Multiobjective Evolutionary Algorithms: Empirical Results. Evolutionary Computation 8(2).
class optproblems.zdt.ZDTBaseProblem(objective_functions, num_objectives=None, max_evaluations=inf, worker_pool=None, mp_module=None, phenome_preprocessor=None, name=None)
get_optimal_solutions(max_number=100)

Return Pareto-optimal solutions.

Note

The returned solutions do not yet contain the objective values.

Parameters:max_number (int, optional) – As the number of Pareto-optimal solutions is infinite, the returned set has to be restricted to a finite sample.
Returns:solutions – The Pareto-optimal solutions
Return type:list of Individual
class optproblems.zdt.ZDT1(num_variables=30, phenome_preprocessor=None, **kwargs)

The ZDT1 problem.

static h(f1_value, g_value)

The h function of ZDT1.

class optproblems.zdt.ZDT2(num_variables=30, phenome_preprocessor=None, **kwargs)

The ZDT2 problem.

static h(f1_value, g_value)

The h function of ZDT2.

class optproblems.zdt.ZDT3(num_variables=30, phenome_preprocessor=None, **kwargs)

The ZDT3 problem.

static h(f1_value, g_value)

The h function of ZDT3.

class optproblems.zdt.ZDT4(num_variables=10, phenome_preprocessor=None, **kwargs)

The ZDT4 problem.

g(phenome)

The g function of ZDT4.

static h(f1_value, g_value)

The h function of ZDT4.

class optproblems.zdt.ZDT5(**kwargs)

ZDT5 is the only problem with binary encoding in this suite.

f1(phenome)

The f1 function of ZDT5.

g(phenome)

The g function of ZDT5.

static h(f1_value, g_value)

The h function of ZDT5.

class optproblems.zdt.ZDT6(num_variables=10, phenome_preprocessor=None, **kwargs)

The ZDT6 problem.

static f1(phenome)

The f1 function of ZDT6.

g(phenome)

The g function of ZDT6.

static h(f1_value, g_value)

The h function of ZDT6.

Components

class optproblems.zdt.ZDT_f2(f1, g, h)

The f2 function for all ZDT problems.

class optproblems.zdt.ZDT1to3_g(num_variables)

The g function for ZDT1, ZDT2 and ZDT3.

optproblems.zdt.ZDT1to4_f1(phenome)

The f1 function for ZDT1, ZDT2, ZDT3 and ZDT4.