pesquisa_operacional_apostila

70
FACULDADE CENECISTA DE BRASÍLIA – FACEB PESQUISA OPERACIONAL

Upload: alexandre-mabjaia

Post on 22-May-2017

237 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: PESQUISA_OPERACIONAL_APOSTILA

FACULDADE CENECISTA DE BRASÍLIA – FACEB

PESQUISA

OPERACIONAL

WALTER MORAES

Page 2: PESQUISA_OPERACIONAL_APOSTILA

INTRODUÇÃO

Pesquisa Operacional é uma metodologia de estruturar processos aparentemente não estruturados por meio da construção de modelos. Utiliza um conjunto de técnicas quantitativas com o intuito de resolver os aspectos matemáticos dos modelos.

Problemas como os que ocorrem na vida real apresentam dificuldades das mais variadas naturezas. Inicialmente é preciso estabelecer entre os indivíduos que se propõem a estudar o problema em foco, um certo consenso na percepção do problema. Da percepção e da definição de objetivos nasce a concepção do problema como um sistema.

O primeiro passo para resolver o problema consiste em modelar o sistema a ser estudado. Neste estágio, é preciso identificar as variáveis 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 propósito de atender as mais variadas finalidades.

Pesquisa Operacional contribui com diversas técnicas quantitativas aplicadas às áreas de administração, produção, planejamento e organização. O sucesso dessas diversas técnicas, tanto entre pesquisadores teóricos como entre engenheiros, administradores e economistas, foi o fator aglutinador para a constituição de um setor do conhecimento humano que maior progresso vem apresentando. Após um século de espetaculares descobertas científicas, também testemunhamos a utilização, graças às disciplinas aplicadas, destes resultados em nossa vida diária. É relativamente recente, de apenas quatro décadas, a preocupação por técnicas quantitativas para melhor aproveitamento, através da organização e planejamento, do cabedal de conhecimentos acumulados. As aplicações da Pesquisa Operacional estendem-se desde o balanceamento de linhas de produção em fábricas, ou fluxo ótimo de pacientes em hospitais, até ao estudo de estruturas sociais e de processos psicológicos.

No presente curso, concentrar-nos-emos em duas das principais técnicas mais úteis e desenvolvidas da Pesquisa Operacional, quais sejam, a Programação Linear e a Teoria dos Grafos.

2

Page 3: PESQUISA_OPERACIONAL_APOSTILA

PROGRAMAÇÃO LINEAR

Programação Linear é uma ferramenta de planejamento que nos ajuda a selecionar que atividades (variáveis de decisão) empreender, dado que essas atividades (diversas alternativas) competem entre si pela utilização de recursos escassos (restrições) ou então precisam satisfazer certos requisitos mínimos. O objetivo será maximizar (minimizar) uma função das atividades, geralmente lucros (perdas).

A preocupação de otimizar problemas matemáticos descritos por equações ou inequações lineares não é recente; pode-se dizer que remonta aos gregos. Euclides, no século III A.C, no seu livro III dos elementos, registrou um processo primitivo de se encontrar a maior e a menor distância entre um ponto e uma circunferência pertencentes a um plano. Depois de Euclides, uma série de matemáticos, físicos e economistas, como Newton, Lagrange, Quesnay, Leontieff, Kantorovich, Dantzig, buscavam construir suas técnicas de otimização. Foi George Dantzig, porém, que em 1947 criou para a Força Aérea Americana, na Universidade de Stanford, a mais eficaz e simples técnica de minimização e maximização de sistemas de inequações lineares. Seus resultados foram publicados em 1950, no livro Linear Programming and Extensions.

INEQUAÇÕES LINEARES

A equação linear produz uma partição de em 3 subconjuntos:

(i) os pontos que satisfazem a equação dada;(ii) os pontos que satisfazem a inequação ;(iii) os pontos que satisfazem a inequação .

O primeiro conjunto, dos pontos que satisfazem a equação, é uma reta; os outros dois conjuntos são denominados semi-planos.Em particular, a solução da inequação linear ax + by c ( ou ax + by c) é denominada um semi-plano. Geometricamente falando, um semi-plano consiste nos pontos que estão sobre a reta delimitadora ax + by = c e nos pontos que estão de um dos lados da reta.

EX: Para construirmos o gráfico da inequação 2x – 3y -6, primeiro representamos graficamente a reta 2x – 3y = -6. Depois tomamos um ponto arbitrário que não pertence à reta, por exemplo (0,0), e verificamos se ele pertence ao conjunto-solução. Como (0,0) não satisfaz a inequação dada, os pontos do outro lado da reta pertencem ao conjunto-solução, como se mostra abaixo. y

2 2 x -3

3

Page 4: PESQUISA_OPERACIONAL_APOSTILA

CONJUNTOS CONVEXOS POLIGONAIS, POLÍGONOS CONVEXOS E PONTOS EXTREMOSA interseção X de um número finito de semi-planos de é denominada um conjunto convexo poligonal e, se for limitado, é denominado um polígono convexo. Além disso, um ponto P X é um ponto extremo de X se, e somente se, ele é a interseção de duas retas delimitadoras de X.

EX: O polígono convexo ABCD no diagrama é a solução do seguinte sistema de quatro inequações lineares a duas incógnitas:x + 2y 4x – y 4x 1 yy -1 x + 2y = 4 x = 1

D x – y = 4 C

x y = -1 A B F

E

Existem quatro pontos extremos:

A = (1, -1), a solução de

B = (3, -1), a solução de

C = (4, 0), a solução de

D = , a solução de

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

delimitadoras, E = (1, -3), a solução de , não satisfaz x – y 4

e

F = (6, -1), a solução de , não satisfaz y -1. Em outras palavras, E e

F não pertencem ao polígono convexo. PROBLEMAS DE PROGRAMAÇÃO LINEAR

4

Page 5: PESQUISA_OPERACIONAL_APOSTILA

Os problemas de programação linear relacionam-se com a determinação do máximo ou do mínimo de uma função linear denominada função objetiva, sobre um conjunto convexo poligonal X, que inclui a condição de que as incógnitas (variáveis) sejam não-negativas. .Cada ponto de X é denominado uma solução possível do problema e um ponto X no qual f assume seu máximo (ou mínimo) é denominado uma solução ótima.

EX: problema de máximo

Um agricultor quer administrar suas terras de modo inteligente. Para isto precisa conhecer o quanto deve plantar de milho (m) e de feijão (f) a fim de obter lucro máximo na safra.

Seu rendimento por alqueire plantado é de 2 milhões de reais para o feijão e de 6 milhões para o milho (lucro = 6m + 2f). Os alqueires de milho e de feijão plantados não devem ser maiores que 2 e 4 respectivamente, devido à demanda da cooperativa da região, bem como a limitações do tipo de solo (m 2 e f 4). Cada alqueire plantado de milho ou feijão 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 função objetiva: Lucro = 6m + 2f, sujeita às restrições:

