Service Networks Topological Design

Topological design of service networks is studied in the paper. A quantitative model and algorithm minimizing cost of processing and delivery are described. An algorithm solving combinatorial problem of optimal design based on binary partitioning, a parametric search and dynamic programming optimization of a binary tree are described and demonstrated in numeric examples.


Introduction and Problem Definition
Modern satellite communication networks with their terrestrial users interconnected via terrestrial links with earth stations are an example of a service providing network (SPN).
Modern telecommunications is a highly competitive business.To reduce service fees and to make it economically attractive to potential customers, a communication company must decide how many earth stations of each type it needs, where to allocate them, and how the customers must be interconnected with the earth stations.A correct decision can save hundreds of millions of dollars annually and hence can attract more users.
In more general terms we consider a set of users that require a service [1].The type of service can be either water desalination and/or purification and delivery to customers.Or it can be a regional gas supply.Or emergency services (ERs, fire departments, or police station or a set of first responders).Or a set of special postal service providers (mail deliverers, UPS offices, etc.).
From a computational point of view, the problem is NP-complete, i.e., it requires brute-force algorithms or heuristics with exponential time-complexity.These approaches must find an optimal way of clustering all users, [2][3][4][5].This paper describes a set of algorithms that solve the problem of clustering-and-location of all service providers with a polynomial time complexity.Preliminary results are provided in [6].For more insights on problems and algorithms related with network design see [7][8][9][10][11][12].

