An instance of min-cost-DIF can be transformed into an instance of multicast network routing [19, 103] as follows. The ow variable xik(j)is replaced with ti(j)φik(j), where
ti(j) is the total ow passing through i and destined to j while φik(j) is the routing
variable for link (i, k); more specically, it is the fraction of ti(j) that is routed to k.
Following this change of variables, the resulting formulation is given by the optimi- sation problem (4.1-4.5). Constraint 4.3 states that the sum of the routing variables for each node is equal to one, while Equation 4.4 and Equation 4.5 are equivalent to Equation 3.4 and Equation 3.5 respectively.
minimise X (i,k)∈E cikhik (4.1) subject to φik(j) ≥ 0 (4.2) X k∈C(i) φik(j) = 1 (4.3) hik = max j ti(j)φik(j) (4.4) ti(j) = ri(j) + X l∈P(i) tl(j)φli(j) (4.5)
Given this mapping, existing algorithms for multicast network routing can be applied. Here we summarise one such algorithm, originally presented in [19]. The algorithm is based on message passing and relies on obtaining the marginal cost δik(j)for each
link. The marginal cost is the rate at which the total cost increases due to a unit increase in ow along that link and is given by Equation 4.6.
4.1 Min-Cost-DIF 51 δik(j) = cik/n + X l∈C(k) φkl(j)δkl(j) if ti(j)φik(j)and n−1 other
ows on link (i, k) are the maximum
X
l∈C(k)
φkl(j)δkl(j) otherwise
(4.6)
Recall from Chapter 3 that in the context of information gathering sources correspond to sensors, processors to intermediate nodes and estimators to destination nodes. Min-cost-DIF can be solved for each source m independently and in parallel. The full problem can be decomposed into independent sub-problems, one for each source, since the objective is additive and there are no inter-source constraints. This is evident from the problem formulation (3.2-3.5). Therefore, for simplicity of notation the subscript m is dropped from all variables in this section.
At the start of the algorithm, the routing variables {φik(j)}are initialised arbitrarily
such that they obey Constraints 4.2 and 4.3. The routing variables are then repeatedly updated such that after iteration t the routing variables are set as φt+1
ik (j) = φtik(j) +
∆φik(j)t. The update direction ∆φik(j)t is dened in Equation 4.7. The set Ej is the
set of edges belonging to the subgraph containing the ancestors of destination j and δi,min(j) = minkδik(j). ∆φik(j)t = 0 if (i, k) ∈ Ej − min φtik(j),α(δik(j) − δi,min(j)) ti(j) if δik(j) 6= δi,min(j) X δip(j)6= δi,min(j) ∆φip(j)t if δik(j) = δi,min(j) (4.7)
The algorithm runs synchronously. First, the head nodes send messages with their ow contributions to their children. Once a node receives messages from all of its parents, it passes the message to its own children and so forth. The purpose of
this downward sweep is to allow nodes to compute the ow of the current routing conguration. The ow values are necessary to compute the marginal costs required in the upward sweep. The downward sweep is followed by an upward sweep during which the marginal costs are computed according to Equation 4.6 and the routing variables are updated according to Equation 4.7. The downward and upward sweeps are decentralised, synchronous and are guaranteed to visit every node. Their sequence is dictated by Algorithm 4.1. The synchronicity property of Algorithm 4.1 is proved in Lemma 4.1.
Due to possible changes in link costs, this message passing optimisation runs contin- uously throughout system operation. As the system conguration changes, link costs are updated with new values. To ensure convergence, the interval between updates is set to an adequate time period. Further details on the appropriate length of the interval between updates can be found in Section 4.1.3.
Algorithm 4.1: Synchronous message passing on DAGs 1: For node i
2: if i is a head node then
3: Perform a downward update and send downward message to children 4: end if
5: loop
6: if a downward message is received from all parents then
7: Perform a downward update and send downward message to children 8: if i is a tail node then
9: Perform an upward update and send upward message to parents
10: end if
11: end if
12: if an upward message is received from all children then
13: Perform an upward update and send upward message to parents 14: if i is a head node then
15: Perform a downward update and downward message to children
16: end if
17: end if 18: end loop
4.1 Min-Cost-DIF 53 Lemma 4.1 (Graph traversal synchronicity). In Algorithm 4.1, after node i has performed its t-th downward update and before forwarding this update:
1. Node i and all of its successors would have performed exactly t − 1 upward updates
2. All of its ancestors would have performed exactly t downward updates
Proof. Suppose one of node i's successors has performed t0 > t − 1upward updates.
This means that at least one tail node in the successors has performed t0 downward
updates. This is impossible because node i has only yet forwarded t − 1 downward messages. Since node i has performed t updates then its ancestors have performed at least t updates. Now, suppose one of node i's ancestors has performed t00 updates
where t00 > t. Then, the head nodes in the ancestry have performed at least t00
updates. This in turn means that they have performed t00− 1 upward updates which
means the tail nodes have performed t00 − 1 > t − 1 updates, which is impossible
as just shown. This means that node i has forwarded at least t0 − 1 ≥ t downward
updates, which leads to a contradiction.
Due to observation rewards, negative costs may be assigned to links incident to an estimator j ∈ Ve. These negative costs are handled within the framework of the
multicast network routing algorithm by solving an equivalent problem. A large enough constant ¯c is added to all {cij : j ∈ Ve}to obtain a set of non-negative cost variables
{c0
ik}dened in (4.8).
The equivalence of solving the optimisation problem (4.1-4.5) to solving the problem with cost variable c0
ik instead of cik is proved in Theorem 4.1.
c0ik = cik+ ¯c if k ∈ Ve cik otherwise (4.8) Theorem 4.1 (Multicast routing with negative terminal links). Replacing link cost cik in problem (4.1-4.5) with c0ik dened in Equation 4.8 results in another problem
Proof. For every link (i, j) such that j ∈ Ve, Equation 4.4 turns into Equation 4.9
instead since the only ow that should run along that link is the ow destined to estimator j.
hij = ti(j)φij(j), ∀j ∈ Ve, ∀(i, j) ∈ E (4.9)
After adding ¯c to the cost of these links to obtain {c0
ij}, a total of ¯cP(i,j)hij is added
to the problem objective. Since ¯c is constant, we now proceed to prove that P(i,j)hij
is constant. After substituting hij from Equation 4.9, we obtain Equation 4.10.
X (i,j) hij = X j∈Ve X i∈P(j) ti(j)φij(j) (4.10)
The right hand side of the equation is equal to the total ow arriving at a destination node summed over all destinations. By denition, this ow is equal to the source ow multiplied by the number of destinations and hence is constant.