A técnica de solução é de fácil entendimento. Basta representar as restrições, sobrepondo-as uma a uma. f 5 (1,4) (0,4)

(0,0)

Qualquer ponto (m,f) pertencente ao domínio hachurado acima é virtual solução do problema. Queremos, porém, 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 Ou seja: o agricultor deve plantar 2 alqueires(1,4) - lucro = 6.1 + 2.4 = 14 de milho e 3 alqueires de feijão para que(2,3) - lucro = 6.2 + 2.3 = 18 o seu lucro seja máximo.(2.0) - lucro = 6.2 + 2.0 = 12EX: problema de mínimo

Uma empresa quer produzir certa ração animal balanceada com o menor custo possível. O produto final exige, no mínimo, 20 unidades de proteína digerível, 24 de

5

(2,0)

(2,3)

5 m

Page 6: PESQUISA_OPERACIONAL_APOSTILA

hidrato de carbono e 24 de cálcio. A empresa Gaspar fornece matéria-prima com respectivamente 10, 4 e 2 unidades de proteína digerível, hidrato de carbono e cálcio, enquanto a do outro fornecedor, a empresa Vieira contém respectivamente 2, 4 e 8 unidades de proteína digerível, hidrato de carbono e cálcio. Se o fornecedor Gaspar cobra 6 reais o quilo da matéria-prima e o Vieira 5 reais, quantos quilos a empresa deve comprar de cada um deles de modo a que a ração seja a mais barata possível?

Logo: queremos encontrar o número de quilos que minimizem a função objetiva Custo = 6G + 5V. Sujeita às restrições:

(Proteína)(Hidrato)(Cálcio)

Vamos, então, representar as inequações (restrições): v 10

6

(1,5) 3

(4,2)

2 6 12 g

Qualquer ponto (g,v) do domínio hachurado pode ser solução 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 Portanto: a empresa deve comprar 1 quilo de (4,2) - custo = 6.4 + 5.2 = 34 matéria-prima do fornecedor Gaspar e 5 quilos(1,5) - custo = 6.1 + 5.5 = 31 do Vieira, para que o custo da ração seja o mais(0,10) - custo = 6.0 + 5.10 = 50 barato possível.PROBLEMAS DUAIS

Todo problema de máximo de programação linear tem associado a ele um correspondente problema de mínimo denominado o seu dual e, reciprocamente, todo problema de mínimo de programação linear tem associado a ele um correspondente problema de máximo denominado o seu dual. O problema original é denominado o

6

Page 7: PESQUISA_OPERACIONAL_APOSTILA

problema primal. Explicitamente, definimos cada um dos problemas seguintes como sendo um o dual do outro:

(i) Problema de máximoMaximizar

Sujeita a

(ii) Problema de mínimoMinimizar

Sujeita a

Escrevemos os coeficientes das inequações acima sob a forma de uma matriz, com os coeficientes da função objetiva na última linha, como segue:(i) Problema de máximo (ii) Problema de mínimo

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 não existe o último elemento na última linha de cada uma das matrizes).

EX: Considere o seguinte problema primal de máximo:Maximizar

Sujeita a

Determinar o dual do problema de máximo.Basta escrever a matriz dos coeficientes do problema dado (primal) e depois tomar a sua transposta.

7

Page 8: PESQUISA_OPERACIONAL_APOSTILA

Problema Primal Problema Dual

Assim, o problema dual (de mínimo) é como segue:Minimizar g = 16u + 11v + 15w

Sujeita a

VARIÁVEIS DE FOLGA – FORMA-PADRÃO

A solução algébrica de um problema de programação linear exigirá que todas as restrições do tipo desigualdade sejam reescritas sob a forma de igualdade. O problema assim reescrito está na forma-padrão. Para se passar de ou em = nas restrições, introduzem-se termos adicionais em cada restrição chamados de variáveis de folga . Assim, a variável de folga representa o valor não-negativo necessário para produzir a igualdade.

MÉTODO DOS SIMPLEXOS

Seja X o conjunto convexo poliédrico, isto é, o conjunto das soluções possíveis, do problema de máximo de programação linear. Uma solução ótima pode ser encontrada calculando-se o valor da função objetiva f em cada ponto extremo de X. Contudo, se o número de incógnitas e de inequações é grande, então a tarefa de determinar todos os pontos é tediosa. Uma outra maneira possível de se determinar uma solução ó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 cresça 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 solução ótima, isto é, até que se

atinja um ponto extremo, tal que f não cresça de valor ao longo de nenhuma das suas arestas.

O processo acima é realizado matematicamente, através do chamado método dos simplexos. Observemos em primeiro lugar que o problema de máximo de programação linear é equivalente ao seguinte problema que contém apenas equações e não inequações lineares; as variáveis , , ... , , são as variáveis de folga.Maximizar Sujeita a:

8

Page 9: PESQUISA_OPERACIONAL_APOSTILA

TABELA SIMPLEXA INICIAL

A tabela simplexa inicial do problema de máximo de programação linear ou do problema dual (de mínimo) é como segue:

... ...

... 1 0 ... 0

... 0 1 ... 0... ... ... ... ... ... ... ... ...

... 0 0 ... 1

... 0 0 ... 0 0 INDICADORES

Observemos que as linhas da tabela, exceto a última, são os coeficientes das equações lineares. As colunas dos coeficientes das variáveis básicas e das variáveis de folga são denotadas por e , respectivamente. Os elementos da última linha, exceto o último, são denominados indicadores e são os opostos dos coeficientes da função objetiva. Os elementos da última coluna são os termos independentes de cada equação. O elemento do canto inferior direito é zero; ele corresponde ao valor da função objetiva na origem.

EX: Determinar a tabela simplexa inicial para o problema primal de máximo dado como exemplo. Tabela simplexa inicial2 1 1 0 0 161 2 0 1 0 111 3 0 0 1 15-30 -50 0 0 0 0

O ALGORITMO DO MÉTODO SIMPLEXO

(i) Construir a tabela simplexa inicial;(ii) Selecione a coluna com o valor do indicador mais negativo. Se não selecionar o

valor mais negativo, mas simplesmente um negativo qualquer, isto também conduzirá à solução ótima, mas possivelmente em um número maior de interações;

9

Page 10: PESQUISA_OPERACIONAL_APOSTILA

(iii) Ache, para todas as linhas i, a menor relação com : o valor assim

escolhido será o pivô.Agora proceda à operação-pivô, que torna o coeficiente de igual a 1 e todos os outros coeficientes da coluna nulos. Este é um novo ponto extremo.

Procedimentos:a) Divida a linha i por .b) Em todas as outras linhas r, para cada elemento da coluna k, calcular

.

(iv) Repita as etapas i), ii) e iii) até que não haja mais valores negativos na última linha (indicadores), obtendo assim, a tabela terminal.

INTERPRETANDO A TABELA TERMINAL

Suponhamos que após aplicarmos o algoritmo do método dos simplexos, obtenhamos a seguinte tabela terminal:

* * ... * * * ... ** * ... * * * ... *... ... ... ... ... ... ... ... ...* * ... * * * ... ** * ... * ... v

Então:(i) v, o elemento no canto direito inferior da tabela, é o valor de máximo de

f (e, portanto, pelo teorema de dualidade, é o valor mínimo de g: max f = min g = v);

(ii) O ponto Q = é a solução ótima do problema de mínimo; suas componentes são os últimos elementos das colunas correspondentes às variáveis de folga;

(iii) O ponto P = onde = último elemento da linha que contenha 1 em é a solução ótima do problema de máximo.

EX: Vamos resolver, agora, pelo método dos simplexos, os problemas de máximo e de mínimo, resolvidos anteriormente por sistemas de inequações lineares.

PROBLEMA DE MÁXIMO

Tabela inicial Segunda tabela 1 0 1 0 0 2

10

Page 11: PESQUISA_OPERACIONAL_APOSTILA

0 1 0 1 0 43 3 0 0 1 15-6 -2 0 0 0 0

Tabela terminal A solução ótima do problema dado é, pela tabela terminal, o ponto P (2,3) e o valor máximo da função objetiva

é 18. Isto está coerente com a solução anterior.

PROBLEMA DE MÍNIMO

Primeiro, devemos determinar o problema de máximo (dual do problema de mínimo):

Mínimo Máximo

Tabela Inicial10 4 2 1 0 62 4 8 0 1 5-20 -24 -24 0 0 0

Segunda tabela8 0 -6 1 -1 1

1 2 0

-8 0 24 0 6 30

Tabela terminal1 0

0 1

0 0 18 1 5 31

1 0 1 0 0 20 1 0 1 0 40 3 -3 0 1 90 -2 6 0 0 12

1 0 1 0 0 20 0 1 1 1

0 1 -1 0 3

0 0 4 0 18

11

Page 12: PESQUISA_OPERACIONAL_APOSTILA

A solução ótima do problema dado é, pela tabela terminal, o ponto Q (1,5) e o valor mínimo da função objetiva é 31. Isto está coerente com a solução anterior.

EXERCÍCIOS

1) Representar graficamente cada inequação:(i) x -4(ii) x 3(iii) y 2(iv) y -3(v) 2x + 5y 0(vi) 3x – 5y -15(vii) x – 2y 4(viii) 3x + y 6

2) Representar graficamente a solução de cada sistema:(i) 2x – y 4 (ii) x + y 5 (iii) x – y 2 (iv) 3x + 2y 6

x 1 x – 2y 2 2x + y -2 x – y 1 y 1 x -1

3) Determinar os valores máximo e mínimo de cada função sobre o polígono convexo de vértices 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 máximo e mínimo de f = 3x – y sobre o polígono convexo:x + 2y 4 ; x – y 1 ; x -1.

5) Determinar os valores máximo e mínimo da função f = 2x + y + 3 sobre o polígono convexo dado por: x – y 10 ; 3x + y 3 ; x 4.

6) Desenhar o polígono 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 máximo e mínimo da função f = 2x – y sobre X.

7) Desenhar o polígono convexo X dado por: x + 2y 6; x – y 10; x 4; x 0. Determinar os pontos extremos de X e os valores máximo e mínimo da função f = 2x – 3y sobre X.

8) Desenhar o polígono 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 máximo e mínimo da função f = x + 2y.

9) Maximizar a função f = 2x + y, sujeita às restrições: x + 4y 24; x + 2y 14; 2x – y 8; x – y 3.

10) Minimizar a função g = x + 3y, sujeita às restrições: 7x + 5y 35; x – 2y -2; 3x – y 3.

12

Page 13: PESQUISA_OPERACIONAL_APOSTILA

11) Um alfaiate tem, disponíveis, os seguintes tecidos: 16 de algodão, 11 de seda e 15 de lã. Para um terno são necessários 2 de algodão, 1 de seda e 1 de lã. Para um vestido, são necessários 1 de algodão, 2 de seda e 3 de lã. Se um terno é vendido por R$ 300,00 e um vestido por R$ 500,00, quantas peças de cada tipo o alfaiate deve fazer, de modo a obter lucro máximo?

12) Uma pessoa precisa de 10, 12 e 12 unidades dos produtos químicos A, B e C, respectivamente, para o seu jardim. Um produto líquido contém 5, 2 e 1 unidades de A, B e C, respectivamente, por vidro; um produto em pó contém 1, 2 e 4 unidades de A, B e C, respectivamente, por caixa. Se o produto líquido 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 possuía, há anos, 80 de tecido de algodão e 120 de tecido de lã. Um terno exigia 1 de algodão e 3 de lã e um vestido 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 caminhões possuía-os de dois tipos: o tipo A com 2de espaço refrigerado e 4 de espaço não-refrigerado e o tipo B com 3

refrigerados e 3 não-refrigerados. Uma fábrica de produtos alimentícios precisou transportar 90 de produto refrigerado e 120 de produto não-refrigerado. Quantos caminhões de cada tipo deve ter ela alugado, de modo a minimizar o custo, se (i) o aluguel do caminhão A era R$ 0,30 por quilômetro e o do B, R$ 0,40, (ii) o aluguel do caminhão A era R$ 0,30 por km e o do caminhão B, R$ 0,50 por km?

15) Uma companhia possuía duas minas: a mina A produzindo por dia 1 tonelada de minério de alto teor, 3 toneladas de minério de médio teor e 5 toneladas de minério de baixo teor; a mina B produzia por dia 2 toneladas de cada um dos teores. A companhia precisou de 80 toneladas de minério de alto teor, 160 de médio 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 dispõe 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 máximo? (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 proteínas, carboidratos e gorduras, respectivamente, sejam as necessidades semanais mínimas para um indivíduo. O alimento A contém, por quilo, 2, 6 e 1 unidades de proteínas, carboidratos e gorduras, respectivamente e o alimento B contém, 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

13

Page 14: PESQUISA_OPERACIONAL_APOSTILA

quilos de cada uma ele deve comprar por semana, de modo a minimizar seus gastos e atender às suas necessidades mínimas? (ii) Se o preço de A baixa para R$ 3,00 por quilo e B continua a R$ 1,60 por quilo, quantos quilos de cada ele deve, então, comprar?

18) Um padeiro dispõe de 150, 90 e 150 unidades dos ingredientes A, B e C, respectivamente. Um pão 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 pão, 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 preço de um pão sobe para R$ 0,45 e o preço de um bolo ainda é R$ 0,80, quantos de cada ele deve fazer e qual seria seu rendimento bruto?

19) Um fabricante dispõe de 240, 370 e 180 quilos de madeira, plástico e aço, respectivamente. O produto A requer 1, 3 e 2 quilos de madeira, plástico e aço, 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 máximo rendimento bruto? (ii) Se o preço de B baixa para R$ 25,00 e A permanece em R$ 20,00, quantos de cada ele deve, então, fazer, de modo a obter o máximo rendimento bruto?

