# macop.evaluators.discrete.multi — macop v1.0.5 documentation

# macop.evaluators.discrete.multi

Multi-objective evaluators classes

Classes

`WeightedSum`(data) | Weighted-sum sub-evaluator class which enables to compute solution using specific _data

class `macop.evaluators.discrete.multi.``WeightedSum`(data)

  Weighted-sum sub-evaluator class which enables to compute solution using specific _data

  - stores into its _data dictionary attritute required measures when computing a solution

  - _data[‘evaluators’] current evaluator to use

  - _data[‘weights’] Associated weight to use

  - compute method enables to compute and associate a tuples of scores to a given solution

      >>> import random
      >>> # binary solution import
      >>> from macop.solutions.discrete import BinarySolution
      >>> # evaluators imports
      >>> from macop.evaluators.discrete.mono import KnapsackEvaluator
      >>> from macop.evaluators.discrete.multi import WeightedSum
      >>> solution_data = [1, 0, 0, 1, 1, 0, 1, 0]
      >>> size = len(solution_data)
      >>> solution = BinarySolution(solution_data, size)
      >>> # evaluator 1 initialization (worths objects passed into data)
      >>> worths1 = [ random.randint(5, 20) for i in range(size) ]
      >>> evaluator1 = KnapsackEvaluator(data={'worths': worths1})
      >>> # evaluator 2 initialization (worths objects passed into data)
      >>> worths2 = [ random.randint(10, 15) for i in range(size) ]
      >>> evaluator2 = KnapsackEvaluator(data={'worths': worths2})
      >>> weighted_evaluator = WeightedSum(data={'evaluators': [evaluator1, evaluator2], 'weights': [0.3, 0.7]})
      >>> weighted_score = weighted_evaluator.compute(solution)
      >>> expected_score = evaluator1.compute(solution) * 0.3 + evaluator2.compute(solution) * 0.7
      >>> weighted_score == expected_score
      True
      >>> weighted_score
      50.8

  `compute`(solution)

    Apply the computation of fitness from solution

    - Associate tuple of fitness scores for each objective to the current solution

    - Compute weighted-sum for these objectives

    Parameters

      solution – {Solution} – Solution instance

    Returns

      {float} – weighted-sum of the fitness scores