I suspect that the (repeated) initialization of the non-dominated archive (and the sorting) in IndicatorFront.set_kernel is increasingly and unnecessarily time consuming. Assuming that kernels are only appended to moes like self.kernels += kernels, new kernels could be added to the archive and the currently changing kernel could be removed and re-added afterwards.