## 4 Methodology  
### Multi-Objective Whale Optimization Algorithm combined with Tabu Search (Mowoats)  
_Mowoats_ is a hybrid algorithm that combines _WOA_ with _TS_ to provide an effective exploration of search space. As pointed above, a good search method is critical for _MOP_ solvers, since _MOPs_ can have multiple solutions and need to evaluate several of them according to the situation of the problem. As expected, _MOWoATS_ transforms the solutions of a _MOP_ into a solution space and tries to find the _PF_ solutions to the problem. For this, it combines the search capabilities of the _WOA_ heuristic with the _TS_ principle, implementing the exploitation phase exactly as proposed in the original _WOA_ (Equation (7)). Next, we describe the basic search procedure. As already stated, _WOA_ simulates the hunting technique of humpback whales. It sets the prey to be the best solution overall the search space. On the other hand, the main difference is _MOWOATS_ chooses the prey \(\overrightarrow{X}^{*}(t)\) randomly from non-dominated solutions stored in _EL_, which eliminates the possibility of getting trapped in local optima. Selecting a random non-dominated solution each time improves _MOWOATS_ ability to escape local optima.  
In the exploration phase, _MOWOATS_ proposes a different diversification method, which depends on repositioning swarm members in their neighborhood instead of the prey's neighborhood. This provides a better exploration for search space and eliminates the need for a local search method. In the first diversification method, _MOWOATS_ selects a random whale \(\overrightarrow{X}_{rand}(t)\) from swarm members to be the prey. Swarm members reposition themselves according to:  
\[\overrightarrow{D}=|C\cdot\overrightarrow{X}_{rand}(t)- \overrightarrow{X}(t)|. \tag{16}\] \[\overrightarrow{X}(t+1)=\overrightarrow{X}(t)+(A/4)\cdot \overrightarrow{D}, \tag{17}\]  
where \(\overrightarrow{X}(t)\) represents the position of the current whale. In the second diversification method, _MOWOATS_ selects a random non-dominated solution from _EL_ to be the prey \(\overrightarrow{X}^{*}(t)\). Swarm members compute their new positions as:  
\[\overrightarrow{D}=|C\cdot\overrightarrow{X}^{*}(t)- \overrightarrow{X}(t)|. \tag{18}\] \[\overrightarrow{X}(t+1)=\overrightarrow{X}(t)+(A/4)\cdot \overrightarrow{D}. \tag{19}\]  
The algorithm chooses between the two diversification methods according to the value of \(A\) parameter as proposed in the original _WOA_[13].  
The second main modification in _MOWOATS_ to cope with _MOPs_ is changing the selection value between intensification and diversification phases of \(p\) parameter. The original method _WOA_ used a 50% value to provide balance between the two methods. On the other hand, _MOWOATS_ uses 80% for diversification and 20% for intensification. Because _MOPs_ do not have a single best solution, _MOWOATS_ tends to increase the probability of diversification to ensure finding non-dominated solutions that are evenly distributed over solution space. This eliminates the need to use crowd detection methods to maintain diversity of non-dominated solutions [10]. Also, the usage of _PO_ ensures covering both concave and convex regions of _PF_ solutions [8; 30].  
A block diagram of the main steps of the algorithm is given in Figure 1 for reference.  
Figure 1: A depiction of _MOWOATS_ framework.