UNIDADE I PROGRAMAÇÃO LINEAR INTEIRA

Tamanho: px
Começar a partir da página:

Download "UNIDADE I PROGRAMAÇÃO LINEAR INTEIRA"

Transcrição

1 UNIDADE I PROGRAMAÇÃO LINEAR INTEIRA 1) INTRODUÇÃO Os problemas de Programação Linear Inteira podem ser entendidos como casos específicos da Programação Linear (conjunto solução contínuo), onde todas, ou parte, das variáveis de decisão devem ser inteiras. Quando se usa esta classe de modelos é importante se ter mente o grau de dificuldade associado à sua solução. No entanto, isto não quer dizer que problemas que exijam computadores com alta capacidade computacional não possam ser resolvidos em um tempo aceitável. Mesmo que a solução ótima não seja encontrada, é possível obter boas soluções viáveis e mostrar quão próximo da solução ótima podem estar. Um problema de programação linear inteira pode apresentar as seguintes situações: Todas as varáveis de decisões são inteiras: são problemas denominados Problemas de Programação Linear Inteira Pura PLIP; Parte das varáveis de decisões são inteiras: são problemas denominados Problemas de Programação Linear Inteira Mista PLIM; Todas as varáveis de decisões são binárias: são problemas denominados Problemas de Programação Linear Inteira Binária PLIB; Parte das varáveis de decisões são binárias: são problemas denominados Problemas de Programação Linear Inteira Binária Mista PLIBM. O modelo formal pode ser expresso por: Prof. Marcelo Sucena Página 1 de 56

2 2) FORMAS PARA RESOLVER PROBLEMAS PLI Inicialmente, pode-se propor a solução de problemas de programação linear inteira por arredondamento ao final da aplicação de um método de programação linear, como por exemplo, pelo Simplex. Para tanto, deve-se ignorar, temporariamente, a restrição que impõe que as variáveis de decisão devam ser inteiras. Caso a resposta não seja um número inteiro, deve-se arredondá-la. Uns dos maiores problemas desta forma de resolver problemas de PLI é que o arredondamento pode não redundar em uma solução ótima (ver figura adiante). Outra abordagem é o método de enumeração que, pela avaliação das soluções viáveis, escolhe-se a melhor, ou seja, para problemas de maximização, a maior; para os de minimização, a menor. Um dos maiores entraves para a aplicação deste método é de ser impraticável para problemas reais que geralmente envolvem várias variáveis de decisão (observe o item 2 a seguir). Devem-se considerar algumas observações: 1) O número de soluções em um problema de PLI é finito, mas isto não implica que seja fácil de resolver; 2) Num problema de PLIB com n variáveis há 2 n soluções, por isso, para alguns problemas, fica impossível enumerar todas as soluções; ) Os melhores algoritmos não podem garantir a solução de todos os problemas, mesmo relativamente pequenos (< 100 variáveis); 4) Para os valores que são suficientemente grandes para que o arredondamento não introduza erros significativos, pode-se até pensar neste artifício matemático; Para exemplificar, o gráfico a seguir expõe uma situação onde as soluções arredondadas não são viáveis. Em destaque a Região das Soluções Viáveis (RSV) de um problema de PL. Prof. Marcelo Sucena Página 2 de 56

3 RSV Solução ótima para a relaxação linear Fonte: Silva (2001) O próximo gráfico apresenta uma situação em que a solução arredondada está longe da ótima: Solução ótima para o problema de PLI Solução ótima para a relaxação linear RSV ) BRANCH-AND-BOUND Fonte: Silva (2001) Como qualquer problema puro de PLI tem quantidade finita de soluções possíveis, deve-se considerar a utilização de um método de enumeração para encontrar um valor ótimo. Para esses casos, infelizmente a quantidade de possíveis soluções é, geralmente, muito grande, sendo então fundamental que o método utilizado seja suficientemente estruturado para que apenas uma pequena parte das soluções possíveis sejam realmente examinadas. O método Branch-and-Bound (em português, particionar e limitar as partições ) é um algoritmo que apresenta essa qualidade. Como os problemas de PLI são relativamente grandes, para resolvê-los diretamente deve-se Prof. Marcelo Sucena Página de 56

4 dividi-lo em sub-problemas cada vez menores, até que estes possam ser solucionados. Sendo assim, a idéia é desenvolver uma enumeração inteligente dos pontos candidatos (nós) em busca da solução ótima inteira do problema, por meio da partição do espaço e avaliação progressiva das soluções. A forma de divisão em problemas menores parte do princípio da separação de uma das variáveis de decisão inteiras, em um problema relaxado, utilizando-a em restrições contraditórias, criando uma espécie de ramificação (a partir de um nó), como em uma árvore. Uma das formas de relaxação consiste em, temporariamente, ignorar as restrições de integralidade do problema de PLI, tornando-o um problema de PL, ficando, portanto, mais simples de resolver. A partir deste, pode-se usar para resolvê-lo o método Simplex. Deve-se considerar que o conjunto de soluções viáveis do problema original (PLI) esteja contido no conjunto de soluções viáveis do problema relaxado (PL), como exemplificada na figura adiante, implicando em: a) Se o problema relaxado não tem solução viável, então o problema de PLI também não tem; b) O valor mínimo do problema de PLI não é menor que o valor máximo do problema relaxado; c) Se uma solução ótima do problema relaxado é viável no problema de PLI, então ela é uma solução ótima do problema de PLI. À esquerda, o conjunto de soluções de um problema de PLI e à direita, a RSV de um problema de PL. Fonte: Silva (s/d) A escolha do ponto (nó) para ramificação da árvore pode-se ser efetuada, dentre as várias técnicas, nas seguintes: Prof. Marcelo Sucena Página 4 de 56

5 Jumptracking: implementa uma busca em largura (figura a seguir), onde um nó com o mínimo limite inferior é selecionado para examinação. Nesta estratégia o processo de ramificação salta de um ramo para outro na arvore de busca. Backtracking: implementa a busca em profundidade (figura a seguir), onde os nós descendentes de um nó pai são examinados em uma ordem arbitrária ou em ordem de limites inferiores não-decrescentes. Nesta estratégia, primeiramente prossegue-se até o nível mais baixo por algum caminho para encontrar uma solução tentativa e então refazer aquele caminho para cima até o primeiro nível com nós ativos e assim por diante. É fácil notar que a estratégia jumptracking tende a construir uma grande lista de nós ativos, enquanto backtracking mantém relativamente uns poucos nós na lista a qualquer momento. Uma vantagem do jumptracking é a qualidade de suas soluções tentativas, que são geralmente muito mais próximas do ótimo do que soluções geradas por backtracking, especialmente nos estágios iniciais da busca. Busca em profundidade (Backtracking) Busca em Largura (Jumptracking) Variantes Híbridas Na análise dos pontos candidatos faz-se necessário determinar quais são os pontos promissores, ou seja, aqueles que devam ser examinados ou descartados para análises futuras. Esta análise segue o seguinte critério: d) O problema candidato relaxado (PL) não tem solução viável. Devido ao item a anterior, o problema candidato (PLI) também não tem solução viável; e) A solução ótima do problema candidato relaxado é pior do que a melhor solução atualmente conhecida. Observar que a solução ótima do problema candidato relaxado é sempre melhor ou igual à solução do problema candidato e de seus descendentes. e.1) Num problema de maximização, o máximo do problema relaxado constitui o limite superior para o máximo do problema original; Prof. Marcelo Sucena Página 5 de 56

6 e.2) Num problema de minimização, o mínimo do problema relaxado constitui limite inferior para o mínimo do problema original. f) Uma solução ótima do problema relaxado é viável, também é no problema candidato. Devido ao item c anterior, ela também é ótima no problema candidato. Como uma solução viável de qualquer dos subproblemas é também uma solução viável do problema, então a solução é também factível. Caso a solução seja melhor que a atual, a solução deste problema ocupará a posição de melhor solução atual, descartando a anterior. O próximo exemplo, exposto por Silva (2001), apresenta a aplicação do método Branch-and-Bound para variáveis de decisão binárias (PLIB). Exemplo 1: Solução: Quando se lida com variáveis binárias, a forma mais simples de particionar o problema é fixar o valor de uma das variáveis, como por exemplo, x 1 =0 e x 1 =1 Fazendo-se a substituição de x 1 no problema inicial obtém-se dois novos sub-problemas. Estes novos problemas são mais simples (ou menores...) do que o inicial. Para x 1 =0 Para x 1 =1 Prof. Marcelo Sucena Página 6 de 56

7 Para os sub-problemas anteriores, pode-se estruturar uma árvore denominada de solução ou de enumeração. A figura a seguir apresenta esta árvore. Z X1 0 1 Existem muitos métodos sofisticados para se fazer esta ramificação, embora neste exemplo fosse considerada a escolha das variáveis na sua ordem natural. Para cada um desses sub-problemas faz-se necessário calcular um limite à qualidade da sua melhor solução. Isto é geralmente resolvido por uma versão simplificada (relaxada) do problema. Esta relaxação é geralmente obtida eliminando uma ou mais restrições de integralidade do problema. Por exemplo: a) Para o caso de maximização, conforme o item e.1 anterior: f(x) 8.77 Fonte: Silva (s/d) Prof. Marcelo Sucena Página 7 de 56

8 b) Para o caso de minimização, conforme o item e.2 anterior: f(x) 24.8 Fonte: Silva (s/d) Voltando-se para o problema, para se obter a solução inicial relaxada do problema de PLIB, substitui-se a restrição natural (última linha do modelo) por 0 x j 1. Resolvendo-se pelo método Simplex, usando o software Lindo (figura a seguir) chega-se ao seguinte resultado: x 1 =0,8; x 2 =1;x =0;x 4 =1; Z=16,5 Prof. Marcelo Sucena Página 8 de 56

9 Portanto Z deve ser menor ou igual a 16,5. Como Z deve ser um número inteiro, arredonda-se a solução para 16. Tomando-se agora os dois subproblemas (x 1 =0 e x 1 =1) propostos anteriormente, chega-se a seguinte solução: Para x 1 =0: x 2 =1; x =0; x 4 =1; Z=9 (Figura a seguir com a solução no software Lindo). Portanto Z 9 Para x 1 =1: x 2 =0,8; x =0; x 4 =0,8; Z=16,2 (Figura a seguir com a solução no software Lindo). Portanto Z 16 (valor inteiro). Prof. Marcelo Sucena Página 9 de 56

10 A solução em árvores expressa os resultados dos sub-problemas anteriores. Z 16 (0.8,1,0,1) X1 0 9 (0,1,0,1) 1 16 (1,0.8,0,0.8) A solução relaxada do nó x 1 =0 é inteira, portanto, esta deve fazer parte como solução ótima do sub-problema em questão e candidata para solução ótima final (Z*=9). Como 9 é o valor máximo neste ramo, as outras soluções derivadas conduzirão à respostas inferiores, o que não é interessante. Sendo assim, este ramo não deverá servir para a continuidade da solução do problema. X1 Z 16 (0.8,1,0,1) 0 9 (0,1,0,1) 1 16 (1,0.8,0,0.8) Partindo-se para 2ª iteração (usando-se x 2 =0 e x 2 =1), pelo nó x 1 =1, para os sub-problemas relaxados, tem-se: Para x 1 =1 e x 2 =0: x =0.8; x 4 =0; Z=1,8 (Figura a seguir com a solução no software Lindo). Portanto Z 1 (valor inteiro). Prof. Marcelo Sucena Página 10 de 56

11 Para x 1 =1 e x 2 =1: x =0; x 4 =0,5; Z=16 (Figura a seguir com a solução no software Lindo). Portanto Z 16. A árvore montada a partir da fixação de x 1 e x 2 está exposta a seguir. A nova solução candidata é melhor que a anterior (Z*=1). X1 Z 16 (0.8,1,0,1) 0 9 (0,1,0,1) 1 16 (1,0.8,0,0.8) X2 0 1 (1,0,0.8,0) 1 16 (1,1,0,0.5) Para x 1 =1, x 2 =1 e x =0: x 4 =0.5; Z=16 (Figura a seguir com a solução no software Lindo). Portanto Z 16. Prof. Marcelo Sucena Página 11 de 56

