# Multi-Objective, Reliability-Based Design Optimization of a Steering Linkage
## 2 Optimization Design Problem Formulation
### aRPBIL-De  
For the optimizer used in this study, it is an adaptation of the original hybridization of real-code population-based incremental learning and differential evolution (RPBIL-DE). The technique has been proposed in the design of a steering linkage [17]. The differential evolutionary (DE) reproduction is still DE/best/2/bin combined with the relaxation scheme, as shown in Figure 5, which leads to good results in solving a problem with a narrow feasible region [33]. The scheme starts with a car geometric ratio (\(W_{t}/W_{b}\)) of0.5586 and linearly decreases to \(k(W_{t}/W_{b})\) at iteration 30 and becomes constant afterwards, where the best value is \(k=0.4\)[33]. Furthermore, the optimizer is combined with the opposition concept, which offers acceptable results [33]. The real code version of the population-based incremental learning(PBIL) uses a probability matrix to represent a real code population during its search. The element \(P_{ij}\) of the probability matrix suggests the probability of \(\mathbf{x_{i}}\) being created from interval \(j\) of the \(n_{I}\) equal-spaced intervals of the bounds of \(\mathbf{x_{i}}\). For multi-objective optimization, many (say \(N_{T}\)) probability matrices are used to increase population diversity; thus, each probability matrix is called a probability tray. The probability trays are used to create a population of design solutions iteratively. The obtained population is then further modified using the DE reproduction. In this work, the DE/best/2/bin scheme is used, which can be expressed as  
\[\mathbf{c}=\mathbf{p}+F(\mathbf{q}_{1}-\mathbf{r}_{1})+F(\mathbf{q}_{2}-\mathbf{r}_{2}) \tag{17}\]  
where \(F\in[0.25,\,0.75]\) is a scaling factor. \(\mathbf{q}_{1}\), \(\mathbf{r}_{1}\), \(\mathbf{q}_{2}\), and \(\mathbf{r}_{2}\) are randomly selected from the current real code population. The solution \(\mathbf{p}\) is a solution in the Pareto archive and \(\mathbf{c}\) is a resulting mutant solution. The binomial crossover is then performed on those mutant solutions, leading to a set of offspring. The combination of the offspring and the non-dominated solutions kept in the Pareto archive are sorted to find the new set of non-dominated solutions. Updating the probability matrices can be carried out by grouping the non-dominated solutions into \(N_{T}\) groups and then finding the centroid \(\mathbf{r}_{G}\) of each group. A centroid is randomly chosen to update a probability matrix or probability tray as  
\[P_{ij}^{new}=\Big{(}1-LR_{j}\Big{)}P_{ij}^{old}+LR_{j} \tag{18}\]  
where  
\[LR_{j}=LR_{0}\exp\Big{(}-(j-r)^{2}\Big{)}\]  
where \(r\) is an interval in which the \(i\)-th element of \(\mathbf{r}_{G}\) is located. The superscripts \"old\" and \"new\" stand for the previous and updated values of \(P_{ij}\), respectively. The procedure of this algorithm is shown in Algorithm 1. The variable \(p_{c}\) is a crossover probability of DE, and \(CR\) is cross over ratio of an element of an offspring \(\mathbf{c}\), which is a binomial crossover. Figure 5: Scheme of constraint handling (reproduced from [17]). ```
Input: Objective function name (_fint_), Pareto archive size (\(N_{A}\)), number of generations (\(N_{G}\)), population size (\(N_{P}\)), number of probability matrix columns (\(n_{I}\)), number of probability trays (\(N_{T}\)) Output: Pareto front as \(\textbf{f}^{\text{best}},\textbf{x}^{\text{best}}\) Initialization: For each tray, \(P_{ij}=1/n_{I}\) Main steps : Finding \(\textbf{f}=\textit{fun}(\textbf{X})\), where **X** is generated from the probability trays in which it is a real code population : Generate a Pareto archive **A** by means of non-dominated sorting. ```
1: For \(i=1\) to \(N_{G}\)
2: Separate the non-dominated solutions into \(N_{T}\) groups using a clustering technique
3: Find a centroid \(\textbf{r}_{G}\) of each group
4: Update each tray \(P_{ij}\) using \(\textbf{r}_{G}\)
5: Generate opposing learning rate OLR= 1 -LR
6: Choose LR= LR or OLR using binomial probability
7: Update each tray using Equation (17).