moead_framework.aggregation.functions.AggregationFunction

class moead_framework.aggregation.functions.AggregationFunction[source]

Bases: abc.ABC

Abstract class to implement an aggregation function in the framework

Methods

__init__

Initialize self.

is_better(old_value, new_value)

Allow to compare 2 aggregations values according to the aggregation function and to the context (minimization or maximization).

run(solution, number_of_objective, weights, …)

Compute the aggregation value.

abstract is_better(old_value, new_value)[source]

Allow to compare 2 aggregations values according to the aggregation function and to the context (minimization or maximization).

Parameters
  • old_value – {float}

  • new_value – {float}

Returns

{boolean} True if new_value is better than old_value.

The test depends of the aggregation function and of the context (minimization or maximization).

abstract run(solution, number_of_objective, weights, sub_problem, z)[source]

Compute the aggregation value.

Parameters
  • solution – {OneDimensionSolution}

  • number_of_objective – {integer} number of objective

  • weights – {list<list<integer>>} List of weight vectors

  • sub_problem – {integer} index of the sub-problem / weight vector

  • z – {list<float>} coordinates of the reference point Z*

Returns

{float} the aggregation value of the solution for the weight vector: weights[sub-problem]