Você está na página 1de 49

FACULDADE CENECISTA DE BRASLIA FACEB

PESQUISA
OPERACIONAL

WALTER MORAES

INTRODUO

Pesquisa Operacional uma metodologia de estruturar processos aparentemente no


estruturados por meio da construo de modelos. Utiliza um conjunto de tcnicas
quantitativas com o intuito de resolver os aspectos matemticos dos modelos.
Problemas como os que ocorrem na vida real apresentam dificuldades das mais
variadas naturezas. Inicialmente preciso estabelecer entre os indivduos que se propem a
estudar o problema em foco, um certo consenso na percepo do problema. Da percepo e
da definio de objetivos nasce a concepo do problema como um sistema.
O primeiro passo para resolver o problema consiste em modelar o sistema a ser
estudado. Neste estgio, preciso identificar as variveis envolvidas no sistema, assim
como seu inter-relacionamento.
preciso sempre ter em mente que modelo algum jamais poder captar toda a
realidade. Entretanto, podemos construir modelos com o propsito de atender as mais
variadas finalidades.
Pesquisa Operacional contribui com diversas tcnicas quantitativas aplicadas s
reas de administrao, produo, planejamento e organizao. O sucesso dessas diversas
tcnicas, tanto entre pesquisadores tericos como entre engenheiros, administradores e
economistas, foi o fator aglutinador para a constituio de um setor do conhecimento
humano que maior progresso vem apresentando. Aps um sculo de espetaculares
descobertas cientficas, tambm testemunhamos a utilizao, graas s disciplinas
aplicadas, destes resultados em nossa vida diria. relativamente recente, de apenas quatro
dcadas, a preocupao por tcnicas quantitativas para melhor aproveitamento, atravs da
organizao e planejamento, do cabedal de conhecimentos acumulados. As aplicaes da
Pesquisa Operacional estendem-se desde o balanceamento de linhas de produo em
fbricas, ou fluxo timo de pacientes em hospitais, at ao estudo de estruturas sociais e de
processos psicolgicos.
No presente curso, concentrar-nos-emos em duas das principais tcnicas mais teis e
desenvolvidas da Pesquisa Operacional, quais sejam, a Programao Linear e a Teoria dos
Grafos.

PROGRAMAO LINEAR
Programao Linear uma ferramenta de planejamento que nos ajuda a selecionar
que atividades (variveis de deciso) empreender, dado que essas atividades (diversas
alternativas) competem entre si pela utilizao de recursos escassos (restries) ou ento
precisam satisfazer certos requisitos mnimos. O objetivo ser maximizar (minimizar) uma
funo das atividades, geralmente lucros (perdas).
A preocupao de otimizar problemas matemticos descritos por equaes ou
inequaes lineares no recente; pode-se dizer que remonta aos gregos. Euclides, no
sculo III A.C, no seu livro III dos elementos, registrou um processo primitivo de se
encontrar a maior e a menor distncia entre um ponto e uma circunferncia pertencentes a
um plano. Depois de Euclides, uma srie de matemticos, fsicos e economistas, como
Newton, Lagrange, Quesnay, Leontieff, Kantorovich, Dantzig, buscavam construir suas
tcnicas de otimizao. Foi George Dantzig, porm, que em 1947 criou para a Fora Area
Americana, na Universidade de Stanford, a mais eficaz e simples tcnica de minimizao e
maximizao de sistemas de inequaes lineares. Seus resultados foram publicados em
1950, no livro Linear Programming and Extensions.
INEQUAES LINEARES
A equao linear a1 x1 a2 x2 ... an xn b produz uma partio de R 2 em 3
subconjuntos:
(i)
os pontos que satisfazem a equao dada;
(ii)
os pontos que satisfazem a inequao a1 x1 a2 x2 ... an xn b ;
(iii)
os pontos que satisfazem a inequao a1 x1 a2 x2 ... an xn b .
O primeiro conjunto, dos pontos que satisfazem a equao, uma reta; os outros dois
conjuntos so denominados semi-planos.
Em particular, a soluo da inequao linear ax + by c ( ou ax + by c) denominada um
semi-plano. Geometricamente falando, um semi-plano consiste nos pontos que esto sobre
a reta delimitadora ax + by = c e nos pontos que esto de um dos lados da reta.
EX: Para construirmos o grfico da inequao 2x 3y -6, primeiro representamos
graficamente a reta 2x 3y = -6. Depois tomamos um ponto arbitrrio que no pertence
reta, por exemplo (0,0), e verificamos se ele pertence ao conjunto-soluo. Como (0,0) no
satisfaz a inequao dada, os pontos do outro lado da reta pertencem ao conjunto-soluo,
como se mostra abaixo.
y
2
2
x
-3

CONJUNTOS CONVEXOS POLIGONAIS, POLGONOS CONVEXOS E PONTOS


EXTREMOS
A interseo X de um nmero finito de semi-planos de R 2 denominada um conjunto
convexo poligonal e, se for limitado, denominado um polgono convexo. Alm disso, um
ponto P X um ponto extremo de X se, e somente se, ele a interseo de duas retas
delimitadoras de X.
EX: O polgono convexo ABCD no diagrama a soluo do seguinte sistema de quatro
inequaes lineares a duas incgnitas:
x + 2y 4
xy4
x1
y
y -1
x + 2y = 4
x=1
D
xy=4
C
x
y = -1

E
Existem quatro pontos extremos:
x
y

1
1

x
y

2y
y

4
4

A = (1, -1), a soluo de

B = (3, -1), a soluo de

x
x

C = (4, 0), a soluo de

x
x

3
2

D = 1, , a soluo de

Apesar de existirem
2

2y
1

= 6 maneiras diferentes de se tomar 2 dentre as 4 retas


x
x

delimitadoras, E = (1, -3), a soluo de

2y
1

, no satisfaz

xy 4

e
x
y

F = (6, -1), a soluo de

, no satisfaz y -1. Em outras palavras, E e

F no pertencem ao polgono convexo.

PROBLEMAS DE PROGRAMAO LINEAR


Os problemas de programao linear relacionam-se com a determinao do mximo ou do
mnimo de uma funo linear f c1 x1 c2 x2 ... cn xn denominada funo objetiva, sobre
um conjunto convexo poligonal X, que inclui a condio de que as incgnitas (variveis)
sejam no-negativas. x1 0, x2 0,..., xn 0 .
Cada ponto de X denominado uma soluo possvel do problema e um ponto X no qual f
assume seu mximo (ou mnimo) denominado uma soluo tima.
EX: problema de mximo
Um agricultor quer administrar suas terras de modo inteligente. Para isto precisa
conhecer o quanto deve plantar de milho (m) e de feijo (f) a fim de obter lucro mximo na
safra.
Seu rendimento por alqueire plantado de 2 milhes de reais para o feijo e de 6
milhes para o milho (lucro = 6m + 2f). Os alqueires de milho e de feijo plantados no
devem ser maiores que 2 e 4 respectivamente, devido demanda da cooperativa da regio,
bem como a limitaes do tipo de solo (m 2 e f 4). Cada alqueire plantado de milho ou
feijo consome o trabalho de 3 lavradores-hora. O agricultor possui na sua propriedade 15
lavradores (3m + 3f 15).
Isto : queremos encontrar para m e f valores que maximizem a chamada funo
objetiva: Lucro = 6m + 2f, sujeita s restries:

f
3m
m, f

4
3f
0

(0,4)

A tcnica de soluo de fcil entendimento. Basta representar


as restries, sobrepondo-as uma a uma.
f
5
(1,4)

15

(2,3)
5

(0,0)
(2,0)
Qualquer ponto (m,f) pertencente ao domnio hachurado acima virtual soluo do
problema. Queremos, porm, encontrar o par (m,f) que maximiza o lucro = 6m + 2f. Isto
implica em verificar qual o ponto extremo que produz o maior lucro.
(0,4) lucro = 6.0 + 2.4 = 8
(1,4)
lucro = 6.1 + 2.4 = 14
(2,3) lucro = 6.2 + 2.3 = 18
(2.0) lucro = 6.2 + 2.0 = 12
EX: problema de mnimo

Ou seja: o agricultor deve plantar 2 alqueires


de milho e 3 alqueires de feijo para que
o seu lucro seja mximo.

Uma empresa quer produzir certa rao animal balanceada com o menor
custo possvel. O produto final exige, no mnimo, 20 unidades de protena digervel, 24 de
5

hidrato de carbono e 24 de clcio. A empresa Gaspar fornece matria-prima com


respectivamente 10, 4 e 2 unidades de protena digervel, hidrato de carbono e clcio,
enquanto a do outro fornecedor, a empresa Vieira contm respectivamente 2, 4 e 8 unidades
de protena digervel, hidrato de carbono e clcio. Se o fornecedor Gaspar cobra 6 reais o
quilo da matria-prima e o Vieira 5 reais, quantos quilos a empresa deve comprar de cada
um deles de modo a que a rao seja a mais barata possvel?
Logo: queremos encontrar o nmero de quilos que minimizem a funo
objetiva Custo = 6G + 5V. Sujeita s restries:
10G
4G