1) Let us consider locations of n users with coordinates
, n.Each user is characterized by a "volume" of required service w i ("weight" of i-th user); be a location of k-th service center (server, for short), k = 1, 2, , m;  3) Let S k be a set of all users connected with the k-th server C k ; 4) Let f (w i , P i , C k ) be a cost function of the link connecting the i-th user P i and k-th server C k ; here for all i = 1, 2, , n P i are the inputs and for all k = 1, 2, , m C k are decision variables.
  Then a minimal total cost of all links and all servers equals ( is the cost of k-th server as a nonlinear function of all service flows.Thus the problem (1) requires a comprehensive analysis in order to find optimal clusters (subsets) S 1 , , S m . Models and methods of clustering in general has been studied and described in [5].Surveys on models and algorithms related to clustering are provided in [5,9].

Special Cases
Case 1: The number m of servers is known and the cost function of every server is independent of required processing volume.If locations of all servers are specified, then it is easy to find the clusters S k .
i.e., every user is connected with the closest or least expensive delivery link.Case 2: If for k = 1, , m S k are known, then the optimal allocation of every server can be determined independently: 3) is known as a Weber problem.This problem has been investigated by many authors over the last thirty years.For references see [10,[13][14][15][16].
Case4: ( )is a linear or convex function, which means that the more clusters the better.The difficulties arise if the clusters S k are not known, the cost of every server is neither small nor flow-independent, and the number m of servers and their optimal locations (u k , v k ) for all k are not known.

Division onto Two Clusters
It is important to stress that there is a substantial difference between the two cases: m = 1 and m = 2.In the latter case the problem can be solved by repetitive application of an algorithm for the Weber problem.This must be done for all possible pairs of clusters S 1 and S 2 .There are different ways to partite n points onto two subsets S 1 and S 2 and, for each clustering, two Weber problems must be solved.Thus, the total time complexity of this brute-force approach {even for

Binary Parametric Partitioning
In this section we provide a procedure that divides a network N 1 with one server S 1 onto two sub-networks N 2 and N 3 with two servers.
Step A1: {find optimal location of "center of gravity" 0 for all n users, [1]}; consider m = 1 and solve the problem Step A2: consider a straight line L and rotate it around the center of gravity C 0 ; {for every angle x of rotation the line L divides all points onto two clusters S 1 (x) and S 2 (x)}; i P Step A3: for every point (user) consider polar coordinates ( i , d i ) using C 0 as the origin of the coordinate system; {here  i is an angular coordinate of P i }; Step A4: for i = 1 to n do sort all x i in ascending order; Step A5: Step A8: {compute the cost of two servers and all links}: : Remark 1: The line L divides all n points onto two clusters, S 1 (x) and S 2 (x), by at most n different ways as the angle x changes from 0 to  ; Step A9: Rotate the separating line L and find an angle that minimizes the function

Robustness of partitioning: In
Step A9, the angle of rotation x of line L is the parameter.Several thousands computer experiments demonstrate that L divides all points/users onto two subsets S 1 and S 2 in such a way that for k = 1, 2 the following property almost always holds: if ( ), However, if n is large, then with small probabilities there are one or two points (called "fugitives"), for which (9) does not hold; Step A10: if for iS 1 (r) Prob [ ( , , ) ( , , )] , where 0,if 400 and Therefore the separating like with very high probability cluster the points onto two sets, for which (9) holds.
Step A11: using ( 7) and ( 8) update optimal locations of C 1 and C 2 for new values of S 1 (r) and S 2 (r); {we define S 1 (r) and S 2 (r) as the optimal binary partitioning}.

Search for "Center of Gravity"
Step B1: assign flag: = 0; : Step B3: old(u,v): = (u,v); Step B4: while repeat Steps B2 and B3; Step B5 {search of a stationary point SP;  is a specified accuracy of location of the center of gravity}: Assign SP: = (u,v); Step B6: if for all {

Minimax Search for Minimum of h(x)
Let h be a function computable on a set are enough to solve any problem by total enumeration.However, since h is a periodic function with known period P, i.e., holds for every integer k, and for every i = 1, , N, an optimal algorithm with time complexity of order .is developed and published in [16,17].

Binary Partitioning & Associated Binary Tree
Let : where H k is a combined cost of the network N k .Let's consider an algorithm that divides the network N 1 into two sub-networks N 2 and N 3 with corresponding service delivery costs t 2 and t 3 and corresponding costs of servers s 2 and s 3 .We assume that the algorithm divides N 1 into two subnets in such a way that t 2 + t 3 + s 2 + s 3 is minimal.
For further consideration we represent the binary partitioning as a binary tree where the root of the tree represents a cluster (set of all users) S 1 and associated with it the network N 1 .In general, a k-th node of the binary tree represents a cluster S k and associated with it a network N k .Two children of the k-th node represent two sub-networks N 2k and N 2k + 1 of the network N k (as result of the binary partitioning).
From the above definitions and from the essence of the problem it is clear that for all k the following inequalities hold The latter inequality holds because each sub-network N 2k and N 2k + 1 has a smaller number of users than N k .

Non-Monotone Nature of Total Cost
If H k > H 2k + H 2k + 1 , then it is obvious that a partitioning into two clusters (sub-networks) is cost-wise beneficial.
However, H k < H 2k + H 2k + 1 does not imply that any further partitioning is not cost-wise beneficial.To illustrate that let's consider a network N k and its six subnetworks N 2k , N 2k + 1 , N 4k , N 4k + 1 , N 4k + 2 , N 4k + 3.
Remark 6: To demonstrate various cases we consider two scenarios of inputs in the following table.
Case H 1 = 91 (see Table 1): since H 1 > H 2 + H 3 , then the binary partitioning of N 1 into two sub-networks is gainful; Case H 1 = 86 (see Table 2) illustrates that a local analysis of the total costs does not provide a correct insight.These examples illustrate that for a proper partitioning a global rather than a local analysis is required.
Definition 1: We say that a network N k is indivisible if there is no cost-wise advantage to divide it onto any number of sub-networks.
In addition, some sub-networks may not be further divisible if they do not satisfy at least one of the following threshold conditions: a) Their request for service is lower than a specified threshold; b) The number of users in the cluster is smaller than a specified threshold.
Definition 2: We say that an optimal configuration of a service network is determined if all indivisible sub-networks of the initial network N 1 are known.

Dynamic Programming Algorithm
{The algorithm assigns final labels to all nodes of the associated binary tree; then determines all balanced nodes and then all prime nodes}; Bottom-up mode: a) {assign to k-node a label}; b) if i-th node is a leaf then its final label : min , d) if the final labels F k are computed for all nodes then goto the next mode; Top-down mode: Starting from k=1 we find a node j, for which holds It can be shown that it is not cost-wise advantageous to consider the descendants of this node, i.e., this node is indivisible.
Definition 3: We say that j-th node is balanced if j j F L  holds.Definition 4: A node that does not have a balanced ancestor is a prime node.
Proposition: The set of all prime nodes represents the optimal partitioning.opt P Proof: Let's prove by reduction that (13) is always computable, i.e., when we need to compute a final label for the k-th node, the final nodes of its both children are already computed.
Indeed, consider a sub-tree T1 with five nodes {A, B, C, D, E} and sub-tree T2 with seven nodes {A, B, C, D, E, G, H}, where in both sub-trees node A is a root.
Sub-tree T1: Let B and E be the children of A; and C and D be the children of B. In addition, let the nodes C, D and E be leaves.
Then by definition (12), : ; : and : Therefore, : min( , ) and : min( , ) Thus, if T1 is a sub-tree of a larger tree, we can compute five final labels, i.e., we reduce the number of unknown final labels by five.
Sub-tree T2: Let B and E be the children of A; C and D be the children of B; G and H be children of E. In T2 nodes C, D, G and H are the leaves.
It is easy to see that this case can be reduced to the previous case by computing the final label of E. Indeed, by definition (12), : and : Therefore, : min( , ) Thus, after the final label of node E is known, we can consider it as a virtual leave.In other words, we reduced the sub-tree T2 to the sub-tree T1.
Hence, if T2 is a sub-tree of a larger tree, we can compute the all final labels of its nodes, i.e., we reduce the number of unknown final labels by seven.
It is clear that in order to compute a final label for every node we need one addition and one comparison.Hence the overall complexity to compute the final labels has order O(M), where M is the number of nodes in the initial tree.In the worst case every leave has at least 2 users.Thus the total number of nodes M on the tree does not exceed n -1, where n is the number of the users.Therefore the complexity equals O(n).

