Case Study: ANetworkDesignProblem

Submitted: 20 Feb 2008

Operations Research Topics:

Application Areas:


Problem Description


Adapted from a real world problem

Before undertaking this case study you must (at least) read the DataNetworkFlows case study to learn about the components that make up Storage Area Networks (SANs).

The company that commissioned the initial research on routing their data (see DataNetworkFlows) has decided to add another storage device (Device C) to their network. They have also performed some extensive data traffic measurement and determined the actual data flow requirements they need to support. These flows are shown in Table 1.

Source Destination Requirement Mb/s
Host 1 Device A 65
Host 1 Device B 50
Host 1 Device C 30
Host 2 Device A 25
Host 2 Device B 70
Host 3 Device A 35
Host 3 Device C 65

They estimate they will need either an extra hub or an extra switch or some combination of the 3 hubs and 2 switches. They commissioned the same network consultant to design their new network for them. He finished the job, but left for his honeymoon before writing a management summary or documenting his work. The files he left are contained in:

??? LINK ???

The company want to use these files to find the optimal SAN design that will support their data flow requirements.

For more detail see A Mixed-Integer Approach to Storage Area Network Design using Generic Network Components, O’Sullivan and Walker Engineering Science Technical Report 626, March 2006

Return to top

Student Tasks


1. Comment the AMPL files san_design_neos.mod, san_design.dat and from Run these files to find the optimal SAN design to support the flow requirements. Write a management summary for your solution.

What to hand in ??? Mike to look at??? You commented AMPL files. Your management summary.

Extra for Experts' Tasks

1. One problem that often arises in network design (and other mixed-integer programming) is that of symmetry. If components in the network have the same properties, then mixed-integer programming will consider all the combinations of these components even though many combinations represent the same network. The following constraints:

subject to LinkAntisymmetry {l in LINKS} :
  card({k in LINKS : (from[k] = from[l]) and (to[k] = to[l]) and
                     (ord(k) > ord(l))}) * UseLink[l] >=
  sum {k in LINKS : (from[k] = from[l]) and (to[k] = to[l]) and
                    (ord(k) > ord(l))} UseLink[k];
subject to HubAntisymmetry {h in HUBS} :
  card({g in HUBS : ord(g) > ord(h)}) * UseHub[h] >=
  sum {g in HUBS : ord(g) > ord(h)} UseHub[g];

subject to SwitchAntisymmetry {s in SWITCHES : s <> last(SWITCHES)} :
  card({t in SWITCHES : ord(t) > ord(s)}) * UseSwitch[s] >=
  sum {t in SWITCHES : ord(t) > ord(s)} UseSwitch[t];

can be used to remove symmetry from the SAN design problem if all the hubs, switches and links have the same properties (i.e., bandwidth capacity, number of port slots, etc).

Add these constraints to and solve the SAN design problem again. Describe how these constraints remove symmetry. Comment on their effect on the solver's progress.

What to hand in A brief (1 page or less) summary comprised of your description of how the antisymmetry constraints work and their effect on the solver's progress.

Return to top

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r7 - 2008-04-02 - TWikiAdminUser
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback