The transformation of the placement problem to the set cover problem
assumes that we are given a set of networks and their
interconnections, as well as a specific routing policy that allows us
to compute an end-to-end path for every pair of nodes in the networks.
Typically, shortest path routing algorithm is used in intra-domain
routing and for inter-domain traffic, packet flows are routed towards
the nearest peering point between two networks (also called the
``hot-potato'' routing). With this routing policy, we can compute a
routing table for each node
and the cost of each routing path
, which is the sum of the hop distances along the path.
For each node
, we compute a set
which includes all the nodes
reachable from
within the routing cost of
. This is to say
that if a server is placed at the location of node
, then all the
nodes within this set can be serviced by this server. If
has
co-location nodes, then the set
also includes all nodes reachable
from each of these co-location nodes within the cost of
. By
varying the criteria of including a node in a set, for example varying
the cost
changes the service range of a server, we can explore
different placement policies while using the same algorithms to find a
solution for the set cover problem.
Let
be all the sets computed. The
LP formulation of the set cover problem is:
where
is the selection variable of
,
is 1 if
and 0 otherwise.
A variation of the problem is to allow one primary and one backup
server to cover each node. A backup server can cover twice the
distance of the primary server. Let
be all the
backup sets, and
if
and 0 otherwise. The
objective here is still to minimize the number of selected sets but
with the additional constraints of:
Since all nodes in the primary set are also in the backup set centered
at the same server,
if
; but we can not have
a primary server also service the same node as the backup server --
the constraint in (5.3) ensures the
selection of a different server as the backup.