12 Para x 1 =1, x 2 =1 e x =1 o modelo se apresenta sem soluções possíveis. O referido está exposto a seguir. A árvore após a solução dos sub-problemas anteriores fica da seguinte forma: 0 X2 Z 16 (0.8,1,0,1) 9 (0,1,0,1) 1 16 (1,0.8,0,0.8) 0 1 (1,0,0.8,0) 1 16 (1,1,0,0.5) X 0 16 (1,1,0,0.5) 1 Pela fixação dos valores de x 4 (x 4 =0 e x 4 =1) gera-se uma solução única, sem criar outros subproblemas. A árvore final fica: Z 16 (0.8,1,0,1) 0 9 (0,1,0,1) 1 16 (1,0.8,0,0.8) X2 0 1 (1,0,0.8,0) 1 16 (1,1,0,0.5) X 0 16 (1,1,0,0.5) 1 X (1,1,0,0) 1 Impossível Esta última solução candidata é melhor que a solução anterior (Z*=14). Como não há mais condições de criar sub-problemas, esta é a solução ótima. Resumidamente, para problemas de PLI de maximização, seguir os passos do método Branch-and-Bound a seguir: Prof. Marcelo Sucena Página 12 de 56

13 1. Resolver o problema original usando programação linear, por exemplo, pelo método Simplex. Se a resposta satisfaz a restrição inteira, esta é a solução ótima. Sendo assim, pare, senão: 2. Encontrar uma solução viável que preencha a restrição inteira para uso como um limite superior. Usualmente para isso, arredonda-se a variável.. Ramificar pela variável de decisão do passo 1 que não tenha um valor inteiro. Caso todas as variáveis não sejam inteiras, iniciar a ramificação pela de maior valor do resíduo decimal. Dividir o problema em dois sub-problemas baseados nos valores inteiros que estão imediatamente abaixo ou acima do valor não inteiro. Esses limites deverão ser colocados na restrição do problema. 4. Criar nós no topo desses novos ramos pela solução dos novos problemas. 5. A) Se um ramo leva a uma solução inviável por programação linear, descarte o nó para continuidade da análise; B) Se um ramo leva a uma solução viável por programação linear, mas não é uma solução inteira vá para o passo 6; C) Se o ramo leva a uma solução inteira viável, examine o valor da função objetivo. Se este valor é igual ao limite inferior, uma solução ótima foi alcançada. Se ele não é igual ao limite inferior, mas ele é menor que o limite superior, adote-o como um novo limite superior e vá para o passo 6. Finalmente, se ele é maior que o limite superior, descarte esse ramo. 6. Examine ambos os ramos novamente e adote como limite superior o valor máximo da função objetivo para todos os nós finais. Se o limite inferior é igual ao limite superior, pare. Se não, volte ao passo. Exemplo 2 - Silva (s/d): Iniciar a avaliação por x 2 : X (1.7,2.9) Z X2 X (,2) Prof. Marcelo Sucena Página 1 de 56 Impossível 2

14 Avaliação por x 1 : X2 X1 2 X (2,2.7) X2 X2 2 Impossível 2 Solução ótima 12.9 (1.7,2.9) Z 11 (,2) X2 X1 1 X (1,2.5) X2 X2 2 Impossível 2 9 (1,2) Exemplo - Silva (s/d): Prof. Marcelo Sucena Página 14 de 56

15 Iniciar a avaliação por x 2 : X1 X2 X1 2 2 Impossível X2 41. (2.2,.7) Z X2 4 X (1.8,4) 9 (,) X ,4 (1,4.) X2 5 X (0,5) 4 Solução ótima Avaliação por x 1 : 7 (1,4) 41. (2.2,.7) Z X1 X1 2 X1 9 (,) X2 4 2 X2 41,1 (2,.9) X2 4 (1,) X1 2 4 X (1.8,4) X1 2 Impossível X ,6 (1,4.4) X2 4 X (0,5) 4 7 (1,4) Solução ótima Exemplo 4 - Silva (s/d): Prof. Marcelo Sucena Página 15 de 56

16 42 (4.,2) Z X1 5 X1 4 X (5,2) X2 4 X (4,2.) X2 2 X1 4 X1 4 (.2,) Impossível X (4,) 4.1 (,.1) X2 4 X2 X (2,4) Solução ótima Impossível Prof. Marcelo Sucena Página 16 de 56

17 UNIDADE II PROBLEMAS DE CONEXÃO CONCEITOS BÁSICOS DE TEORIA DE GRAFOS Área contida na Pesquisa Operacional. Pode ser considerada como uma teoria baseada na interligação de pontos e linhas, utilizada principalmente na solução de problemas de roteamento. Em 176, o matemático suíço Leonhard Euler ( ) resolveu o primeiro problema ( O problema das pontes de Konigsberg ) cuja solução veio a originar a teoria dos grafos. O problema era análogo aos atuais quebra-cabeças, baseados em desenho, cujas linhas devem ser percorridas sem que se tire o lápis do papel e sem passar duas vezes sobre a mesma linha. Em 1847, o alemão, físico e matemático Gustav Robert Kirchhoff ( ), iniciou o estudo de um certo tipo de grafo chamado árvores quando estudava problemas de circuitos elétricos. Hamilton, em 1859, estudou problemas de caminhos. Um Grafo é definido como sendo um par ordenado (V,A). Os elementos de V são denominados vértices ou nós do grafo e os pares ordenados de A, denominados de arestas ou arcos do grafo. Alguns aspectos importantes devem ser considerados em relação aos Grafos: uando um arco é incidente a um único vértice é denominado "laço". Dois vértices são considerados "adjacentes" se eles estão interligados por um arco. Uma "cadeia" é uma sequência de arcos (orientados ou não). O tamanho de uma cadeia está relacionada ao número de arcos que a compõe. Um "caminho" é uma cadeia em que todos os arcos têm a mesma direção, ou seja, é um grafo com conjunto de vértices da forma {1, 2,,.., k 1, k} e conjunto de arestas da forma {{1,2}, {2,}},.., {k 1, k}}. Um "ciclo" é uma cadeia cujo vértice inicial e final é o mesmo (cadeia fechada), isto é, é um grafo com conjunto de vértices da forma {1, 2,,.., k 1, k} e conjunto de arestas da forma {{1,2}, {2,}},.., {k 1, k}, {k,1}} Um grafo é "conexo" quando existe um caminho entre cada par de vértices, ou seja, se para todo par x, y de vértices existe um caminho que liga x a y; caso contrário, o grafo é desconexo. Quanto às características de seus arcos, um grafo pode ser: 1. Orientado ou não orientado: são orientados quando os seus arcos possuem uma orientação definida, e não orientados, quando não existe noção de direção. Quando os arcos não possuem direção, são denominados arestas. 2. Valorado e não valorado: é valorado quando existem valores atribuídos a cada um dos seus arcos. Prof. Marcelo Sucena Página 17 de 56

18 . Planar e não planar: é planar quando existe alguma forma de se dispor seus vértices em um plano, de tal modo que nenhum par de arestas se cruze. Um grafo não planar, quando projetado sobre um plano, apresenta interseções de arcos não coincidentes com um nó, em função da sua estrutura espacial. Planar Não Planar A figura a seguir mostra a representação gráfica de um grafo orientado. V1 V2 V4 V G(V,A) => V={V 1,V 2,V,V 4 } e A={V 1 V 2,V 2 V,V V 4,V 4 V 1 } Quando em um grafo existe a associação de um ou mais valores aos arcos e/ou nós, pode-se defini-lo como uma rede. Sendo assim, pode-se representar uma rede como R={V,A, }, onde V e A são, respectivamente, os conjuntos de nós e arcos que formam um grafo, e, os parâmetros associados aos elementos do conjunto A e/ou do conjunto V. A seguir apresenta-se um exemplo de grafo com os parâmetros nos arcos e nós. α 1 α 12 α 41 V1 V2 α 2 α 4 V4 α 4 V α α 2 Podem-se citar alguns valores de associados aos arcos: a capacidade de fluxo, que corresponde ao limite que pode passar pelo arco; Prof. Marcelo Sucena Página 18 de 56

19 o custo no arco, que pode ser considerado como um valor monetário, a distância percorrida ou o tempo de viagem no arco e o fluxo no arco. Existem também os valores de associados aos nós: população de uma cidade; número de produtos fabricados em uma unidade e demanda de produtos em uma área geográfica. Os problemas de otimização de redes podem ocorrer em várias áreas, mas geralmente são encontrados nas áreas de transportes e comunicações. Um problema típico de transporte consiste em encontrar uma rota, partindo de uma origem para um destino, considerando que entre esses pontos existem diversas rotas alternativas e que necessita-se minimizar ou maximizar alguma medida associada aos arcos e/ou nós. Existem outros problemas em que se necessita minimizar os valores associados aos arcos, de forma que possa atender todos os pontos de uma rede. A seguir serão relacionados vários algoritmos que objetivam a modelagem de redes. 1. PROBLEMAS DE MINIMIZAÇÃO DE REDES Os algoritmos de minimização de redes tratam da árvore de valor mínimo em problemas de interligação de redes não orientadas de comunicação, luz, água, esgoto, minerodutos, gasodutos etc. com o objetivo de atender todos os nós de uma rede, minimizando o consumo dos meios. Goldbarg et al. (2000) destaca que os problemas de Steiner em grafos não direcionados é o problema de conectar, a custo mínimo, um conjunto de nós de um grafo. Em alguns problemas desses o problema se reduz a análise do caminho mais curto entre dois nós. Se todos os nós forem conectados, chega-se a solução de uma árvore geradora mínima. 1.1.Algoritmo de PRIM Este algoritmo compreende os seguintes passos: 1º passo: selecionar qualquer nó da rede e o inserir no conjunto C (árvore mínima). O conjunto C* é formado pelos nós não conectados. 2º passo: identificar o nó do conjunto C* que está mais próximo de qualquer um dos nós do conjunto C. Deve-se repetir este processo até que todos os nós estejam conectados (C* = ). Exemplo: Considere o grafo a seguir e avalie quais ligações que deverão ser implantadas visando a interligação de todos os nós, porém, considerando uma quilometragem total mínima. Os atributos dos arcos representam as distâncias entre as regiões. Prof. Marcelo Sucena Página 19 de 56

20 C1 = { 4 } e C*1 = { 1,2,,5,6 } => C2 = { 4, } e C*2 = { 1,2,5,6 } => C = { 4,,2 } e C* = { 1,5,6 } => C4 = { 4,,2,1 } e C*4 = { 5,6 } => C5 = { 4,,2,1,5 } e C*5 = { 6 } => C6 = { 4,,2,1,5,6 } e C*6 = Resultado Final: 12Km Algoritmo de Kruskal Deve-se construir uma árvore, selecionando-se arcos, iniciando-se pelo arco de menor atributo, adicionando-os em ordem crescente de atributos, de modo a não formar ciclos com os arcos já selecionados. O "ponto de parada" do algoritmo é identificado quando a árvore possuir n-1 arcos conectados, sendo "n" o número de nós do grafo. Este algoritmo compreende os seguintes passos: 1º passo: colocar os arcos em ordem crescente de valor. Estes arcos fazem parte de um conjunto "A*" de arcos não conectados. Inicialmente A é vazio, ou seja, A=. 2º passo: selecionar o menor dos arcos de A* que não forme um ciclo com os demais e coloque-o no conjunto A. Um arco forma um ciclo quando os vértices deste arco já fazem parte da árvore mínima em construção. º passo: se A possui n-1 arcos, sendo "n" o número de nós, deve-se parar o algoritmo, pois os arcos de A compõem a árvore mínima. Caso contrário voltar para o passo 2. Prof. Marcelo Sucena Página 20 de 56