2G
G

2V

4V
8V
0
0

(Protena)
24 (Hidrato)
24 (Clcio)
20

Vamos, ento, representar as inequaes (restries):


v
10

6
(1,5)
3
(4,2)
2

12

Qualquer ponto (g,v) do domnio hachurado pode ser soluo do exemplo. Queremos
encontrar o par (g,v) que minimize o custo = 6G + 5V. Para isso, devemos verificar qual o
ponto extremo que produza o menor custo.
(12,0)
- custo = 6.12 + 5.0 = 72
(4,2)
- custo = 6.4 + 5.2 = 34
(1,5)
- custo = 6.1 + 5.5 = 31
(0,10)
- custo = 6.0 + 5.10 = 50
PROBLEMAS DUAIS

Portanto: a empresa deve comprar 1 quilo de


matria-prima do fornecedor Gaspar e 5 quilos
do Vieira, para que o custo da rao seja o mais
barato possvel.

Todo problema de mximo de programao linear tem associado a ele um


correspondente problema de mnimo denominado o seu dual e, reciprocamente, todo
problema de mnimo de programao linear tem associado a ele um correspondente
problema de mximo denominado o seu dual. O problema original denominado o
problema primal. Explicitamente, definimos cada um dos problemas seguintes como sendo
um o dual do outro:
(i)
Problema de mximo
6

Maximizar f c1 x1 c2 x2 ... cn xn
a11 x1 a12 x2 ...
a x
21 1 a22 x2 ...
...
...
... ...
Sujeita a ...
a x
ak 2 x2 ...
k1 1
x1 0 , x2 0 , ...
(ii)
Problema de mnimo
Minimizar g b1w1 b2 w2 ... bk wk
a11w1 a21w2
a w
12 1 a22 w2
...
...
...
...
Sujeita a
a w
a2 m w2
1m 1
w1 0 , w2 0 ,

...

a1n xn
a2 n xn

...

...
... ...
akn xn bk
xn 0

...
... ...
...
... ,

ak 1wk

b1
b2

c1

ak 2 wk c2
...
... ...
akm wk cm
wk 0

Escrevemos os coeficientes das inequaes acima sob a forma de uma matriz, com os
coeficientes da funo objetiva na ltima linha, como segue:
(i) Problema de mximo
(ii) Problema de mnimo
a11 a12 ... a1n b1
a11 a21 ... ak 1 c1

a 21 a 22 ... a 2 n b2
a12 a22 ... ak 2 c2
...
...
... ... ... ...
... ... ... ...

a k 1 a k 2 ... a kn bk
a1m a2 m ... akm cm
c
b
c 2 ... c k

b2 ... bk

1
1
Em cada caso, a matriz dos coeficientes do problema dual pode ser obtida tomando-se a
transposta da matriz dos coeficientes do problema primal. (Observe que no existe o
ltimo elemento na ltima linha de cada uma das matrizes).
EX: Considere o seguinte problema primal de mximo:
Maximizar f 30 x 50 y
2x
x

Sujeita a x
x

16

2y
3y
0
0

11
15

Determinar o dual do problema de mximo.


Basta escrever a matriz dos coeficientes do problema dado (primal) e depois tomar a
sua transposta.
Problema Primal
Problema Dual

30

16

11

1
2

15

3
50

16

1
2

1
3

11

15

30

50
*

Assim, o problema dual (de mnimo) como segue:


Minimizar g = 16u + 11v + 15w

Sujeita a

2u
u

u0

v
2v

w
3w

v0

w0

30
50

VARIVEIS DE FOLGA FORMA-PADRO


A soluo algbrica de um problema de programao linear exigir que todas
as restries do tipo desigualdade sejam reescritas sob a forma de igualdade. O
problema assim reescrito est na forma-padro. Para se passar de ou em = nas
restries, introduzem-se termos adicionais em cada restrio chamados de variveis de
folga x f . Assim, a varivel de folga representa o valor no-negativo necessrio para
produzir a igualdade.
MTODO DOS SIMPLEXOS
Seja X o conjunto convexo polidrico, isto , o conjunto das solues
possveis, do problema de mximo de programao linear. Uma soluo tima pode ser
encontrada calculando-se o valor da funo objetiva f em cada ponto extremo de X.
Contudo, se o nmero de incgnitas e de inequaes grande, ento a tarefa de
determinar todos os pontos tediosa. Uma outra maneira possvel de se determinar uma
soluo tima a seguinte:
(1) Escolher um ponto extremo de X como ponto de partida;
(2) Escolher uma aresta que passe por este ponto extremo tal que f cresa de valor ao
longo da aresta;
(3) Prosseguir ao longo da aresta escolhida at o ponto extremo seguinte;
(4) Repetir as etapas (2) e (3) at que seja obtida uma soluo tima, isto , at que se
atinja um ponto extremo, tal que f no cresa de valor ao longo de nenhuma das
suas arestas.
O processo acima realizado matematicamente, atravs do chamado mtodo dos
simplexos. Observemos em primeiro lugar que o problema de mximo de programao
linear equivalente ao seguinte problema que contm apenas equaes e no inequaes
lineares; as variveis x f 1 , x f 2 , ... , x f n , so as variveis de folga.
Maximizar f c1 x1 c2 x2 ... cn xn 0.x f 1 0.x f 2 ... 0.x f n
Sujeita a:

a11 x1
a x
21 1
...
a x
k1 1

a12 x2

a1n xn

...

a22 x2
...
ak 2 x2

...
... ... ...
...

a2 n xn
...
akn xn

...

x1 0

x2 0

xn 0

...

...

x f 1
...

...

x f 2
...

x f 1 0

...

...

...
x f k

x f k 0

b1

b2
... ...
bk

TABELA SIMPLEXA INICIAL


A tabela simplexa inicial do problema de mximo de programao linear ou do
problema dual (de mnimo) como segue:
P1
a11
a21

P2 ...
a12 ...
a22 ...

Pn

F1 F2 ...

a1n 1
a2 n 0

0
1
...
...
... ...
... ...
ak 1 ak 2 ...
akn 0
0
ck 0
0
c1 c2 ...
INDICADORES

...
...
...
...
...

Fn

0
0
...
1
0

b1
b2

...
bk

Observemos que as linhas da tabela, exceto a ltima, so os coeficientes das equaes


lineares. As colunas dos coeficientes das variveis bsicas e das variveis de folga so
denotadas por P i e Fi , respectivamente. Os elementos da ltima linha, exceto o ltimo,
so denominados indicadores e so os opostos dos coeficientes da funo objetiva. Os
elementos da ltima coluna so os termos independentes de cada equao. O elemento do
canto inferior direito zero; ele corresponde ao valor da funo objetiva na origem.

EX: Determinar a tabela simplexa inicial para o problema primal de mximo dado como
exemplo.
Tabela simplexa inicial
2
1
1
0
0
16
1
2
0
1
0
11
1
3
0
0
1
15
-30 -50 0
0
0
0
O ALGORITMO DO MTODO SIMPLEXO
(i)
(ii)

Construir a tabela simplexa inicial;


Selecione a coluna com o valor do indicador mais negativo. Se no selecionar o
valor mais negativo, mas simplesmente um negativo qualquer, isto tambm
conduzir soluo tima, mas possivelmente em um nmero maior de
interaes;

(iii)

i
Ache, para todas as linhas i, a menor relao a com aij 0 : o valor assim
ij

escolhido ser o piv.


Agora proceda operao-piv, que torna o coeficiente de xij igual a 1 e todos os
outros coeficientes da coluna nulos. Este um novo ponto extremo.
Procedimentos:
a) Divida a linha i por aij .
b) Em todas as outras linhas r, para cada elemento da coluna k, calcular
ark ark

(iv)

aik
arj .
aij

Repita as etapas i), ii) e iii) at que no haja mais valores negativos na ltima
linha (indicadores), obtendo assim, a tabela terminal.

INTERPRETANDO A TABELA TERMINAL


Suponhamos que aps aplicarmos o algoritmo do mtodo dos simplexos,
obtenhamos a seguinte tabela terminal:
*
*
...
*
*

*
*
...
*
*

...
...
...
...
...

*
*
...
*
*

*
*
...
*

*
*
...
*

q1

q2

...
...
...
...
...

*
*
...
*
qk

b1*
b2*

...
bk*

Ento:
(i)

(ii)

(iii)

v, o elemento no canto direito inferior da tabela, o valor de mximo de


f (e, portanto, pelo teorema de dualidade, o valor mnimo de g: max f =
min g = v);
O ponto Q = q1 , q2 ,..., qk a soluo tima do problema de mnimo;
suas componentes so os ltimos elementos das colunas correspondentes
s variveis de folga;
O ponto P = p1 , p2 ,..., pn onde pi = ltimo elemento da linha que
contenha 1 em Pi a soluo tima do problema de mximo.

