Maximal Flow Problems and Set Covering Problems

Lecture 4
Maximal Flow Problems
Set Covering Problems
1
Agenda
 maximal
 set
flow problems
covering problems
2
Maximal Flow Problems
3
Maximal Flow Problems
 arcs
labeled with their capacities
 question:
LP formulation of the total
maximal total maximal flow from the
sources to the sinks
4
Maximal Flow Problems
1
5
 obvious
maximum: 9
0
units
 LP
x
8
4
2
max x,
s.t.
formulation, let
x  x01  x02 ,
be the flow from node 0
x01  x12 ,
x02  x12  x,
 xij
be the flow from node i
max x,
to node j
s.t.
x  x01  x02
x01
-x
0  x01  5,
= 0,
 x12
= 0,
+ x02  x12
= 0,
0  x01  5, 0  x02  4,
0  x12  8, x  0.
0  x02  4,
0  x12  8,
x  0.
5
Maximal Flow Problem
 let
xij be the flow from node i to node j
6
Maximal Flow Problem


max
s.t.
xTS

S
xTS ,
 xS 0
xS 0

 xS1
 x02
 x23
x02
x13
 0,
 0,

 x13
xS1
 x24
 x25
 x23
 x34
 x34
x24
 x42
 0,
 0,
 x42
 0, ,
 0,
 x37
 x45
 x46
 x45
x25
 x5T
x46
x37
 xTS
T
 x76
 0,
 0,
 x6T
 x76
 x5T
 x6T
 x7T
 x7T
 0,
 0,
0  xTS , 0  xS 0 , 0  xS1 , 0  x02  12, 0  x13  20, 0  x23  6, 0  x24  3, 0  x25  6, 0  x34  7,
0  x37  9, 0  x42  2, 0  x45  5, 0  x46  8, 0  x76  4, 0  x5T , 0  x6T , 0  x7T .
7
Maximal Flow Problem


max
s.t.
S
xTS ,
xTS
 xS 0
xS 0



 xS1
 x02
 x23
x02
x13
 0,
 0,

 x13
xS1
 x24
 x25
 x23
 x34
 x34
x24
 x42
 0,
 0,
 x42
 0, ,
 0,
 x37
 x45
 x46
 x45
x25
 x5T
x46
x37
 xTS
T
 x76
 0,
 0,
 x6T
 x76
 x5T
 x6T
 x7T
 x7T
 0,
 0,
0  xTS , 0  xS 0 , 0  xS1 , 0  x02  12, 0  x13  20, 0  x23  6, 0  x24  3, 0  x25  6, 0  x34  7,
0  x37  9, 0  x42  2, 0  x45  5, 0  x46  8, 0  x76  4, 0  x5T , 0  x6T , 0  x7T .
8
Comments for
the Maximal Flow Problem
 special
structure of network flow
 integral
solutions for integral capacities
9
Further Comments for
Network Flow Problems
 network
components in many practical
problems
 easier
 more
to solve with packages
likely to have integral optimal solutions
 many
practical LP problems being dual of
network flow problems
 optimal
integral solutions
10
Set Covering Problems
11
Set Covers

a set S = {1, 2, 3, 4, 5}

a collection of subsets of S,  = {{1, 2}, {1, 3, 5}, {2, 4, 5},
{3}, {1}, {4, 5}}

a cost associated with each subset of S in 


e.g., cost = 1 for each subset of S in 
a subset of  is a cover of S if the subset contains all
elements of S

{1, 2}, {1, 3, 5}, and {2, 4, 5} forms a cover of S

{1}, {3}. and {4, 5} do not form a cover of S
12
Set Covering Problems

given S, , and all costs of subsets in  = 1, find
the minimum cost cover of S


S = {1, 2, 3, 4, 5}

 = {{1, 2}, {1, 3, 5}, {2, 4, 5}, {3}, {1}, {4, 5}}
what are the decisions?


a subset is selected or not
what are the constraints?

elements of S are covered
13
Set Covering Problems
1, if the ith member of  is in the cover,
i  
otherwise.
0,
S
= {1, 2, 3, 4, 5}

= {{1, 2}, {1, 3, 5}, {2, 4, 5}, {3}, {1}, {4, 5}}
 examples
 1
= 3 = 4 = 1 and 2 = 5 = 0: {1, 2}, {2, 4, 5},
{3}
 2
= 5 = 1 and 1 = 3 = 4 = 6 = 0: {1, 3, 5}, {1}
14
Set Covering Problems

S = {1, 2, 3, 4, 5}

 = {{1, 2}, {1, 3, 5}, {2, 4, 5}, {3}, {1}, {4, 5}}
min  1  2
 3
 4
 5
 6 ,
s.t.
element 1:
 1  2
element 2:
1
 5
 3
2
element 3:
element 4:
2
element 5:
 1,
 1,
 4
 1,
3
 6
 1,
 3
 6
 1,
set 6:
set 5:
set 4:
set 3:
set 2:
set 1:
i  {0, 1}
Property 9.1:
minimization
with all 
constraints
Property 9.2:
all RHS
coefficients = 1
Property 9.3:
all matrix
coefficients = 0
or 1
15
Generalization of
Set Covering Problems
 weighted
set covering problems: RHS
coefficient  positive integers > 1
 some
elements covered multiple times
 generalized
set covering problems: a
weighted set covering problem + matrix
coefficients 0 or 1
16
Applications of
Set Covering Problems
 aircrew
 S:
scheduling
the collection of flights legs to cover
 :
the collection of feasible rosters of air
crew
17
Comments for
Set Covering Problems

“Set covering problems have an important property
that often makes them comparatively easy to solve by
the branch and bound method. It can be shown that
the optimal solution to a set covering problem must
be a vertex solution in the same sense as for LP
problems. Unfortunately, this vertex solution will not
generally be (but sometimes is) the optimal vertex
solution to the corresponding LP model. It is,
however, often possible to move from this continuous
optimum to the integer optimum in comparatively
few steps.” (pp 191 of [7])
18
Optimal Solution at a Vertex
for a Set Covering Problem
min  1  2  3  4  5  6 ,
LP: optimal at a vertex
s.t.
 1  2
1
 5
 1,
 3
2
2
 1,
 4
 1,
3
 6
 1,
 3
 6
 1,
i  {0, 1}

suppose there are optima not at a vertex

let {xi} and {yi} be two different optimal solutions

then {xi+(1)yi} are optimal solution

there must be at least one i such that xi  yi

for xi  yi , xi+(1)yi  {0, 1} iff  = 0 or 1

either case there is only one optimal
19
LP Optimum Not
Set Covering Optimum
LP: optimal at a vertex
Set Covering: optimal at
a vertex, but not
necessarily at that of LP
20
Comments for
Set Covering Problems
 relatively
easy to solve by Branch and Bound
 optimal
solution at a vertex, though not that
by LP relaxation
 possible
to move from LP optimum to the set
covering optimum in a few steps
 in
applications, usually many more variables
than constraints
 solved
by column generations
21