Você está na página 1de 7

Departamento de Matemática da Universidade de Coimbra

Optimização Combinatória

Relatório
Problema de Cobertura

Autor: Professor:
Isabel Primo João Soares

Junho de 2012
Resumo
O presente trabalho tem como objectivo abordar o problema de cobertura.
Este tipo de problema trata-se de um problema de programação inteira.

No desenvolver deste trabalho será abordado apenas duas aplicações, re-


lativamente a constituição de comissões políticas no senado USA e as loca-
lizações de bocas de incêndio.

1
1 Problema de cobertura
Existem em optimização combinatória vários problemas com inúmeras apli-
cações. Um deles, sobre o qual se vai falar neste trabalho, é o problema de
cobertura. É um problema de programação inteira.

Considerem-se as variáveis x1 , · · · , xm , tais que, xj pode assumir apenas os


valores 0 ou 1, para j = 1, · · · , m. Genericamente o problema pode formula-
se da seguinte forma
m
X
min f (x) = cj xj
j=1
s.a Ax ≥ b
xj = 1 ∨ xj = 0, j = 1, · · · , m

onde A é a matriz dos coecientes m × n que apresenta valores 0 ou 1. O


vector b dos termos independentes é um vector de 1's em Rm .

Cada restrição do problema é satisfeita apenas quando a sua contribuição


para a solução óptima é de pelo menos 1 unidade. O problema de cobertura
tem várias aplicações. Neste trabalho irá abordar apenas duas aplicações,
no qual passa ser descrito.

2 Aplicação do Problema de Cobertura


2.1 Constituição de Comissões Políticas no Senado USA

O senado do USA possui várias comissões, com responsabilidades no trabalho


e na liderança de várias acções de investigação. Os membros das comissões
têm muito prestígio e visibilidade, sendo que muitas vezes são vigorozamente
constestados. Por este motivo devem ser cuidadosamente escolhidos.

Consideremos como exemplo a situação da existência de 10 senadores, nume-


rados de 1 á 10, que são elegíveis para fazer parte da comissão. Eles podem
distribuir-se nos seguintes grupos:

Grupo Senadores Elegíveis neste Grupo


Senadores do Sul {1,2,3,4,5}
Senadores do Norte {6,7,8,9,10}
Liberais {2,3,8,9,10}
Conservadores {1,5,6,7}
Democratas {3,4,5,6,7,9}
Republicanos {1,2,8,10}

2
Pretende-se constituir a menor comissão possível que contenha pelo menos
um representante de cada um dos referidos grupos.

Pode fazer-se uma formulação do problema em programação inteira (0 − 1).


Assim, para j = 1, · · · , 10, dene-se

1, se
(
o senador j f or seleccionado para a comissao,
xj =
0, se caso contrario.

O que se pretende minimizar o tamanho da comissão é 10 j=1 xj . Pela de-


P

nição das variáveis de decisão, pode ver-se que o número de senadores selec-
cionados para a comissão vindos do grupo 1 é x1 + x2 + x3 + x4 + x5 e que
se requere que x1 + x2 + x3 + x4 + x5 ≥ 1.

Da mesma forma, para os outros grupos tem-se respectivamente

Grupo 2: x6 + x7 + x8 + x9 + x10 ≥ 1
Grupo 3: x2 + x3 + x8 + x9 + x10 ≥ 1
Grupo 4: x1 + x5 + x6 + x7 ≥ 1
Grupo 5: x3 + x4 + x5 + x6 + x7 + x9 ≥ 1
Grupo 6: x1 + x2 + x8 + x10 ≥ 1

Assim a formulação do problema é a seguinte


10
X
min f (x) = xj
j=1

s.a x1 + x2 + x3 + x4 + x5 ≥ 1
x6 + x7 + x8 + x9 + x10 ≥ 1
x2 + x3 + x8 + x9 + x10 ≥ 1
x1 + x5 + x6 + x7 ≥ 1
x3 + x4 + x5 + x6 + x7 + x9 ≥ 1
x1 + x2 + x8 + x10 ≥ 1
xj = 1 ∨ xj = 0, j = 1, · · · , 10

ou seja
10
X
min f (x) = xj
j=1

s.a Ax ≥ b

3
xj = 1 ∨ xj = 0, j = 1, · · · , 10

   
1 1 1 1 1 0 0 0 0 0 1

 0 0 0 0 0 1 1 1 1 1 


 1 

 0 1 1 0 0 0 0 1 1 1   1 
onde A=

 e b=
  
1 0 0 0 1 1 1 0 0 0 1

   
   
 0 0 1 1 1 1 1 0 1 0   1 
1 1 0 0 0 0 0 1 0 1 1

2.2 Localização de Bocas de Incêndio

Considere-se uma rede constituida por centros de tráfego e segmentos de rua


ligando esses centros. Este problema consiste em localizar bocas de incêndio
de forma que cada rua contenha pelo menos uma boca de incêndio. Suponha-
se que há n vértices numerados de 1 a n com custos de localização da boca
de incêndio cj , j = 1, · · · , n, associado ao vértice j . Um subconjunto de
vértices, com propriedade de que toda a aresta de rede incidente num dos
vértices desse subconjunto chama-se uma cobertura por vétices. Portanto as
bocas de incêndio devem ser localizadas numa cobertura por vértices. Este
problema consiste em determinar uma cobertura por vértices que apresente
custo minimo. Denam-se as seguintes variáveis

1, se
(
a boca de incendio esta localizada no vertice j
xj =
0, se caso contrario.

Então neste problema pretende-se determinar um vector de zeros e uns que


minimize nj=1 cj xj sujeito as restrições xi + xj ≥ 1 para cada aresta (i, j)
P

do grafo.

Considere-se por exemplo o grafo da gura abaixo, onde os vértices são os


centros de tráfego e as arestas representam os segmentos de ruas.

4
Figura 1: Rede de Segmentos de Ruas para o Problema de Localização de
Bocas de Incêndio

O problema formula-se da seguinte forma:


10
X
min f (x) = cj xj
j=1

s.a x 1 + x7 ≥ 1
x1 + x2 ≥ 1
x1 + x6 ≥ 1
x2 + x3 ≥ 1
x3 + x5 ≥ 1
x3 + x4 ≥ 1
x4 + x5 ≥ 1
x4 + x6 ≥ 1
x6 + x10 ≥ 1
x9 + x10 ≥ 1
x8 + x9 ≥ 1
x7 + x8 ≥ 1
xj = 1 ou xj = 0, j = 1, · · · , 10

5
Cada restrição neste modelo corresponde a uma aresta na rede. Por exem-
plo, a primeira restrição requer que deva ser localizada uma boca de incêndio
entre os vértices 1 e 7, representado por e1 na gura. É de referir que cada
restrição envolve exactamente duas variáveis.

Referências
[1] Murty, Katta G. Operations research. Deterministic optimization models,
1995, page 306-314.

Você também pode gostar