Download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
language Essence 1.2.0
$ prob056.essence: SONET Configuration
$
$ A SONET communication network comprises a number of rings, each joining a
$ a number of nodes. A node is installed on a ring using an add-drop multiplexer
$ (ADM) and there is a capacity bound on the number of ADMs that can be
$ installed on a ring. Each node can be installed on more than one ring.
$ Communication can be routed between a pair of nodes only if both are installed
$ on a common ring. Given the capacity bound and a specification of which pairs
$ of nodes must communicate, allocate a set of nodes to each ring so that the
$ given communication demands are met. The objective is to minimise the number
$ of ADMs used. (This is a common simplification of the full SONET problem.)
$
$ 03 September 2007
$
 
given nnodes, nrings, capacity : int(1..)
 
letting Nodes be domain int(1..nnodes)
 
given demand : set of set (size 2) of Nodes
 
find network : mset (size nrings) of set (maxSize capacity) of Nodes
 
minimising sum ring in network . |ring|
 
such that
 
forAll pair in demand .
    exists ring in network .
        pair subsetEq ring