EX: Vamos resolver, agora, pelo mtodo dos simplexos, os problemas de mximo e de
mnimo, resolvidos anteriormente por sistemas de inequaes lineares.
PROBLEMA DE MXIMO
Tabela inicial
1 0 1 0 0

Segunda tabela
2
10

0 1 0
3 3 0
-6 -2 0

1
0
0

0
1
0

4
15
0
1
0
0
0

Tabela terminal
1 0 1 0 0
2
1 1
0 0 1 1

-1 0

2
4
8
5

10

24

20

24

Tabela terminal
3 1
1
0
1

0
1
0

6
5
0

-1

1
4

2
8

24

24

5
*

30
1
8
19
16

18

31

4
4

5
4

1
4 8
8
19
1 5

8
16 16

2
4
9
12

18 Primeiro, devemos determinar o problema de mximo (dual do


problema de mnimo):

20

24

Segunda tabela
8
0
-6 1
1 1
2
0
0

0
0
1
0

Mximo

Tabela Inicial
10 4
2
1
2
4
8
0
-20 -24 -24 0

-8

0
1
0
0

PROBLEMA DE MNIMO

Mnimo
10

1
0
-3
6

A soluo tima do problema dado , pela tabela terminal,


o ponto P (2,3) e o valor mximo da funo objetiva
18. Isto est coerente com a soluo anterior.

1
3
2
3

0
1
3
-2

11

A soluo tima do problema dado , pela tabela terminal, o ponto Q (1,5) e o valor mnimo
da funo objetiva 31. Isto est coerente com a soluo anterior.
EXERCCIOS
1) Representar graficamente cada inequao:
(i)
x -4
(ii)
x 3
(iii)
y2
(iv)
y -3
(v)
2x + 5y 0
(vi)
3x 5y -15
(vii) x 2y 4
(viii) 3x + y 6
2) Representar graficamente a soluo de cada sistema:
(i) 2x y 4
(ii) x + y 5
(iii) x y 2
x1
x 2y 2
2x + y -2
y1

(iv) 3x + 2y 6
xy1
x -1

3) Determinar os valores mximo e mnimo de cada funo sobre o polgono convexo


de vrtices A(-1, 1), B(1, -2), C(4, -1) e D(5, 2): (i) f = 3x + 2y; (ii) g = -x + 2y 4;
(iii) h = x - 2y.
4) Determinar os valores mximo e mnimo de f = 3x y sobre o polgono convexo:
x + 2y 4 ; x y 1 ; x -1.
5) Determinar os valores mximo e mnimo da funo f = 2x + y + 3 sobre o polgono
convexo dado por: x y 10 ; 3x + y 3 ; x 4.
6) Desenhar o polgono convexo X dado por: x + y 3; x y -3; y 0; x -1; x 2.
Determinar os pontos extremos de X e os valores mximo e mnimo da funo
f = 2x y sobre X.
7) Desenhar o polgono convexo X dado por: x + 2y 6; x y 10; x 4; x 0.
Determinar os pontos extremos de X e os valores mximo e mnimo da funo
f = 2x 3y sobre X.
8) Desenhar o polgono convexo X dado por: -x + 3y 9; x 2y 10; 2x + y 10;
2x + y 5. Determinar os pontos extremos de X e os valores mximo e mnimo da
funo f = x + 2y.
9) Maximizar a funo f = 2x + y, sujeita s restries: x + 4y 24; x + 2y 14;
y 8; x y 3.

2x

10) Minimizar a funo g = x + 3y, sujeita s restries: 7x + 5y 35; x 2y -2;


y 3.

3x

12

11) Um alfaiate tem, disponveis, os seguintes tecidos: 16 m 2 de algodo, 11 m 2 de seda


e 15 m 2 de l. Para um terno so necessrios 2 m 2 de algodo, 1 m 2 de seda e 1
m 2 de l. Para um vestido, so necessrios 1 m 2 de algodo, 2 m 2 de seda e 3 m 2
de l. Se um terno vendido por R$ 300,00 e um vestido por R$ 500,00, quantas
peas de cada tipo o alfaiate deve fazer, de modo a obter lucro mximo?
12) Uma pessoa precisa de 10, 12 e 12 unidades dos produtos qumicos A, B e C,
respectivamente, para o seu jardim. Um produto lquido contm 5, 2 e 1 unidades de
A, B e C, respectivamente, por vidro; um produto em p contm 1, 2 e 4 unidades
de A, B e C, respectivamente, por caixa. Se o produto lquido custa R$ 3,00 por
vidro e o produto em p custa R$ 2,00 por caixa, quantos vidros e quantas caixas ela
deve comprar para minimizar o custo e satisfazer as necessidades?
13) Um alfaiate possua, h anos, 80 m 2 de tecido de algodo e 120 m 2 de tecido de l.
Um terno exigia 1 m 2 de algodo e 3 m 2 de l e um vestido 2 m 2 de cada. Quantos
ternos e quantos vestidos o alfaiate conseguiu fazer, de modo a maximizar sua
venda, se (i) vendeu um terno ou um vestido por R$ 30,00, (ii) um terno por
R$ 40,00 e um vestido por R$ 20,00, (iii) um terno foi vendido por R$ 30,00 e um
vestido por R$ 20,00?
14) Uma companhia de aluguel de caminhes possua-os de dois tipos: o tipo A com 2
m3 de espao refrigerado e 4 m3 de espao no-refrigerado e o tipo B com 3 m3
refrigerados e 3 m3 no-refrigerados. Uma fbrica de produtos alimentcios
precisou transportar 90 m3 de produto refrigerado e 120 m3 de produto norefrigerado. Quantos caminhes de cada tipo deve ter ela alugado, de modo a
minimizar o custo, se (i) o aluguel do caminho A era R$ 0,30 por quilmetro e o do
B, R$ 0,40, (ii) o aluguel do caminho A era R$ 0,30 por km e o do caminho B, R$
0,50 por km?
15) Uma companhia possua duas minas: a mina A produzindo por dia 1 tonelada de
minrio de alto teor, 3 toneladas de minrio de mdio teor e 5 toneladas de minrio
de baixo teor; a mina B produzia por dia 2 toneladas de cada um dos teores. A
companhia precisou de 80 toneladas de minrio de alto teor, 160 de mdio teor e
200 de baixo teor. Quantos dias cada mina funcionou, se custava R$ 200,00 por dia
para se fazer funcionar cada uma?
16) Um carpinteiro dispe de 90, 80 e 50 metros de compensado, pinho e cedro,
respectivamente. O produto A requer 2, 1 e 1 metros de compensado, pinho e cedro,
respectivamente; O produto B requer 1, 2 e 1 metros, respectivamente. (i) Se A
vendido por R$ 120,00 e B por R$ 100,00, quantos de cada ele deve fazer para obter
rendimento bruto mximo? (ii) Se B vendido por R$ 120,00 e A por R$ 100,00,
quantos de cada ele deve fazer?
17) Suponhamos que 8, 12 e 9 unidades de protenas, carboidratos e gorduras,
respectivamente, sejam as necessidades semanais mnimas para um indivduo. O
alimento A contm, por quilo, 2, 6 e 1 unidades de protenas, carboidratos e
13

gorduras, respectivamente e o alimento B contm, por quilo, 1, 1 e 3 unidades,


respectivamente. (i) Se A custa R$ 3,40 por quilo e B R$ 1,60 por quilo, quantos
quilos de cada uma ele deve comprar por semana, de modo a minimizar seus gastos
e atender s suas necessidades mnimas? (ii) Se o preo de A baixa para R$ 3,00 por
quilo e B continua a R$ 1,60 por quilo, quantos quilos de cada ele deve, ento,
comprar?
18) Um padeiro dispe de 150, 90 e 150 unidades dos ingredientes A, B e C,
respectivamente. Um po requer 1, 1 e 2 unidades de A, B e C, respectivamente, e
um bolo requer 5, 2 e 1 unidades de A, B e C, respectivamente. (i) Se um po,
bisnaga pequena, vendido por R$ 0,35 e um bolinho por R$ 0,80, quantos de cada
ele deve fazer e qual seria seu rendimento bruto? (ii) Se o preo de um po sobe
para R$ 0,45 e o preo de um bolo ainda R$ 0,80, quantos de cada ele deve fazer e
qual seria seu rendimento bruto?
19) Um fabricante dispe de 240, 370 e 180 quilos de madeira, plstico e ao,
respectivamente. O produto A requer 1, 3 e 2 quilos de madeira, plstico e ao,
respectivamente e o produto B 3, 4 e 1 quilo, respectivamente. (i) Se A vendido
por R$ 20,00 e B por R$ 30,00, quantos de cada ele deve fazer de modo a obter o
mximo rendimento bruto? (ii) Se o preo de B baixa para R$ 25,00 e A permanece
em R$ 20,00, quantos de cada ele deve, ento, fazer, de modo a obter o mximo
rendimento bruto?
20) Uma companhia precisava, certa poca, de 9000, 12000 e 26000 barris de petrleo
de alta, mdia e baixa qualidades, respectivamente. Ela possua duas refinarias: A
produzindo por dia 100, 300 e 400 barris de petrleo de alta, mdia e baixa
qualidades; B produzindo por dia 200, 100 e 300 barris, respectivamente. Se o custo
operacional de cada refinaria era de R$ 200,00 por dia, durante quantos dias devia
funcionar cada refinaria de modo a minimizar o custo e satisfazer as necessidades?
21) Sabe-se que os alimentos leite, carne e ovos fornecem as quantidades de vitaminas
dadas na tabela:
Vitaminas
Leite (litro)
Carne (kg)
Ovos (dzia)
Quantidade
diria mnima
A
0,25 (mg)
2 (mg)
10 (mg)
1 (mg)
C
25
20
10
50
D
2,5
200
10
10
Custo unitrio
R$ 2,20
R$ 17,00
R$ 4,20
Deseja-se calcular quais as quantidades de leite, carne e ovos, a fim de satisfazer as
quantidades dirias mnimas de nutrientes (vitaminas) a um custo mnimo.
22) Uma firma pode fabricar os produtos A, B e C nas seguintes condies:
Produto Lucro unitrio Mo-de-obra por Capital por unidade Poluio
por
unidade
unidade produzida
A
16
10
20
10
B
10
6
16
8