20) Uma companhia precisava, certa época, de 9000, 12000 e 26000 barris de petróleo de alta, média e baixa qualidades, respectivamente. Ela possuía duas refinarias: A produzindo por dia 100, 300 e 400 barris de petróleo de alta, média 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 (dúzia) Quantidade diária mínima

A 0,25 (mg) 2 (mg) 10 (mg) 1 (mg)C 25 20 10 50D 2,5 200 10 10Custo unitário R$ 2,20 R$ 17,00 R$ 4,20Deseja-se calcular quais as quantidades de leite, carne e ovos, a fim de satisfazer as quantidades diárias mínimas de nutrientes (vitaminas) a um custo mínimo.

22) Uma firma pode fabricar os produtos A, B e C nas seguintes condições:Produto Lucro unitário Mão-de-obra por

unidadeCapital por unidade Poluição por

unidade produzidaABC

16107

1064

20168

1085

Redução Custo 1 1 2 - 1

14

Page 15: PESQUISA_OPERACIONAL_APOSTILA

de uma unidade de poluição

Total disponível160 unidades de mão-de-obra

Total disponível280 unidades de capital

Máximo permissível80 unidades de poluição

Como o processo industrial é poluidor, a firma também pode alocar recursos para reduzir a poluição de modo a não ultrapassar o máximo permissível de 80 unidades. Determine o lucro máximo total que a firma pode conseguir.

23) Uma tarefa é constituída de três operações: preparação, embalagem e transporte. As capacidades máximas diárias de cada seção são: preparação – 160 up (unidades de preparação); embalagem – 240 ue (unidades de embalagem); transporte – 170 ut (unidades de transporte). A manipulação 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 líquidos para cada unidade de A, B e C são, respectivamente, 10, 8 e 5. Determine o lucro máximo, sem ultrapassar as capacidades máximas das seções.

TEORIA DOS GRAFOS

A Teoria dos Grafos, que até há pouco tempo era considerada mais como um passatempo matemático, passou a ser muito estudada nas três ou quatro últimas décadas, em grande parte devido ao aparecimento dos computadores eletrônicos. Um computador armazena dados em “arquivos”. Freqüentemente, organizam-se esses arquivos de forma sistemática, segundo algum critério (por exemplo, se o arquivo for uma lista de nomes de pessoas com seus endereços, ele poderá ser ordenado – “indexado”, na terminologia de informática – segundo o nome da pessoa, seu endereço, seu CEP, etc.). Tais arquivos têm uma “estrutura de árvore”, ou seja, uma estrutura que é um certo tipo de grafo. Um problema importante é, então, o de determinar qual o “caminho” mais curto para chegar a um dos dados armazenados no arquivo. Os grafos também são importantes em Pesquisa Operacional, onde uma certa seqüência de operações pode ser representada por um grafo. Ainda em Pesquisa Operacional, um exemplo óbvio de grafo é o da rede de distribuição de energia elétrica de uma região (por exemplo, o Sudeste do Brasil) ou a rede de ruas de uma cidade.

15

Page 16: PESQUISA_OPERACIONAL_APOSTILA

Não podemos, além disso, esquecer que a Teoria dos Grafos, independentemente de suas aplicações importantes e variadas, é fonte de um grande número de problemas fascinantes, difíceis e de fácil enunciado.

DEFINIÇÃO 1: Um grafo é um conjunto finito de pontos chamados vértices e um conjunto finito de arcos chamados arestas, de forma que:1º) As extremidades de cada aresta são vértices (um ou dois) do grafo;2º) Duas arestas distintas ou são disjuntas ou possuem em comum somente extremidades, uma ou duas.

EX: B

A C

DEFINIÇÃO 2: Consideremos um conjunto X finito e uma relação R em X. Ao par ordenado (X, R) denominamos grafo e indicamos G = (X,R).

Ex: X = R =

OBS: A definição 1 nos conduz à idéia de grafo não orientado e a definição 2 de grafo orientado, ou seja, há uma orientação nas arestas.

VÉRTICES E ARCOS: Dado um grafo C = (X,R), a todo elemento x X denomina-se vértice 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 minúscula.OBS 2: Um arco no qual a origem e o extremo são iguais, chamamos de laçada.REPRESENTAÇÃO GRÁFICA

A representação gráfica de um grafo, para fins de apreciação visual, é feita através de um diagrama sagital. Ex: Seja representar graficamente o grafo do exemplo anterior:

ARCOS ADJACENTES

16

Page 17: PESQUISA_OPERACIONAL_APOSTILA

Dois arcos u = (x,y) e v = (x’, y’) são adjacentes se e só se x = x’, ou y = y’ ou x = y’ ou x’ = y e não são laços. Em outras palavras são adjacentes os arcos que tenham uma extremidade em comum.

Considerando o mesmo exemplo anterior, teríamos:

adj

VÉRTICES ADJACENTES

Dois vértices x e y são adjacentes se e só se são distintos e existe o arco (x,y) ou (y,x). Em outras palavras, vértice 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: adj

O conjunto de vértices adjacentes a x é expresso como

SUCESSOR de um vértice x é todo y que seja extremo final de um arco que parte de x. O conjunto dos sucessores é expresso como .

ANTECESSOR de um vértice x é todo y que seja extremidade inicial de um arco que termina em x. O conjunto dos antecessores de x é expresso como .

NOTAÇÃO DE BERGE

Uma notação bastante cômoda para os grafos é a empregada por Berge.Assim anotaremos: R {a} = {x / a R x} ou simplesmente .Da ilustração:

R{ } = { , }, R{ } = { , }, R{ } ={ }.

Nota-se que esta notação empregada para todos os elementos de X, descreve, determinando perfeitamente o grafo.

Pode-se empregar a mesma notação extendida para conjuntos: Da ilustração, temos: R{ , } = R{ } R { } = { , } { , } = { , , }.

17

Page 18: PESQUISA_OPERACIONAL_APOSTILA

ARCOS INCIDENTES

Consideremos um grafo G = (A,R) e um subconjunto B, não 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 emissão ou conjunto de exteriorização de B e indicamos com:

Ao conjunto dos arcos incidentes convergentes a B, chamamos de conjunto de recepção ou conjunto de interiorização de B e indicamos com:

OBS 1: Ao conjunto , denominamos de conjunto de arcos incidentes.OBS 2: No caso do conjunto B ser unitário, falamos de incidência a vértice:

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

c b

f B a d e A

18

Page 19: PESQUISA_OPERACIONAL_APOSTILA

Para fins de cálculo, associamos a um grafo uma matriz; há 3 tipos de matrizes mais habitualmente usadas:

MATRIZ LATINA: É usada em problemas de enumeração de caminhos.

Seja o grafo:

MATRIZ DE ADJACÊNCIA: É uma matriz n x n, booleana, e definida pelas relações:

Do exemplo anterior: A =

É a mais comumente utilizada, embora não seja a maneira mais econômica de se definir um grafo para uso computacional.

