Keywords

1 Introduction

Metaheuristics are widely used to solve complex optimization problems within a reasonable time. According to [3], most of metaheuristics have the common following characteristics: they are nature-inspired, and based on stochastic components (randomness). Besides, a balance should be preserved between the diversification and exploitation phases [5]. Otherwise, metaheuristics would suffer from falling in local optima (weak diversification) or from slow convergence (weak exploitation). To overcome these limitations, hybridization between different algorithmic components appears to be an appropriate choice. Hybrid metaheuristics have attracted a lot of attention from researchers to solve optimization problems. It has been proven that choosing an appropriate combination of algorithmic concepts can lead to a successful solving of many hard optimization problems [2].

In this paper, we propose a hybrid algorithm to optimize the weight of electric motors within electric vehicles. The hybridization is based on a CMAES-enhanced Cuckoo Search (CS) which provides a well distributed initial population. Then, the population is transferred to a surrogate model-based LSHADE to optimize the solutions obtained so far.

LSHADE is a recent version of differential evolution algorithm (DE) that incorporates success-history based parameter adaptation [17] with Linear Population Size Reduction (LPSR) [18]. The main motivation for using LSHADE as the main optimizer is its high adaptability when solving many optimization problems [1]. In addition to that, LSHADE ranked first at the CEC 2014 competition. However, our approach relies on a modification of this algorithm, where we aim to improve its exploration capability by integrating the K-means clustering algorithm to generate the central individuals of a given population. Then, we apply a Lévy Flight movement on them to generate new individuals. The proposed approach is evaluated using the 15 test functions of the CEC 2015 benchmark and it is compared with LSHADE, DE and Cuckoo Search (CS). This experimentation shows that our proposition obtains very competitive results on the electric motor problem at hand and on the CEC 2015 benchmark.

The rest of this paper is organized as follows. In Sect. 2, the electric motor problem is discussed. In Sect. 3, the algorithmic components of our proposition are presented. In Sect. 4, our approach is explained in details. Then, the results are discussed in Sect. 5. Finally, Sect. 6 concludes the paper.

2 Electric Motor Design

Here the application under study is introduced. The hybrid optimization approach will be applied to optimize the design of an electric motor used to propel an electric vehicle (EV). Concerning the EV application one can observe that from the first hybrid vehicle in series production, the Toyota Prius Hybrid, have past about 20 years. At that time, the permanent magnet synchronous machine (PMSM) used to propel the hybrid vehicle was designed at 6 000 r/min. The PMSM structure from today’s Prius Hybrid has a double speed, 12 000 r/min. Moreover, for all other manufacturers, the electric motors used for the traction present a speed level in the same range: BMW-i3 is running at a top speed of 11 400 r/min, Renault-Zoe at 11 300 r/min, etc. The idea of increasing the speed of the electric propulsion is due to the improved power density (i.e., power/weight ratio) of the high speed traction motor: the higher the speed of the motor, the better the power density. Since the power density is improved, meaning that for the desired out power, the weight of the machine is reduced, the operation range (the main drawback of electric vehicles today), meaning the autonomy of the electric car, can be increased [6, 7]. Also, by reducing the weight and consequently the volume of the electric motor, one could consider to increase the capacity of the supplying battery, again, with a clear advantage on terms of vehicle’s autonomy.

For the above reasons our interest was to find the best suited motor topology, capable to run at higher speeds. We have established the desired output power, which is 20 kW, while the motor is supplied from a battery of 380 Vdc. In Fig. 1(a) is presented the 3D view of the high speed PMSM which was designed to run at 22 000 r/min and where one can identify the main components of the active parts of the machine, meaning: the stator and rotor parts, the inset permanent magnets (PMs) with the appropriate polarity. All the calculation of the obtained performances are made on the length of the machine (Lm in Fig. 1(a)). The analysis with respect to the obtained performances of the designed highs-speed PMSM is carried out with a numerical finite element method (FEM). Based on this one will get the electromagnetic and mechanical performances. This analysis stands for validation of the analytical design of the machine and will also be used to verify the optimized results proposed by our optimization approach. In Fig. 1(b) is presented, in several slices on the length of the machine, the flux density repartition while the machine is running at high speed. Based on this analysis we can see which machine’s iron regions present a risk of saturation. Since we are using very good steel, we can conclude that the machine is not oversaturated.

