Skip to main content
. 2009 Sep 28;9(10):7711–7732. doi: 10.3390/s91007711
Algorithm 1: The LGR Algorithm.
Begin
Input: Network topology, data source nodes, sink node and end-to-end delay QoS requirements
Output: Data aggregation tree
Initialize Lagrangean multiplier vectors ui(0) = 0, ∀i = 1,2,…,8.
 UB = a very large positive number (e.g., M) and LB = a very small negative number (e.g., −M) //upper and lower bounds, respectively.
quiescence_age = 0, and step_size = 2.
For iteration = 1 to Max_Iteration_Number, perform the following:
  Solve Subproblem 1, Subproblem 2, Subproblem 3, Subproblem 4, Subproblem 5 and Subproblem 6.
  ComputeZLR in (LR).
  If ZLR(u) > LB
   LB = ZLR(u) and quiescence_age = 0.
  Else quiescence_age = quiescence_age + 1.
  If quiescence_age = Quiescence_Threshold
   step_size = step_size/2 and quiescence_age = 0.
  Run the LGR-Primal algorithm.
  Compute the new upper bound ub.
  If ub < UB then UB = ub.
  Update the step_size.
  Update the Lagrangean multiplier vectors.
End For
End