A maneira mais econômica para se representar um grafo é através da chamada lista de adjacência

A lista de adjacência é a especificação do grafo com o conhecimento de , ou de todos os seus vértices, ou seja, do conjunto dos sucessores, antecessores ou dos adjacentes.

EX: Representar o grafo, sabendo-se que:

19

Page 20: PESQUISA_OPERACIONAL_APOSTILA

MATRIZ DE INCIDÊNCIA: É uma matriz n x m, na qual cada coluna (m) corresponde a um arco (u) e cada linha (n) um vértice (x). É definida pelas relações:

, se o vértice é extremidade inicial do arco u., se o vértice é extremidade final do arco u. , em todos os outros casos. (caso não seja adjacente)

EX:

B =

SEMI-GRAU

Define-se semi-grau positivo (emissão) e semi-grau negativo (recepção) de um vértice a, por:

e

Ao número , chamamos grau do vértice a.

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

20

Page 21: PESQUISA_OPERACIONAL_APOSTILA

a b c d e f2 2 1 1 2 22 1 1 3 1 24 3 2 4 3 4

Utilizando uma matriz booleana, a soma em linha fornece e a soma em coluna fornece .

SUBGRAFO

Um grafo é subgrafo de G = (A,R) se e só se B A e R’ = (B x B) R.Um subgrafo é obtido, portanto, pela supressão de vértices de G e dos arcos adjacentes a esses vértices. A definição de subgrafo corresponde ao cancelamento, na matriz de adjacência de G, das linhas e colunas correspondentes aos vértices a serem suprimidos.

c b f EX: G = (A,R) a

d

e

c b

= (B,R’) a

21

Page 22: PESQUISA_OPERACIONAL_APOSTILA

CADEIAS

Uma cadeia é uma seqüência de arcos (arestas) de um grafo, tal que cada arco (aresta) tem:- Uma extremidade em comum com o arco (aresta) antecedente (à exceção do

primeiro);- A outra extremidade em comum com o arco (aresta) subseqüente ( à exceção do

último).

Como não se especifica de quais extremidades se trata, o conceito de cadeia é não orientado; por isso se pode falar de uma cadeia constituída de arestas, em um grafo não orientado.Uma cadeia pode ser representada pela seqüência de arestas que a constituem ou dos vértices que ela encontra:

ou

CAMINHO

Um caminho é uma cadeia na qual todos os arcos possuem a mesma orientação; o conceito de caminho é, portanto, orientado e não tem sentido em um grafo não orientado.A notação é a mesma usando-se parênteses ao invés de colchetes.

ou

Uma cadeia (caminho) é dita elementar se não passar duas vezes pelo mesmo vértice e simples se não passar duas vezes pela mesma aresta (arco).

CICLO

Ciclo é uma cadeia simples na qual os vértices 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 vértices é dito hamiltoniano.

EXEMPLOS DE CADEIAS a g = [ a, b, c, d ] = [c, d, e, f, d]

b f simples e elementar simples e não-elementar d

c eEXEMPLOS DE CICLOS: = [c, d, b, c] = [c, d, e, f, d, b, c]

22

Page 23: PESQUISA_OPERACIONAL_APOSTILA

EXEMPLOS DE CAMINHOS = (b, c, d, f) simples e elementar a g f = (c, d, f, e, d, g) simples e não elementar d = (a, b, c, d, b, c) não simples e não elementarb e cEXEMPLOS DE CIRCUITOS

= (d, f, e, d)

= (b, c, d, f, e, d, b)

COMPRIMENTO E DESVIAÇÃO

Diz-se que o comprimento de um caminho (ou cadeia) é o número de seus arcos ( ou arestas).

EX:Do exemplo anterior, temos: l( ) = l (b, c, d, f) = 3 l( ) = 4 l( ) = 5

O caminho de comprimento mínimo de um vértice x a um vértice y é a geodésica de x a y.

O comprimento de uma geodésica é a desviação de x e y.

MATRIZ DE DESVIAÇÕES

Seja D = a matriz de desviações . Para a obtenção de D, utiliza-se o seguinte algoritmo:

F1: Computam-se as potências sucessivas até (n – 1) da matriz associada ao grafo. (n = nº de vértices);F2: Toma-se: = menor expoente p para o qual . = se e só se p n – 1, .

EX: Determinar as desviações do grafo:

23

Page 24: PESQUISA_OPERACIONAL_APOSTILA

Matriz associada ao grafo:

Da observação, por exemplo, da linha 3, concluímos que as geodésicas para , , , e de têm, respectivamente, os comprimentos 2, 1, 3, 3 e 2, enquanto que da observação

da coluna 4, por exemplo, obtemos que as geodésicas ao vértice , respectivamente dos vértices , , e , têm os comprimentos 1, 2, 3 e 1.

CENTRO, RAIO E DIÂMETRO

24

Page 25: PESQUISA_OPERACIONAL_APOSTILA

Afastamento de um vértice é a maior distância existente a partir de . e( ) = max d(i,j), i jO afastamento fornece uma idéia da maior ou menor “centralidade” de um vértice. Por isso: - um vértice periférico é um vértice de afastamento máximo; - um CENTRO é um vértice de afastamento mínimo.O afastamento pode ser obtido diretamente da matriz D de distâncias.

Em uma rede de comunicações, a localização de um ponto importante (um centro de transmissões, por exemplo) em um centro do grafo representativo da rede é, a priori, uma providência no sentido de procurar reduzir ao mínimo o número de transmissões de mensagens ou de equipamentos de conexão envolvidos.

RAIO (g) de um grafo é o afastamento de um centro de G.

DIÂMETRO (g) de um grafo é o afastamento de um vértice periférico, ou seja, o maior afastamento possível em um grafo.

Conclui-se que o diâmetro é finito e o seu valor corresponde ao número de etapas a serem vencidas por uma comunicação qualquer, a partir de um vértice qualquer, para que o vértice mais distante seja por ele atingido.

POTÊNCIAS DA NOTAÇÃO DE BERGE

para n 2para n = 1

para n 2 ( n Z )

bEX: Seja o grafo: a

e

d c

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

para n 2.

{c} = {b, c, e}{c} = {b, c, e} = {b} {c} {e} = {a, e} {b, c, e} ={a, b, c,

e}{c} = {a, b, c, e} = {a} {b, c, e} ={a} {a, b, c, e} {c}={a, b, c, e}

25

Page 26: PESQUISA_OPERACIONAL_APOSTILA

para n 2.

FECHO TRANSITIVO DE EMISSÃO

Define-se fecho transitivo de emissão relativo ao vértice a por:

Diz-se para todo x que é atingível do vértice a.

Costuma-se também considerar o fecho reflexo-transitivo de emissão, incluindo-se necessariamente no fecho o próprio vértice a.

= {a} , que seria o mesmo que definir:

, com R°{a} = {a}, portanto com R° = I (identidade).

FECHO TRANSITIVO DE RECEPÇÃO

