Four Combinatorial Optimization Problems from Graph Theory

Document Sample

```					                                                                    Revised February 26, 2010

Set Covering, Set Packing, and Set Partitioning

Definitions: Let M = {1, …, m}, N ={1, …, n}, and {M1, M2, … Mn} be a given
collection of nonempty subsets of M. Let F be a subset of N. F is a
 cover if the union of all of the sets Mk with index k in F is equal to N.
 packing if the sets Mk with index k in F are pairwise disjoint (no overlap)
 partition if sets Mk with index k in F form both a cover and a packing.

Example

M = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, N = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

M1 = {1, 2, 3, 4, 5, 6, 7, 8}, M2 = {3, 4, 7, 8, 11, 12}, M3 = {9, 10, 11}, M4 = {4},
M5 = {1, 2, 3}, M6 = {5, 6, 9,10}, M7 = {7, 8, 11, 12}, M8 = {1, 2, 5, 6}, M9 = {4, 8},
M10 = {10, 11, 12}

F1 = {1, 2, 3} is a COVERING of M,
F2 = {4, 5, 6, 7} is a PARTION of M,
F3 = {8, 9, 10} is a PACKING of M.

ILP Formulations

The formulations for these three problems is very similar.
 The constraint matrix A = [aij] is defined as follows: aij = 1if element i of M is in
subset Mj and 0 otherwise. (Thus, there is one constraint for each element of M.)
 Associated with each Mj is a cost (benefit) cj.
 The binary variable xj = 1 if Mj is selected and 0 otherwise.

The set covering problem tends to appear in optimization with a minimization objective.
The set packing problem usually appears with a maximization objective. The set
partitioning problem can appear with either a minimization or a maximization objective.

Generic Set Cover Formulation
n
min  c j x j
j 1

s.t. Ax  1
x  {0,1}

Each element of M must be included in at least one of the selected subsets. The objective
is to minimize the number of subsets selected.

1
Revised February 26, 2010

Generic Set Packing Formulation
n
max  c j x j
j 1

s.t. Ax  1
x  {0,1}

Each element of M may be included in at most one of the selected subsets. The objective
is to maximize the number of subsets selected.

Generic Set Partitioning Formulation
n
max (or min) c j x j
j 1

s.t. Ax  1
x  {0,1}

Each element of M must be included in EXACTLY one of the selected subsets.

Set Covering Example (from Hillier and Lieberman, 1995)

An airline needs to assign its crews to cover all upcoming flights. In this specific
subproblem, we need to assign the three crews based in San Francisco (SF) to the flights
listed below. The remaining columns of the table show the 12 feasible flight sequences
for a crew. (The number in each cell indicates where the flight occurs in the flight
sequence.)

Exactly three of the sequences need to be chosen in such a way to cover all the flights at
minimum cost. The cost of assigning a crew to a flight sequence is given at the bottom of
the table.

Flight              1    2    3    4     5       6     7   8   9    10   11    12
SF LA               1              1                   1            1
SF Denver                1               1                 1             1
SF Seattle                    1                  1             1               1
LA Chicago                         2                   2       3    2          3
LA SF               2                            3                  5    5
Chicago Denver                     3     3                     4
Chicago Seattle                                        3   3        3    3     4
Denver SF                2         4     4                     5
Denver Chicago                           2                 2             2
Seattle SF                    2                        4   4                   5
Seattle LA                                       2             2    4    4     2
Cost (\$1000)        2    3    4    6     7       5     7   8   9    9    8     9

2
Revised February 26, 2010

A formulation of the model is provided in an Excel workbook available on the course
website.

Set Packing Example (based on example from Wikipedia)

Suppose you're at a convention of foreign ambassadors, each of which speaks English
and also various other languages. You want to make an announcement to a group of
them, but because you don't trust them, you don't want them to be able to speak among
themselves without you being able to understand them. To ensure this, you will choose a
group such that no two ambassadors speak the same language, other than English. On the
other hand you also want to give your announcement to as many ambassadors as
possible.

In this case, the elements of the set are languages other than English, and the subsets are
the sets of languages spoken by a particular ambassador. If two sets are disjoint, those
two ambassadors share no languages other than English. A maximum set packing will
choose the largest possible number of ambassadors under the desired constraint.
Although this problem is hard to solve in general, in this example a good heuristic is to
choose ambassadors who only speak unusual languages first, so that not too many others
are disqualified.

Here’s a specific example of this scenario. There are 12 ambassadors and the languages
they can speak (other than English) are marked with an ‘x’.

Language     1    2    3    4    5    6    7   8    9    10 11 12
Arabic            x                                         x
Chinese                          x                             x
French            x    x                   x                x
Italian      x                             x             x x
Japanese                              x        x
Russian                     x                                      x
Spanish      x                                      x
Swahili                x                            x    x

M = {Arabic, Chinese, French, Italian, Japanese, Russian, Spanish, Swahili}.
Mj is the set of languages spoken by ambassador j = 1, …, 12. Observe M1 and M10
overlap since both ambassadors speak Italian. Thus we could not select both of these
ambassadors. One solution would be to select ambassadors {1, 2, 4, 5, 6}.

A formulation of the ambassador model is provided in an Excel workbook available on
the course website.

3
Revised February 26, 2010

Set Partitioning Example

Consider a region consisting of m different sales areas and a company with n sales
representatives. Each sales area is to be assigned to exactly one sales representative
(although a sales representative could be assigned to zero, one, or many sales areas.) We
seek to minimize the number of sales representatives used to cover this region.

Here’s a specific example of this scenario. There are 12 sales representatives and the cost
of assigning the representative to an area is provided in the table below. (If the
representative cannot be assigned to an area, it is marked an ‘x’.)

Area         1    2    3   4    5    6    7    8   9    10 11 12
A                 x                                        x
B                               x                             x
C                 x    x                  x                x
D            x                            x             x x
S                                    x         x
T                          x                                      x
U            x                                     x
V                      x                           x    x

M = {A,B,C,D,S,T,U,V}. Mj is the set of areas to which representative j could be
assigned. If we use representatives {8,9,11,12} all areas are uniquely assigned to one
sales representative.

A formulation of the sales representative model is provided in an Excel workbook
available on the course website.

4

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 1 posted: 10/4/2012 language: Latin pages: 4
How are you planning on using Docstoc?