## 8 Concluding Remarks
The pseudo-code of the main loop of I-NOSGA is shown in Algorithm A1. The present work slightly modifies the algorithm to allow a generalization that admits the use of different models of preferences (_PM_), and strength measures (_SM_), which are appropriate for the specific characteristics of each decision maker; such elements of the algorithm are used to define the preference relation that supports the incorporation of the DM's preferences in the evolutionary search. The experiments in this paper explore two different _PM_s, one based on outranking, and the other based on a weighted-sum value function; each model is associated with its _SM_. The Algorithm A1 starts by combining the existing population of parents and children in Line 1; then, using the specified preference model _PM_, the algorithm builds the non-outranked fronts (see Line 2). The fronts \(F\) formed in this way are used to create the new generation of parents _PopT+1_ (see Lines 5-11). The algorithm orderly includes complete fronts in _PopT+1_ (Line 6) and complete it with the best solutions from the last front _Fi_ that does not fit entirely; the solutions are taken in order according to the specified _SM_ (see Lines 9 to 11). Finally, a new generation of individuals _QT+1_ is evolved from _PopT+1_ using the genetic operators chosen for this purpose (see Line 12). ```
0:\(Pop_{T}\), the population of parents, \(O_{T}\), the children generated in the previous iteration, \(PM\), the binary preference model used to compare pairs of solutions (_x,y_) \(SM\), the computation model for the strength measure of built solutions Output: Next generation of parents \(Pop_{T+1}\) and children (_QT+1_) \(\Gamma_{F}=Pop_{T}\cup QT\)//combine parents and children population \(O_{T}=F=sort-by-preformes\) (\(R_{T}\), \(|Pop_{T}\), PM)//create outrank fronts\(F=(Pop_{T},F_{1}\dots)\) from \(R_{T}\) using PM //initialize new population \(Pop_{T+1}=O\) \(04:=0\) \(05:\)while\(|Pop_{T+1}+|F_{1}|\leq N\)do//fill the new population set \(Pop_{T+1}\) \(06:\)\(Pop_{T+1}=Pop_{T+1}\cup F_{1}\)//include front\(F_{i}\) that fits completely in \(Pop_{T+1}\) \(07:\)\(i=i+1\)//move to next front in the order set \(F\) end \(09:\)\(FS=strength-assignment(F_{i},PM,NSF)\) \(NSF=F_{0}\) \(10:\)\(F_{i}=SORT(F_{i},FS)\)//sort solutions in \(F_{i}\) by FS in descending order \(11:\)\(Pop_{T+1}=Pop_{T+1}\cup F_{1}[\text{I-N-1}Pop_{T+1}]\) \(11:\)\(Pop_{T+1}\)\(11:\)\(Q_{T+1}=\)\(\text{make-new-pop}(Pop_{T+1})\) \(\text{mutation}\) \(13:\)\(T=T+1\) //iterate
```  
**Algorithm A1. Interval Non-Outranked Sorting Genetic Algorithm**  
Observe that the pseudocode presented in Algorithm A1 reflects the main loop of I-NOSGA, i.e., the actions that are repeated until a user-defined stop criterion is met. In addition, note that the initialization strategies for the parent PopT and children QT populations are left to the user, and the best solutions will be in the front F0 of the last iteration. Figure A1 represents the individual encoding (chromosome) used by the evolutionary algorithm. This is a binary array \(x\) of size \(n\) (the number of projects) in which the _i_-th element (_gen_) contains 1 if the _i_-th project belongs to the portfolio and 0 otherwise. Parents are chosen by binary tournament; the solution belonging to the better front is selected for crossover; ties are broken randomly. The implemented strategy used a one-point crossover and flip mutation. The mutation probability for each allele was set to 0.02. Table A1 details the worst-case time complexity of the main loop of I-NOSGA. The analysis considers the variables \(S\), \(N\), and \(P\) as the size of the population, the number of criteria, and the number of candidate projects, respectively. Let's point out that, based on the analysis shown in Table A1, the complexity of I-NOSGA linearly scales w.r.t. to the number of candidate projects \(P\), i.e., its complexity is O(\(P\)). This complexity plays a vital role because there might be thousands of candidate projects in some realistic scenarios.