Several applications in CS can be formulated as an optimization problem with (mixed) integer variables. Here we mention some classes of problems which have been successfully solved by DCA.
5.1 Cross-layer optimization in multi-hop time division multiple access (TDMA) networks
Efficient design of wireless networks is a challenging task due to the interference nature of shared wireless medium. Recently, the concept of cross-layer design has been investigated extensively. In [
26,
29] a cross-layer optimization framework, i.e., joint rate control, routing, link scheduling and power control for multi-hop TDMA networks, has been considered. Particularly, we studied a centralized controller that coordinates the routing process and transmissions of links such that the network lifetime is maximized [
29] and the quality of-service (QoS) constraints on the minimum source rates are satisfied. Alternatively, the energy consumption is an important design criterion for a multi-hop wireless network. In [
26], we considered the energy minimization-based cross-layer design problem. We will show below that the aforementioned problems can be formulated as mixed integer-linear programs (MILP) and then efficiently solved by DCA.
In the considered TDMA network, time is partitioned into fixed-length frames, and each frame is further divided into \(J\) time slots with unit duration. Since the resource allocation is the same in all frames, we concentrate our design on a single frame. A node may need to transmit in one or more slots for its own traffic and/or relay traffic from other nodes. If a node transmits in a slot, while its transmission power can be varied from [0, \(P_{\max }\)], its transmission rate is fixed at a unit rate. In the TDMA-based network, a channel is specified by two elements \((j,l),\,j\in { \mathcal {J}},\,l\in {\mathcal {L}}\), where \({\mathcal {J}}=\{1,2,\ldots ,J\}\). For the channel, the resource allocation is denoted by (\(s_{j}^{l},P_{j}^{l}\) ), where \(s_{j}^{l}=1\) means link \(l\) is active at slot \(j\) while \( s_{j}^{l}=0\) otherwise, and \(P_{j}^{l}>0\) denotes the transmission power of link \(l\) at slot \(j\) if \(s_{j}^{l}=1\), \(P_{j}^{l}=0\) otherwise.
At each node, the difference of its outgoing traffic and its incoming traffic should be the traffic generated by itself, i.e.,
$$\begin{aligned} \sum _{l \in {\mathcal {O}}(n)} \sum _{j=1}^J s_j^{l} - \sum _{l \in {\mathcal {I} }(n)} \sum _{j=1}^J s_j^{l} = r_n, \quad n \in {\mathcal {N}} \end{aligned}$$
(32)
where
\({\mathcal {O}}(n)\) and
\({\mathcal {I}}(n)\) are the set of outgoing links and incoming links at node
\(n\), respectively. The values of
\(s_n\) for the non-source nodes are set to zero, or equivalently all the traffic entering such nodes must be routed.
The energy consumption at node
\(n\in \mathcal {N}\) can be written as
$$\begin{aligned} \mathcal {E}_{n}&= \sum _{l\in {\mathcal {O}}(n)}\sum _{j=1}^{J}P_{j}^{l}+\sum _{l \in {\mathcal {O}}(n)}\sum _{j=1}^{J}\epsilon _{l}s_{j}^{l}\nonumber \\&+\sum _{l\in { \mathcal {I}}(n)}\sum _{j=1}^{J}\varepsilon _{l}s_{j}^{l},\quad n\in {\mathcal { N}} \end{aligned}$$
(33)
where
\(\epsilon _{l}\hbox { and }\varepsilon _{l}\) denote the energy needed to transmit and receive a unit of traffic over link
\(l\), respectively. Note that
\( \epsilon _{l},\,\varepsilon _{l}\) include the energy consumed by the signal processing blocks at the link ends.
Interference Model
Wireless channel is a shared medium and interference-limited where links contend with each other for channel use. Moreover, interference relations among the nodes and/or links can be modeled in various ways, for example, by using the signal-to-interference-plus-noise-ratio (SINR)-based model [
32,
52]. Specifically, if the link
\(l\in {\mathcal {L}}\) is active at slot
\(j\) (i.e.,
\(s_{j}^{l}=1\)), the following inequality should hold so as to guarantee the transmission quality of the link
$$\begin{aligned} {\mathrm {SINR}}_{j}^{l}=\frac{P_{j}^{l}h_{ll}}{\sum _{k\ne l}P_{j}^{k}h_{kl}+\eta _{l}}\ge \mathrm {\gamma ^{th}} \end{aligned}$$
(34)
where
\({\mathrm {SINR}}_{j}^{l}\) is the SINR for link
\(l\) at slot
\(j\),
\(h_{kl}\) is the path gain from the transmitter of link
\(k\) to the receiver of link
\(l\) ,
\(\eta _{l}\) is the noise power at receiver of link
\(l\), and
\(\gamma \mathrm{th}\) is the required SINR threshold for accurate information transmission.
We assume that all wireless nodes are low-mobility devices and/or the topology of the network is static or changes slowly allowing enough time for computing the new scheduler. An example of such networks is a wireless sensor network for environmental monitoring with fixed sensor locations. In this case, the need for distributed implementation is not necessary.
From the preceding discussions, the energy minimization-based cross-layer design, i.e., joint rate control, routing, link scheduling, and power allocation problem can be mathematically formulated as
$$\begin{aligned}&\!\!\!\min _{r_{n},P_{j}^{l},\;s_{j}^{l}}\qquad \;\sum _{n\in \mathcal {N}}\mathcal {E}_{n} \end{aligned}$$
(35a)
$$\begin{aligned}&\!\!\!\text {subject to:}\nonumber \\&\!\!\!\sum _{l\in {\mathcal {O}}(n)}\sum _{j=1}^{J}s_{j}^{l}- \sum _{l\in {\mathcal {I}}(n)}\sum _{j=1}^{J}s_{j}^{l}=r_{n},\;n\in \mathcal {N} \end{aligned}$$
(35b)
$$\begin{aligned}&\!\!\! r_{n}\ge r_{n}^{\min },\;n\in {\mathcal {N}} \end{aligned}$$
(35c)
$$\begin{aligned}&\!\!\!\sum _{l\in \mathcal {I}(\hat{n})} \sum _{j=1}^{J}s_{j}^{l}=\sum _{n\in \mathcal {N}}r_{n} \end{aligned}$$
(35d)
$$\begin{aligned}&\!\!\!\!\sum _{l\in \mathcal {O}(n)}s_{j}^{l}+\sum _{l\in \mathcal {I}(n)}s_{j}^{l}\le 1,\;\quad \forall n\in \{\mathcal {N}\cup \hat{n} \},\;j\!\!=\!\!1,\ldots ,J\nonumber \\ \end{aligned}$$
(35e)
$$\begin{aligned}&\!\!\!h_{ll}P_{j}^{l}\ge \mathrm {\gamma ^{th}}\sum _{k\ne l}P_{j}^{k}h_{kl}+\mathrm {\gamma ^{th}}\eta _{l}+D(s_{j}^{l}-1),\nonumber \\&\qquad \qquad \qquad \qquad \quad \quad \forall l\in \mathcal {L},\;j=1,\ldots ,J \end{aligned}$$
(35f)
$$\begin{aligned}&\!\!\!0\le P_{j}^{l}\le P_{\mathrm{max}}s_{j}^{l},\;\quad \forall l\in \mathcal {L},\;j=1,\ldots ,J \end{aligned}$$
(35g)
$$\begin{aligned}&\!\!\!s_{j}^{l}\in \{0,1\},\quad \quad \forall l\in \mathcal {L} ,\;j=1,\ldots ,J \end{aligned}$$
(35h)
where
\(\hat{n}\) denotes the common sink node for all data generated in the network,
\(D\) is a very large positive constant. The objective function is the energy consumption in the network.
1 Constraints (
35b) ensure that the data generated by source nodes are routed properly. Constraints (
35c ) guarantee that the rate for each node is no less than a minimum rate. The minimum rates are possibly different for nodes and are usually determined by the network QoS. Nodes which do not generate traffic have
\(r_{n}=r_{n}^{\min }=0\). Constraint (
35d) is the flow conservation at the traffic destination for all the sources. Constraints (
35e) state that a node can not receive and transmit simultaneously in one particular time slot. Constraints (
35f) make sure the
\({\mathrm {SINR}}\) requirement is met: if a link
\(l\) is active in time slot
\(j\), then the
\( {\mathrm {SINR}}\) at receiver of link
\(l\) must be larger than the given threshold
\(\gamma ^\mathrm{th}\) which also depends on the system implementation. Constraint (
35f) is automatically satisfied if link
\(l\) is not scheduled in time slot
\(j\). Constraint (
35g) states that if a link
\(l\) is scheduled for time slot
\(j\), i.e.,
\(s_{j}^{l}=1\) , then the corresponding power value
\(P_{j}^{l}\) must be less than
\(P_{\mathrm{max}}\). Otherwise,
\(P_{j}^{l}\) obviously equals to zero. We also impose binary integer constraints on
\(s_{j}^{l}\).
It can be seen that the cross-layer optimization problem (
35a)–(
35h) belongs to a class of well-known mixed-integer linear programs (MILPs). The combinatorial nature of the optimization (
35a)–(
35h) is not surprising and it has been shown in some previous works, albeit with different objective functions and formulations [
7,
32,
52]. Theoretically, MILPs are NP-hard which is clearly inviable for practical scenarios when the dimension is large. It has been shown in [
26] that, at optimality, the source rate constraints (
35c) must be met with equalities for all sources.
Note that by considering (
35a), one aims to minimize the total energy consumption, it may cause some particular nodes spending more energy than the other nodes, and thus, running out of energy quicker. Therefore, equal energy distribution among nodes is not optimal. Another design objective which may help to prevent such situation is as follows
$$\begin{aligned}&\!\!\!\min _{r_{n},P_{j}^{l},\;s_{j}^{l}}\quad \;\max _{n\in \mathcal {N}}\;\mathcal {E}_{n} \end{aligned}$$
(36a)
$$\begin{aligned}&\!\!\!\text {subject to:}\quad \text {The constraints (35b)--(35h)}. \end{aligned}$$
(36b)
The optimization problem (
36a)–(
36b) aims at minimizing the maximum energy consumed at nodes(s). As a result, more nodes are likely to be involved in the routing algorithm, i.e., relaying information for other nodes. For simplicity, the optimization problem (
35a)–(
35h) is often considered in the literature.
The cross-layer optimization problem (
35a)–(
35h) has worst case exponential complexity when BnB methods are used to compute the solution. Moreover, when modeling practical networks and depending on the number of links, nodes and time slots, problem with large sizes may arise. As a result, it is extremely difficult to schedule links optimally. Most research in literature is based on heuristic at the cost of performance degradation, for example, see [
7,
8,
52]. In [
26] , we investigated a DCA scheme to solve the mixed 0–1 linear program (
35a)–(
35h) efficiently.
The network lifetime maximization problem [
29] is similar to (
35a)–(
35h) in which (
35a) is replaced by network lifetime maximization.
5.2 Quality of service (QoS) routing problems
The Unicast (resp. Multicast) QoS routing emphasizes to find paths (resp. a set of paths) from a source node to a destination node (resp. a set of destination nodes) satisfying the QoS requirements. The Routing problems become more complex as far as we consider mobile networks or hybrid networks, because of dynamic topology and real time routing procedure. As an example, we consider a scenario in Multicast routing problem, such as we are staying in a car parking place. The mobile services are provided in each moving car, equipped with a mobile device, via a car service center likes in the car parking place. There are \(m\) cars sending their requests to a mobile car service center, they need help to find the route to go to their destinations under the travel time constraint, the less latency traffic jam, the jitter time delay constraint, the travel cost (same sources, different destinations, considering local constraints to each mobile vehicle). Therefore, based on the temporary update data of the network state, the mobile car service system has to calculate the route and given the answer for each car in a few seconds. In this context, we need a centralized and efficient algorithm to calculate the routes.
The problem of finding a path in network with multiple constraints (the MCP problem) is NP-complete. We reformulated the MCP [
46] and MCOP (multi-constrained optimal path problem) [
47,
51] problem as Binary Integer Linear Programs (BILP) and investigated DCA-based algorithms for solving them. The DCA is fast and furnished an optimal solution in almost all cases, and a near-optimal solution in the remaining cases. For large scale problems we investigated the proximal decomposition technique to solve convex subprograms at each iteration of DCA. Computational results show that this approach is efficient, especially for large-scale settings where the powerful CPLEX fails to be applicable.