## 2 Literature Review  
### ICA Basic Concept  
This section reviews the original ICA [10]. However, as the original ICA has some design problems, we adopt [PERSON]'s Matlab implementation of ICA [28] whenever appropriate. The original ICA is shown in Figure 1. It proceeds in two stages: initialization and evolution. During the initialization stage (line 1 in Figure 1), a user-specified number of randomly generated solutions \(\{\mathbf{p}^{1},\mathbf{p}^{2},\...,\mathbf{p}^{N}\}\) are created, where each solution \(\mathbf{p}^{i}\) (\(1\leq i\leq N\) ) is a \(1\ \times n\) array and is called a _country_, and \(N\) denotes the number of countries in the population. Then, the cost of each country \(\mathbf{p}^{i}\) is calculated as \(f(\mathbf{p}^{i})\). A user-specified number of countries with the lowest cost in the population are chosen as _imperialists_, and the remaining countries as _colonies_. Let \(N_{imp}\) denote the number of imperialists. Next, \(N_{imp}\) empires are formed by first assigning an imperialist to each empire, and then randomly assigning all colonies to these empires such that the number of colonies of an empire is proportional to the power of its imperialist. That is,  
\[P_{i}= \begin{cases}1.3(\max_{1\leq j\leq N_{imp}}\{c_{j}\})-c_{i}&\text{if }\max_{1\leq j\leq N_{imp}}\{c_{j}\}>0\\ 0.7(\max_{1\leq j\leq N_{imp}}\{c_{j}\})-c_{i}&\text{if }\max_{1\leq j\leq N_{imp}}\{c_{j}\} \leq 0\end{cases}  \tag{2}\]  
\[NC_{i}=round\left(\frac{P_{i}}{\sum_{j=1}^{N_{imp}}P_{j}}\right|\times(N-N_{imp })) \tag{3}\]  
where \(c_{i}\) and \(P_{i}\) denote the _cost_ and _power_ of the imperialist of empire \(i\), respectively, and \(NC_{i}\) denotes the number of colonies assigned to empire \(i\), where \(1\leq i\leq N_{imp}\). Notably, Equation (2), proposed by [PERSON] [28], calculates the power of an imperialist in a way different from that in the  
Figure 1: The original Imperialist Competitive Algorithm (ICA) algorithm. original ICA [10] to avoid the problem of assigning zero colony to the weakest empire in the original ICA. During the evolution stage (lines 2-10 in Figure 1), assimilation within each empire and competition among all empires occur in every generation until the termination condition (e.g., all countries have converged or a user-specified number of generations has been reached) is satisfied. Assimilation within an empire is achieved by moving all colonies of the empire toward their imperialist (line 4 in Figure 1). Given a colony \(\boldsymbol{p}^{c}\) and its imperialist \(\boldsymbol{p}^{i}\), the assimilation operation moves \(\boldsymbol{p}^{c}\) as follows [28]:  
\[\boldsymbol{p}^{c}=\boldsymbol{p}^{c}+\beta*\delta.*(\boldsymbol{p}^{i}- \boldsymbol{p}^{c}) \tag{4}\]  
where \(\beta\) is a parameter with default value 4, \(\delta\) is a \(1\times n\) array whose elements are random values between 0 and 1, and \". *\" denotes element-by-element multiplication between two \(1\times n\) arrays. For optimization problem with bounded variables, Equation (4) could generate values outside the search space. If this happens, the out-of-bound value, e.g., \(x_{i}\) on the \(i\)-th dimension, is simply replaced by its nearest boundary (_i.e._, \(U_{i}\) or \(L_{i}\)). After moving all colonies to their new positions through the assimilation operation, their costs are recalculated (line 5 in Figure 1) and then compared against the cost of their imperialists (line 6 in Figure 1). If the cost of a colony is smaller than the cost of its imperialist, the colony and the imperialist swap roles to ensure that the imperialist of an empire is always the country with the lowest cost in the empire. Next, the cost (denoted by \(Q_{i}\)) and the power (denoted by \(E_{i}\)) of each empire \(i\) are calculated using the cost of its imperialist (denoted by \(c_{i}\)) and the average cost of the colonies in empire \(i\), as shown in Equations (5) and (6), respectively (line 8 in Figure 1).