## 2 Background
### Harmony Search  
The harmony search algorithm (HSA) is a population-based meta-heuristic optimization algorithm that imitates the music improvisation process where instrument players  
Figure 1: Case of bug inducing and removing during the development and service of ships in series.  
Figure 2: Ship’s mobility around the world.  
search the best harmony with repeated trails considering their experience [15]. Table 1 shows the parameters on which the HSA works. Harmony is a set of notes that each instrument player has decided. The harmony is stored in the harmony memory (HM) as an experience where each instrument player can refer to. A harmony memory size (HMS) indicates the maximum number of harmonies that instrument players can refer to. Whenever a new harmony is generated, each instrument player decides their own note considering a harmony memory considering rate (HMCR), a pitch adjusting rate (PAR), and a fret width (FW). HMCR is the probability that each player refers to a randomly selected harmony in the HM. PAR is the probability of adjusting a harmony that was picked from HM. FW is the bandwidth of the pitch adjustment. [25,26] The overall HS process iterates the maximum improvisation (MI) number of consecutive trails.  
Figure 3 describes overall process of the HSA. We supposed each harmony consists of N instrument player, and HMS consists of M harmony.  
(1) Initialization phase: The HS process starts from generating _HMS_ number of randomly generated harmonies, and evaluate performance of the generated harmonies.  
(2) Iteration phase:  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Description** \\ \hline \multirow{2}{*}{Harmony memory size (HMS)} & The maximum number of harmonies that instrument players can refer to \\ \hline \multirow{2}{*}{Harmony memory considering rate (HMCR)} & The probability where each player refers to a randomly selected harmony in the harmony memory \\ \hline \multirow{2}{*}{Pitch adjusting rate (PAR)} & The probability of adjusting a harmony that was picked from the harmony memory \\ \hline \multirow{2}{*}{Fret width (FW)} & The bandwidth of the pitch adjustment \\ \hline \multirow{2}{*}{Maximum improvisation (MI)} & The maximum number of iterations \\ \hline \hline \end{tabular}
\end{table}
Table 1: Parameters of harmony search.  
Figure 3: Overall process of harmony search.  
* The iteration phase starts from improvising a new harmony. Each instrument player decides their notes considering _HMCR_, _PAR_, and _FW_. The pseudocode for these functions is described in the right side of the Figure 3. Finally, this phase evaluates the newly improvising harmony.
* HSA generates M new harmonies, and updates the harmony memory with the new solution which is superior to the worst solution within the HM.
* The A and B processes iterate until the iteration is reached to the _MI_.  
The main advantages of the HSA are clarity of execution, record of success, and ability to tackle several complex problems (e.g., power systems, job scheduling, congestion management) [16; 17; 18]. Another reason for its success and reputation is that the HSA can make trade-offs between convergent and divergent regions. In the HSA rule, exploitation is primarily adjusted by PAR and FW, and exploration is adjusted by the HMCR [19].