Transcript Document

Linear Programming and the Survivable Network Design Problem Rebecca Benjamin ’07 Swarthmore College, Department of Mathematics

&

Statistics What is Linear Programming?

A Linear Program is a minimization or maximization problem, subject to several restraints.

Linear programs can be set up for a variety of problems. Linear Programming is the process and methods involved in solving Linear Programs.

A linear program in general form looks like this: maximize

j n

  1

c j x j

Subject to

j n

  1

a ij x j x j

 0 

b i

(

i j

1 , 2 ,...,

m

 

1 , 2 ,...,

n

)

There may be many solutions to an LP, we call these

feasible

solutions, but we generally look for the optimal solution—the solution that maximizes or minimizes the linear function.

LPs may have no feasible solutions, or may have many feasible solutions but no optimal solution. We call these LPs

infeasible

and

unbounded

, respectively.

Food An Example: The Diet Problem

(example adapted from Chvátal)

Say you are going to eat some combination of the following foods, with the following nutritional information and costs:

Calories Protein (g) Calcium (mg)

Oatmeal (a) 110 Chicken (b) 205 Eggs (c) 160 4 32 13 2 12 54

Price per serving (cents)

3 274 13 Milk (d) 160 Cherry pie (e) 420 8 4 285 22 9 20 For each food, there are only a certain number of servings you would eat, so each variable will have a maximum. In order to make sure you get enough calories, protein, and calcium while minimizing the cost, you could solve the following linear program: Minimize 3a + 24b + 13c + 9d +20e Subject to 0 ≤ a ≤ 4 0 ≤ b ≤ 3 0 ≤ c ≤ 2 0 ≤ d ≤ 8 0 ≤ e ≤ 2 110a + 205b +160c + 160d + 420e ≥ 2000 4a + 32b +13c + 8d + 4e ≥ 55 2a + 12b +54c + 285d + 22e ≥ 800

The Duality Theorem

Feasible LPs can be solved by finding an optimal solution. The Duality theorem states that every LP has a dual. The original LP is called the primal. If the primal is a maximization problem and has an optimal solution, then its dual, a minimization problem, has the same optimal solution.

The Primal: The Dual:

n m

max

x j

j

 1

n

j

 1

a ij x j

 0

c j x j

b i i

 

1,2,...,

m

(

j

1,2,...,

n

)

max 

i

 1

m

i

 1

y i a ij y i

 0

b i y i

c j

(

i j

1 , 2 ,...,

m

 

1 , 2 ,...,

n

)

    The dual can help us understand the primal--any  solution of the primal.

For example, look at the following LP: max

x

1 

x

2 2

x

1

x

1   2 3

x

2

x

2   7 6

x

1 ,

x

2  0 Looking at the first constraint, we can immediately see that 3 is an upper bound on this LP.

Now, to learn more, lets look at the dual:

min 6

y

1 

7

y

2

2

y

1 

2

y

1 

y

1

,

y

2

y

2

3

y

2 

0

1

1

In order to find a lower bound, we examine the constraints. Since and

y

1

,

y

2 

0

, then 2

y

1 6

y

1  

y

2 7

y

2  1   3 . 6

y

1  3

y

2  3 Now, we have 3 has both an upper bound on the primal and a lower bound on the dual, getting us closer to figuring out the optimal solutions for

x 1

and

x 2

. The formal statement of the duality theorem is as follows:

The Duality Theorem

(as stated in Chvátal p.58): If the primal has an optimal solution the dual has an optimal solution (

y

(

x

1 * 1 * , ,

x

2 *

y

* 2 , ,

x n

* , ,

y

*

m

) such that

n

j

 1

c j x

*

j

m

i

 1

b i y i

*  .

  

The Survivable Network Design Problem

Given an undirected graph G = (V, E), where V are the vertices and E the edges, a set of nonnegative weights, a set T

V which are the terminals, and connectivity requirements for the terminals, find the minimum cost sub-graph which satisfies the connectivity requirements.

We will examine the 2-connected version.

This problem has many practical applications. Say, a phone company wanting to lay phone lines.

The phone company might want to build redundancy into their network--if one line goes out, customers would still be connected because there would be another path.

However, in building two paths between terminals, various costs would have to be taken into consideration--laying wire will vary in expense depending on who owns the land. A linear program written to solve this problem would seek to find the optimal combination of two paths (it is not necessarily true that one path is the optimal path.) S

T h

A very small example graph might look like this: T where s is the source and t the sink, the edges are the black lines, and the vertices or terminals are where the lines meet. Each edge has a cost associated with it.

build two paths from s to t and minimize the cost.

We want to There are different ways to formulate this problem. In the cut formulation, we look at all the paths over all possible cuts, where a cut is two disjoint sets of vertices such that one set contains the source and the other contains the sink. In the graph above, one cut is noted with red circles, another with blue (these are not the only cuts of this graph.) We look at all edges that get us from one set in the cut to the other set.

Since we want to minimize the cost, we write the following, where e in E are edges in the graph, c e cost of edge e and z e is the is an indicator variable stating whether or not we bought that edge.

min 

e

E c e z e

Notice that since z

e

is an indicator variable, it will be either 0 or 1. This actually creates an integer program. However, integer programming is prohibitively difficult, so we will look at z

e

between 0 and 1 inclusive.

 

Cut Formulation LP for the Survivable Network Design Problem

min

e

E

e

 

G c e z e z e

(

S

) 

z e

[0,1] 2

S

V

:

T

S

 

,

T

\

S

  Where  G (S) is the set of all edges with exactly one endpoint in S, where S is a cut. We can figure out the dual of this LP, which will help us find bounds on the optimal solutions.

The Dual: max  2

y S S

S

,

e

 

G y S

(

S

)

y s

 0 

c e

e

E

References

V. Chvatal, Linear Programming. W. H. Freeman and Company: USA (1983). K. Jain, I.I. Mandoiu, V.V. Vazirani, and D.P. Williamson, A primal dual schema based approximation algorithm for the element connectivity problem, 15.

Journal of Algorithms

45 (2002), pp. 1 K. Jain, A factor 2-approximation algorithm for the generalized steiner network problem, {IEEE} Symposium on Foundations of Computer Science (1998), p. 448-457.

H. Karloff, Linear Programming. Berkhauser: Boston (1991).

Acknowledgements

I would like to thank Sorelle Friedler for her advice and help, and Professor Walter Stromquist, for recommending valuable references.

For more information see:

http://mathstat.swarthmore.edu/webspot