14

C
7
Reduo Custo 1
de uma
unidade
de
poluio

4
1

8
2

Total disponvel Total disponvel


160 unidades de 280 unidades
mo-de-obra
capital

5
-1

Mximo
de permissvel
80 unidades
poluio

de

Como o processo industrial poluidor, a firma tambm pode alocar recursos para
reduzir a poluio de modo a no ultrapassar o mximo permissvel de 80 unidades.
Determine o lucro mximo total que a firma pode conseguir.
23) Uma tarefa constituda de trs operaes: preparao, embalagem e transporte. As
capacidades mximas dirias de cada seo so: preparao 160 up (unidades de
preparao); embalagem 240 ue (unidades de embalagem); transporte 170 ut
(unidades de transporte). A manipulao de uma unidade do produto A exige 5 up,
10 ue e 5 ut; para B, cada unidade exige 2 up, 2 ue e 6 ut; uma unidade de C exige 8
up, 6 ue e 3 ut. Os lucros lquidos para cada unidade de A, B e C so,
respectivamente, 10, 8 e 5. Determine o lucro mximo, sem ultrapassar as
capacidades mximas das sees.

TEORIA DOS GRAFOS


A Teoria dos Grafos, que at h pouco tempo era considerada mais como um
passatempo matemtico, passou a ser muito estudada nas trs ou quatro ltimas dcadas,
em grande parte devido ao aparecimento dos computadores eletrnicos. Um computador
armazena dados em arquivos. Freqentemente, organizam-se esses arquivos de forma
sistemtica, segundo algum critrio (por exemplo, se o arquivo for uma lista de nomes de
pessoas com seus endereos, ele poder ser ordenado indexado, na terminologia de
informtica segundo o nome da pessoa, seu endereo, seu CEP, etc.). Tais arquivos tm
uma estrutura de rvore, ou seja, uma estrutura que um certo tipo de grafo. Um
problema importante , ento, o de determinar qual o caminho mais curto para chegar a
um dos dados armazenados no arquivo. Os grafos tambm so importantes em Pesquisa
Operacional, onde uma certa seqncia de operaes pode ser representada por um grafo.
Ainda em Pesquisa Operacional, um exemplo bvio de grafo o da rede de distribuio de
energia eltrica de uma regio (por exemplo, o Sudeste do Brasil) ou a rede de ruas de uma
cidade.

15

No podemos, alm disso, esquecer que a Teoria dos Grafos, independentemente de


suas aplicaes importantes e variadas, fonte de um grande nmero de problemas
fascinantes, difceis e de fcil enunciado.
DEFINIO 1: Um grafo um conjunto finito de pontos chamados vrtices e um
conjunto finito de arcos chamados arestas, de forma que:
1) As extremidades de cada aresta so vrtices (um ou dois) do grafo;
2) Duas arestas distintas ou so disjuntas ou possuem em comum somente extremidades,
uma ou duas.
B

EX:
A

DEFINIO 2: Consideremos um conjunto X finito e uma relao R em X. Ao par


ordenado (X, R) denominamos grafo e indicamos G = (X,R).
Ex: X = x1 , x2 , x3
R=

x1 , x2 , x2 , x1 , x2 , x2 , x1 , x3 , x3 , x2

OBS: A definio 1 nos conduz idia de grafo no orientado e a definio 2 de grafo


orientado, ou seja, h uma orientao nas arestas.
VRTICES E ARCOS: Dado um grafo C = (X,R), a todo elemento x X denomina-se
vrtice ou ponto do grafo e a todo par (x,y) R denomina-se de arco do grafo. ( x =
extremidade inicial (ou origem) e y = extremidade final (ou extremo)).
OBS 1: Um arco indicado por uma letra minscula.
OBS 2: Um arco no qual a origem e o extremo so iguais, chamamos de laada.
REPRESENTAO GRFICA
A representao grfica de um grafo, para fins de apreciao visual, feita atravs de um
diagrama sagital.
Ex: Seja representar graficamente o grafo do exemplo anterior:
x1

x2

x3

ARCOS ADJACENTES

16

Dois arcos u = (x,y) e v = (x, y) so adjacentes se e s se x = x, ou y = y ou x = y ou


x = y e no so laos. Em outras palavras so adjacentes os arcos que tenham uma
extremidade em comum.
Considerando o mesmo exemplo anterior, teramos:

x2 , x1

adj x1 , x3

VRTICES ADJACENTES
Dois vrtices x e y so adjacentes se e s se so distintos e existe o arco (x,y) ou (y,x). Em
outras palavras, vrtice adjacente a x ou vizinho a x todo y ligado a x por ao menos um
arco. (x adjacente a y (x,y) (y,x)).
EX: x3 adj x1
O conjunto de vrtices adjacentes a x expresso como ( x) y / ( x, y ) ( y , x)
SUCESSOR de um vrtice x todo y que seja extremo final de um arco que parte de x. O
conjunto dos sucessores expresso como ( x ) y / ( x, y ) .
ANTECESSOR de um vrtice x todo y que seja extremidade inicial de um arco que
termina em x. O conjunto dos antecessores de x expresso como ( x) y / ( y, x) .

NOTAO DE BERGE
Uma notao bastante cmoda para os grafos a empregada por Berge.
Assim anotaremos: R {a} = {x / a R x} ou simplesmente Ra .
Da ilustrao:
x1

x2

x3 R{ x1 } = { x2 , x3 }, R{ x2 } = { x1 , x2 }, R{ x3 } ={
x2 }.

Nota-se que esta notao empregada para todos os elementos de X, descreve, determinando
perfeitamente o grafo.
R x
Pode-se empregar a mesma notao extendida para conjuntos: R x / x A x
A

17

Da ilustrao, temos: R{ x1 , x2 } = R{ x1 } R { x2 } = { x2 , x3 } { x1 , x2 } = { x1
, x2 , x3 }.
ARCOS INCIDENTES
Consideremos um grafo G = (A,R) e um subconjunto B, no vazio de A. Diremos:
- = (x,y) incidente a B (convergente) se e s se x B e y B.
- = (x,y) incidente a B (divergente) se e s se x B e y B.
Em outras palavras, um arco incidente se ele tem uma e uma s extremidade pertencente a
A.
Ao conjunto dos arcos incidentes divergentes a B, chamamos de conjunto de emisso ou
conjunto de exteriorizao de B e indicamos com:
B ( x, y ) /( x, y ) , x B y B
Ao conjunto dos arcos incidentes convergentes a B, chamamos de conjunto de recepo ou
conjunto de interiorizao de B e indicamos com:
B ( x, y ) /( x, y ) , x B y B
OBS 1: Ao conjunto B B B , denominamos de conjunto de arcos incidentes.
OBS 2: No caso do conjunto B ser unitrio, falamos de incidncia a vrtice:
a x, a / x, a

a a, y / a, y

EX: Seja o grafo G = (A,R) dado pela representao sagital e seja B = {a, b, d}.

c
b
f

a
A

B c, a , e, d
B a, c , d , e , d , f
a c, a , d , a

18

a a, b , a, c

b b, b , a, b

b b, b

Para fins de clculo, associamos a um grafo uma matriz; h 3 tipos de matrizes mais
habitualmente usadas:
MATRIZ LATINA: usada em problemas de enumerao de caminhos.
Seja o grafo:

x1

x3

x1
x1

x2
x1
x2

x2
x3
x1
x3

x2

x2
x3

x3

x3

x3

MATRIZ DE ADJACNCIA: uma matriz n x n, booleana, e definida pelas relaes:

aa

A aij /

ij
ij

1
0

Do exemplo anterior: A =

x , x
x , x
i

x1

x2

x3

x1
x2

0
0

1
0

1
1

x3

a mais comumente utilizada, embora no seja a maneira mais econmica de se definir um