21 Exemplo: Utilizando o mesmo grafo do exemplo anterior, identifique a árvore mínima pelo algoritmo de Kruskal. Passo 1 A* = {(,4),(,2),(1,2),(,5),(6,5),(1,4),(4,5),(,6),(,1),(2,6)} A = Passo 2 A = {(,4)} A* = {(,2),(1,2),(,5),(6,5),(1,4),(4,5),(,6),(,1),(2,6)} Passo n = 6 e n-1 = 5 O número de elementos de A é igual a 1, e como n(a) < 5, devese retornar ao passo 2. Passo 2 A = {(,4), (,2)} A* = {(1,2),(,5),(6,5),(1,4),(4,5),(,6),(,1),(2,6)} Passo n = 6 e n-1 = 5 O número de elementos de A é igual a 2, e como n(a) < 5, devese retornar ao passo 2. Passo 2 A = {(,4), (,2), (1,2)} A* = {(,5),(6,5),(1,4),(4,5),(,6),(,1),(2,6)} Passo n = 6 e n-1 = 5 O número de elementos de A é igual a, e como n(a) < 5, devese retornar ao passo 2. Passo 2 A = {(,4), (,2), (1,2), (,5)} A* = {(6,5),(1,4),(4,5),(,6),(,1),(2,6)} Passo n = 6 e n-1 = 5 O número de elementos de A é igual a 4, e como n(a) < 5, devese retornar ao passo 2. Passo 2 A = {(,4), (,2), (1,2), (,5), (6,5)} A* = {(1,4),(4,5),(,6),(,1),(2,6)} Passo n = 6 e n-1 = 5 O número de elementos de A é igual a 5, e como n(a) = 5, devese parar o processo de análise. Resultado Final: 12Km Prof. Marcelo Sucena Página 21 de 56

22 2. CAMINHO MÍNIMO Em uma rede, dependendo das suas características construtivas, podem existir vários caminhos entre um par de nós (origem/destino). Entre os caminhos possíveis, aquele que possui menor "peso" é chamado de caminho mínimo. Este peso pode ser representado pela soma dos atributos dos arcos que formam o caminho, tais como, tempo de viagem, distância percorrida etc.. Para Goldbarg et al. (2000) o problema de caminho mínimo também é um problema de Emparelhamento. Eles destacam que o emparelhamento nada mais é que uma forma de reunião ou ligação entre dois elementos ou, no caso dos grafos, dois vértices. Para resolver problemas desse tipo, há vários algoritmos (Ford, Faude, Bellman, Dijkstra, Floyd, Hasse dentre outros) que envolvem maior ou menor complexidade de cálculo (número de operações elementares, tais como adição, subtração, multiplicação etc.) Algoritmo de Dijkstra Este algoritmo foi desenvolvido em 1959 e posteriormente Dantizg (1960) e Nicholson (1960) desenvolveram um algoritmo de duas árvores de Dijkstra, cuja idéia é construir árvores de caminhos mínimos de um nó de origem e de um nó de destino, simultaneamente. O Algoritmo de Dijkstra é utilizado para determinar o caminho mínimo de um nó para outro nó ou para todos os outros nós da rede, considerando que os atributos dos arcos são positivos. Todos os arcos devem ser orientados. Nele, considera-se que um nó é "fechado" quando se encontra o caminho mínimo da origem até este nó, e aqueles nós cujos caminhos mínimos ainda não foram encontrados são considerados "abertos". O conceito de fechado ou aberto está associado à impossibilidade de encontrar um caminho melhor do que o já encontrado, assim enquanto o nó não é fechado (ou rotulado) ainda é possível encontrar um caminho de menor valor até este nó. Este algoritmo compreende os seguintes passos: 1º passo: considerando que d( x ) i = min { d( x ) i - 1, d( y ) + d( y, x ) }, onde (1) d( x ) i é o tamanho do caminho da origem até o nó x. i é o número de iterações. d( y ) é o tamanho do caminho da origem até o nó fechado ( y ). d( y, x ) é o tamanho do arco ( y, x ). Atribui-se um valor d( x ) para cada um dos nós do grafo, sendo: d(origem) = 0 d(os outros nós) = Considerar "y" o último nó rotulado (fechado). Prof. Marcelo Sucena Página 22 de 56

23 No início do algoritmo o nó de origem é o único rotulado, ou seja y = origem. 2º passo: para cada nó x não fechado, redefine-se d( x ) conforme expressão 1. O nó aberto que possuir o menor valor d( x ) é fechado e faz-se y = x. º passo: se o nó de destino foi fechado então se deve parar a execução do algoritmo, senão, volte ao passo 2. Observação: para determinar a sequência de nós que forma o caminho com distância mínima, deve-se, retroceder a partir do nó de saída, procurar os nós com etiquetas definitivas cuja diferença é igual à distância associada ao arco que os une. Exemplo: Utilizando o grafo a seguir, identifique o seu caminho mínimo utilizando o algoritmo de Dijkstra: O D 1. d(o) = 0 e d(1), d(2), d(), d(4), d(d) = 2. d(o) -> y = O i = 1, ou seja, 1ª iteração. d(1)1 = min{d(1)0, d(o) + d(o,1)} = min {, 0+4} = 4 d(2)1 = min{d(2)0, d(o) + d(o,2)} = min {, 0+} = d()1 = min{, 0+} = d(4)1 = min{, 0+ } = d(d)1 = min{, 0+ } =. Identificar o mínimo entre as distâncias e definir y. Escolhe-se entre d(2) e d(), pois esses apresentam atributos iguais a. Optou-se por y = 2 (nó fechado). Se y = D o problema está terminado, senão continuar do passo i = 2, ou seja, 2ª iteração. d(1)2 = min{d(1)1, d(2) + d(2,1)} = min { 4, + } = 4 d()2 = min{d()1, d(2) + d(2,)} = min {, + } = d(4)2 = min{, + } = d(d)2 = min{, +2} = 5. Mínimo entre as distâncias 4,, e 5 é, ou seja, y =. O nó y é diferente de D, então continuar do passo i =, ou seja, ª iteração. d(1) = min{d(1)2, d() + d(,1)} = min { 4, + } = 4 d(4) = min{d(4)2, d() + d(,4)} = min {, +} = 6 Prof. Marcelo Sucena Página 2 de 56

24 d(d) = min{ 5, + } = 5. Mínimo entre as distâncias 4,6 e 5 é 4, ou seja, y = 1. O nó y é diferente de D, então continuar do passo i = 4, ou seja, 4ª iteração. d(4)4 = min{d(4), d(1) + d(1,4)} = min {6, 4+2} = 6 d(d)4 = min{ 5, 4+ } = 5. Mínimo entre as distâncias 6 e 5 é 5, ou seja, y = D. O nó y agora é igual a D, então deve-se parar o processo de avaliação. Pergunta-se: Em qual iteração foi encontrado o primeiro valor de D (d(d) = 5)? Na 2ª iteração. Qual era o valor de y nessa iteração? Na 2ª iteração, y é igual a 2. Identificou-se o nó anterior ao destino: nó 2. Em qual iteração foi encontrado o primeiro valor de 2 (d(2) = )? Na 1ª iteração. Qual era o valor de y nessa iteração? Na 1ª iteração, y é igual a O. 2 2 O D Prof. Marcelo Sucena Página 24 de 56

25 UNIDADE III FLUXOS EM REDE 1. PROBLEMA CLÁSSICO DE TRANSPORTE O Problema de Transporte constitui uma das principais aplicações da PL para auxiliar o planejamento e a operação de transportes. O Problema pode ser formulado inicialmente da seguinte forma: Considerando-se o transporte de produtos de m origens, onde estão estocados, para n destinos, onde são necessários. Conhecendo-se os custos unitários de transporte de cada origem para cada destino (C ij custo unitário de transporte da origem i para o destino j), deve-se decidir quanto transportar de cada origem para cada destino (X ij quantidade a ser transportada da origem i para o destino j), de modo gastar o menos possível, ou seja, minimizar o custo total de transporte. Cada uma das origens é dotada de a i unidades disponíveis e, cada um dos destinos requer b j unidades, todos inteiros e positivos. Considerar-se-á inicialmente que a oferta total é igual a demanda total, isto é: m n a i 1 O modelo matemático para este problema pode ser expresso da seguinte forma: Minimizar: Sujeito a: z n j 1 m i 1 m i 1 X X ij ij n j 1 a b C ij X ij i j (i 1,..., m) ( j 1,..., n ) Com: todos os X ij não negativos e inteiros Este modelo matemático pode ser representado em forma de tabular conforme exposto na tabela 1.1. Tabela Representação do Problema de Transporte 1 b j O R I G E N S DESTINOS n Oferta 1 C 11 C 12 C 1... C 1n a 1 X 11 X 12 X 1 X 1n 2 C 21 C 22 C 2... C 2n a 2 X 21 X 22 X 2 X 2n m C m1 C m2 C m... C mn a m X m1 X m2 X m X mn Demanda b 1 b 2 b... b n Exemplo: Uma empresa tem fábricas em três locais diferentes, que abastecem quatro armazéns distantes uns dos outros. As capacidades das fábricas em certo período de tempo são 70, 90 e 115 e as necessidades dos armazéns, no Prof. Marcelo Sucena Página 25 de 56

26 Origens Engenharia de Produção mesmo período de tempo, são 50, 60, 70 e 95. Os custos unitários para cada encaminhamento fábrica-armazém estão expostos na tabela a seguir. Tabela Tabela dos custos unitários de transporte das origens para os destinos Destinos A B C D Figura Representação gráfica do problema Disponibilidades das origens Total = C 1A =17 C 1B =20 C 2A =15 C 2B =21 C 2C =26 C 2D =25 C A =15 C B =14 C C =15 C D =17 C 1C =1 Disponibilidades dos destinos A B C 1D =12 C D A solução dos Problemas de Transporte passa por quatro etapas: Total = Determinação de uma solução inicial básica; 2. Teste de solução quanto à condição de ótimo;. Melhoria da solução quando não é ótima; 4. Repetição das etapas 2 e até se obter a solução ótima. Prof. Marcelo Sucena Página 26 de 56

27 1.1. Métodos para determinação da Solução Inicial Método do Canto Noroeste Começando-se pela célula superior esquerda (canto noroeste), aloca-se a X 11 tantas unidades quantas sejam possíveis, sem violar as restrições. Isto corresponderá ao menor dos dois valores a 1 e b 1. Após, continua-se o algoritmo deslocando-se para a célula imediatamente à direita se ainda restar alguma oferta ou, caso contrário, para a célula imediatamente abaixo. A cada etapa aloca-se à célula em consideração, tantas unidades quantas sejam possíveis sem violar as restrições: a soma das alocações da linha i não pode exceder o valor de a i, a soma da coluna j não pode exceder o valor de b j e nenhuma alocação pode ser negativa. Exemplo 2: Utilizando-se os dados do exemplo1, determinar uma solução inicial utilizando o método do Canto Noroeste. A B C D Oferta Demanda Método de Vogel ou Método das Penalidades O método funciona da seguinte forma: 1. Calcula-se a penalidade para cada uma das linhas e colunas. Escolhese a linha ou coluna que apresenta a maior penalidade. Caso haja mais de uma, escolhe-se qualquer uma delas; 2. Aloca-se o máximo possível de quantidade para a célula de menor custo da linha ou coluna escolhida no passo anterior. Isso tornará a disponibilidade da linha ou coluna a qual tal célula pertence, igual a zero. Eliminar esta linha ou coluna do restante do processo e. Repetir os passos 1 e 2 até que todos os transportes tenham sido realizados Considera-se "penalidade de uma linha ou coluna" a diferença positiva entre os dois custos de menor valor na linha ou coluna. Exemplo : Utilizando-se os dados do exemplo1, determinar uma solução inicial utilizando o método de Vogel. Conforme descreve o primeiro passo, deve-se calcular as penalidades e identificar as maiores. Prof. Marcelo Sucena Página 27 de 56