Define-se fecho transitivo de recepção relativo ao vértice a por:

EX: Dado o grafo: e d a c b Determinar os fechos transitivos de emissão e de recepção do vértice b.

= {b, c, d, e}

= {a, b, c}

OPERAÇÕES MATRICIAIS

Define-se para o conjunto de valores 1 e 0 a adição e multiplicação booleana pela tabela:

x y x y x y1 1 1 11 0 1 0

26

Page 27: PESQUISA_OPERACIONAL_APOSTILA

0 1 1 00 0 0 0

ADIÇÃO MATRICIAL BOOLEANA

Dadas as matrizes booleanas M = e N = , define-se soma booleana por:

M N = = com

MULTIPLICAÇÃO MATRICIAL BOOLEANA

Dadas as matrizes booleanas M = e N = , define-se produto booleano segundo Cauchy por:

M N = =

com

EX: Dadas as matrizes booleanas:

, e , determinar:

a) M N b) N P

a) M N =

b) N P =

POTÊNCIA MATRICIAL BOOLEANA

Escrevemos para comodidade as multiplicações de uma matriz por si mesma em notação de potência:

27

Page 28: PESQUISA_OPERACIONAL_APOSTILA

e

1º TEOREMA DE FESTINGER (Leon Festinger–1949)– P/ CÁLCULO BOOLEANO

Em um grafo G = (A, R), o elemento da potência booleana p-ésima da matriz M associada a G é 1 se e só se existe um caminho de comprimento p do vértice ao vértice .

EX: Considere o grafo: d

a c b e f

Determinando a matriz associada ao grafo, temos:

M =

Fazendo as potências booleanas encontra-se, por exemplo:

28

Page 29: PESQUISA_OPERACIONAL_APOSTILA

Assim, observando a linha 3 da , por exemplo, podemos afirmar que c atinge com caminhos de comprimento 4, os vértices b, d, e e f, mas não atinge a e c.

Também observando a comuna 2 da , podemos afirmar que o vértice b é atingível com caminhos de comprimento 4 pelos vértices a, b, c, e d, mas não pelos vértices e e f.

MATRIZ DE ATINGIBILIDADE

Com o teorema de Festinger, a soma: fornece uma matriz

com tal que: se e só se existir um caminho de a , pois

se e só se existir um .Em resumo, a soma booleana matricial anterior fornece a matriz dos fechos transitivos de

emissão, denominada matriz de atingibilidade: .

EX: Considerando o grafo anterior, para se determinar a matriz de atingibilidade, basta adicionar as matrizes já determinadas.

Calculando: , obtemos a matriz:

Analisando a matriz, verificamos que os vértices:a) a , b, c e d atingem todos os vértices com exceção de c;b) e e f só atingem a eles próprios;c) c não é atingível.

OBS: Observe das interpretações que fizemos, que a matriz dos fechos transitivos de recepção é obtida fazendo a transposta de , isto é, .

2º TEOREMA DE FESTINGEREm um grafo G = (A, R), o valor de da potência p-ésima da matriz M associada a G é igual ao número de caminhos de comprimento p do vértice ao vértice .

EX: Considerando o mesmo grafo anterior, teremos, por exemplo:

29

Page 30: PESQUISA_OPERACIONAL_APOSTILA

Observando a linha 6 de , 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 noção de conexidade corresponde ao “estado de ligação” dos vértices de um grafo, ou seja, à possibilidade de se transitar de um a outro vértice.

DEFINIÇÂO: Um grafo é conexo se dois quaisquer de seus vértices podem ser unidos por um caminho.

TIPOS DE CONEXIDADE

Os grafos conforme a existência ou não de caminhos “ligando” os seus vértices apresentam tipos de conexão, 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 não existe uma cadeia de x a y.

OBS 1: Observe que nas definições III e IV considera-se o grafo não orientado correspondente.

OBS 2: A qualquer grafo satisfazendo a I ou II ou III dizemos que é conexo.

EXEMPLOS:

G1 a G2 a

30

Page 31: PESQUISA_OPERACIONAL_APOSTILA

e e d b f b c f c dG1 = Fortemente conexo G2 = unilateralmente conexoG3 a G4 a e e b b

f f c d

d cG3 = fracamente conexo G4 = desconexo

DETERMINAÇÃO DE COMPONENTES FORTEMENTE CONEXAS

a) Algoritmo Natural

Pela DEF I ressalta de imediato que em uma dada componente C fortemente conexa dois vértices quaisquer são atingidos reciprocamente pela existência de caminhos nos dois sentidos, portanto, a cada elemento x C estão relacionados elementos y tais que y

{x} e se y C devemos ter y . Resulta que y . Para não excluir x pode se tomar {x} no lugar de {x}.

ALGORITMO

F.1. Toma-se um vértice arbitrário de A.F.2. Calcula-se { }.

F.3. Calcula-se .

F.4. Calcula-se { } que será a componente fortemente conexa que possui .

F.5. Elimina-se os vértices de de A e repetem-se as fases para o subgrafo.

EX: Seja o grafo: a f b d e g c

31

Page 32: PESQUISA_OPERACIONAL_APOSTILA

h iF.1. Tomamos o vértice f por exemplo.F.2. Calculamos {f} = {f, e, c, h, g, i}

F.3. Calculamos = {f, e, d, a, b}

F.4. Calculamos {f} = {f, e} e temos a componente = {f, e}

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

F.1. Tomamos o vértice d por exemplo e repetindo as fases temos a componente = {a, b, d}.

F.1. Tomamos o vértice h por exemplo e repetindo as fases temos a componente ={g, h}

F.1. Tomamos o vértice c por exemplo e repetindo as fases temos a componente

F.1. Tomamos o vértice i por exemplo e repetindo as fases temos a componente

b) Algoritmo de Malgrange – Tomescu (1967)

1) Toma-se a matriz booleana associada ao grafo com uma coluna emoldurante para o fecho transitivo de emissão e seguem-se as seguintes fases:

F.1. Escolhemos um vértice 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 vértices 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 não seja possível continuar.F.5. Coloca-se uma cruz na coluna para os não assinalados.

2) Toma-se uma linha emoldurante para o fecho transitivo de recepção e seguem-se as fases:

F.1. Tomamos 0 para o vértice escolhido anteriormente.F.2. Procedemos analogamente às fases anteriores (agora observando as colunas).

3) Os assinalados da coluna emoldurante constituem {x} e os assinalados da linha

emoldurante constituem . Fazemos a interseção, obtendo a componente fortemente conexa que possui x.

4) Eliminem-se os vértices dessa matriz e trabalha-se analogamente com a submatriz obtida.

32

Page 33: PESQUISA_OPERACIONAL_APOSTILA

EX: Considere o grafo anterior:

1) Iniciamos com f

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

={a, b, d, e f}

= {f, e}

2) Iniciamos com da b c d g h i

a 1 1 1b 1 1 1 2c 1 1 3d 1 0g 1 Xh 1 1 Xi 4

