# Development of a Power and Communication Bus Using HIL and Computational Intelligence
## 5 HIL-Based Optimization Method for Bus Prototyping  
The effectiveness of the power supply and communication bus strongly depends on its Hardware-In-The-Loop structure \(\mathcal{S}\) as well as on the hardware components and software parameters of the proposed solution. These factors have a great influence on addressables, and therefore they must be adjusted correctly. The main purpose of the optimization process is to search for the optimal structure of the bus and the optimal values of hardware parameters \(\mathbf{p}_{h}\) and software parameters \(\mathbf{p}_{s}\), to obtain the highest performance of the whole system. This issue is viewed as a multi-objective optimization problem and hence it can be stated as the following equation:  
\[ \begin{array}{ll}\text{Minimize}&\mathbf{C}(\mathcal{S},\mathbf{p}_{h}, \mathbf{p}_{s})=\left[c_{1}(\mathcal{S},\mathbf{p}_{h},\mathbf{p}_{s})\ c_{2}( \mathcal{S},\mathbf{p}_{h},\mathbf{p}_{s})\ \ldots\ c_{n}(\mathcal{S},\mathbf{p}_{h},\mathbf{p}_{s})\right]\\ \text{subject to}&\Omega(\mathcal{S},\mathbf{p}_{h},\mathbf{p}_{s},\mathbf{C}), \end{array}  \tag{2}\]  
where \(\mathcal{S}\), \(\mathbf{p}_{h}\) and \(\mathbf{p}_{s}\) represent decision variables, \(c_{i}\) is the \(i\)-th criterion function that is being used to express the desirable features and performance of the research version of the bus (it should be stressed that criterion functions represent objectives which are not conflicted),  
Figure 8: General scheme of the proposed method. Figure 7: Master and clients in Hardware-In-The-Loop during operation. \(\Omega\) is related to constraints and boundaries, which should be chosen to consider different variants of hardware and software parameters. To reduce the complexity of the problem, it is noted that in some cases the structure \(\mathcal{S}\) can be determined using a part of the decision variables corresponding to the values of hardware features included in \(\mathbf{p}_{h}\). The hardware and software features of the bus for the given number of the modules \(n\) can be written using the general formula as follows:  
\[\mathbf{p}=[\mathbf{p}_{h_{M}}\ \mathbf{p}_{h_{C}}\ \mathbf{p}_{h_{M}}\ \mathbf{p}_{h_{C}}], \tag{3}\]  
where \(\mathbf{p}_{h_{M}}\) and \(\mathbf{p}_{h_{C}}\) denote the hardware parameters of a master and clients, whereas \(\mathbf{p}_{h_{M}}\) and \(\mathbf{p}_{h_{C}}\) describe their software parameters. In this paper, it is assumed that \(\mathbf{p}_{h_{M}}\) is composed of four values of parameters as follows:  
\[\mathbf{p}_{h_{M}}=[p_{h_{1}},p_{h_{2}},p_{h_{6}},p_{h_{5}}], \tag{4}\]  
and \(p_{h_{C}}\) is composed of  
\[\mathbf{p}_{h_{C}}=[p_{h_{3}},p_{h_{4}},p_{h_{7}}], \tag{5}\]  
where \(p_{h_{2}}\) is the number corresponding to the selected capacitor on master (see Table 1), \(p_{h_{2}}\) is the number corresponding to the selected inductor on master (see Table 1), \(p_{h_{6}}\) is used to decide whether a termination resistor on master is necessary or not, \(p_{h_{5}}\) is applied to describe the inductor in the pulse generator (see Figure 4), \(p_{h_{3}}\) is used to select a capacitor on client (see Table 1) and (Figure 5), \(p_{h_{4}}\) is used to select an inductor on client (see Table 1 and Figure 5), \(p_{h_{7}}\) is used to decide whether a termination resistor on client is needed or not. Except for hardware parameters, software decision variables can be divided to auto-addressing configurations such as \(p_{s_{2}}\) and \(p_{s_{3}}\), where the delay before the first ADC sample and the gap between samples can be chosen, \(p_{s_{1}}\) is the time to charge pulse generator (A22 in Figure 3d), and \(p_{s_{4}}\) is a discrete variable defined strategy of auto-addressing, especially managing the use of coils and capacitors on master and clients (Tables 3 and 4).