28 A B C D Oferta Penalidade (1-12) (21-15) (15-14) Demanda Penalidade 0 (15-15) 6 (20-14) 2 (15-1) 5 (17-12) As maiores penalidades estão na linha 2 e na coluna B, pois essas obtiveram penalidades iguais a seis. Deve-se então escolher entre a linha ou a coluna, pois as pontuações são iguais. Optou-se pela linha 2. Nesta linha, a célula de menor custo é a que corresponde à coluna A (quinze). Aloca-se, portanto, 50 para tal célula e elimina-se a coluna A dos passos seguintes. Devem-se então recalcular as penalidades. A B C D Oferta Penalidade (1-12) (25-21) (15-14) Demanda Penalidade 0 (15-15) 6 (20-14) 2 (15-1) 5 (17-12) A coluna B apresenta a maior penalidade (seis). Nesta coluna, a célula de menor custo é a que corresponde à linha (custo igual a 14). Aloca-se, portanto, 60 para tal célula e elimina-se a coluna B dos passos seguintes. A B C D Oferta Penalidade (1-12) (26-25) (17-15) Demanda Penalidade (15-15) (20-14) (15-1) 5 (17-12) As tabelas a seguir representam os passos seguintes até que todos os transportes estejam finalizados. Prof. Marcelo Sucena Página 28 de 56

29 A B C D Oferta Penalidade (1-12) (26-25) (17-15) Demanda Penalidade 0 (15-15) 6 (20-14) 11 (26-15) 8 (25-17) A B C D Oferta Penalidade (1-12) (26-25) (17-15) Demanda Penalidade (15-15) (20-14) (26) (25) A B C D Oferta Penalidade (1-12) (26-25) (17-15) Demanda Penalidade (15-15) (20-14) (26) (25) Prof. Marcelo Sucena Página 29 de 56

30 A B C D Oferta Penalidade (1-12) (26-25) (17-15) Demanda Penalidade (15-15) (20-14) (26) (25) A solução final está expressa na tabela a seguir: Tabela 2. - Solução Inicial A B C D Oferta Demanda Evolução para a Solução Ótima Determinada a solução inicial, necessita-se verificar se esta pode ser melhorada. Por intermédio da tabela 2. que representa a solução inicial, devem-se identificar as variáveis básicas e não-básicas. As primeiras são identificadas pelas células que têm valores alocados e as segundas, o inverso. Observa-se na tabela 2. que as variáveis básicas são: 1D, 2A, 2C, 2D, B e C. As variáveis não-básicas são: 1A, 1B, 1C, 2B, A e D. A seguir serão descritos os passos para avaliação da existência de uma solução melhorada. 1º passo: devem-se calcular os pesos para todas as linhas e as colunas, considerando que a soma entre os pesos de cada linha e de cada coluna é igual ao custo alocado na respectiva célula (linha x coluna). Inicialmente atribuise zero à uma linha ou coluna (geralmente a primeira linha) que contenha uma variável básica. O exemplo a seguir demonstra a alocação deste peso na linha 1 coluna D (célula com custo 12). Prof. Marcelo Sucena Página 0 de 56

31 A B C D Oferta Pesos Demanda Pesos 12 Os próximos pesos terão a mesma sequência de cálculo, conforme expresso na próxima tabela. A B C D Oferta Pesos Demanda Pesos 12 Seguindo esta forma de cálculo chega-se a seguinte tabela de pesos: A B C D Oferta Pesos Demanda Pesos º passo: utilizando-se os valores dos pesos, calcula-se para cada variável não básica a quantidade expressa pela seguinte fórmula: Custo (linha x coluna) - peso da linha - peso da coluna Calculando-se para a primeira variável não básica (1A), temos o seguinte resultado: Custo 1A - Peso 1 - Peso A = = 15 Para as demais linhas x colunas os resultados são: Prof. Marcelo Sucena Página 1 de 56

32 A B C D = = = = = = Se todas as quantidades calculadas forem não negativas, a solução presente é a ótima. Caso alguns dos valores forem negativos, deve-se utilizar como referência para o próximo passo o valor mais negativo. A célula que abriga este valor deverá ser transformada em uma variável básica no lugar de uma das variáveis básicas da última solução. Neste caso a célula 2B obteve -4 como resultado, demonstrando a necessidade da continuidade do processo para identificação da solução ótima. º passo: para saber quais das variáveis básicas devem ser substituídas pela variável não básica 2B, deve-se montar um circuito de compensação entre as variáveis básicas, a partir da variável que deverá entrar e seguindo alternadamente na direção da linha e na direção da coluna, subtraindo-se e somando-se o valor de entrada (em princípio um valor X), até o retorno à variável de entrada. Com este procedimento as restrições de linha e coluna ficam satisfeitas. A B C D Oferta Pesos X 15-X X 55+X Demanda Pesos º passo: escolher para a variável que está sendo transformada em básica (que contém X) o maior valor possível, sem tornar nenhuma variável básica negativa. Esse valor corresponde ao menor valor entre as células do circuito onde o valor de entrada (X) estiver sendo subtraído. Esta nova alocação forma uma nova configuração que pode ser a solução ótima. A B C D Oferta Demanda º passo: voltar ao passo 1 até que a solução seja ótima. Prof. Marcelo Sucena Página 2 de 56

33 Exercício: complete o exemplo anterior seguindo os passos 1 a 5 até obter a solução ótima. Recálculo dos pesos A B C D Oferta Pesos Demanda Pesos Identificação da negatividade da variável não básica A B C D = = = = = =-1 Montagem do circuito A B C D Oferta Pesos X 25-X X 70 X Demanda Pesos Recalculo dos pesos A B C D Oferta Pesos Demanda Pesos Identificação da negatividade da variável não básica Prof. Marcelo Sucena Página de 56

34 A B C D = = = = = =7 Verifica-se que não existem mais resultados negativos expressos na tabela anterior, concluindo-se que a solução ótima é: A B C D Oferta Demanda PROBLEMAS DE DESIGNAÇÃO Um Problema de Designação é um caso especial dos Problemas de Transporte. Ele consiste em designar cada uma das origens a cada um dos destinos, exclusivamente, de maneira a otimizar (minimizar ou maximizar) uma impedância, por isso, a quantidade de origens deve ser igual a de destinos. Para demonstrar o algoritmo, usar-se-á um exemplo conforme a seguir. Para transportar máquinas de quatro origens para quatro destinos, devem-se minimizar os custos totais de movimentação. A tabela a seguir expõe os custos das movimentações entre origens e destinos. D1 D2 D D4 O O O O º Passo - Subtrair em cada célula, de cada linha, o menor valor daquela linha. 2º Passo - Em seguida efetuar o mesmo procedimento para as colunas. Como resultado, uma nova tabela deverá expressar esses resultados, onde cada linha e cada coluna devem ter pelo menos um ZERO. As próximas tabelas expressam os resultados, para subtração nas linhas e depois nas colunas. Prof. Marcelo Sucena Página 4 de 56

35 D1 D2 D D4 O O O O D1 D2 D D4 O O O O º Passo Deve-se designar as origens para os destinos nas células onde aparece o elemento ZERO. Preferência para as linhas e colunas que tenham apenas um ZERO. Cada designação efetuada invalida os ZEROS existentes nas linhas e colunas designadas. O problema acaba se todas as origens forem designadas aos destinos existentes. D1 D2 D D4 O O O O Verifica-se que a designação não terminou, pois a O e D não foram conectados. 4º Passo Deve-se então cobrir os ZEROS da tabela com a menor quantidade de linhas possível. Faz-se o seguinte: Marcar as linhas sem designação (em cinza); Nas linhas marcadas, marcar as colunas com zeros (linhas tracejadas); Nas colunas marcadas, marcar as linhas com zeros (linhas tracejadas); Nas linhas marcadas, voltar a marcar as colunas com zeros até que não seja possível marcar novas linhas ou colunas; Registrar as linhas não-marcadas e as colunas marcadas (setas). D1 D2 D D4 O O O O º Passo Encontrar o menor valor dentre os números não cobertos, de todos os elementos da tabela. O valor é 2. Prof. Marcelo Sucena Página 5 de 56

36 Na próxima tabela, fazer: Os elementos não cobertos ficam diminuídos deste número; Os elementos no cruzamento de coberturas ficam aumentados desse número; Os outros elementos permanecem iguais. D1 D2 D D4 O =0 4-2=2-2=1 O2 2+2=4 0 0 O 0 6-2=4 8-2=6 2-2=0 O4 2+2= Voltar ao º passo e designar as origens aos destinos, novamente. D1 D2 D D4 O O O O Verifica-se, então, que todas as origens foram designadas aos seus destinos. O resultado é: O1D1 - custo da tabela inicial = 10 O2D2 - custo da tabela inicial = 12 OD4 - custo da tabela inicial = 15 O4D - custo da tabela inicial = 1 Custo total = 50 Para o caso de maximização, deve-se substituir o quadro por um de minimização. O exemplo a seguir ilustra esse procedimento. A tabela a seguir apresenta as eficiências, ou seja, a capacidade de cada vendedor de atingir o potencial da região (em %), de quatro vendedores, testados em quatro regiões. Os potenciais de vendas, em $, nas regiões são conhecidos. Designar um vendedor para cada região para maximizar o valor total das vendas. % R1 R2 R R4 V V V V Potencial de vendas ($ x 10 ): R1 = 100; R2 = 80; R = 60; R4 = 90 Prof. Marcelo Sucena Página 6 de 56

37 A próxima tabela relaciona as vendas por região: % x $ R1 R2 R R4 V1 70 x x x x 90 V2 70 x x x x 90 V 60 x x x x 90 V4 70 x x x x 90 % x $ R1 R2 R R4 V V V V Para transformar em um modelo de minimização, deve-se identificar o maior valor, subtraindo-o dos demais em cada célula, resultando em: Minimização R1 R2 R R4 V V V V Agora deve-se aplicar o algoritmo conforme o exemplo anterior. Subtrair o menor número de cada linha. R1 R2 R R4 V V V 21-9=12 9-9=0 45-9=6 18-9=9 V4 11-9=2 17-9=8 9-9=0 9-9=0 Subtrair o menor número de cada coluna. R1 R2 R R4 V1 11-2=9-0= 0 V2 11-2= =9 0 V 12-2= =6 9 V4 2-2= =0 0 Designar os vendedores às regiões. Prof. Marcelo Sucena Página 7 de 56

38 R1 R2 R R4 V1 9 0 V V V Deve-se continuar, pois não houve designação do vendedor 2 para a região. R1 R2 R R4 V1 9 0 V V V Diminuir os valores contidos nas células não-cobertas pelo menor valor entre eles (neste caso, ) e, nos cruzamentos de coberturas, adicionar o mesmo valor. Os demais elementos devem ficar iguais. R1 R2 R R4 V V V V Deve-se designar novamente os vendedores às regiões. R1 R2 R R4 V V V V A designação final fica: V1 para R; V2 para R4; V para R2 e V4 para R1. A venda total ($ x 10 ) é: = $ PROBLEMAS DE TRANSBORDO Como exemplo, considerar a situação exposta a seguir onde existem dois pontos de produção e um ponto de consumo, sendo que há possibilidade de movimentação de produtos entre os pontos de produção. Prof. Marcelo Sucena Página 8 de 56

39 Produção 1 Produção 2 Custo Unitário de Movimentação: $5 Custo Unitário de Movimentação: $10 Consumo Custo Unitário de Movimentação: $ Observa-se que para movimentar produtos entre a unidade de produção (UP)1 e o ponto de consumo custa $10. Mas se a movimentação for efetuada por intermédio da UP2 o custo total será de $8. Nota-se, então, que existem custos diferenciados entre a mesma origem e destino. Quando um nó serve de origem e/ou destino ele é denominado Transbordo. Para demonstrar este problema, pode-se observar na próxima figura que existem 5 nós, sendo 2 UP, 2 pontos de consumo (PC) e um nó central. Todos são denominados de pontos de transbordo, pois servem, simultaneamente, de origem e de destino. UP 1 = 10 un. $25 PC 1 = 7 un. $20 $6 Nó central $7 $10 $5 $18 UP 2 = 10 un. $25 PC 2 = 18 un. O próximo quadro apresenta os custos de movimentação entre os nós e a quantidade total produzida da UP1 e da UP2, além da capacidade máxima de consumo dos PC1 e do PC2. Prof. Marcelo Sucena Página 9 de 56

