Source code for paref.interfaces.sequences_pareto_reflections.sequence_pareto_reflections

from abc import abstractmethod
from typing import Optional

from paref.interfaces.moo_algorithms.blackbox_function import BlackboxFunction
from paref.interfaces.pareto_reflections.pareto_reflection import ParetoReflection


[docs]class SequenceParetoReflections: """Interface for pareto_reflections of Pareto reflections A sequence of Pareto reflections is a mathematical sequence .. math:: (p_i)_{i \\in \mathbb{N}} Documentation of an implementation of this interface should contain: When to use ----------- This Pareto reflection should be used if... What it does ------------ The Pareto points of this map are... Mathematical formula -------------------- Examples -------- #TBA: this should be in a contributing.md """
[docs] @abstractmethod def next(self, blackbox_function: BlackboxFunction) -> Optional[ParetoReflection]: """ Parameters ---------- blackbox_function : BlackboxFunction The blackbox function to which the algorithm is applied Returns ------- Optional[ParetoReflection] Either the next Pareto reflection or None if the end of the sequence is reached """ pass