grafo para uso computacional.
A maneira mais econmica para se representar um grafo atravs da chamada lista de
adjacncia
A lista de adjacncia a especificao do grafo com o conhecimento de , ou de
todos os seus vrtices, ou seja, do conjunto dos sucessores, antecessores ou dos adjacentes.
EX: Representar o grafo, sabendo-se que:

19

x1 x2 , x3 , x4

x2

x2 x3

x2 x1

x1

x3

x3 x1 , x2 , x4
x4 x1

x4

x4 x3

MATRIZ DE INCIDNCIA: uma matriz n x m, na qual cada coluna (m) corresponde a


um arco (u) e cada linha (n) um vrtice (x). definida pelas relaes:
bij

B bij / bij
b
ij

1 , se o vrtice xi extremidade inicial do arco u.


1 , se o vrtice xi extremidade final do arco u.
0 , em todos os outros casos. (caso no seja adjacente)

A matriz de incidncia menos utilizada por ocupar muito espao de memria. utilizada
em problemas envolvendo fluxos e ciclos.
u1

EX:

x1
u2

x2
u5

u3

x3

x4
u4

x1
B = x2
x3
x4

u1

u2

u3

u4

u5

1
1

1
0

0
1

0
0

0
1

0
0

0
1

1
0

1
1

0
1

SEMI-GRAU
Define-se semi-grau positivo (emisso) e semi-grau negativo (recepo) de um vrtice a,
por:
20

g a N a

g a N a

Ao nmero g a g a g a , chamamos grau do vrtice a.


EX: Considere o exemplo abordado em arcos incidentes. Temos os seguintes semi-graus:

g a
ga

a
2

b
2

c
1

d
1

e
2

f
2

4
3
2
4
3
4
Utilizando uma matriz booleana, a soma em linha fornece g e a soma em coluna fornece
g .
a
b
c
d
e
f

a
0
0
1
1
0
0
2

b
1
1
0
0
0
0
2

c
1
0
0
0
0
0
1

d
0
0
0
0
1
0
1

e
0
0
0
1
0
1
2

f
0
0
0
1
0
1
2

2
1
1
3
1
2

SUBGRAFO

Um grafo G1 B, R ' subgrafo de G = (A,R) se e s se B A e R = (B x B) R.


Um subgrafo obtido, portanto, pela supresso de vrtices de G e dos arcos adjacentes a
esses vrtices.
A definio de subgrafo corresponde ao cancelamento, na matriz de adjacncia de G, das
linhas e colunas correspondentes aos vrtices a serem suprimidos.
c

f
EX: G = (A,R)

e
c

21

G1 = (B,R)

CADEIAS
Uma cadeia uma seqncia de arcos (arestas) de um grafo, tal que cada arco (aresta) tem:
- Uma extremidade em comum com o arco (aresta) antecedente ( exceo do
primeiro);
- A outra extremidade em comum com o arco (aresta) subseqente ( exceo do
ltimo).
Como no se especifica de quais extremidades se trata, o conceito de cadeia no
orientado; por isso se pode falar de uma cadeia constituda de arestas, em um grafo no
orientado.
Uma cadeia pode ser representada pela seqncia de arestas que a constituem ou dos
vrtices que ela encontra:
u1 , u2 ,..., un
x1 , x2 ,..., xn
ou
CAMINHO
Um caminho uma cadeia na qual todos os arcos possuem a mesma orientao; o conceito
de caminho , portanto, orientado e no tem sentido em um grafo no orientado.
A notao a mesma usando-se parnteses ao invs de colchetes.
u1 , u2 ,..., un
x1 , x2 ,..., xn
ou
Uma cadeia (caminho) dita elementar se no passar duas vezes pelo mesmo vrtice e
simples se no passar duas vezes pela mesma aresta (arco).
CICLO
Ciclo uma cadeia simples na qual os vrtices inicial e final se confundem (fechada).
Um ciclo que passa por todas as arestas dito euleriano.
CIRCUITO
Circuito um caminho simples e fechado.
Um circuito elementar que passa por todos os vrtices dito hamiltoniano.
EXEMPLOS DE CADEIAS
a
g

1 = [ a, b, c, d ]

2 = [c, d, e, f, d]

22

simples e elementar

simples e no-elementar

c
e
1 = [c, d, b, c]
2 = [c, d, e, f, d, b, c]
EXEMPLOS DE CICLOS:
EXEMPLOS DE CAMINHOS
1 = (b, c, d, f) simples e elementar
a
g
2 = (c, d, f, e, d, g) simples e no elementar
f

3 = (a, b, c, d, b, c) no simples e no elementar


d
b
e

c
EXEMPLOS DE CIRCUITOS
1 = (d, f, e, d)
2 = (b, c, d, f, e, d, b)

COMPRIMENTO E DESVIAO
Diz-se que o comprimento de um caminho (ou cadeia) o nmero de seus arcos ( ou
arestas).
EX:Do exemplo anterior, temos: l( 1 ) = l (b, c, d, f) = 3
l( 2 ) = 4
l( 3 ) = 5
O caminho de comprimento mnimo de um vrtice x a um vrtice y a geodsica de x a y.
O comprimento de uma geodsica a desviao de x e y.
MATRIZ DE DESVIAES
Seja D = d ij a matriz de desviaes d ij . Para a obteno de D, utiliza-se o seguinte
algoritmo:
F1: Computam-se as potncias sucessivas at (n 1) da matriz associada ao grafo. (n = n
de vrtices);
( p)
F2: Toma-se: d ij = menor expoente p para o qual Cij 0 .
23

d ij

( p)
= se e s se p n 1, Cij 0 .

EX: Determinar as desviaes do grafo:


x4

x1

x2
x3

x5

x6
Matriz associada ao grafo:
x1

x1
0

x2
0

x3
0

x4
1

x5
1

x6
0

x2
M x3

1
0

0
1

0
0

0
0

0
0

1
0

x4
x5

0
0

1
0

0
0

1
0

0
0

0
1

x6

1
0

0
3
M
1
0

1
0
1
0
0

0
0
0
0
0

1
1
2
0
0

1
2
2
1
2

3
1

2
2

M4

M2

1
1

1
0

0
0

1
0

0
1
1
0
0

0
0
0
0
0

1
0
1
0
0

2
0
0
1
1

1
1
2
0
0

0
0
0
0
0

1
1
3
0
0

3
1
3
2
3

5
3

5
3

1
1
1

1
1

1
1

1
5
M
2
0

1
1
3
0
0

0
0
0
0
0

2
1
4
0
0

6 9
3 5

6 10
3 5

5 8

24

3
1

2
D
2

2
1
1

2
3
1

2
3
3
2
1

1
2

2
1

Da observao, por exemplo, da linha 3, conclumos que as geodsicas para x1 , x2 , x4 ,


x5 e x6 de x3 tm, respectivamente, os comprimentos 2, 1, 3, 3 e 2, enquanto que da
observao da coluna 4, por exemplo, obtemos que as geodsicas ao vrtice x4 ,
respectivamente dos vrtices x1 , x2 , x3 e x4 , tm os comprimentos 1, 2, 3 e 1.
CENTRO, RAIO E DIMETRO
Afastamento de um vrtice xi a maior distncia existente a partir de xi .
e( xi ) = max d(i,j), i j
O afastamento fornece uma idia da maior ou menor centralidade de um vrtice.
Por isso: - um vrtice perifrico um vrtice de afastamento mximo;
- um CENTRO um vrtice de afastamento mnimo.
O afastamento pode ser obtido diretamente da matriz D de distncias.
Em uma rede de comunicaes, a localizao de um ponto importante (um centro de
transmisses, por exemplo) em um centro do grafo representativo da rede , a priori, uma
providncia no sentido de procurar reduzir ao mnimo o nmero de transmisses de
mensagens ou de equipamentos de conexo envolvidos.
RAIO (g) de um grafo o afastamento de um centro de G.
DIMETRO (g) de um grafo o afastamento de um vrtice perifrico, ou seja, o maior
afastamento possvel em um grafo.
Conclui-se que o dimetro finito e o seu valor corresponde ao nmero de etapas a serem
vencidas por uma comunicao qualquer, a partir de um vrtice qualquer, para que o vrtice
mais distante seja por ele atingido.
POTNCIAS DA NOTAO DE BERGE

R n {x}
n
R {x}
R n {x}

R R n 1{x}
R{x}
1
R R n 1 {x}

EX: Seja o grafo:

para n 2
para n = 1
para n 2 ( n Z )
a

25

e
d
c

R {a} = R{a} = {a, b, d}


R 2 {a} = R{a, b, d} = R{a} R{b} R{d} = {a, b, d} {c} = {a, b, c, d}
R 3 {a} = R{a, b, c, d} = R{a, b, d} R{c} = {a, b, c, d} U{c} = {a, b, c, d} R n {a} = {a, b, c,
1

d}

para n 2.

