def on_result(self, invocation):
        fitness = invocation.current_result

        if self.current_best is None or fitness < self.current_best:
            self.current_best = fitness

        self.best_fitnesses.append(self.current_best.raw_values)

        time_delta = datetime.now() - self.start_time
        self.timestamps.append(time_delta.total_seconds())