def __init__(self, reevaluate=True) -> None:
        """
        Mean Inverted Generational Distance (MIGD)

        For dynamic optimization problems the performance metric needs to involve the IGD value over time as the
        problem is changing. Thus, the performance needs to be evaluated in each iteration for which
        defining a callback is ideal.

        """

        super().__init__()

        # whether the MIGD should be based on reevaluated solutions
        self.reevaluate = reevaluate

        # the list where each of the recordings are stored: timesteps and igd
        self.records = []

        Mean Inverted Generational Distance (MIGD)

        For dynamic optimization problems the performance metric needs to involve the IGD value over time as the
        problem is changing. Thus, the performance needs to be evaluated in each iteration for which
        defining a callback is ideal.

        
pymoo/indicators/migd.py