Optimal Algorithm for Large n
It is easy to see that the parametric partitioning requires in general case exactly n rotations of the separating line L. As a result, the time-complexity f(n) to divide n users onto two clusters is equal f (n) = an 2 + O 1 (n) for large n.However, from computer experiments for large number of users n h(x) has one maximum and one minimum when L is rotated on 180 degrees.In this case the search algorithm requires O(logn) rotations of the separating line L. As a result, f (n) = bnlogn + O 2 (n) for large n and overall worst-case complexity is of order .

 
2 log n n  As it shown in [18] an average complexity of the problem can be further improved.The developed approach demonstrates that the average complexity of the overall binary partitioning is of order .
  2 log n n 

Conclusions
The ideas and algorithms described in this paper have numerous applications.In the set of algorithms provided above the Binary Partitioning algorithm (BPA) is a core sub-algorithm for solutions of many problems dealing with configuration/topological design of networks and other clustering problems.As the core sub-algorithm, the BPA has to be repeatedly executed many times; therefore it is essential to make the BPA computationally as efficient as possible.There are several computational blocks within the BPA:  To determine an optimal location of the "centre of gravity";  To detect of a minimum of computable function using the smallest number of its probes;  To estimate an average complexity of a divide-and-conquer algorithm.We developed an appropriate quantitative analysis to handle efficiency of the BPA.
Finally, it is shown how to apply a dynamic programming to tackle combinatorial complexity of reconstructing the best network after numerous binary partitions.

Acknowledgement
I express my appreciation to D. Nowak for his assistance.

Remark 4 :
The computer experiments for 25 600 n   indicate remarkable robustness of the Binary Partitioning Algorithm (BPA): the Step 10 and Step 11 do not create instability of the BPA, [6].
then SP is the "center of gravity";

Table 2 . t 1 = 62 and for t 5 = 7.
In this case H 1 < H 2 + H 3 , which only implies that there is no reason to divide the network N 1 into two sub-networks N 2 and N 3 .However, further analysis demonstrates thatH 1 > H 4 + H 5 + H 6 + H 7 if H 5 = 21; k