40 UP1 UP2 Nó PC1 PC2 Total central UP M 10 UP M Nó ? central PC1 25 M ? PC2 M ? Total??? /20 Considerações: Como não há ligação direta entre a UP1 e o PC2, como também entre a UP2 e o PC1, utilizou-se um artifício no uso do custo MUITO GRANDE (M); Nos pontos de transbordo se considerou movimentação nula entre os próprios, individualmente. Como há desequilíbrio entre o somatório das linhas e das colunas deve-se incluir uma variável fictícia com custo nulo de movimentação. A tabela equilibrada está exposta a seguir. UP1 UP2 Nó PC1 PC2 Total central UP M 10 UP M Nó central ? PC1 25 M ? PC2 M ? Fictícia Total??? /25 A próxima tabela apresenta a colocação de 25 unidades (total nas linhas e nas colunas) em todas as linhas e colunas. Essa inserção é denominada buffer do transbordo UP1 UP2 Nó PC1 PC2 Total central UP M UP M Nó central PC1 25 M PC2 M Fictícia Total /150 Prof. Marcelo Sucena Página 40 de 56

41 Desta forma, chega-se a um Problema Clássico de Transporte, ou seja, equilíbrio entre oferta e demanda. Resolve-se este problema como exposto anteriormente. Resolvendo-se por Vogel e um software proprietário, chega-se ao custo total = $420 com a seguinte distribuição de transporte: UP1 UP2 Nó central PC1 PC2 Otimização Total UP UP Nó central PC PC Fictícia Otimização Total Interpretação dos resultados obtidos: a) UP1: o Movimenta 25 unidades para a própria, o que significa que o buffer não foi utilizado, ou seja, este nó não foi usado como transbordo. o Movimenta 10 unidades para UP2. b) UP2: o Movimenta 15 unidades para a própria, o que significa que foram utilizadas 10 unidades do buffer, ou seja, este nó foi usado como transbordo de 10 unidades. o Movimenta 20 unidades para o Ponto Central, ou seja, 10 unidades de estoque mais 10 unidades de transbordo. c) Nó Central: o Movimenta 5 unidades para o próprio, o que significa que foram utilizadas 20 unidades do buffer, ou seja, este nó foi usado como transbordo de 20 unidades. o Movimenta 20 unidades para o PC1, que na verdade são 20 unidades de transbordo da UP2. d) PC1: o Movimenta 12 unidades para o próprio, o que significa que foram utilizadas 1 unidades do buffer, ou seja, este nó foi usado como transbordo de 1 unidades. o Movimenta 1 unidades para o PC2 (deduzidas 20 unidades que vieram do Ponto Central, fica ainda com 7 unidades encomendadas). Prof. Marcelo Sucena Página 41 de 56

42 e) PC2: o Movimenta 25 unidades para o próprio, o que significa que não foram utilizadas 25 unidades do buffer, ou seja, este nó não foi usado como transbordo. o Recebe 1 unidades de encomenda do PC1. Resumindo, o transbordo ocorreu de acordo com a movimentação exposta na figura a seguir. UP 1 = 10 un. PC 1 = 7 un. Nó central 20 un. 10 un. 1 un. 20 un. UP 2 = 10 un. PC 2 = 18 un. 4. FLUXO MÁXIMO Neste tópico deve-se examinar um grafo orientado como uma Rede de Fluxo usando-a para analisar o fluxo de materiais a partir de uma origem, onde o material é produzido ou retirado, até um destino, onde o material é consumido ou depositado. A origem produz o material a uma taxa fixa e o depósito consome o material na mesma taxa. O "fluxo" do material em qualquer ponto no sistema é intuitivamente a taxa na qual o material se move. Cada aresta orientada pode ser imaginada como um canal, com uma capacidade estabelecida, com uma taxa máxima na qual o material pode fluir pelo canal. Os vértices são junções de canais, onde o material flui sem acumulação. Isto é, com exceção da origem e do destino, a taxa de entrada e de saída de material no vértice deve ser a mesma. Chamamos essa propriedade de "conservação do fluxo". Deseja-se então calcular a maior taxa na qual o material pode ser enviado da origem até o destino, sem violar as capacidades máximas das arestas e mantendo a propriedade de conservação de fluxo. Uma Rede de Fluxo G(V,A) é um grafo orientado em que cada aresta (u,v) A tem uma capacidade C(u,v) >= 0 (não negativa). Se uma dada aresta não está em A, então se supõe que a sua capacidade é zero (tais arestas não são desenhadas nos grafos). Numa rede de fluxo tem-se dois vértices especiais, uma origem "O" e um destino "D", e para todo vértice do grafo existe um caminho a partir de O passando por V que chega em D. Prof. Marcelo Sucena Página 42 de 56

43 4.1. Método Ford-Fulkerson O método de Ford-Fulkerson objetiva encontrar um fluxo máximo para uma rede de fluxos. É chamado de método por englobar diversas implementações com diferentes tempos de execução. O método é iterativo, começando com f(u,v) = 0. Este método é composto pelos seguintes passos: 1º passo: iniciar o fluxo f total com 0 e verificar a existência de caminhos de fluxo > 0. 2º passo: Escolher um caminho da origem até o destino com fluxo >0; identificar o fluxo mínimo entre os fluxos presentes nos arcos (u,v) pertencentes ao caminho escolhido e para todas as arestas pertencentes ao caminho escolhido fazer: f(u,v) = f(u,v) f (decrementa o fluxo disponível) f(v,u) = f(v,u) + f (incrementa o fluxo utilizado) º passo: Faz-se f total = f total + f. O processo deve ser repetido até que todos os caminhos sejam analisados e enquanto existirem fluxos disponíveis. Exemplo: Baseando-se no grafo a seguir, identifique o fluxo máximo que pode fluir entre a origem (O) e o destino (D), utilizando o método de Ford-Fulkerson. O º caminho escolhido: O>16>A>12>C>20>D, sendo f=12 e f total =12 A B C E D Capacidade Fluxo Limitador O 12/16 10 A 4 12/1 2 9 C 7 12/20 4 D 1 B 14 E 2º caminho escolhido: O>4>A>10>B>14>E>4>D, sendo f=4 e f total =16 Prof. Marcelo Sucena Página 4 de 56

44 O 16/16 1 4/10 A B / /14 C E 7 12/20 4/ 4 D º caminho escolhido: O>1>B>10>E>7>C>8>D, sendo f=7 e f total =2 2 16/16 O 4/10 7/1 A B 8 12/ /14 C E 7/7 19/20 4/ 4 D 2 5.PERT-CPM Para se avaliar o desenvolvimento de atividades utiliza-se o gráfico (ou diagrama) de Gantt. É uma técnica simples, mas importante, usada para auxiliar o planejador e o programador, pois apresenta facilidade em controlar o tempo e em reprogramá-lo. Ele foi desenvolvido em 1918, por Henry L.Gantt, e ainda hoje continua a ser uma ferramenta popular no agendamento de produção e de projeto. Sua simplicidade e exibição gráfica clara o tornaram um dispositivo útil para problemas de agendamento simples. Apesar da sua vantagem, o gráfico de Gantt não possibilita responder algumas questões, como por exemplo: Quais tarefas atrasariam se uma tarefa se atrasar um dia? Como colocar de forma clara os custos no diagrama? Quais tarefas são críticas para a realização de todo o trabalho? Neste ponto encaixam-se as técnicas PERT e CPM. A técnica PERT (Program Project - Evaluation Review Technique) foi desenvolvida no final dos anos 50 pela Navy Special Projects Office, em cooperação com a empresa de consultoria de gerenciamento Booz, Allen e Hamilton. Ela foi utilizada com êxito no desenvolvimento do complexo programa do míssil Polaris. Já a técnica CPM (Critical Path Method) foi desenvolvida em 1957 por J. E. Kelly, da Remington Rand, e M. R.Walker, da Du Pont. Difere-se da técnica PERT principalmente quanto aos detalhes de como o tempo e o custo são tratados. Prof. Marcelo Sucena Página 44 de 56

45 Mas, antes de mais nada, seguem alguns conceitos importantes, baseando-se no método americano: a) Atividade: Na técnica PERT é considerada como um bloco ou etapa de um projeto que pode ser identificada e mensurada de acordo com o padrão que se deseje adotar, considerando as unidades de recursos empregados. b) Evento (nó): É o início ou fim de uma ou mais atividades. Não consome recursos. Não tem representação gráfica no sistema de blocos, apenas é subentendido. Também conhecido por nó, por geralmente unir duas ou mais atividades. c) Sequenciação: Constitui-se, basicamente, de uma tabela com quatro colunas: as atividades, as suas descrições, as atividades que antecedem àquelas da primeira coluna, as atividades que sucedem àquelas da primeira coluna. Deve representar a relação das atividades de um projeto bem como a relação de interdependência entre as mesmas. Alguns autores expõem a tabela de sequenciação com quatro outras colunas: a identificação codificada da atividade, a sua descrição, a dependência dela em relação a outras atividades e o tempo de duração de cada uma. Por exemplo, tomando a tabela de sequenciação a seguir pode-se elaborar o gráfico PERT como exposto. Atividades Código Descrição Dependência Duração A Fazer isso - 10 B Fazer aquilo - 6 C Fazer isso A 7 D Fazer aquilo B 5 E Fazer isso B 9 F Fazer aquilo C/D 5 G Fazer isso E 4 C A F D B G E Prof. Marcelo Sucena Página 45 de 56

46 d) Duração de cada atividade: geralmente o recurso principal atribuído à uma atividade é o tempo, e por ser difícil de se prevê-lo, deve-se estimálo. Para tanto, faz-se uso da próxima expressão onde constam os tempos mais provável (m), o mais otimista (a) e o mais pessimista (b). A estimativa otimista deve considerar que todos os fatores sejam favoráveis; a pessimista deve orientar-se pelo oposto, considerando tudo que é desfavorável, excetuando-se variáveis não previsíveis, tais como incêndios e catástrofes; a mais provável deve ser amparada na experiência, em fatos reais etc.. e) Atividade Fantasma: quando duas atividades têm os mesmos eventos como delimitadores é difícil identificá-las e representá-las no gráfico PERT. Por isso, utiliza-se a representação de uma atividade inerte, que não consome tempo ou qualquer outro recurso, mas servindo apenas para indicar a hierarquia de precedência. Essas atividades, por não existirem de fato, são denominadas de fantasmas. A B B A B* 2 OU 1 A B 2 A* f) Cálculo dos Tempos das Atividades: o cálculo dos tempos só é possível após o calculo de duração das atividades uma vez que esses tempos correspondem justamente ao início ou fim das atividades. Eles definem os limites no tempo que as atividades que partem deste evento dispõem para serem iniciadas. f.1) Tempo mais cedo (TMC): é o momento no qual é possível ter concluídas todas as atividades que condicionam um evento. TMC = MAX [TMC + Duração] Atividades dos eventos antecessores diretos Obs.: para o evento inicial TMC = 0 f.2) Tempo mais tarde (TMT): é o último momento possível para as atividades chegarem a um determinado evento sem atrasar o início das atividades que lhes sucedem. TMT = MIN [TMC - Duração] Atividades dos eventos posteriores diretos Obs.: para o evento final TMT = TMC Prof. Marcelo Sucena Página 46 de 56

