How do you compute the Pareto Front of a set?
A multi-objective optimization problem can be formulated as 

\begin{align}
    \min\limits_{\phi \in \Phi} &amp; \quad [f_1(\phi), f_2(\phi), \ldots, f_m(\phi)]^T \label{eq:mo-objectives} \\ 
    s.t. &amp; \quad g_j(\phi) \leqslant 0,~j = 1, \ldots, J \label{eq:mo-constraints}
\end{align}

Without loss of generality, assume that all objective functions are minimization functions. In this problem, the first equation represents the set of $m$ objective functions and the second denotes the problem constraints, which generate a polytope $\mathcal{P}$. Furthermore, $\Phi$ denotes the set of feasible solutions contained in $\mathcal{P}$ and $\phi \in \Phi$ represents a feasible solution.

A solution $\phi_1 \in \Phi$ dominates another solution $\phi_2 \in \Phi$ if and only if $f_i(\phi_1) \leqslant f_i(\phi_2)$ for all objective functions $\{f_1, f_2, \ldots, f_m\}$ and $f_i(\phi_1) &lt; f_i(\phi_2)$ for at least one objective function $f_i$.

A solution $\phi' \in \Phi$ is said to be non-dominated if and only if there is no solution $\phi \in \Phi$ such that $\phi$ dominates $\phi'$.

A non-dominated solution $\phi^* \in \Phi$ is said to be Pareto-optimal if and only if, for all solutions $\phi \in \Phi$, $f_i(\phi^*) \leqslant f_i(\phi)$ for all objective functions $\{f_1, f_2, \ldots, f_m\}$ and $f_i(\phi^*) &lt; f_i(\phi)$ for at least one objective function $f_i$.

The Pareto-front is the set of the Pareto-optimal solutions.



We can derive a simple algorithm to compute the Pareto-front of a given subset of solutions $\Phi' = \{\Phi'_1, \ldots, \Phi'_n\} \subseteq \Phi$. This algorithm will be specifically designed for your case (two objectives), but can easily be generalized to any number $m$ of objective functions.

First of all, assume that the solutions in $\Phi'$ are ordered in increasing order of the first objective (energy used). In addition, ensure that, for a given value of energy used, the solutions are also ordered in increasing order of their second objective (weight).


Let $i \gets 1$.
Add $\Phi'_i$ to the Pareto-front.
Find smallest $j&gt;i$ such that $\operatorname{weight}(\Phi'_j) &lt; \operatorname{weight}(\Phi'_i)$.
If no such $j$ exists, stop.  Otherwise let $i \gets j$ and go to step 2.