libmoon.problem

BaseMOP

class BaseMOP

Base: object

This base class has the following functions.

__init__(self, n_var, n_obj, lbound, ubound, n_cons=0)

Initialize the problem.

Parameters:
  • n_var (int) – Number of variables.

  • n_obj (int) – Number of objectives.

  • lbound (ndarray) – The lower bound array.

  • ubound (ndarray) – The upper bound array.

  • n_cons (int) – Number of constraint functions.

get_number_variable(self)
Returns:

n_var.

Return type:

int

get_number_objective(self)
Returns:

n_obj.

Return type:

int

get_number_constraint(self)
Returns:

n_cons.

Return type:

int

get_lbound(self)
Returns:

lbound.

Return type:

ndarray

get_ubound(self)
Returns:

ubound.

Return type:

ndarray

DTLZ

Synthetic DTLZ dataset from “Scalable test problems for evolutionary multiobjectiveoptimization, Evolutionary multiobjective Optimization.”

class DTLZ1

Base: BaseMOP

__init__(self, n_var=30, n_obj=3, lbound=np.zeros(30), ubound=np.ones(30))

Initialize the DTLZ1 problem.

class DTLZ2

Base: BaseMOP

__init__(self, n_var=30, n_obj=3, lbound=np.zeros(30), ubound=np.ones(30))

Initialize the DTLZ2 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class DTLZ3

Base: BaseMOP

__init__(self, n_var=30, n_obj=3, lbound=np.zeros(30), ubound=np.ones(30))

Initialize the DTLZ3 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class DTLZ4

Base: BaseMOP

__init__(self, n_var=30, n_obj=3, lbound=np.zeros(30), ubound=np.ones(30))

Initialize the DTLZ4 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)

MAF1

Synthetic MAF1 dataset from “A benchmark test suite for evolutionary many-objective optimization.”

class MAF1

Base: BaseMOP

__init__(self, n_var=30, n_obj=3, lbound=np.zeros(30), ubound=np.ones(30))

Initialize the MAF1 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)

RE

Synthetic RE dataset from “An easy-to-use real-world multi-objective optimization problem suite.”

class RE21

Base: BaseMOP

__init__(self, n_var=4, n_obj=2, lbound=np.zeros(4), ubound=np.ones(4))

Initialize the RE21 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class RE22

Base: BaseMOP

__init__(self, n_var=3, n_obj=2, lbound=np.zeros(3), ubound=np.ones(3))

Initialize the RE22 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class RE23

Base: BaseMOP

__init__(self, n_var=4, n_obj=2, lbound=np.zeros(4), ubound=np.ones(4))

Initialize the RE23 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class RE24

Base: BaseMOP

__init__(self, n_var=2, n_obj=2, lbound=np.zeros(2), ubound=np.ones(2))

Initialize the RE24 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class RE25

Base: BaseMOP

__init__(self, n_var=3, n_obj=2, lbound=np.zeros(3), ubound=np.ones(3))

Initialize the RE25 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class RE31

Base: BaseMOP

__init__(self, n_var=3, n_obj=3, lbound=np.zeros(3), ubound=np.ones(3))

Initialize the RE31 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class RE37

Base: BaseMOP

__init__(self, n_var=3, n_obj=3, lbound=np.zeros(4), ubound=np.ones(3))

Initialize the RE37 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class RE41

Base: BaseMOP

__init__(self, n_var=4, n_obj=7, lbound=np.zeros(4), ubound=np.ones(3))

Initialize the RE41 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class RE42

Base: BaseMOP

__init__(self, n_var=4, n_obj=6, lbound=np.zeros(4), ubound=np.ones(3))

Initialize the RE41 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)

VLMOP

Synthetic VLMOP dataset from “Distributed Multiobjective Optimization Problems and Methods for their Solution.”

class VLMOP1

Base: BaseMOP

__init__(self, n_var=10, n_obj=2, lbound=np.zeros(10), ubound=np.ones(10)

Initialize the VLMOP1 problem.

_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class VLMOP2

Base: BaseMOP

__init__(self, n_var=10, n_obj=2, lbound=np.zeros(10), ubound=np.ones(10)
_evaluate_torch(self, x)
_evaluate_numpy(self, x)

ZDT

Synthetic ZDT dataset from “An easy-to-use real-world multi-objective optimization problem suite”

class ZDT1

Base: BaseMOP

__init__(self, n_var=30, n_obj=2, lbound=np.zeros(30), ubound=np.ones(30)
_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class ZDT2

Base: BaseMOP

__init__(self, n_var=30, n_obj=2, lbound=np.zeros(30), ubound=np.ones(30)
_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class ZDT3

Base: BaseMOP

__init__(self, n_var=30, n_obj=2, lbound=np.zeros(30), ubound=np.ones(30)
_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class ZDT4

Base: BaseMOP

__init__(self, n_var=10, n_obj=2, lbound=np.zeros(10), ubound=np.ones(10)
_evaluate_torch(self, x)
_evaluate_numpy(self, x)
class ZDT6

Base: BaseMOP

__init__(self, n_var=30, n_obj=2, lbound=np.zeros(30), ubound=np.ones(30)
_evaluate_torch(self, x)
_evaluate_numpy(self, x)