1 1 X 0 X X X, ,

3) Iniciamos com hc g h i

c 1 1 Xg 1 1h 1 1 0i 1

X 1 0 X , ,

4) Iniciamos com cc i

c 1 1 0i 1

0 X , , ,

c) Algoritmo de Bernard Roy ( 1961)

a b c d e f g h ia 1 1 1 Xb 1 1 1 Xc 1 1 2d 1 1 Xe 1 1 1 1f 1 0g 1 3h 1 1 2i 3

1 3 x 2 1 0 x x x

33

Page 34: PESQUISA_OPERACIONAL_APOSTILA

F.1. Escolhe-se um vértice arbitrário e marca-se o sinal .F.2. Se um vértice é marcado + marca-se com + todos os pontos R{x}.F.3. Se um vértice é marcado – marca-se com – todos os pontos de .F.4. Todos os vértices assinalados com duplo sinal, constituem uma componente conexa.F.5. Elimina-se os vértices da componente e repete-se o processo.EX: Iniciamos com f a- f . - b d- e . g + + c h i + = {f, e} Iniciamos com d a. . b d. g + c h i + Iniciamos com h g c h i + Iniciamos com c c i +

, d) Algoritmo Matricial

Aprendemos a calcular a matriz de atingibilidade ou matriz dos fechos transitivos de emissão, que fazendo a transposta fornece os fechos transitivos de recepção.Façamos o produto direto dessas matrizes:

34

Page 35: PESQUISA_OPERACIONAL_APOSTILA

com se e só se e , ou que se e só se atinge e atinge .

Este resultado nos fornece a seguinte conclusão:

Dada uma linha i todos os valores unitários dessa linha determinam os vértices da mesma componente fortemente conexa com .

Como podemos trabalhar com os vértices como se laçadas houvessem, o algoritmo se simplifica, pois:

Deste modo no lugar de calcularmos as diversas potências de M e depois adicionarmos, primeiramente adicionamos a matriz identidade e calculamos as potências sucessivas.

EX: Seja o grafo anterior (n = 9)

1 1 1 11 1 1

1 11 1 1

1 1 1 11 1

1 11 1 1

1

1 1 1 1 1 11 1 1 1 1 1

1 11 1 1 1 1 1

1 1 1 1 1 11 1 1 1

1 1 11 1 1

1

1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1

1 11 1 1 1 1 1 1 1 1

1 1 1 1 1 11 1 1 1 1 1

1 1 11 1 1

1

1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1

1 11 1 1 1 1 1 1 1 1

1 1 1 1 1 11 1 1 1 1 1

1 1 11 1 1

1 35

Page 36: PESQUISA_OPERACIONAL_APOSTILA

1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 X 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1

=1 1 11 1 1

11 1 1

1 11 1

1 11 1

1

De onde obtemos as componentes fortemente conexas:= {f, e}

ÁRVORES

Definição: Um grafo finito não orientado é uma árvore se e só se é conexo e sem ciclo.

EX:G1 G2

36

Page 37: PESQUISA_OPERACIONAL_APOSTILA

G1 é árvore G2 não é árvore ( possui ciclo )

G3

G3 não é árvore ( é desconexo )

Se um grafo é árvore com N vértices, então possui N – 1 arestas.

Se um grafo é sem ciclo e possui N – 1 arestas, então é conexo e, portanto, é árvore.

TRAÇOS SOBRE ÁRVORES a e f lUm problema clássico é da determinação do número mínimo de traços suficientes para d se cobrir toda uma árvore. Assim, para a b g kárvore ao lado é fácil verificar-se que onúmero mínimo de traços é 4 que poderiam ser: c h i j m

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

Indiquemos com o número de vértices de grau par 2j e com o número de vértices de grau ímpar 2i + 1. Portanto indica o número de vértices de “impasse”, pois possuem grau 1 (os outros vértices são transmissores).

Coloquemos:

; ; ;

TRAÇOS PARA ESTRELAS

Entende-se estrelas a árvores com todos os vértices de grau 1, exceto um com grau n – 1.

37

Page 38: PESQUISA_OPERACIONAL_APOSTILA

a) Estrela par b) Estrela ímpar

Para estrelas pares com o ponto central de grau 2j, o número de traços é j; assim para a ilustração a) o grau é 6, portanto o número de traços suficientes é 3. Para estrelas ímpares com o ponto central de grau 2i + 1, o número de traços é i + 1; assim para a ilustração b) o grau é 5 e o número de traços suficientes é 3.

TRAÇOS PARA ÁRVORES

Uma árvore pode ser pensada como um conjunto de estrelas (pares ou ímpares) ligadas pelos pontos centrais.

Para as estrelas pares o número de traços é e para as estrelas ímpares é

; mas como a árvore é conexa, ao ligarmos duas estrelas ganha-se um traço

(aquele em continuação); ligando-se todas as k estrelas ganha-se k – 1 traços, portanto o número de traços é dado por:

mas M + N = K, portanto: T = P + I – M + 1 , chamada fórmula de Sainte-Lagué (1926).

EX: Seja a árvore: q a n s u p t

m r z

b o v x y

38

Page 39: PESQUISA_OPERACIONAL_APOSTILA

c e h l

i j

d f g k

g vértices nº1 a, c, d, f, g, k, l, n, o, q, r , v,

u, y, z15

24

i, sb, m, t

23

35

e, h, j, xp

41

M = 2 + 3 = 5P = 1.2 + 2.3 = 8I = 1.4 + 2.1 = 6

T = P + I – M + 1 = 8 + 6 – 5 + 1 = 10