Fig. 1.
figure 1

(a) 3D view of the considered high-speed PMSM; (b) Numerical FEM analysis for flux density distribution on the high-speed PMSM

The structure is designed to have only 2 magnetic poles. Since the frequency of the supply is proportional to the machine’s magnetic poles and since the iron losses of the machine are proportional to the square of the frequency, it means that the machine efficiency is drastically affected by the frequency/poles values. Thus, having the lowest possible number of poles will offer the possibility to reduce at maximum the frequency of the machine, and finally to have the most appropriate magnetic configuration. And from this point on, we can consider to optimize the structure itself in order to obtain the best power density (power/weight ratio).

3 Approach Components

We provide in this section a brief presentation of the algorithmic components used in our proposition.

3.1 CMA-ES

The Covariance Matrix Adaptation Evolution Strategy (CMA-ES) is a class of evolutionary algorithms where the new population is generated by sampling from a probability distribution constructed during the optimization process. CMA-ES is briefly explained in Algorithm 1.

figure a

In this algorithm, solutions are generated using a multivariate normal distribution N with mean m and a covariance C. According to [11], a new solution \( x^{t + 1} \) is generated as follows:

$$ x^{t + 1} = m^{t} + \sigma^{t} N\left( {0,C^{t} } \right) $$
(1)
$$ m^{t} = \sum\nolimits_{i = 1}^{\mu } {w_{i} x_{i:\lambda }^{t} } $$
(2)
$$ w_{i} = \log \left( {\mu + \frac{1}{2}} \right) - \log \left( i \right),\sum\nolimits_{i = 1}^{\mu } {w_{i} = 1} $$
(3)

where \( m^{t} \) is the weighted mean of the \( \mu \) best solutions, \( x_{i:\lambda }^{t} \) is the tth ranked individual, \( \lambda \) is the number of samples, \( \sigma^{t} \) is the step size parameter. Besides, a covariance matrix \( C^{t} \) is adapted using an evolution path \( p_{c}^{t + 1} \). It is generated with the following equation:

$$ p_{c}^{t + 1} = \left( {1 - c_{c} } \right)p_{c}^{t} + \sqrt {c_{c} \left( {2 - c_{c} } \right)} \frac{\sqrt \mu }{{\sigma^{t} }}\left( {m^{t + 1} - m^{t} } \right) $$
(4)
$$ C^{t + 1} = \left( {1 - c_{cov} } \right)C^{t} + c_{cov} p_{c}^{t + 1} (p_{c}^{t + 1} )^{T} $$
(5)

where \( c_{c} \) and \( c_{cov} \) \( \in \) [0, 1] are learning rates for \( p_{c}^{t + 1} \) and \( C^{t + 1} \) respectively.

Moreover, the step size parameter is updated through the evolution path \( p_{\sigma }^{t + 1} \) as below:

$$ p_{\sigma }^{t + 1} = \left( {1 - c_{\sigma } } \right)p_{\sigma }^{t} + \sqrt {c_{\sigma } \left( {2 - c_{\sigma } } \right)} \sqrt \mu B^{t} m^{t + 1} $$
(6)

where \( c_{\sigma } \) is a learning rate controller, and \( B^{t} \) is the normalized eigenvectors of \( C^{t} \). Then, \( \sigma^{t + 1} \) is updated as follows:

$$ \sigma^{t + 1} = \sigma^{t} \exp \left( {\frac{{\left| {\left| {p_{\sigma }^{t + 1} } \right|} \right| - T_{n} }}{{d_{\sigma } T_{n} }}} \right) $$
(7)
$$ T_{n} = \sqrt n \left( {1 - \frac{1}{4n} + \frac{1}{{21n^{2} }}} \right) $$
(8)