R 1 {c} = {b, c, e}
R 2 {c} = R 1 {b, c, e} = R 1 {b} R 1 {c} R 1 {e} = {a, e} {b, c, e} ={a,
b, c, e}
R 3 {c} = R 1 {a, b, c, e} = R 1 {a} R 1 {b, c, e} ={a} {a, b, c, e} R n {c}={a,
b, c, e}
para n 2.
FECHO TRANSITIVO DE EMISSO
Define-se fecho transitivo de emisso relativo ao vrtice a por:

Ra x / x R i a, i 1,2,3,..
^

Diz-se para todo x

R a

que atingvel do vrtice a.

Costuma-se tambm considerar o fecho reflexo-transitivo de emisso, incluindo-se


necessariamente no fecho o prprio vrtice a.
^*

R a

= {a}

R a , que seria o mesmo que definir:

^*

R a x / x Ri{a}, i 0,1,2,3,... , com R{a} = {a}, portanto com R = I (identidade).


FECHO TRANSITIVO DE RECEPO
Define-se fecho transitivo de recepo relativo ao vrtice a por:
^

R {a} x / x Ri{a}, i 1,2,3,...

26

EX: Dado o grafo:

Determinar os fechos transitivos de emisso e de recepo do vrtice b.

R{b} =

{b, c, d, e}

R {b} =

{a, b, c}

OPERAES MATRICIAIS
Define-se para o conjunto de valores 1 e 0 a adio e multiplicao booleana pela tabela:
x
1
1
0
0

y xy xy
1
1
1
0
1
0
1
1
0
0
0
0

ADIO MATRICIAL BOOLEANA


Dadas as matrizes booleanas M = aij mxn e N = bij mxn , define-se soma booleana por:
M N = aij mxn aij mxn = cij mxn com cij aij bij
MULTIPLICAO MATRICIAL BOOLEANA
Dadas as matrizes booleanas M = aij mxn e N = bij nxp , define-se produto booleano
segundo Cauchy por:
M N = aij mxn bij nxp = cij mxp
com cij air brj ai1 b1 j ai 2 b2 j ... ain bnj
n

r 1

27

EX: Dadas as matrizes booleanas:


1
M 0
0

0
1
0

1
1

1
N 1
0

0
0

0
0

e P 0
0

0
0 , determinar:
1

a) M N
b) N P
1

a) M N = 1
0
1

b) N P = 1
0

0
1
0

1
1
1

0
0

POTNCIA MATRICIAL BOOLEANA


Escrevemos para comodidade as multiplicaes de uma matriz por si mesma em notao de
potncia:

M 1 M

M i M M i 1

1 TEOREMA DE FESTINGER (Leon Festinger1949) P/ CLCULO BOOLEANO


p

Em um grafo G = (A, R), o elemento cij da potncia booleana p-sima da matriz M


associada a G 1 se e s se existe um caminho de comprimento p do vrtice xi ao vrtice
xj .
EX: Considere o grafo:
d

f
Determinando a matriz associada ao grafo, temos:

28

M=

a
b
c

0
1
0

0
0
1

0
0
0

1
0
0

1
0
0

0
1
0

d
e
f

0
0
0

1
0
0

0
0
0

1
0
0

0
0
1

0
1
1

Fazendo as potncias booleanas encontra-se, por exemplo:


1

M 2

0
0

1
0

0 1
1 1
0 1

0 1
1 1

1 1

0
0
1
0
0

0
0
0
0
0

1
0
1
0
0

M 4

1
1

1
0

1
1
1
0
0

0
0
0
0
0

1 1 1
1 1 1
1 1 1

1 1 1
0 1 1

0 1 1

M 3

1
0

1
0

M 5

1
0
1
0
0

0
0
0
0
0

1
1

1
0

1 1 1
1 1 1
1 1 1

1 1 1
0 1 1

0 1 1

1
1
1
0
0

0
0
0
0
0

1 1 1
1 1 1
1 1 1

1 1 1
0 1 1

0 1 1

Assim, observando a linha 3 da M 4 , por exemplo, podemos afirmar que c atinge com
caminhos de comprimento 4, os vrtices b, d, e e f, mas no atinge a e c.
Tambm observando a comuna 2 da M 4 , podemos afirmar que o vrtice b atingvel com
caminhos de comprimento 4 pelos vrtices a, b, c, e d, mas no pelos vrtices e e f.
MATRIZ DE ATINGIBILIDADE
Com o teorema de Festinger, a soma: M M 2 M 3 ... M n 1 fornece uma matriz

M xij

n 1

nxm

p
com xij cij tal que: xij 1 se e s se existir um caminho de xi a x j ,
p 1

pois xij 1 se e s se existir um cij 1 .


Em resumo, a soma booleana matricial anterior fornece a matriz dos fechos transitivos de
n 1

p
emisso, denominada matriz de atingibilidade: M R M .

p 1

EX: Considerando o grafo anterior, para se determinar a matriz de atingibilidade, basta


adicionar as matrizes j determinadas.

29

2
3
4
5
Calculando: M R M M M M M , obtemos a matriz:

1
1

1
0

1
1
1
0
0

0
0
0
0
0

1
1
1
0
0

1 1
1 1
1 1

1 1
1 1

1 1

Analisando a matriz, verificamos que os vrtices:


a) a, b, c e d atingem todos os vrtices com exceo de c;
b) e e f s atingem a eles prprios;
c) c no atingvel.
OBS: Observe das interpretaes que fizemos, que a matriz dos fechos transitivos de
t
recepo obtida fazendo a transposta de M R , isto , M R M R .

2 TEOREMA DE FESTINGER
p
Em um grafo G = (A, R), o valor de cij da potncia p-sima da matriz M associada a G
igual ao nmero de caminhos de comprimento p do vrtice xi ao vrtice x j .
EX: Considerando o mesmo grafo anterior, teremos, por exemplo:

M2

0
0

1
0

0
1
1
0
0

0
0
0
0
0

1
0
1
0
0

2
0
0
1
1

1
1

1
1

1
0

0
3
M
1
0

1
0
1
0
0

0
0
0
0
0

1
1
2
0
0

1
2
2
1
2

3
1

2
2

M4

1
1

1
0

1
1
2
0
0

0
0
0
0
0

1
1
3
0
0

3
1
3
2
3

4
5
3

5
3

Observando a linha 6 de M 4 , por exemplo, podemos afirmar que f atinge e por 3 caminhos
de comprimento 4 e atinge f por 5 caminhos de comprimento 4. Observando a coluna 4,
verificamos que d atingido por caminhos de comprimento 4, de a por 2, de b por 1, de c
por 1 e de d por 3.
CONEXIDADE
A noo de conexidade corresponde ao estado de ligao dos vrtices de um grafo, ou
seja, possibilidade de se transitar de um a outro vrtice.
DEFINIO: Um grafo conexo se dois quaisquer de seus vrtices podem ser unidos por
um caminho.

30

TIPOS DE CONEXIDADE
Os grafos conforme a existncia ou no de caminhos ligando os seus vrtices apresentam
tipos de conexo, que procuraremos estudar neste item.
DEF I: Um grafo G = (A,R) fortemente conexo se e s se x A, y A, x y, existe
um caminho de x a y e existe um caminho de y a x.
DEF II: Um grafo G = (A,R) semi-fortemente conexo (ou unilateralmente conexo) se e s
se x A, y A, x y, existe um caminho de x a y ou existe um caminho de y a x.
DEF III: Um grafo G = (A,R) fracamente conexo (ou simplesmente conexo) se e s se
x A, y A, x y, existe uma cadeia de x a y.
DEF IV: Um grafo G = (A,R) desconexo se e s se x A, y A, x y, para os quais
no existe uma cadeia de x a y.
OBS 1: Observe que nas definies III e IV considera-se o grafo no orientado
correspondente.
OBS 2: A qualquer grafo satisfazendo a I ou II ou III dizemos que conexo.
EXEMPLOS:
G1

G2

e
d

b
f

f
G1 = Fortemente conexo
G3
a

b
f
c
d
G3 = fracamente conexo

d
G2 = unilateralmente conexo
G4
a

e
b
f

d
c

G4 = desconexo

31

DETERMINAO DE COMPONENTES FORTEMENTE CONEXAS


a) Algoritmo Natural
Pela DEF I ressalta de imediato que em uma dada componente C fortemente conexa dois
vrtices quaisquer so atingidos reciprocamente pela existncia de caminhos nos dois

sentidos, portanto, a cada elemento x C esto relacionados elementos y tais que y R


{x} e se y C devemos ter y

R {x} .

Resulta que y

R{x} R {x} .

Para no excluir

x pode se tomar R {x} no lugar de R {x}.


ALGORITMO
F.1. Toma-se um vrtice x0 arbitrrio de A.
*
F.2. Calcula-se R
{ x0 }.
F.3. Calcula-se

R {x0 } .

F.4. Calcula-se R
{ x0 } R {x0 } que ser a componente C1 fortemente conexa que
possui x0 .
F.5. Elimina-se os vrtices de C1 de A e repetem-se as fases para o subgrafo.

EX: Seja o grafo:

a
f
b

e
g

F.1. Tomamos o vrtice f por exemplo.


*
F.2. Calculamos R
{f} = {f, e, c, h, g, i}
F.3. Calculamos

