## 4 Methodology
### Sequential Optimization Problems
#### 4.2.1 Optimal Selection of Technology Set  
The goal of the proposed multiculture network design is to provide diversity in the communication network nodes. In this work, we aim to specify as many different compatible node technologies as possible, from a given pool of technologies, under the constraint that the selected technologies must communicate and are mutually exclusive in their risks, that is they do not belong to the same PSRNG. Consequently, an attack on some vulnerability would not damage more than one kind of technology. In this scenario, and relying on a database with both the node technologies available in the market and the information about their risks and communication protocols, it is possible to formulate the following optimization problem: Picking the maximum number of technologies that do not present common risks and are able to communicate between them. We have called this problem the optimal selection of technology set. We depict, in Figure 2, an example of the problem showing the input data (in two tables) and the solution. Columns, at the left table, list four different types of SRNG events (\(r_{1}\) to \(r_{4}\) represent, respectively, the shared risks number 1 to 4), while at the right table list the different communication protocols that each node is equipped with (\(p_{1}\) to \(p_{3}\) represent, respectively, the communication protocols 1 to 3). Rows list seven different node technologies. In Figure 2, the optimal technology set was computed using exhaustive search and has been marked with a red box. Note that in this optimal solution the number of selected technologies is maximal, technologies do not exhibit shared risks, and they are capable of communicating, at least, by one available protocol. We note that, we have followed the seminal work [42] and used a risk matrix representation to characterize the software risks and their correlations with other network nodes for failure correlation analysis. The first problem tackled in this paper is the optimal selection of a technology set, that is, optimally specifying how many and which technologies are needed to maximize the diversity of the entire network. This problem can be mathematically posed as:  
\[\mathbf{o}^{*}=\operatorname*{argmax}_{\mathbf{o}\in\mathcal{T}}\sum_{i=1}^{N }T_{i}, \tag{1}\]  
Figure 2: Left: Matrix representation of the SRNG events or risks for each technology implemented at the networking nodes. Right: Communication protocol matrix for different networking node technologies. subject to:  
\[\sum_{i=1}^{N}X_{ir}T_{i}\leq 1,\text{ for each }r,\text{(single SRNG constraints)} \tag{2}\] \[T_{i}T_{j}\leq\mathbf{Y}_{i}\mathbf{Y}_{j}^{T},\forall i,j,\text{ (common protocol constraints)}\] (3) \[T_{i}\in\{0,1\}\qquad\forall i, \tag{4}\]  
where \(i,j,\) and \(r\) represent, respectively, the \(i\)th and \(j\)th technology, as well as the \(r\)th SRNG event in the network, \(T_{i}\) is a binary variable indicating the presence, \(T_{i}=1\) or absence, \(T_{i}=0\), of technology \(i\) in the solution, \(X_{ir}=1\) represents that the shared risk \(r\) affects the technology \(i\) and \(X_{ir}=0\) represents otherwise, \(\mathbf{Y}_{i}=(Y_{i1}\ Y_{i2}\ \cdots\ Y_{iL})\) is a row vector containing all the communication protocols offered by technology \(i\). In addition, \(\mathcal{T}\) is the search space, which corresponds to the collection of every possible combination of technologies that can be selected out of the \(N\) available classes, while \(\mathbf{\mathbf{\mathbf{\mathbf{\mathbf{\mathbf{\mathbf{\mathbf{\mathbf{\mathbf{ \mathbf{\mathbf{\mathbf{\mathbf{\mathbf{\mathbf{\mathbf{\mathbf{ \mathbf{    }}}}}}}}}}}}}}=(T_{1}\ T_{2}\ \ldots\ T_{N})\) is an element of \(\mathcal{T}\) specifying the optimal selection.