## 3 Resolution Methodology
In bi-objective optimization, the \(\varepsilon\)-constraint method consists of solving a single-objective optimization problem considering only one objective function, while the other objective is limited in an additional constraint. In a minimization (maximization) problem, in this additional constraint, the objective function is forced to be smaller than (greater than) the certain parameter \(\varepsilon\). Then, the method obtains different non-dominated solutions to approximate the Pareto front by performing several runs with different values of \(\varepsilon\), which successively modifies the feasible region of the problem. The modification of the feasible region is illustrated in Figure 4, representing an optimization problem with the objective to minimize \(f_{1}\) and maximize \(f_{2}\). From left to right, the process begins by obtaining the solution with the maximum value of \(f_{2}\) (\(f_{2}^{Max}\)), representing an extreme point on the Pareto front. Subsequently, two intermediate non-dominated solutions are obtained using parameters \(\varepsilon\) and \(\varepsilon^{\prime}\) to restrict the objective \(f_{2}\) and thereby modify the feasible region. Finally, in the last step, \(f_{2}\) is restricted to its minimal value \(f_{2}^{Min}\), further restricting the feasible region. In this last step, the solution with the minimal value \(f_{2}\) is obtained, representing another extreme point on the Pareto front. Figure 4: Example of the modification of the feasible region of the problem in successive runs of the \(\varepsilon\)-constraint method in a bi-objective problem. The application of the \(\varepsilon\)-constraint method is performed as is described in Algorithm 2. First, it starts by calculating the extreme solutions. To calculate the extreme solution with the maximum number of transfers, a single-objective model is solved considering only the objective of the number of transfers \(FO_{t}\) (as in Equation (1)) (line 1 of Algorithm 2). The obtained solution is added as the first solution of the Pareto front (line 2) and the maximum value of the cost of the system within the Pareto front \(maxC\) is retrieved from this solution (line 3). Similarly, to obtain the extreme solution with minimal cost, a single-objective model is solved considering only the objective of the cost of the system \(FO_{c}\) as in Equation (2) (line 4 in Algorithm 2). The obtained solution is added as the first solution of the Pareto front (line 5) and the minimum value of the cost of the system within the Pareto front \(minC\) is retrieved from this solution (line 6). Then, the _step_ for the variation in \(\varepsilon\) is calculated by considering the two extreme values of the cost and the number of efficient solutions which are aimed to obtain \(n\) (line 7). For launching the iterative process to obtain the rest of the solutions of the Pareto front, the \(\varepsilon\) is initially set to the minimum cost value (line 8). Afterwards, the iterative process for constructing the Pareto front is performed (lines 9-12). In each iteration of this process, a single-objective problem is solved which aims at maximizing the number of transfers \(FO_{t}\) subjected to both the constraints of the problem (Equations (3)-(13)) and an additional constraint, which forces the cost to be smaller or equal to \(\varepsilon\) (\(F_{c}\leq\varepsilon\)) (line 10) in order to obtain an efficient solution. The obtained solution is added to the Pareto front (line 11) and the \(\varepsilon\) is incremented with the _step_ (line 12) for the next iteration. Notably, the use of the minimum cost to initialize \(\varepsilon\) (line 8) is different from which is usually performed when applying the \(\varepsilon\)-constraint method. Usually the \(\varepsilon\) is initialized with the worst value of the restricted objective [59], in the case of this problem, the maximum cost.