47 g) Cálculo do Tempo de Folga (TF): TF = TMT fim TMC início Duração da Atividade As folgas podem ser: positivas: excesso de recursos ou o prazo é muito grande; nulas: recursos e prazos para o projeto são adequados; negativas: recursos são escassos ou o prazo estipulado para a duração da atividade é pequeno. h) Caminho Crítico: é constituído pelas atividades (interligadas) de menor folga ou de folga nula, entre o evento inicial e o evento final, o qual, inclusive, pode passar pelas atividades fantasmas. É formado pelas atividades mais relevantes do projeto para fins de controle, pois elas não podem sofrer qualquer tipo de atraso, e se isto acontecer irá refletir diretamente no prazo fixado para o término do projeto. Exemplo 1: Tempo Crítico = 22 u.t 0/0 Cedo/tarde. Exemplo 2: Tempo Crítico = 1 u.t. Cedo/tarde 0/0 1 1 A B A B 6 10/ C 4 7 D E 9 5 6/6 /12 / 2 /8 D 7 C 2 4 / /17 E 10/10 5/ 11/ 5 15/18 F G F /1 8/ 22/22 19/ Caminho crítico Prof. Marcelo Sucena Página 47 de 56

48 Exemplo : Tempo Crítico = 22 u.t. Cedo/tarde 0/0 / Tempos de Folga (TF): 1 B 4 A / 2 Caminho crítico 4 C 15/ /20 D F 6 H I G 2 2 E 5 18/ / 22/22 7/7 12/15 Exemplo 1 Exemplo 2 Exemplo Ativ. Cálc. Folga Ativ. Cálc. Folga Ativ. Cálc. Folga A A -0-0 A -0-0 B B B C C C D D D E E E F F F G G I Prof. Marcelo Sucena Página 48 de 56

49 UNIDADE IV PROBLEMAS DO CAIXEIRO VIAJANTE 1. INTRODUÇÃO Um problema de roteamento pode ser considerado como um conjunto organizado de meios que objetiva o atendimento de demandas localizadas nos arcos ou nos vértices de alguma rede de transporte. A idéia principal desse tipo de problema é a designação de pontos de paradas de veículos, bem como a determinação da sequência com que esses pontos de parada são visitados, estabelecendo assim, as rotas para os veículos. Duas abordagens básicas para o roteamento de veículos têm sido adotadas, supondo que os veículos serão roteirizados em uma rede composta por nós e arcos: problemas de coberturas de nós e problemas de cobertura de arcos Problemas de cobertura de nós Estes tipos de problemas devem indicar uma rota de comprimento mínimo que visite cada nó uma única vez Problema do Caixeiro Viajante Este problema implica no cálculo de um ciclo de Hamilton, em um grafo, de encargo total mínimo. O ciclo Hamiltoniano é caracterizado pela possibilidade da existência de uma rota, que passasse pelos nós, iniciando e terminando no mesmo nó, sem nunca repetir uma passagem. Este ciclo é denominado de Hamilton em homenagem Willian Rowan Hamilton, que em 1957 propôs um jogo denominado Around the World (figura 1.1). O problema do Caixeiro Viajante é um problema de otimização associado ao da determinação dos caminhos hamiltonianos em um grafo qualquer. Figura Esquema do tabuleiro do jogo de Hamilton Para solução desses problemas, principalmente em redes reais de grande porte, necessita-se de apoio computacional. É importante observar que o tempo de solução computacional cresce exponencialmente com o aumento do número de nós. Somente o Método de Enumeração (identificação de todos os ciclos possíveis), garante o cálculo da solução ótima do problema, mas tal método é impraticável. Para ilustrar esta dificuldade observa-se que para um Prof. Marcelo Sucena Página 49 de 56

UNIDADE 7 PROGRAMAÇÃO MATEMÁTICA

UNIDADE 7 PROGRAMAÇÃO MATEMÁTICA UNIDADE 7 PROGRAMAÇÃO MATEMÁTICA 7.) INTRODUÇÃO Os problemas de Programação Linear Inteira podem ser entendidos como casos específicos da Programação Linear (conjunto solução contínuo), onde todas, ou

Leia mais

MÓDULO 3 - PROBLEMAS DE TRANSPORTE

MÓDULO 3 - PROBLEMAS DE TRANSPORTE UNESA Sistemas de Transportes Currículo 08 / 009- MÓDULO 3 - PROBLEMAS DE TRANSPORTE. PROBLEMA CLÁSSICO DE TRANSPORTE O Problema de Transporte constitui uma das principais aplicações da PL para auxiliar

Leia mais

MÓDULO 2 - OTIMIZAÇÃO DE REDES

MÓDULO 2 - OTIMIZAÇÃO DE REDES MÓUL - TIMIZÇÃ RS s problemas de otimização de redes podem ocorrer em várias áreas, mas geralmente são encontrados nas áreas de transportes e comunicações. Um problema típico de transporte consiste em

Leia mais

Módulo 2 OTIMIZAÇÃO DE REDES

Módulo 2 OTIMIZAÇÃO DE REDES Módulo 2 OTIMIZAÇÃO DE REDES Grafos e Redes Está contida na área de Pesquisa Operacional. Pode ser considerada como uma teoria baseada na interligação de pontos e linhas, utilizada principalmente na solução

Leia mais

MÓDULO 3 - PROBLEMAS DE COBERTURAS DE ARCOS E NÓS

MÓDULO 3 - PROBLEMAS DE COBERTURAS DE ARCOS E NÓS MÓULO 3 - PROBLEMAS E COBERTURAS E ARCOS E NÓS 1. CONCEITOS INICIAIS Área contida na Pesquisa Operacional. Pode ser considerada como uma teoria baseada na interligação de pontos e linhas, utilizada principalmente

Leia mais

Módulo 3 OTIMIZAÇÃO DE REDES DE TRANSPORTES

Módulo 3 OTIMIZAÇÃO DE REDES DE TRANSPORTES Módulo 3 OTIMIZAÇÃO DE REDES DE TRANSPORTES Grafos e Redes Está contida na área de Pesquisa Operacional. Pode ser considerada como uma teoria baseada na interligação de pontos e linhas, utilizada principalmente

Leia mais

DESIGNAÇÃO. Introdução

DESIGNAÇÃO. Introdução DESIGNAÇÃO Introdução Um caso especial do modelo de transportes é aquele em que cada origem tem uma unidade disponível e cada destino necessita também de uma unidade. É o caso de escalar vendedores para

Leia mais

Otimização Combinatória - Parte 4

Otimização Combinatória - Parte 4 Graduação em Matemática Industrial Otimização Combinatória - Parte 4 Prof. Thiago Alves de Queiroz Departamento de Matemática - CAC/UFG 2/2014 Thiago Queiroz (DM) Parte 4 2/2014 1 / 33 Complexidade Computacional

Leia mais

Pesquisa Operacional

Pesquisa Operacional Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 5 Modelo da Designação Fernando Marins fmarins@feg.unesp.br Departamento de Produção

Leia mais

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e

Programação Linear M É T O D O S : E S T A T Í S T I C A E M A T E M Á T I C A A P L I C A D A S D e 1 1 d e m a r ç o a 2 9 d e a b r i l d e Programação Linear A otimização é o processo de encontrar a melhor solução (ou solução ótima) para um problema. Existe um conjunto particular de problemas nos quais é decisivo a aplicação de um procedimento

Leia mais

Problemas de Fluxo em Redes

Problemas de Fluxo em Redes CAPÍTULO 7 1. Conceitos fundamentais de grafos Em muitos problemas que nos surgem, a forma mais simples de o descrever, é representá-lo em forma de grafo, uma vez que um grafo oferece uma representação

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + y s.a x + y x + y 5 b) Max z = x + y s.a x + y 0 x + y 5 c) Max z = x + y s.a x + 9y 6 8 x +

Leia mais

Pesquisa Operacional

Pesquisa Operacional Faculdade de Engenharia - Campus de Guaratinguetá Pesquisa Operacional Livro: Introdução à Pesquisa Operacional Capítulo 3 - Teoria dos Grafos Fernando Marins fmarins@feg.unesp.br Departamento de Produção

Leia mais

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros. Lista de Exercícios Programação Inteira ) Resolva os problemas a seguir usando o método B&B a) Max z = 5 x + 2 y s.a x + y 2 x + y 5 x, y 0, x e y inteiros b) Max z = 2 x + y s.a x + 2y 0 x + y 25 x, y

Leia mais

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Cap. 2 Conceitos Básicos em Teoria dos Grafos Teoria dos Grafos e Aplicações 8 Cap. 2 Conceitos Básicos em Teoria dos Grafos 2.1 Grafo É uma noção simples, abstrata e intuitiva, usada para representar a idéia de alguma espécie de relação entre os

Leia mais

Exemplo de um problema de transporte, com 3 fontes e 3 destinos. Custos unitários de transporte para o exemplo de problema de transporte

Exemplo de um problema de transporte, com 3 fontes e 3 destinos. Custos unitários de transporte para o exemplo de problema de transporte TRANSPORTE 6 Um problema bastante comum que muitas vezes pode ser modelado como um problema de programação linear é o problema de transporte. Este problema envolve o transporte de alguma carga de diversas

Leia mais

Problema de Designação. Fernando Nogueira Problema de Designação 1

Problema de Designação. Fernando Nogueira Problema de Designação 1 Problema de Designação Fernando Nogueira Problema de Designação 1 O Problema de Designação é um caso específico de um Problema de Transporte, que por sua vez é um caso específico de um Problema de Programação

Leia mais

Problema do Caminho Mínimo

Problema do Caminho Mínimo Departamento de Engenharia de Produção UFPR 63 Problema do Caminho Mínimo O problema do caminho mínimo ou caminho mais curto, shortest path problem, consiste em encontrar o melhor caminho entre dois nós.

Leia mais

Teoria dos grafos. FATEC Carapicuíba Augusto de Toledo Cruz Junior

Teoria dos grafos. FATEC Carapicuíba Augusto de Toledo Cruz Junior Teoria dos grafos FATEC Carapicuíba Augusto de Toledo Cruz Junior Teoria dos grafos HISTÓRICO 2 Origem O artigo do matemático e físico suiço Leonhard Euler, publicado em 1736, sobre o problema das Sete

Leia mais

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464 / PCC174 Departamento de Computação - UFOP Breve Revisão Programação Linear vs Programação Inteira Modelagem

Leia mais

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 10: Introdução aos Grafos Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 10: Introdução aos Grafos História O assunto que se constitui no marco inicial da teoria de grafos é na realidade um problema algorítmico.

Leia mais

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu 1 Programação Linear (PL) Aula 10: Método Simplex Técnica das variáveis artificias Método das penalidades ( Big M ). Método das duas fases. 2 Modificando o Exemplo Protótipo. Suponha-se que é modificado

Leia mais

Problema de designação

Problema de designação Departamento de Engenharia de Produção UFPR 48 Problema de designação Imagine, que em uma gráfica eiste uma única máquina e um único operador apto a operá-la. Como você empregaria o trabalhador? Sua resposta

Leia mais

Grafos Parte 1. Aleardo Manacero Jr.

Grafos Parte 1. Aleardo Manacero Jr. Grafos Parte 1 Aleardo Manacero Jr. Uma breve introdução Grafos são estruturas bastante versáteis para a representação de diversas formas de sistemas e/ou problemas Na realidade, árvores e listas podem

Leia mais

Estruturas de Dados Grafos

Estruturas de Dados Grafos Estruturas de Dados Grafos Prof. Eduardo Alchieri (introdução) Grafo é um conjunto de pontos e linhas que conectam vários pontos Formalmente, um grafo G(V,A) é definido pelo par de conjuntos V e A, onde:

Leia mais

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2007/08

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2007/08 Complementos de Investigação Operacional Folha nº Programação Inteira 2007/08 - A Eva e o Adão pretendem dividir entre eles as tarefas domésticas (cozinhar, lavar a louça, lavar a roupa, fazer as compras)

Leia mais

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2006/07

Complementos de Investigação Operacional. Folha nº 1 Programação Inteira 2006/07 Complementos de Investigação Operacional Folha nº Programação Inteira 2006/07 - A Eva e o Adão pretendem dividir entre eles as tarefas domésticas (cozinhar, lavar a louça, lavar a roupa, fazer as compras)

Leia mais

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016

NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 NOTAS DE AULA 1 METAHEURÍSTICA 13/10/2016 Metaheurística: São técnicas de soluções que gerenciam uma interação entre técnicas de busca local e as estratégias de nível superior para criar um processo de