R {f}
*

= {f, e, d, a, b}

F.4. Calculamos R {f}

R {f}

= {f, e} e temos a componente C1 = {f, e}

F.5. Ficamos com A - C1 = {a, b, c, d, g, h, i}


F.1. Tomamos o vrtice d por exemplo e repetindo as fases temos a componente
C2 = {a, b, d}.
F.1. Tomamos o vrtice h por exemplo e repetindo as fases temos a componente C3 ={g, h}

32

F.1. Tomamos o vrtice c por exemplo e repetindo as fases temos a componente C4 {c}
F.1. Tomamos o vrtice i por exemplo e repetindo as fases temos a componente C5 {i}
b) Algoritmo de Malgrange Tomescu (1967)
1) Toma-se a matriz booleana associada ao grafo com uma coluna emoldurante para o fecho
transitivo de emisso e seguem-se as seguintes fases:
F.1. Escolhemos um vrtice x e colocamos 0 na coluna.
F.2. Colocamos 1 na coluna correspondente s linhas dos elementos y R{x}.
F.3. Tomo todos os vrtices y que possuem 1 na coluna emoldurante e coloco 2 para aqueles
z, tais que z R{y}.
F.4. Procede-se assim, sucessivamente, colocando 3, 4 etc, at que no seja possvel
continuar.
F.5. Coloca-se uma cruz na coluna para os no assinalados.
2) Toma-se uma linha emoldurante para o fecho transitivo de recepo e seguem-se as
fases:
F.1. Tomamos 0 para o vrtice escolhido anteriormente.
F.2. Procedemos analogamente s fases anteriores (agora observando as colunas).
*

3) Os assinalados da coluna emoldurante constituem R


{x} e os assinalados da linha

emoldurante constituem R {x} . Fazemos a interseo, obtendo a componente fortemente
conexa que possui x.

4) Eliminem-se os vrtices dessa matriz e trabalha-se analogamente com a submatriz


obtida.
EX: Considere o grafo anterior:
1) Iniciamos com f
a b c d e
a
1
1
b
1 1 1
c
1
d 1
1
e
1
f
1
g
h
i
1 3 x 2 1
2) Iniciamos com d

f
1

i
1

1
1
1

1
x

X
X
2
X
1
0
3
2
3

{f} = {c, e, f, g, h, i}

R {f}

={a, b, d, e f}

C1 = {f, e}

33

a
a
b
c
d
g
h
i

b
1
1

c
1
1
1

1
1

1
1
1
1

X 0

1
2
3
0
X
X
4

X X X

R {d } {a, b, c, d , i} , R {d } {a, b, d } ,

C2 {a, b, d }

3) Iniciamos com h

c
g
h
i

c
1

i
1

1
1
X 1

X
{h} {g , h, i} ,

X
1
0
1

R {h} { g , h}

, C3 {g , h}

4) Iniciamos com c
c i
c 1 1 0
i
1
0 X
*

R {c} {c, i} , R {c} {c} , C4 {c} , C5 {i}
c) Algoritmo de Bernard Roy ( 1961)
F.1. Escolhe-se um vrtice arbitrrio e marca-se o sinal .
F.2. Se um vrtice marcado + marca-se com + todos os pontos R{x}.
F.3. Se um vrtice marcado marca-se com todos os pontos de R {x} .
F.4. Todos os vrtices assinalados com duplo sinal, constituem uma componente conexa.
F.5. Elimina-se os vrtices da componente e repete-se o processo.
EX: Iniciamos com f
af .
- b

de .
g +
+ c

34

i+
C1 = {f, e}

Iniciamos com d

a.
. b

d.
g

+ c

i+

C2 {a, b, d }

Iniciamos com h
c

i+
Iniciamos com c

C3 {g , h}

i+
C4 {c} , C5 {i}

d) Algoritmo Matricial
Aprendemos a calcular a matriz de atingibilidade ou matriz dos fechos transitivos de
emisso, que fazendo a transposta fornece os fechos transitivos de recepo.
Faamos o produto direto dessas matrizes:

M M t zij
R

zij 1

com z ij xij yij xij x ji

zij 1

se e s se xij 1 e x ji 1 , ou que

se e s se xi atinge x j e x j atinge xi .

Este resultado nos fornece a seguinte concluso:


Dada uma linha i todos os valores unitrios dessa linha determinam os vrtices da mesma
componente fortemente conexa com xi .
Como podemos trabalhar com os vrtices como se laadas houvessem, o algoritmo se
simplifica, pois:

35

I M n 1

I M M 2 M 3 ... M n 1

Deste modo no lugar de calcularmos as diversas potncias de M e depois adicionarmos,


primeiramente adicionamos a matriz identidade e calculamos as potncias sucessivas.
EX: Seja o grafo anterior (n = 9)

I M
1 1
1 1
1
1
1

1
1

1 1 1
1 1 1
1
1 1
1
1

1
1

1
1
1

1
1

1
1
1

1
1

1
1

1
1

1
1
1

1
1
1

I M 2
1
1
1
1
1

1
1

1
1
1
1
1

1
1
1
1

I M 4

I M 8
1 1 1
1 1 1
1
1 1 1
1
1

1
1

1
1

1
1

1
1

1
1

1
1
1

1
1
1

1
1
1
1
1

1
1
1
1
1

1
1
1
1
1
1
1
1
1

1 1 1
1 1 1
1
1 1 1
1
1

1
1

1
1

1
1

1
1

1
1

1
1
1

1
1
1

1
1
1
1
1

1
1
1
1
1

1
1
1
1
1
1
1
1
1

M M t
R

1
1

1
1

1
1
1
1
1
1

1
1

1
1

1
1

1
1

1
1

1
1
1

1
1
1

1
1
1
1
1

1
1
1
1
1

1
1
1
1
1
1
1
1
1

1
1
1
1
X 1
1
1
1
1

1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1

1
1
1
1
1

1
1
1
1
1

1
1
1

1
1
1

=
36

1
1

1
1

1
1
1

1
1
1

1
1
1
1

1
1
1

De onde obtemos as componentes fortemente conexas:


C1 = {f, e}
C2
C3
C4
C5

{a, b, d }
{g , h}
{c}
{i}

RVORES
Definio: Um grafo finito no orientado uma rvore se e s se conexo e sem ciclo.
EX:
G1

G2

G2 no rvore ( possui ciclo )

G1 rvore
G3

37

G3 no rvore ( desconexo )
Se um grafo rvore com N vrtices, ento possui N 1 arestas.
Se um grafo sem ciclo e possui N 1 arestas, ento conexo e, portanto, rvore.
TRAOS SOBRE RVORES
a

Um problema clssico da determinao do


nmero mnimo de traos suficientes para
se cobrir toda uma rvore. Assim, para
a
rvore ao lado fcil verificar-se que
o
nmero mnimo de traos 4 que poderiam
ser:

([a, b, c]), ([b, d, h, i, j, m]), ([j, k, l]), ([g, d, e, f])


Indiquemos com m j o nmero de vrtices de grau par 2j e com ni o nmero de vrtices de
grau mpar 2i + 1. Portanto n0 indica o nmero de vrtices de impasse, pois possuem
grau 1 (os outros vrtices so transmissores).
Coloquemos:
M

m
j 1

ni ; P
; N
i 1

p.m
j 1

i.ni
; I
i 1

TRAOS PARA ESTRELAS


Entende-se estrelas a rvores com todos os vrtices de grau 1, exceto um com grau n 1.
a) Estrela par

b) Estrela mpar

Para estrelas pares com o ponto central de grau 2j, o nmero de traos j; assim para a
ilustrao a) o grau 6, portanto o nmero de traos suficientes 3. Para estrelas mpares

38

com o ponto central de grau 2i + 1, o nmero de traos i + 1; assim para a ilustrao b) o


grau 5 e o nmero de traos suficientes 3.
TRAOS PARA RVORES
Uma rvore pode ser pensada como um conjunto de estrelas (pares ou mpares) ligadas
pelos pontos centrais.
Para as estrelas pares o nmero de traos

(i 1).n

i 1

j.m
j 1

e para as estrelas mpares

; mas como a rvore conexa, ao ligarmos duas estrelas ganha-se um trao

(aquele em continuao); ligando-se todas as k estrelas ganha-se k 1 traos, portanto o


nmero de traos dado por:
T

jm

(i 1) ni ( k 1)

jm i.n n k 1
jm i.n N K 1

mas M + N = K, portanto: T = P + I M + 1 , chamada frmula de Sainte-Lagu (1926).


EX: Seja a rvore:
a

f
g
1

y
l

i
d

g
vrtices
a, c, d, f, g, k, l, n, o, q, r , v,
u, y, z

k
n
15

39

2
4
3
5

i, s
b, m, t
e, h, j, x
p

2
3
4
1

