# Optimization on Linkage System for Vehicle Wipers by the Method of Differential Evolution
## 2 Materials and Methods
### Method of Differential Evolution  
Solving an optimization problem is to find the minimum/maximum (points) of an objective function on a specific set. Solving optimization problems subject to _constraints_ is usually very important for engineering sciences. Over the past few years, the method of Differential Evolution (DE) has been one of the most important population based search methods. The method of Differential Evolution is usually effective in solving global optimization problems subject to constraints [4; 24; 25; 26].  
We discuss the ideas of DE briefly. Assume that  
\[g(\mathbf{x})=g(x_{1},\cdots,x_{d})\]  
is a continuous function of \(d\) variables on a specific region \(\Omega\) of \(\mathbb{R}^{d}\) specified by certain _inequality conditions_ (_constraints_):  
\[h_{1}(\mathbf{x})\leq 0,\cdots,h_{q}(\mathbf{x})\leq 0\]  
in which \(\mathbf{x}=(x_{1},\cdots,x_{d})\in\mathbb{R}^{d}\). We want to find the minimum of \(g\) on \(\Omega\):  
\[\min_{x\in\Omega}g(\mathbf{x})=\min_{(x_{1},\cdots,x_{d})\in\Omega}g(x_{1},\cdots,x_{d}) \tag{23}\]  
subject to the _constraints_  
\[h_{1}(\mathbf{x})\leq 0,\cdots,h_{q}(\mathbf{x})\leq 0 \tag{24}\]  
The approach of DE is to approximate the minimum of \(g(\mathbf{x})=g(x_{1},\cdots,x_{d})\) on the region \(\Omega\) specified by (24) through several generations of _estimation_. In each generation, certain points on the region \(\Omega\) are selected for the estimation of the minimum of \(g\) on \(\Omega\).  
In order to ensure that the _estimated minimum_ of \(g\) on \(\Omega\) found in the (G+1)-th generation is always better than the _estimated minimum_ of \(g\) on \(\Omega\) found in the G-th generation, some selected points used in the G-th generation must be _reconsidered_ in the (G+1)-th generation. This is operated as follows. Assume that, in the G-th generation, the _estimated minimum_ of \(g\) on \(\Omega\) appears somewhere at the following selected points:  
\[\mathbf{x}_{i,G}=(x_{i,G,1},\cdots,x_{i,G,d})\Omega\]  
in which \(i=1,\cdots,M\). Then, in the (G+1)-th generation, \(M\) extra points  
\[\mathbf{Z}_{i,G}=(Z_{i,G,1},\cdots,Z_{i,G,d})\Omega\]found through the \"_mutation_ and _crossover_ operations\" (to be discussed later), will be introduced for comparison with the \(M\) points \(\mathbf{x}_{i,G}\) taken from the G-th generation. We define \(\mathbf{x}_{i,G+1}\) (for the next generation G+1) as follows:  
\[\mathbf{x}_{i,G+1}=\begin{cases}\mathbf{x}_{i,G},\text{ if }g(\mathbf{x}_{i,G})\leq g(\mathbf{ Z}_{i,G});\\ \mathbf{Z}_{i,G},\text{ if }g(\mathbf{x}_{i,G})>g(\mathbf{Z}_{i,G}).\end{cases}\]  
This definition of the points \(\mathbf{x}_{i,G+1}\) on \(\Omega\) will ensure that  
\[g(\mathbf{x}_{i,G+1})\leq g(\mathbf{x}_{i,G})\]  
for each \(i=1,\cdots,M\). For detailed explanation of the selection process, see Section 2.2.4.  
In the subsequent paragraphs, we will discuss the details of our DE method. In our DE method, there are some parameters. The values of these parameters will be fixed throughout the operation of our DE method. Different choices of the values of these parameters might lead to different search results for the estimated minimum of \(g(\mathbf{x})\) on the region \(\Omega\) specified by (24). These parameters are listed as follows: the _crossover ratio_\(CR\), the _scale factor_\(F\), the _population size_\(M\) (the number of selected points on \(\Omega\) for each generation), and the maximum number of _iterations_\(G_{\text{max}}\) (so that \(G=0,1,\cdots,G_{\text{max}}\)). The crossover ratio \(CR\) and the scale factor \(F\) are respectively real numbers in the interval [0, 1]. Usually we will use the term \"population\" to mean a collection of points in a generation.