Leia mais

Programação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr.

Programação Linear. MÉTODOS QUANTITATIVOS: ESTATÍSTICA E MATEMÁTICA APLICADAS De 30 de setembro a 13 de novembro de 2011 prof. Lori Viali, Dr. Programação Linear São problemas complexos, muitas vezes de difícil solução e que envolvem significativas reduções de custos, melhorias de tempos de processos, ou uma melhor alocação de recursos em atividades.

Leia mais

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016

Método Simplex dual. Marina Andretta ICMC-USP. 24 de outubro de 2016 Método Simplex dual Marina Andretta ICMC-USP 24 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização

Leia mais

Prof. Marcelo Sucena Página 1 de 41

Prof. Marcelo Sucena Página 1 de 41 De acordo com o Plano de Ensino do Currículo 215 apresentado na visita do MEC em 2016, no Campus Niterói. Disciplina: CCE1014 - PESQUISA OPERACIONAL II PERFIL DO DOCENTE Docente graduado em engenharia

Leia mais

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I

Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I Algoritmos em Grafos COM11087-Tópicos Especiais em Programação I edmar.kampke@ufes.br Introdução Teoria dos Grafos é o estudo das propriedades e estruturas dos grafos. O objetivo é, após modelar um problema

Leia mais

Pesquisa Operacional. Teoria dos Grafos

Pesquisa Operacional. Teoria dos Grafos Pesquisa Operacional Teoria dos Grafos 1 Sumário Introdução Histórico Aplicações de modelos em grafos Conceitos e Notação Representações de um grafo G Tipos de grafos Algoritmos Algoritmo de Djisktra Algoritmo

Leia mais

2 Definição do Problema

2 Definição do Problema Definição do Problema. Formulação Matemática O problema do Fluxo Máximo entre todos os pares de nós surge no contexto de redes, estas representadas por grafos, e deriva-se do problema singular de fluxo

Leia mais

Selecciona-se dos vértices ainda não seleccionados o vértice v k que está à menor distância de v i,

Selecciona-se dos vértices ainda não seleccionados o vértice v k que está à menor distância de v i, V. Problema do caixeiro-viajante Grafos - Problema do caixeiro-viajante onsidere-se um grafo em que os vértices representam cidades e as arestas (ou arcos) representam as estradas de uma dada região (a

Leia mais

Pesquisa Operacional. Prof. José Luiz

Pesquisa Operacional. Prof. José Luiz Pesquisa Operacional Prof. José Luiz Resolver um problema de Programação Linear significa basicamente resolver sistemas de equações lineares; Esse procedimento, apesar de correto, é bastante trabalhoso,

Leia mais

Problemas de Transportes e de Afectação

Problemas de Transportes e de Afectação CAPÍTULO 6 Problemas de Transportes e de Afectação 1. Problema de Transporte Este problema, que é um dos particulares de PL, consiste em determinar a forma mais económica de enviar um bem disponível, em

Leia mais

Aula 13: Branch-and-bound

Aula 13: Branch-and-bound Aula 13: Branch-and-bound Otimização Linear e Inteira Túlio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computação UFOP Previously... Modelagem em PI / Problemas Combinatórios

Leia mais

UNIDADE I PROGRAMAÇÃO LINEAR INTEIRA

UNIDADE I PROGRAMAÇÃO LINEAR INTEIRA UNIDADE I PROGRAMAÇÃO LINEAR INTEIRA ) INTRODUÇÃO Os problemas de Programação Linear Inteira podem ser entendidos como casos específicos da Programação Linear (conjunto solução contínuo), onde todas, ou

Leia mais

Programação Linear Inteira. C. Requejo (UA) Métodos de Investigação Operacional MIO / 30

Programação Linear Inteira. C. Requejo (UA) Métodos de Investigação Operacional MIO / 30 Programação Linear Inteira Programação Linear Inteira C. Requejo (UA) Métodos de Investigação Operacional MIO 2016 1 / 30 Programação Linear Inteira Programação Linear Inteira Resolução de problemas de

Leia mais

1. INTRODUÇÃO. FAAP Faculdade de Administração

1. INTRODUÇÃO. FAAP Faculdade de Administração 1. INTRODUÇÃO Histórico: O termo Pesquisa Operacional foi utilizado pela 1ª vez na Grã-Bretanha, em 1938, para designar o estudo sistemático de problemas estratégicos e táticos decorrentes de operações

Leia mais

Método Simplex. Marina Andretta ICMC-USP. 19 de outubro de 2016

Método Simplex. Marina Andretta ICMC-USP. 19 de outubro de 2016 Método Simplex Marina Andretta ICMC-USP 19 de outubro de 2016 Baseado no livro Introduction to Linear Optimization, de D. Bertsimas e J. N. Tsitsiklis. Marina Andretta (ICMC-USP) sme0211 - Otimização linear

Leia mais

Quinta-feira, 11 de abril

Quinta-feira, 11 de abril 15.053 Quinta-feira, 11 de abril Mais alguns exemplos de programação inteira Técnicas de planos de corte para obter melhores limitações Entregar: Observações de Aula 1 Exemplo: Localização do corpo de

Leia mais

Prof. Marcelo Sucena Página 1 de 41

Prof. Marcelo Sucena Página 1 de 41 De acordo com o Plano de Ensino do Currículo 215 apresentado na visita do MEC em 2016, no Campus Niterói. Disciplina: CCE1014 - PESQUISA OPERACIONAL II PERFIL DO DOCENTE Docente graduado em engenharia

Leia mais

Programação Linear/Inteira

Programação Linear/Inteira Unidade de Matemática e Tecnologia - RC/UFG Programação Linear/Inteira Prof. Thiago Alves de Queiroz Aula 7 Thiago Queiroz (IMTec) Aula 7 Aula 7 1 / 25 Problemas de Caixeiro Viajante Envolvem um conjunto

Leia mais

Otimização Combinatória - Parte 3

Otimização Combinatória - Parte 3 Graduação em Matemática Industrial Otimização Combinatória - Parte 3 Prof. Thiago Alves de Queiroz Unidade de Matemática e Tecnologia - CAC/UFG 2/2016 Thiago Queiroz (DM) Parte 3 2/2016 1 / 23 Problemas

Leia mais

PESQUISA OPERACIONAL 11. SOLUÇÃO ALGEBRICA O MÉTODO SIMPLEX ( ) DEFINIÇÕES REGRAS DE TRANSFORMAÇÃO. Prof. Edson Rovina Página 16

PESQUISA OPERACIONAL 11. SOLUÇÃO ALGEBRICA O MÉTODO SIMPLEX ( ) DEFINIÇÕES REGRAS DE TRANSFORMAÇÃO. Prof. Edson Rovina Página 16 11. SOLUÇÃO ALGEBRICA O MÉTODO SIMPLEX Página 16 Após o problema ter sido modelado, pode-se resolvê-lo de forma algébrica. A solução algébrica é dada pelo método simplex elaborado por Dantzig. Antes da

Leia mais

O método Simplex Aplicado ao Problema de Transporte (PT).

O método Simplex Aplicado ao Problema de Transporte (PT). Prof. Geraldo Nunes Silva (Revisado por Socorro Rangel) Estas notas de aula são Baseadas no livro: Hillier, F. S. e G. J. Lieberman. Introdução à Pesquisa Operacional, Campus, a ed., 9 Agradeço a Professora

Leia mais

QuickTime and atiff (Uncompressed) decompressorare needed to see this picture. Programação Inteira. Métodos Quantitativos 2002/2003.

QuickTime and atiff (Uncompressed) decompressorare needed to see this picture. Programação Inteira. Métodos Quantitativos 2002/2003. QuickTime and atiff (Uncompressed) decompressorare needed to see this picture. Programação Inteira Métodos Quantitativos 2002/2003 João Moura Pires Programação Linear Inteira Programação Linear - PL Programação

Leia mais

Grafos: componentes fortemente conexos, árvores geradoras mínimas

Grafos: componentes fortemente conexos, árvores geradoras mínimas Grafos: componentes fortemente conexos, árvores geradoras mínimas SCE-183 Algoritmos e Estruturas de Dados 2 Thiago A. S. Pardo Maria Cristina 1 Componentes fortemente conexos Um componente fortemente

Leia mais

Problema de Transporte (Redes) Fernando Nogueira Problema de Transporte 1

Problema de Transporte (Redes) Fernando Nogueira Problema de Transporte 1 Problema de Transporte (Redes) Fernando Nogueira Problema de Transporte 1 O Problema de Transporte consiste em determinar o menor custo (ou o maior lucro) em transportar produtos de várias origens para

Leia mais

Departamento de Engenharia de Produção UFPR 22

Departamento de Engenharia de Produção UFPR 22 Departamento de Engenharia de Produção UFPR 22 Geralmente, temos três objetivos i. Redução de custos (custos variáveis) Redução de capital (investimento, custos fixos) i Melhoria do serviço (pode conflitar

Leia mais

Árvore Geradora Mínima

Árvore Geradora Mínima GRAFOS ÁRVORE GERADORA MÍNIMA Prof. André Backes Árvore Geradora Mínima Definição Uma árvore geradora (do inglês, spanning tree) é um subgrafo que contenha todos os vértices do grafo original e um conjunto

Leia mais

Lógica do Método Simplex: Passar de Solução Básica Factível para outra Solução Básica, buscando melhorar a Função Objetivo e manter factibilidade

Lógica do Método Simplex: Passar de Solução Básica Factível para outra Solução Básica, buscando melhorar a Função Objetivo e manter factibilidade Lógica do : Passar de Solução Básica Factível para outra Solução Básica, buscando melhorar a Função Objetivo e manter factibilidade Para isso, as condições que devem orientar esse movimento são: (i) a

Leia mais

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2

Otimização. Otimização em Redes. Paulo Henrique Ribeiro Gabriel Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Otimização Otimização em Redes Paulo Henrique Ribeiro Gabriel phrg@ufu.br Faculdade de Computação Universidade Federal de Uberlândia 2016/2 Paulo H. R. Gabriel (FACOM/UFU) GSI027 2016/2 1 / 51 Conteúdo

Leia mais

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47

MATEMÁTICA DISCRETA. Patrícia Ribeiro 2018/2019. Departamento de Matemática, ESTSetúbal 1 / 47 1 / 47 MATEMÁTICA DISCRETA Patrícia Ribeiro Departamento de Matemática, ESTSetúbal 2018/2019 2 / 47 1 Combinatória 2 Aritmética Racional 3 3 / 47 Capítulo 3 4 / 47 não orientados Um grafo não orientado

Leia mais

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Algoritmo Aproximação Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas NP- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),

Leia mais

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos.

Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. 1 Árvores Definição 1.1 : Uma árvore é um grafo simples conexo e sem ciclos. Um grafo simples sem ciclos mas não conexo (em que cada componente conexa é portanto uma árvore) chama-se uma floresta. Numa

Leia mais

Departamento de Engenharia de Produção UFPR 57

Departamento de Engenharia de Produção UFPR 57 Departamento de Engenharia de Produção UFPR 57 Introdução a Grafos Muitos problemas de otimização podem ser analisados utilizando-se uma estrutura denominada grafo ou rede. Problemas em redes aparecem

Leia mais

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado.

ESTRUTURAS DISCRETAS (INF 1631) GRAFOS. 1. O que é um grafo? Defina um grafo orientado. Defina um grafo não-orientado. PUC-Rio Departamento de Informática Profs. Marcus Vinicius S. Poggi de Aragão Período: 0. Horário: as-feiras e as-feiras de - horas de maio de 0 ESTRUTURAS DISCRETAS (INF 6) a Lista de Exercícios Procure

Leia mais

Pesquisa Operacional / Programação Matemática

Pesquisa Operacional / Programação Matemática Pesquisa Operacional / Programação Matemática Otimização discreta Modelagem com variáveis binárias: problemas clássicos Breve Comentários (aula anterior) Em geral, não faz sentido resolver a relaxação

Leia mais

