## 4 Design of an Optimization Framework for the IMS
### Multi-Variable Multi-Objective Optimization  
As mentioned, to simultaneously achieve the two conflicting goals of minimizing both the driver workload level and the length of actions waiting queue, the truth table estimation problem is formulated as a multi-objective optimization process. More specifically, a multi-variable multi-objective optimization process has been proposed according to the scheme represented in Figure 2, which is defined as follows [70]:  
\[min\,\mathbf{J}(\mathbf{X})=min\big{(}\mathbf{J_{DW}}(\mathbf{X}),\mathbf{J_{ Aq}}(\mathbf{X})\big{)} \tag{4}\]  
where \(\mathbf{X}\in\mathbb{B}^{m\times 2^{(n+1+m)}}\) is a space of decision variables, \(\mathbf{J}(\mathbf{X}):\mathbb{B}^{m\times 2^{(n+1+m)}}\rightarrow\mathbb{R}^{2 \times 2^{(n+1+m)}}\) is a space of objectives, \(\mathbf{J_{DW}}(\mathbf{X}):\mathbb{B}^{m\times 2^{(n+1+m)}}\rightarrow\mathbb{R}^{ 2^{(n+1+m)}}\) is a vector of driver workload indexes, and \(\mathbf{J_{Aq}}(\mathbf{X}):\mathbb{B}^{m\times 2^{(n+1+m)}}\rightarrow\mathbb{R}^{ 2^{(n+1+m)}}\) is a vector of actions queue length indexes. In this process, the inputs are distinguished in:  
* \(n+1+m\) parameters that describe the driving scenario, i.e., DVE \(1,\ldots,\) DVE \(n\), LQue, App. \(1,\ldots,\) App. \(m\);
* \(m\) decision variables \(x_{i}\in\mathbb{B}\), each of them associated with one of the \(m\) application requests App. \(i\), and determines if the corresponding action is executed \((x_{i}=1)\) or not \((x_{i}=0)\). From these inputs, driver workload level and length of action waiting queue are estimated by leveraging the two indexes \(J_{Dw}(\mathbf{x})\) and \(J_{Aq}(\mathbf{x})\) described in Sections 4.1 and 4.2, respectively. The objective of the proposed optimization procedure is to find, for each of \(2^{n+1+m}\) possible driving scenarios, a vector of decision variables \(\mathbf{x}=\big{[}x_{1},\ldots,x_{m}\big{]}^{T}\) that simultaneously minimizes the two indexes \(J_{Dw}(\mathbf{x})\) and \(J_{Aq}(\mathbf{x})\). The trade-off between these two conflicting goals can be optimized by exploiting a Non-dominated Sorting Genetic Algorithm II (NSGA-II) [71] in order to search the optimal decision variables. The NSGA-II, first, randomly initializes a parent population of individuals. All individuals are then sorted into different front levels, and to each front level is assigned a rank, which equals its non-domination level. In the same front level, the location of the finite number of solutions is expected to be distributed  
Figure 2: Scheme of the multi-variable multi-objective optimization. uniformly. Therefore, the crowding distance criterion is adopted to select solutions by evaluating the local aggregation of individuals. Since extreme points are desired to be kept every generation, they are assigned a crowding distance to the maximum value. After sorting, the selection operator, crossover operator, and mutation operator are implemented to generate the offspring population. Thereafter, the new parent population is generated by being filled with non-dominated solutions. Then, the optimization is completed by the iterative application of the procedure until the number of maximum generation is reached. At each iteration step, a space of decision variables \(\mathbf{X}\) is determined, containing the decision variable vectors \(\mathbf{x}_{\mu}\) of the \(2^{(n+1+m)}\) possible driving scenarios, with \(\mu\ \in\ \left\{1,\ldots,2^{(n+1+m)}\right\}\). The quality of each searched decision variables vector \(\mathbf{x}_{\mu}\) is then evaluated by the two indexes \(J_{Dw}\) and \(J_{Aq}\) to be minimized. Repeating this evaluation over the whole space of decision variables, two vectors of driver workload indexes and actions queue length indexes, \(\mathbf{J_{Dw}(X)}\) and \(\mathbf{J_{Aq}(X)}\), respectively, are determined. In doing so, a \(2\times 2^{(n+1+m)}\)-dimensional hyperspace of objectives \(\mathbf{J(X)}\) is constructed.