## 2 Hybrid Method Description  
In this section, the proposed Hybrid Method is described. Hybrid Methods have been researched by [PERSON] et al. [10] among others. In the work of [PERSON] et al. [10], there are different optimization algorithms inside the Hybrid Method that are also called _players_, as it uses the Nash games concepts and hybridizes a Nash game with a global Pareto player. In [PERSON] et al. [10], the authors use Genetic Algorithms for all optimization algorithms (i.e., players) which compound the Hybrid Method. When working with two objective functions, it uses three players. The first one is the Pareto player or global player and it deals with the whole problem, two objective functions and all design variables. The other two players are the Nash players, and each one only deals with one objective function. The design variables are also split between the two Nash players, resulting in each Nash player working with a subset of the search space. The proposed Hybrid Method, which has been derived from the one proposed by [PERSON] et al. [10], enables working with \(N\) players, multiple objective functions and design variables per player, and a different optimization algorithm for each player. The structure of the method is divided into three main components:  
* General Algorithm: It contains the initialization of the player, the main optimization loop and the post-process of the optimization. It is not intended to be changed for different variants of the Hybrid Method. * Migration epoch algorithm: It is the function that defines the exchange of information between the different players. It defines which individuals are migrated between players, under which circumstances, etc. * Immigrate methods: The immigrate method is a function that has to be defined for each type of player. The way each optimization algorithm used as a player can incorporate and use an individual highly depends on the internal algorithm of each type of player. This function defines how each type of player incorporates the individuals that emigrate into them. The Hybrid Method interlaces the execution of its internal optimization algorithms. Each player runs one iteration of its optimization algorithm, then a migration epoch occurs before the other method runs one iteration of its own algorithm. The migration epoch is the mechanism that allows the exchange of information between players. The information exchanged by the players are the design variables of a selection of individuals. The migration epoch implementation is what defines the main functionality of the Hybrid Method. The general algorithm of the Hybrid Method is described in Algorithm 1. ```
foreach player do  player-Initialize; whilenot stop criteria is metdo foreach player do  player-Generate;  player-Compute;  MigrationEpoch(players[i]); foreach player do  player-PostProcess; PostProcess;
```  
**Algorithm 1**General algorithm of the Hybrid Method  
In this article, the optimization method selected to perform the exploration is a Genetic Algorithm based on the NSGAII [14]. Other population based optimization algorithms, such as differential evolution, particle swarm optimization, etc., could also been used here. The Genetic Algorithm is known for its robustness and exploration capabilities and it is one of the most widely used optimization algorithms for complex problems. It should perform the task well in exploring the full search space. On the other hand, the method selected for the exploitation is a conjugate gradient [15]. As shown in Algorithm 1, first of all, the _Initialize_ process for each player is called. These methods are called once and are used to initialize each optimization algorithm. After the initialization of each optimization algorithm, the optimization loop is started. Inside the loop, as mentioned above, each optimization player runs one iteration before the migration epoch. One iteration consists of generating a set of new individuals (i.e., a set of design variables) and computing them.