Model without bandwidth limitation
We wish to select the most performing components to be hosted by two devices in order to have an end-to-end latency as minimum as possible.
Let $ x_{i,j} $ be a Boolean variable whose value is 1 if i-th component is assigned to j-th device, 0 otherwise where $i=1,2, \cdots, 10 $ and $i=1,2$. The cpu limitation (equals to $c_1$) constraint could be written as
$ \sum_{i=1}^{10} x_{i,1} \leq c_1 $
In order to allocate every component only in 1 and only 1 device and not have a trivial solution (i.e. all variables equal to zero), we can impose that
$ \sum_{j=1}^2 x_{i,j} = 1 $ for every $i=1,\cdots , 10$
The following constraint
$ \sum_{i=1}^{10} x_{i,1} \geq 1 $
requires that at least one component is hosted by device 1 and
$ \sum_{i=1}^{10} x_{i,2} \geq 1 $
the same for device 2.
Let $t_i$ be the execution time of components and $T_i$ the output data transfer time of component i from 1st device to 2nd device. The obijective function Z to be minimized could be
$ Z = ( \sum_{j=1}^2 \sum_{i=1}^{10} t_i \cdot x_{i,j} ) + T $
where $T$ should designate the output data transfer time of i-th component in last position on board of device 1. Because we do not consider bandwidth limitation, $T$ will be equal to 0.
Model with bandwidth limitation
Let $b_i$ be the bandwidth of every components, we have to consider the bandwidth contraint applied only on the “last” component on board of 1st device. This point requires to consider auxiliary variables indicating the ranking of the components on board of device 1 and furnishing the output data transfer time $T$.
Because the output data transfer time $T$ is inversely proportional to $b_i$, as last component on device 1 we wish to select the largest available bandwidth.
Let introduce ten Boolean auxiliary variables, $ z_1, \cdots, z_{10} $, assuming value is 1 if i-th component transmits bytes from device 1 to device 2.
Because only one component is designate to transmit from device 1 to device 2, we introduce the constraint $\sum_{i=1}^{10} z_i = 1$.
$ \min T $
$\left\{ \begin{array}{l}
T \geq \sum_{i=1}^{10} b^{-1}_i \cdot z_i \\
x_{1,2} + z_1 \leq 1 \\
x_{2,2} + z_2 \leq 1 \\
\vdots \\
x_{10,2} + z_{10} \leq 1 \\
\sum_{i=1}^{10} z_i = 1 \\
T \geq 0 \\
z_1, \cdots, z_{10} binary \\
\end{array} \right. $
The logic constraint $x_{i,2} + z_i \leq 1$ guarantees to avoid to select components that are allocated on device 2: $x_{i,2}=1 \implies z_i=0$.
Finally, the model is:
$ Z = ( \sum_{j=1}^2 \sum_{i=1}^{10} t_i \cdot x_{i,j} ) + T $
s.t.
$\left\{ \begin{array}{l}
T \geq \sum_{i=1}^{10} b^{-1}_i \cdot z_i \\
\sum_{i=1}^{10} x_{i,1} \leq c_1 \\
\sum_{j=1}^2 x_{1,j} = 1 \\
\vdots \\
\sum_{j=1}^2 x_{10,j} = 1 \\
\sum_{i=1}^{10} x_{i,1} \geq 1 \\
\sum_{i=1}^{10} x_{i,2} \geq 1 \\
x_{1,2} + z_1 \leq 1 \\
x_{2,2} + z_2 \leq 1 \\
\vdots \\
x_{10,2} + z_{10} \leq 1 \\
\sum_{i=1}^{10} z_i = 1 \\
T \geq 0 \\
z_1, \cdots, z_{10},x_{1,1}, \cdots, x_{2,10} binary \\
\end{array} \right. $