Métodos Exatos para PI - Parte 1: Branch-and-Bound

Métodos Exatos para PI - Parte 1: Branch-and-Bound Introdução à Otimização Combinatória Métodos Exatos para PI - Parte 1: Professora: Rosiane de Freitas (rosiane@icomp.ufam.edu.br) Bruno Raphael Cardoso Dias Prof. Estágio em Docência (bruno.dias@icomp.ufam.edu.br)

Leia mais

Programação Inteira Resolução por Branch and Bound

Programação Inteira Resolução por Branch and Bound Programação Inteira Resolução por Branch and Bound Transparências de apoio à lecionação de aulas teóricas Versão 2.3 c 2012, 2010, 2009, 2001 Maria Antónia Carravilla José Fernando Oliveira FEUP Técnicas

Leia mais

Programação Inteira. Solução com o método Branch-and-Bound

Programação Inteira. Solução com o método Branch-and-Bound Programação Inteira Solução com o método Branch-and-Bound Conceitos gerais Um conceito fundamental nos métodos de resolução de programação inteira é a relaxação linear p Consiste em substituir PIM Ζ +

Leia mais

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21 Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21 Três objetivos i. Redução de custos (custos variáveis) ii. iii. Redução de capital (investimento, custos fixos) Melhoria do serviço

Leia mais

x y Grafo Euleriano Figura 1

x y Grafo Euleriano Figura 1 Grafo Euleriano Um caminho simples ou um circuito simples é dito euleriano se ele contém todas as arestas de um grafo. Um grafo que contém um circuito euleriano é um grafo euleriano. Um grafo que não contém

Leia mais

Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST)

Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST) Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 45 Problema da Árvore Geradora Mínima (The Minimum Spanning Tree Problem-MST) Alguns problemas de otimização combinatória podem ser formulados

Leia mais

Matemática Aplicada Nt Notas de aula

Matemática Aplicada Nt Notas de aula Matemática Aplicada Nt Notas de aula Problema de transporte e designação Problema de transporte: motivação origem 1 destino 1 origem 2 destino 2 destino 3 Caracterização geral Dados: A estrutura de fontes

Leia mais

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS

COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS COMPARAÇÃO ENTRE FROTA HOMOGÊNEA E HETEROGÊNEA EM PROBLEMAS DE ROTEAMENTO DE VEÍCULOS CAPACITADOS Rosiana da Silva Lopes Danilo César Rodrigues Azevedo rosianalopes16@gmail.com danilo.azevedo@ufpi.edu.br.com

Leia mais

Fluxo em Redes -01. Prof. Gustavo Peixoto Silva 2 modelos

Fluxo em Redes -01. Prof. Gustavo Peixoto Silva 2 modelos Fluxo em Redes - Prof. Gustavo Peixoto Silva modelos . Otimização em Redes É um caso particular da Programação Linear, onde pretende-se minimizar uma função de custoque dependedofluxoque passa pelos arcosde

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. Teoria dos Grafos Valeriano A de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilceunespbr, socorro@ibilceunespbr Grafos Hamiltonianos Preparado a partir do texto: Rangel, Socorro

Leia mais

Sub-grafo. Árvore Geradora Mínima

Sub-grafo. Árvore Geradora Mínima Comentários da aula anterior Componentes Fortemente Conectados (algoritmo) 1. Chama BuscaEmProfundidade (G) para obter os tempos de término (t[u], ou f[u]) para todos os vértices de G, isto é, enquanto

Leia mais

Programação Linear/Inteira

Programação Linear/Inteira Unidade de Matemática e Tecnologia - RC/UFG Programação Linear/Inteira Prof. Thiago Alves de Queiroz Aula 2 Thiago Queiroz (IMTec) Aula 2 Aula 2 1 / 46 Hipóteses de Linearidade Existem algumas hipóteses

Leia mais

Optimização em Redes e Não Linear

Optimização em Redes e Não Linear Departamento de Matemática da Universidade de Aveiro Optimização em Redes e Não Linear Ano Lectivo 005/006, o semestre Folha - Optimização em Redes - Árvores de Suporte. Suponha que uma dada companhia

Leia mais

Teoria dos Grafos. Profa. Alessandra Martins Coelho

Teoria dos Grafos. Profa. Alessandra Martins Coelho Teoria dos Grafos Profa. Alessandra Martins Coelho fev/2014 Avaliação 2 Provas 30 pontos cada; 3 Implementações 10 pontos cada; 1 Seminário 10 pontos; Listas de exercícios Listas não valem nota, entretanto...

Leia mais

3 Decisões de Localização de Instalações

3 Decisões de Localização de Instalações 3 Decisões de Localização de Instalações Historicamente, o estudo contemporâneo dos problemas de localização foi iniciado por Alfred Weber, que estudou a localização de uma fábrica com o objetivo de minimizar

Leia mais

Pesquisa Operacional / Programação Matemática

Pesquisa Operacional / Programação Matemática Pesquisa Operacional / Programação Matemática Otimização discreta Branch-and-bound 15 mai 2009 16:29 Como resolver PIMs? Antes: todas as variáveis reais Simplex Agora: problema: Apesar de não representar

Leia mais

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco.

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco. CONCEITOS DE REDE Uma rede é formada por um conjunto de nós, um conjunto de arcos e de parâmetros associados aos arcos. Nós Arcos Fluxo Interseções Rodovias Veículos Rodoviários Aeroportos Aerovia Aviões

Leia mais

Teoria dos Grafos. Motivação

Teoria dos Grafos. Motivação Teoria dos Grafos Aula 1 Primeiras Ideias Prof a. Alessandra Martins Coelho março/2013 Motivação Muitas aplicações em computação necessitam considerar conjunto de conexões entre pares de objetos: Existe

Leia mais

Grafos: árvores geradoras mínimas. Graça Nunes

Grafos: árvores geradoras mínimas. Graça Nunes Grafos: árvores geradoras mínimas Graça Nunes 1 Motivação Suponha que queremos construir estradas para interligar n cidades Cada estrada direta entre as cidades i e j tem um custo associado Nem todas as

Leia mais

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Algoritmo Aproximado Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3 Heurísticas para Problemas N P- Completo Heurística: algoritmo que pode produzir um bom resultado (ou até a solução ótima),

Leia mais

Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15

Análise e Síntese de Algoritmos. Programação Dinâmica CLRS, Cap. 15 Análise e Síntese de Algoritmos Programação Dinâmica CLRS, Cap. 15 Contexto Revisões [CLRS, Cap. 1-10] Algoritmos em Grafos [CLRS, Cap. 22-26] Algoritmos elementares Árvores abrangentes Caminhos mais curtos

Leia mais

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana

Otimização Linear. Profª : Adriana Departamento de Matemática. wwwp.fc.unesp.br/~adriana Otimização Linear Profª : Adriana Departamento de Matemática adriana@fc.unesp.br wwwp.fc.unesp.br/~adriana Forma geral de um problema Em vários problemas que formulamos, obtivemos: Um objetivo de otimização

Leia mais

BCC204 - Teoria dos Grafos

BCC204 - Teoria dos Grafos BCC204 - Teoria dos Grafos Marco Antonio M. Carvalho (baseado nas notas de aula do prof. Haroldo Gambini Santos) Departamento de Computação Instituto de Ciências Exatas e Biológicas Universidade Federal

Leia mais

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes 8//6 GRAFOS BUSCAS E MENOR CAMINHO Prof. André Backes Busca em grafos Definição Consiste em explorar o grafo de uma maneira bem específica. Trata-se de um processo sistemático de como caminhar por seus

Leia mais

Otimização em Grafos

Otimização em Grafos Otimização em Grafos Luidi G. Simonetti PESC/COPPE 2017 Luidi Simonetti (PESC) EEL857 2017 1 / 33 Definição do Problema Dado: um grafo ponderado G = (V, E), orientado ou não, onde d : E R + define as distâncias

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada Teoria dos Grafos Valeriano A de Oliveira, Socorro Rangel, Silvio A de Araujo Departamento de Matemática Aplicada Capítulo 12: Grafos Hamiltonianos Preparado a partir do texto: Rangel, Socorro Teoria do

Leia mais

Teoria da Computação. Complexidade computacional classes de problemas

Teoria da Computação. Complexidade computacional classes de problemas Teoria da Computação Complexidade computacional classes de problemas 1 Universo de problemas Problemas indecidíveis ou não-computáveis Não admitem algoritmos Problemas intratáveis Não admitem algoritmos

Leia mais

Fluxo em Redes -01. Prof. Gustavo Peixoto Silva 2 modelos

Fluxo em Redes -01. Prof. Gustavo Peixoto Silva 2 modelos Fluo em Redes - Prof. Gustavo Peioto Silva modelos . Otimização em Redes É um caso particular da Programação Linear, onde pretende-se minimizar uma função de custoque dependedofluoque passa pelos arcosde

Leia mais

Resolvendo algebricamente um PPL

Resolvendo algebricamente um PPL Capítulo 6 Resolvendo algebricamente um PPL 6.1 O método algébrico para solução de um modelo linear A solução de problemas de programação linear com mais de duas variáveis, não pode ser obtida utilizando-se

Leia mais

GRAFOS Aula 10 Fluxo em Redes Max Pereira

GRAFOS Aula 10 Fluxo em Redes Max Pereira Ciência da Computação GRAFOS Aula 10 Max Pereira É a transferência de algum tipo de recurso quantificável e sujeito a restrições de equilíbrio, de um local (origem) para outro (destino) através de uma

Leia mais

Os Problemas de Optimização Combinatória e a Teoria da Complexidade

Os Problemas de Optimização Combinatória e a Teoria da Complexidade Metodologias de Apoio à Decisão Os Problemas de Optimização Combinatória e a Teoria da Complexidade Programação Inteira Mista Programação Linear Programação Binária Mista Programação Inteira Slide Fluxos

Leia mais

Noções da Teoria dos Grafos. André Arbex Hallack

Noções da Teoria dos Grafos. André Arbex Hallack Noções da Teoria dos Grafos André Arbex Hallack Junho/2015 Índice 1 Introdução e definições básicas. Passeios eulerianos 1 1.1 Introdução histórica..................................... 1 1.2 Passeios

Leia mais

Programação Linear - Parte 5

Programação Linear - Parte 5 Matemática Industrial - RC/UFG Programação Linear - Parte 5 Prof. Thiago Alves de Queiroz 1/2016 Thiago Queiroz (IMTec) Parte 5 1/2016 1 / 29 Dualidade Os parâmetros de entrada são dados de acordo com

Leia mais

Pesquisa Operacional Programação em Redes

Pesquisa Operacional Programação em Redes Pesquisa Operacional Programação em Redes Profa. Alessandra Martins Coelho outubro/2013 Seminários Datas Temas Problema do Caminho mais curto programação em redes Data 07/11/13 Problema do Fluxo máximo

Leia mais

Programação Inteira. Algoritmo Branch-and-Bound (ou enumeração implícita)

Programação Inteira. Algoritmo Branch-and-Bound (ou enumeração implícita) Programação Inteira Algoritmo Branch-and-Bound (ou enumeração implícita) Métodos de Solução: Branch-and-Bound O método Branch-and-Bound (B&B) baseia-se na idéia de desenvolver uma enumeração inteligente

Leia mais

CAPÍTULO IV PROGRAMAÇÃO LINEAR INTEIRA (PLI)

CAPÍTULO IV PROGRAMAÇÃO LINEAR INTEIRA (PLI) CAPÍTULO IV PROGRAMAÇÃO LINEAR INTEIRA (PLI) Prof. Gilson Fernandes da Silva Departamento de Ciências Florestais e da Madeira (DCFM) Programa de Pós-graduação em Ciências Florestais (PPGCF) Universidade

Leia mais

Cálculo Numérico BCC760

Cálculo Numérico BCC760 Cálculo Numérico BCC760 Resolução de Sistemas de Equações Lineares Simultâneas Departamento de Computação Página da disciplina http://www.decom.ufop.br/bcc760/ 1 Introdução! Definição Uma equação é dita

Leia mais