M=2+3=5
P = 1.2 + 2.3 = 8
I = 1.4 + 2.1 = 6
T = P + I M + 1 = 8 + 6 5 + 1 = 10
Enumerao: ([a, b, c]), ([n, m, b, e, d]), ([e, f]), ([g, h, I, j, k]), ([j, l]), ([h, m, p, o]),
([g, p, r]), ([p, s, t, u]), ([v, t, x, y]), ([x, z]).
RVORE PARCIAL DE VALOR MNIMO
Em problemas de interligao (comunicaes, redes de luz, gua, esgotos etc) h interesse
em se proceder interligao de todos os pontos atendidos com o consumo mnimo de
meios. Nos casos em que o benefcio prestado aos usurios distribudo a todos
simultaneamente, o problema pode ser modelado por um grafo que represente todas as
possibilidades de interligao (grafo suporte), procurando-se, a seguir, uma rvore parcial
de valor mnimo desse grafo. O grafo suporte , evidentemente, no orientado e valorado,
podendo os valores representar custos, comprimentos etc.
H diversos algoritmos para obteno de uma rvore parcial (ou geradora) de valor mnimo,
a partir de um grafo; examinaremos 2 desses algoritmos.
ALGORITMO DE KRUSKAL
Trata-se de um algoritmo adequado ao trabalho manual, dada sua simplicidade; a
programao , no entanto, desvantajosa em relao ao outro mtodo.
Dado um grafo G = (A, R) no orientado e valorado, constri-se a rvore parcial, partindose do grafo trivial G0 ( A, ) e adicionando-se interativamente a aresta de menor valor
que no forme ciclo com as j escolhidas.
EX: Seja o grafo:
4

b
3

6
7

6
g

b
2

3
d

2
5

6
4

10

40

7
a
a
b
c
d
e
f
g

b
c
d
3 (II)

4 (III) 6
2 (I)

f
4 (IV)
7

10

g
5 (V)
5

6 (VI)
8

A seqncia das escolhas est indicada na matriz pelos algarismos romanos e os valores
riscados correspondem s arestas que formam ciclo e que foram descobertas durante a
execuo do algoritmo.
ALGORITMO DE DIJKSTRA
Este algoritmo trabalha com uma nica sub-rvore parcial, que recebe, a cada interao, o
vrtice adjacente mais prximo. A lista de distncias mnimas dos vrtices adjacentes
sub-rvore , ento, atualizada levando-se em conta o ingresso do ltimo vrtice. O
processo repetido at que a sub-rvore possua n 1 arestas.
EX: Considere o grafo anterior.
Inicializao: [ c, d] (2)
Vrtices adjacentes: b e
Distncias mnimas: 4 10
Vrtice a incluir:

f
9

g
6

b via [b, c] de valor 4

Vrtices adjacentes: a e f g
Distncias mnimas: 3 10 7 5
Vrtice a incluir:

a via [a, b] de valor 3

Vrtices adjacentes: e f g
Distncias mnimas: 10 4 5
Vrtice a incluir:

f via [a, f]

Vrtices adjacentes: b c d e g
Distncias mnimas: 3 8 9 7 5
Vrtice a incluir:

g via [a, g], pois b j est includo

Vrtices adjacentes: b c e f

41

Distncias mnimas: 5 6 6 8
Vrtice a incluir:

e via [e, g], pois b e c j esto includos.

Pode-se notar que este algoritmo trabalha por incluso de vrtices, cada vrtice podendo
levar apenas uma aresta rvore; logo no h preocupao com a formao de ciclos.

EXERCCIOS
1) Dado o grafo G = (A, R) com A = {a, b, c, d} e R = {(a,b), (a, d), (b,b), (b,c), (b,a),
(c,a) , (c,c) , (c,d), (d,a), (d,c)}:
a) Descreva-o na notao de Berge;
b) Fornea R{a, c} e R{b, d}.
2) Faa as representaes do grafo do exerccio 1:
a) Sagital;
b) Matriz latina;
c) Matriz booleana (matriz de adjacncia);
d) Matriz de incidncia.
3) No grafo do exerccio 1, fornea:
a) Arcos adjacentes ao arco (b,c);
b) Vrtices adjacentes ao vrtice c.
4) No grafo do exerccio 1, fornea:
a) {a, b}
b) {a, b}
c) {a, c}
d) {d, c}

e) g a
f) g a

g) g c
h) g c

i) g b
j) g b
42

5) Para o grafo dado pela representao abaixo:


a) D a representao sagital;
b) D um subgrafo
a
b
c
d
e
f

a
1
0
1
0
0
1

b
1
1
0
1
0
0

c
0
1
1
0
1
0

d
0
0
1
1
0
1

e
1
0
0
1
1
0

f
0
1
0
0
1
1

6) Para o grafo do exerccio 5 d exemplo de:


a) Caminho simples e elementar;
b) Caminho simples e no elementar;
c) Caminho no simples e no elementar.
7) Em relao ao grafo do exerccio 5, se existir circuito, indique.
8) Em relao ao exerccio 6 d o comprimento dos caminhos exemplos escolhidos. D a
geodsica de c a f.
9) Para o grafo dado pela representao abaixo:
a) D a representao sagital;
b) Descreva-o na notao de Berge;
c) Determine (c) e (c);
d)
{b, d}

e) {b, d}
10) Para o grafo do exerccio 9, d um exemplo de caminho no simples e elementar e um
de circuito.
11) Determine a matriz de desviao do grafo do exerccio 1 e indique:
a) A geodsica de a a c;
b) A geodsica de b a d.
12) Determine a matriz de desviao do grafo do exerccio 5 e indique:
a) A geodsica de a a f;

43

b) A geodsica de c a e;
c) A geodsica de b a d.
13) Determine a matriz de desviao do grafo do exerccio 9 e indique:
a) A geodsica de a a e;
b) A geodsica de b a f;
c) A geodsica de c a d.
14) Para o grafo do exerccio 1, indique 2 subgrafos.
15) Para o grafo do exerccio 9, indique 3 subgrafos.
16) Dados os grafos, calcule as potncias solicitadas:
b

G1

G2
c

f
e

d
f

a)
b)
c)
d)
e)
f)
g)
h)

R n {a}
R n {e}
R n {f}
R n {g}
R n {c}
R n {d}
R n {f}
R n {g}

17) Para os grafos do exerccio 16, calcule os fechos transitivos de emisso relativos aos
vrtices:
a)
b)
c)
d)

a
b
f
g

44

18) Para os grafos do exerccio 16, calcule os fechos transitivos de recepo relativos aos
vrtices:
a)
b)
c)
d)

d
e
f
g

19) Para os grafos do exerccio 16, calcule:


a) M 2 , M 3 , M 4 , M 5 e fornea para cada uma, trs interpretaes de valores;
b) M 2 , M 3 , M 4 , M 5 e fornea para cada uma, duas interpretaes de valores.
20) Para os grafos do exerccio 16, calcule:
a) As matrizes de atingibilidade e interprete pelo menos 3 valores de uma linha;
b) As matrizes dos fechos transitivos de recepo e interprete pelo menos 3 valores de
uma linha.
21) Dados os grafos:
G1

G2

Calcule e enumere os caminhos de comprimento:


a) 3
b) 4
c) 5
22) Para os grafos do exerccio 21, determine:
a) R n {b}
b) R n {c}
c) R n {d}
45

d) R n {f}
23) Para os grafos do exerccio 21, determine:
a) Os fechos transitivos de emisso relativos aos vrtices a e e;
b) Os fechos transitivos de recepo relativos aos vrtices c e d.
24) Para os grafos do exerccio 21, determine:
a) As matrizes dos fechos transitivos de emisso (atingibilidade) e interprete os valores
de uma coluna;
b) As matrizes dos fechos transitivos de recepo e interprete os valores de uma
coluna.
25) D os tipos das conexidades dos grafos:
b

a)

b)

e
e

c)

d)

f
b

46

e)

f
d

k
26) Determine as componentes fortemente conexas dos grafos:
a)

b)
f

b
c

l
e
f

d
g
27) Determine as componentes fortemente conexas dos grafos:
a) G1
a b c d e f g
a
1
1
1
b 1
1
c
1 1 1
d
1 1
e
1 1
f
1 1
1
g
1
b) G2
a b c d e f g h
a
1
1 1
1
b 1 1
1
c
1 1
1
d
1
1
1

47

e
1
1 1
1
f
1
1
1
g
1
1 1
h 1 1
1 1
c) G3
a b c d e f g h i
a 1 1
1
1
b
1
1 1
1
c
1
1
d
1
e
1 1
1
f
1
1
1
g 1
1
h
1
1
i
1
1
28) Determine o nmero de traos suficientes para cobrir as rvores:
a)

b)

29) Determine a rvore parcial de valor mnimo:


6
b
c
4
5
8
3
4
a 1 g
d
2
3
3
3

f
5
e
30) Determine a rvore parcial de valor mnimo:
48

5
5
a
2 f 1 g 3
c
6
6
8
h
8
4 4

e
3
d
31) Determine a rvore parcial de valor mnimo:
6
b
4
g 6
9
j
6
8
d 2 6f
8
8
c 35 6
h
7
6
a 5
4 e
9
i

49