where n represents the problem dimension and \( d_{\sigma } > 1 \) is a damping parameter.

3.2 Cuckoo Search

Cuckoo search (CS) is an optimization algorithm that simulates brood parasitism of cuckoo birds [19]. These birds lay their eggs in other bird’s nests. When host birds find the foreign eggs, they will either throw them, or abandon the nest. Following this model, each egg represents a solution, and each new solution is represented by a cuckoo egg. Cuckoo bird replaces bad eggs in the host nest with better feasible eggs. Moreover, CS algorithm simulates the food foraging process of many animals and insects [8]. Commonly, the foraging path of animals is a random walk where the next move depends on the actual location and the transition probability to the next location. However, Lévy flight random walk is proved to be more efficient for searching [8]. In CS, a balanced combination of local random walk and a global random walk is obtained through a switching parameter \( P_{a} \). The local random walk is written as:

$$ x_{i}^{t + 1} = x_{i}^{t} + s \otimes H\left( {P_{a} - \epsilon } \right) \otimes \left( {x_{j}^{t} - x_{k}^{t} } \right) $$
(9)

where ⊗ represents entry-wise multiplications \( x_{j}^{t} ,x_{k}^{t} \) are solutions randomly selected and H is heaviside function. \( \epsilon \) and s are random numbers generated from a uniform distribution. The global random walk is handled using Lévy flights:

$$ x_{i}^{t + 1} = x_{i}^{t} + a \otimes {\rm L}\acute{\text{e}}{\rm vy} \left(\upbeta \right) $$
(10)

where

$$ a = a_{0} \otimes \left( {\left( {x_{j}^{t} - x_{i}^{t} } \right) } \right) $$
(11)
$$ {\rm L}\acute{\text{e}}{\rm vy} \left(\upbeta \right) = \frac{u}{{\left| v \right|^{{1/\upbeta}} }} $$
(12)

\( a_{0} \) is a step size scaling factor and \( \upbeta \) is Lévy Flights exponent. Finally, \( u \) and \( v \) are two numbers with zero means and associated variance. Indeed, using Lévy Flights and combining local and global search capabilities makes CS a very efficient algorithm. CS pseudo-code is presented in Algorithm 2.

figure b

3.3 K-means

K-means is a widely used clustering algorithm. The parameter K is a given integer representing the number of centers. The algorithm assigns each point from a given set of points to the nearest center among the K centers [14]. Algorithm 3 presents the pseudo-code of K-means.

figure c

3.4 LSHADE

LSHADE is an adaptive version of differential evolution algorithm (DE). It incorporates success-history-based parameter adaptation [17] with Linear Population Size Reduction (LPSR) [18]. The convergence performance of LSHADE is improved by using the mutation strategy current to-pBest/1/bin [20] to generate mutant vectors. It is proved that this strategy is very efficient for the generation of high quality individuals [20].

Current to-pBest/1/bin is expressed as follows:

$$ v_{i,g} = x_{i,g} + F\left( {x_{best,g} - x_{i,g} } \right) + F\left( {x_{r1,g} - x_{r2,g} } \right) $$
(13)

where \( x_{best,g} \) is a randomly selected parent from the top best individuals of the current individuals. To maintain the diversity of the population, an archive A is proposed. The parent solutions that are not selected are added to this archive. Moreover, success-history-based parameter adaptation is a mechanism used to store successful CR, F values that performed well in the past generations. After the generation of a new trial vector u i , it is compared with its parent. If u i is better, then the CR and F parameters are stored in the sets S CR , S F respectively. Finally, the memories M CR and M F are updated using these successful parameters according to the following equations:

$$ M_{CR} = \left\{ {\begin{array}{*{20}l} {meanw_{A} \left( {S_{CR} } \right)} \hfill & {if \,\,S_{CR} \ne \emptyset } \hfill \\ {M_{CR} } \hfill & {otherwise} \hfill \\ \end{array} } \right. $$
(14)
$$ M_{F} = \left\{ {\begin{array}{*{20}l} {meanw_{L} \left( {S_{F} } \right) } \hfill & {if \,\,S_{F} \ne \emptyset} \hfill \\ {M_{F} } \hfill & {otherwise} \hfill \\ \end{array} } \right. $$
(15)

where \( meanw_{A} \) is the weighted mean and \( meanw_{L} \) is the Lehmar mean.

For further details about LSHADE, we refer the reader to [18].

3.5 Radial Basis Function (RBF)

Surrogate models can be used as approximation models for the cost functions of optimization problems [10]. There are several surrogate models in the literature such as polynomial Response Surface Model RSM, Kriging and Radial Basis Function (RBF). In our proposition, RBF has been chosen thanks to its acceptable accuracy and to its relative simplicity compared to other surrogate models. A brief description of the RBF surrogate model is presented. Assuming that we have n given points x 1 , x 2, …, x n whose true function values f(x i ) are known. In this method, an interpolant is used as follows:

$$ s\left( x \right) = \sum\nolimits_{i = 1}^{k} {w_{i} \emptyset \left( {\left| {x - x_{i} } \right|} \right) + b^{T} x + a,\quad x \in R^{D} } $$
(16)

where w = (w1, w2, … wn)T ∈ Rn, b ∈ RD, a ∈ R, and \( \emptyset \) is a cubic basis function. Moreover, the parameters w, b, a are obtained by solving the following system of linear equations:

$$ \left( {\begin{array}{*{20}l}\Phi \hfill & P \hfill \\ {P^{T} } \hfill & 0 \hfill \\ \end{array} } \right)\left( {\begin{array}{*{20}c} w \\ c \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} F \\ 0 \\ \end{array} } \right) $$
(17)

where Φ is the n × n matrix with \( \varPhi_{i,j} = \emptyset \left( {\left\| {x_{i} - x_{j} } \right\|_{2} } \right), c = \left( {b^{T} , a} \right)^{T} , \)

$$ F = \left( {f\left( {x1} \right), f\left( {x2} \right), \ldots , f\left( {xn} \right)} \right)^{T} $$

and

$$ P^{T} = \left( {\begin{array}{*{20}l} {x_{1 } } \hfill & {x_{2} } \hfill & \ldots \hfill & {x_{n} } \hfill \\ 1 \hfill & 1 \hfill & \ldots \hfill & 1 \hfill \\ \end{array} } \right) $$
(18)

For more details about RBF surrogate model, the reader can refer to [10].

4 The Proposed Approach

An initialization strategy can play an important role on the algorithm performance. Several works have investigated the effect of initialization techniques in finding the global optima such as [12]. In our approach, a CMA-ES-enhanced CS initialization technique is proposed to provide well-distributed points over the search space. Our goal is to investigate the high capability of CS in exploring the search space as well as the CMA-ES, which is able to provide high quality solutions with a limited number of evaluations. First, CMA-ES algorithm is run for a certain number of evaluations. Then, the produced solution is provided along with a randomly generated population to CS procedure. The goal is to speed up the convergence rate of CS and lead the search towards well-distributed individuals. Afterwards, the population pop of pop_size individuals obtained from the last iteration of CS is used to train the RBF model. Thereafter, it will be provided to the main procedure of our proposition.

Since it is important for a metaheuristic to show a good balance between exploration and exploitation, we propose a technique to handle this issue. For each generation of the main procedure, it is decided with a probability PLV whether the algorithm performs the global search procedure, or whether one iteration of the modified LSHADE is performed instead as a local search procedure. The global search procedure consists of a clustering algorithm and a Lévy Flight perturbation. The clustering is used for its high capability of avoiding redundant search points during the search process [15] as well as its efficiency in performing global search [8, 9]. The clustering is considered as a search operator that exploits the whole information of the population to generate a certain number of centers (new individuals). In our approach, the K-means algorithm is chosen because it has experimentally shown a superior performance than other algorithms as the fuzzy c-means (FCM) which is demonstrated in the results. K-means is exploited in order to generate \( K \) central individuals of the current population. Then, the central individuals are relocated to potentially more promising areas of the search space using Lévy Flight perturbation. The Lévy Flight movement is applied according to:

$$ step\_size_{i} = 0.001*step_{i} *\left( {z_{i} - best} \right)\; i = 1, 2, \ldots K $$
(19)

where \( step_{i} \) is generated according to (11), \( best \) is the best solution so far and z is the set of the central individuals. Then, the new trial individuals are generated as follows:

$$ z_{i} = z_{i} + step\_size_{i} $$
(20)

As a replacement strategy, the best pop_size individuals of \( pop \cup z \) are selected for the next iteration. Then, PLV parameter is decreased to progressively shift the search process from exploration to exploitation. This parameter is updated according to the following equation:

figure d
$$ PLV = \hbox{max} \left\{ {0,PLV - \frac{current\_fes}{{\hbox{max} \_{\text{fes}}}}} \right\} $$
(21)

The decreasing procedure makes the approach more exploitative during the search process by enhancing the possibility of performing the exploitation procedure.

As a local search technique, a proposed surrogate model-based LSHADE (SLSHADE) algorithm is used, which is depicted in Algorithm 4. LSHADE is an adaptive version of DE that proved its high capability in solving a wide range of complex optimization problems. Its parameter adaptation strategy allows achieving an efficient exploitation [4]. In SLSHADE, we modify the mutation strategy by using an additional mutation equation and a simple switching technique to choose the best mutation operator for the next generation. The proposed mutation equation is as follows:

$$ v_{i,g} = \left( {x_{i,best} - x_{i,g} } \right) + step\_size_{i} $$
(22)

where \( step\_size_{i} \) is computed according to (11), and \( x_{i,best} \) is the i th best solution in the current population. To save the limited budget of evaluations, we use the RBF for an approximated evaluation. After applying the two search operators (Eqs. (13) and (22)), RBF is used to approximate the fitness of the two mutant populations. Afterwards, the population that contains the best solution is chosen to perform the binomial crossover of LSHADE. To provide a fair approximation, the RBF model is updated using the current population after each quarter of the available budget. The pseudo-code of the full proposition is depicted in Algorithm 5.

figure e

5 Experimental Results

This section presents an evaluation of our proposition on the problem at hand. We compare it with LSHADE as well as CS [19] and DE [16]. Moreover, we evaluated our algorithm on the 15 functions of the CEC 2015 test suite [13] in order to provide difficult test cases. The parameter setting of the compared algorithms are given in Table 1.

Table 1. Parameter setting of the compared algorithms

5.1 Comparison on CEC 2015 Benchmark

The comparison has been carried out using the CEC 2015 test suite. The benchmark contains 15 functions to be minimized with a limited budget of 10000 * D evaluations, where D is the dimension of the search space. Table 2 presents in detail the characteristics of CEC 2015 benchmark. The performance is evaluated using D = 30 and we performed 30 runs for each function.

Table 2. Problem definitions for the CEC 2015 competition on learning-based real-parameter single objective optimization

To demonstrate the importance of each component, an experimentation has been conducted to compare the proposed algorithm with other variants. In the first variant, the initialization method is removed and it is called “variant-1”. In the second variant, the switching technique to the global search procedure is disabled. The algorithm becomes a hybridization between the proposed initialization method and SLSHADE. Moreover, to demonstrate the clustering impact in producing new individuals, K-means algorithm has been replaced by the FCM clustering algorithm “variant-3”.

Each column from Table 3 shows best, mean and standard deviation of each algorithm for each function. The best fitness found for each function is in bold. Mean results that are significantly better than the ones of the other algorithms, according to the Kruskal-Wallis statistical test at 95% confidence level followed by a Tukey-Kramer post hoc test are also in bold. The results presented in Table 4 show a superior performance of our proposition over the other algorithms. It can significantly outperform LSHADE in 6 functions, DE and CS in 15 functions. The comparison with the three variants reveals that our proposition could achieve better performance as well. It can outperform variant-1 in 8 functions which shows the importance of the proposed initialization method. Similarly, disabling the global search has a major effect on the algorithm. Variant-2 performs significantly worse than the proposition in 8 functions. Variant-3 shows slightly better performance when compared to variant-1 and variant-2. However, the proposition can significantly outperform it in 7 functions. These results demonstrates the impact of clustering. It is observed that both clustering methods can significantly improve the performance of the proposed algorithm.

Table 3. Comparison of CS, DE, LSHADE and our proposition on CEC 2015 test suite
Table 4. Comparison using Kruskal-Wallis test on CEC 2015 test suite

5.2 Comparison on HS-PMSM

The paper’s objective is to reduce HS-PMSM weight and by that, increase EV’s autonomy. The problem at hand is a multi-objective problem, where the objective functions are as follows:

  1. 1.

    The first objective function concerns the mass of the electric motor \( m_{atot} \):

    $$ m_{atot} = m_{cooper} + m_{stat} + m_{rot} + m_{pm} $$
    (23)

    where \( m_{cooper} \) is the cooper mass, \( m_{stat} \) is the stator iron mass, \( m_{rot} \) is the rotor iron mass, and \( m_{pm} \) is the magnets mass.

  2. 2.

    The second objective function is to maximize the output power density. It is written as follows:

    $$ P_{out} = P_{in} + \sum losses $$
    (24)

    where \( P_{out} \) is the output power density, \( P_{in} \) is the input density, and the sum of losses mainly contains the mechanical, iron and copper loss component.

The two objective functions are aggregated to obtain the following new objective function which will be optimized using the proposed algorithm:

$$ \hbox{min} \,j\left( x \right) = - \frac{{P_{out} }}{{m_{atot} }} + penality $$
(25)

where

$$ penality = 10^{4 } \sum\nolimits_{i = 1}^{7} {C_{i} } $$
(26)

\( C_{i} = 0 \) if the constraint i is satisfied, 1 otherwise.

The set of constraints are presented in Table 5. There are 8 variables for the optimization problem at hand, i.e. 8 geometrical parameters controlling the electric motor structure. The parameters are presented in Table 6.

Table 5. The problem constraints
Table 6. The geometrical parameters for the weight optimization

To conduct a fair comparison, the proposed algorithm has been run 30 times. We collected the best, the mean, the median, the worst, and the standard deviation of each algorithm. It is observed from Table 7 that our proposition obtains the best solution compared to the other algorithms.

Table 7. Results on the real problem after 30 runs

Besides, a stable performance is achieved, since the proposition could obtain the best solution in each run. The comparison between the 3 variants reveals that variant-2 could obtain the best results. It demonstrates clearly the importance of the proposed initialization method. Variant-3 shows an inferior performance when compared to the proposition. Thus, it can be concluded that each component of our proposition tends to be effective and the combination as a whole leads to a successful algorithm. Further details about the optimal solution found by our proposition are depicted in Table 8. Regarding the optimized obtained results, the proposed algorithm could achieve an important gain of 28% in the mass. Moreover, it could achieve a gain of 17% and 29% decreasing the mechanical loss and the iron loss stator respectively.

Table 8. The best geometrical parameters with the optimized factors

6 Conclusion

The paper has presented a successful hybridization to solve numerical optimization problems. The proposition consists in combining 2 state-of-art algorithms as an initialization method. Then, the produced population is transferred to the main procedure. The latter switches between the global and the local search procedures giving progressively the priority to the local search procedure to adaptively enhance exploitation in the algorithm. The proposition has been tested on CEC 2015 test suite and on the optimization of an electric motor. The obtained results have shown a stable and competitive performance compared to other state-of-art algorithms. Besides, a superior performance of K-means over FCM clustering algorithm has been noticed in the global search procedure. Thus, as a future work, we aim to justify this superiority by conducting an experimentation integrating visualization tools, in order to analyze the behavior of each clustering method. We also aim to integrate recent landscape analysis strategies to switch between the search operators (local and global search) in order to investigate their influence on the algorithm performance.