Enumeração: ([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 MÍNIMO

Em problemas de interligação (comunicações, redes de luz, água, esgotos etc) há interesse em se proceder à interligação de todos os pontos atendidos com o consumo mínimo de meios. Nos casos em que o benefício prestado aos usuários é distribuído a todos simultaneamente, o problema pode ser modelado por um grafo que represente todas as possibilidades de interligação (grafo suporte), procurando-se, a seguir, uma árvore parcial de valor mínimo desse grafo. O grafo suporte é, evidentemente, não orientado e valorado, podendo os valores representar custos, comprimentos etc.

Há diversos algoritmos para obtenção de uma árvore parcial (ou geradora) de valor mínimo, 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 programação é, no entanto, desvantajosa em relação ao outro método.

39

Page 40: PESQUISA_OPERACIONAL_APOSTILA

Dado um grafo G = (A, R) não orientado e valorado, constrói-se a árvore parcial, partindo-se do grafo trivial e adicionando-se interativamente a aresta de menor valor que não forme ciclo com as já escolhidas.

EX: Seja o grafo: 4 4 b c b c 3 6 2 3 2 7 5 6 a 5 g d a 5 g d 6 4 8 9 10 4 6

f e f e 7

a b c d e f ga 3 (II) 4 (IV) 5 (V)b 4 (III)c 2 (I)d 10e 7 6 (VI)f 8g

A seqüência 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 execução do algoritmo.ALGORITMO DE DIJKSTRA

Este algoritmo trabalha com uma única sub-árvore parcial, que recebe, a cada interação, o vértice adjacente mais próximo. A lista de distâncias mínimas dos vértices adjacentes à sub-árvore é, então, atualizada levando-se em conta o ingresso do último vértice. O processo é repetido até que a sub-árvore possua n – 1 arestas.

EX: Considere o grafo anterior.

Inicialização: [ c, d] (2)Vértices adjacentes: b e f gDistâncias mínimas: 4 10 9 6

Vértice a incluir: b via [b, c] de valor 4

Vértices adjacentes: a e f gDistâncias mínimas: 3 10 7 5

40

Page 41: PESQUISA_OPERACIONAL_APOSTILA

Vértice a incluir: a via [a, b] de valor 3

Vértices adjacentes: e f gDistâncias mínimas: 10 4 5

Vértice a incluir: f via [a, f]

Vértices adjacentes: b c d e gDistâncias mínimas: 3 8 9 7 5

Vértice a incluir: g via [a, g], pois b já está incluído

Vértices adjacentes: b c e fDistâncias mínimas: 5 6 6 8

Vértice a incluir: e via [e, g], pois b e c já estão incluídos.

Pode-se notar que este algoritmo trabalha por inclusão de vértices, cada vértice podendo levar apenas uma aresta à árvore; logo não há preocupação com a formação de ciclos.

EXERCÍCIOS

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 notação de Berge;b) Forneça R{a, c} e R{b, d}.

2) Faça as representações do grafo do exercício 1:a) Sagital;b) Matriz latina;c) Matriz booleana (matriz de adjacência);d) Matriz de incidência.

3) No grafo do exercício 1, forneça:a) Arcos adjacentes ao arco (b,c);b) Vértices adjacentes ao vértice c.

41

Page 42: PESQUISA_OPERACIONAL_APOSTILA

4) No grafo do exercício 1, forneça:a) {a, b}b) {a, b}c) {a, c}d) {d, c}e) f) g) h) i) j)

5) Para o grafo dado pela representação abaixo:a) Dê a representação sagital;b) Dê um subgrafo

a b c d e fa 1 1 0 0 1 0b 0 1 1 0 0 1c 1 0 1 1 0 0d 0 1 0 1 1 0e 0 0 1 0 1 1f 1 0 0 1 0 1

6) Para o grafo do exercício 5 dê exemplo de:a) Caminho simples e elementar;b) Caminho simples e não elementar;c) Caminho não simples e não elementar.

7) Em relação ao grafo do exercício 5, se existir circuito, indique.

8) Em relação ao exercício 6 dê o comprimento dos caminhos exemplos escolhidos. Dê a geodésica de c a f.

9) Para o grafo dado pela representação abaixo:a) Dê a representação sagital;b) Descreva-o na notação de Berge;c) Determine (c) e (c);d) {b, d}e) {b, d}

42

Page 43: PESQUISA_OPERACIONAL_APOSTILA

10) Para o grafo do exercício 9, dê um exemplo de caminho não simples e elementar e um de circuito.

11) Determine a matriz de desviação do grafo do exercício 1 e indique:a) A geodésica de a a c;b) A geodésica de b a d.

12) Determine a matriz de desviação do grafo do exercício 5 e indique:a) A geodésica de a a f;b) A geodésica de c a e;c) A geodésica de b a d.

13) Determine a matriz de desviação do grafo do exercício 9 e indique:a) A geodésica de a a e;b) A geodésica de b a f;c) A geodésica de c a d.

14) Para o grafo do exercício 1, indique 2 subgrafos.

15) Para o grafo do exercício 9, indique 3 subgrafos.16) Dados os grafos, calcule as potências solicitadas:

b gG1 G2

a c a f e e

h d b d

f g c

a) {a}b) {e}c) {f}d) {g}e) {c}

43

Page 44: PESQUISA_OPERACIONAL_APOSTILA

f) {d}g) {f}h) {g}

17) Para os grafos do exercício 16, calcule os fechos transitivos de emissão relativos aos vértices:

a) ab) bc) fd) g

18) Para os grafos do exercício 16, calcule os fechos transitivos de recepção relativos aos vértices:

a) db) ec) fd) g

19) Para os grafos do exercício 16, calcule:

a) e forneça para cada uma, três interpretações de valores;

b) e forneça para cada uma, duas interpretações de valores.20) Para os grafos do exercício 16, calcule:

a) As matrizes de atingibilidade e interprete pelo menos 3 valores de uma linha;b) As matrizes dos fechos transitivos de recepção e interprete pelo menos 3 valores de

uma linha.

21) Dados os grafos:

G1 a b G2 a b

f c h c

g d e d

f e

Calcule e enumere os caminhos de comprimento:

44

Page 45: PESQUISA_OPERACIONAL_APOSTILA

a) 3b) 4c) 5

22) Para os grafos do exercício 21, determine:

a) {b}b) {c}c) {d}d) {f}

23) Para os grafos do exercício 21, determine:

a) Os fechos transitivos de emissão relativos aos vértices a e e;b) Os fechos transitivos de recepção relativos aos vértices c e d.

24) Para os grafos do exercício 21, determine:

a) As matrizes dos fechos transitivos de emissão (atingibilidade) e interprete os valores de uma coluna;

b) As matrizes dos fechos transitivos de recepção e interprete os valores de uma coluna.

25) Dê os tipos das conexidades dos grafos: a ba) b b) a d c

g h c e

e f

f d

c) d d) h b c a e a h c e d

45

Page 46: PESQUISA_OPERACIONAL_APOSTILA

i f f b g g

e) c b a f d e g m h

i l j k 26) Determine as componentes fortemente conexas dos grafos:

a) k b) a c i j a f j d k p b b g i l e o

c e f h n h m

d g 27) Determine as componentes fortemente conexas dos grafos:a) G1

a b c d e f ga 1 1 1b 1 1c 1 1 1d 1 1e 1 1f 1 1 1g 1b) G2

46

Page 47: PESQUISA_OPERACIONAL_APOSTILA

a b c d e f g ha 1 1 1 1b 1 1 1c 1 1 1d 1 1 1e 1 1 1 1f 1 1 1g 1 1 1h 1 1 1 1c) G3

a b c d e f g h ia 1 1 1 1b 1 1 1 1c 1 1d 1e 1 1 1f 1 1 1g 1 1h 1 1i 1 128) Determine o número de traços suficientes para cobrir as árvores:a) b)

29) Determine a árvore parcial de valor mínimo: 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 mínimo:

47

Page 48: PESQUISA_OPERACIONAL_APOSTILA

b 7 7 5 5 a 2 f 1 g 3 c 6 6 8 h 8 4 4 e 3 d31) Determine a árvore parcial de valor mínimo: 6 b 4 g 6 9 j 6 8 d 2 6 f 8 8 c 3 5 6 h 7 6 a 5 4 e 9 i

48