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 ) 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 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). Deve-se considerar algumas observações: ) 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 (< 00 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 (200) 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 (200) 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.) 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 (200), apresenta a aplicação do método Branch-and-Bound para variáveis de decisão binárias (PLIB). Exemplo : 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 =0 e x = Fazendo-se a substituição de x 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 =0 Para x = 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 X 0 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. 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. Resolvendo-se pelo método Simplex, usando o software Lindo (figura a seguir) chega-se ao seguinte resultado: x =0,8; x 2 =;x =0;x 4 =; Z=6,5 Prof. Marcelo Sucena Página 8 de 56

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

10 A solução em árvores expressa os resultados dos sub-problemas anteriores. Z 6 (0.8,,0,) X 0 9 (0,,0,) 6 (,0.8,0,0.8) A solução relaxada do nó x =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. X Z 6 (0.8,,0,) 0 9 (0,,0,) 6 (,0.8,0,0.8) Partindo-se para 2ª iteração (usando-se x 2 =0 e x 2 =), pelo nó x =, para os sub-problemas relaxados, tem-se: Para x = e x 2 =0: x =0.8; x 4 =0; Z=,8 (Figura a seguir com a solução no software Lindo). Portanto Z (valor inteiro). Prof. Marcelo Sucena Página 0 de 56

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

12 Para x =, x 2 = e x = 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 6 (0.8,,0,) 9 (0,,0,) 6 (,0.8,0,0.8) 0 (,0,0.8,0) 6 (,,0,0.5) X 0 6 (,,0,0.5) Pela fixação dos valores de x 4 (x 4 =0 e x 4 =) gera-se uma solução única, sem criar outros subproblemas. A árvore final fica: Z 6 (0.8,,0,) 0 9 (0,,0,) 6 (,0.8,0,0.8) X2 0 (,0,0.8,0) 6 (,,0,0.5) X 0 6 (,,0,0.5) X4 0 4 (,,0,0) Impossível Esta última solução candidata é melhor que a solução anterior (Z*=4). 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 2 de 56

13 . 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 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 : X2 2.9 (.7,2.9) Z X2 X2 2 (,2) Prof. Marcelo Sucena Página de 56 Impossível 2

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

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

16 42 (4.,2) Z X 5 X 4 X 5 46 (5,2) X2 4 X (4,2.) X2 2 X 4 X 4 (.2,) Impossível X 4 48 (4,) 4. (,.) X2 4 X2 X (2,4) Solução ótima Impossível Prof. Marcelo Sucena Página 6 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 76, o matemático suíço Leonhard Euler (707-78) 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 847, 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 859, 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 seqüê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 {, 2,,.., k, k} e conjunto de arestas da forma {{,2}, {2,}},.., {k, 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 {, 2,,.., k, k} e conjunto de arestas da forma {{,2}, {2,}},.., {k, k}, {k,}} 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:. 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 7 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. V V2 V4 V G(V,A) => V={V,V 2,V,V 4 } e A={V V 2,V 2 V,V V 4,V 4 V } 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. α α 2 α 4 V 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 8 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.. 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...algoritmo de PRIM Este algoritmo compreende os seguintes passos: º 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 9 de 56

20 C = { 4 } e C* = {,2,,5,6 } => C2 = { 4, } e C*2 = {,2,5,6 } => C = { 4,,2 } e C* = {,5,6 } => C4 = { 4,,2, } e C*4 = { 5,6 } => C5 = { 4,,2,,5 } e C*5 = { 6 } => C6 = { 4,,2,,5,6 } e C*6 = Resultado Final: 2Km 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- arcos conectados, sendo "n" o número de nós do grafo. Este algoritmo compreende os seguintes passos: º 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- 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 A* = {(,4),(,2),(,2),(,5),(6,5),(,4),(4,5),(,6),(,),(2,6)} A = Passo 2 A = {(,4)} A* = {(,2),(,2),(,5),(6,5),(,4),(4,5),(,6),(,),(2,6)} Passo n = 6 e n- = 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)} A* = {(,2),(,5),(6,5),(,4),(4,5),(,6),(,),(2,6)} Passo n = 6 e n- = 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), (,2)} A* = {(,5),(6,5),(,4),(4,5),(,6),(,),(2,6)} Passo n = 6 e n- = 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), (,2), (,5)} A* = {(6,5),(,4),(4,5),(,6),(,),(2,6)} Passo n = 6 e n- = 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), (,2), (,5), (6,5)} A* = {(,4),(4,5),(,6),(,),(2,6)} Passo n = 6 e n- = 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: 2Km Prof. Marcelo Sucena Página 2 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.). 2.. Algoritmo de Dijkstra Este algoritmo foi desenvolvido em 959 e posteriormente Dantizg (960) e Nicholson (960) 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: º passo: considerando que d( x ) i = min { d( x ) i -, d( y ) + d( y, x ) }, onde () 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. 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 seqüê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. d(o) = 0 e d(), d(2), d(), d(4), d(d) = 2. d(o) -> y = O i =, ou seja, ª iteração. d() = min{d()0, d(o) + d(o,)} = min {, 0+4} = 4 d(2) = min{d(2)0, d(o) + d(o,2)} = min {, 0+} = d() = min{, 0+} = d(4) = min{, 0+ } = d(d) = 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()2 = min{d(), d(2) + d(2,)} = min { 4, + } = 4 d()2 = min{d(), 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() = min{d()2, d() + d(,)} = 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 =. 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() + d(,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 ª iteração. Qual era o valor de y nessa iteração? Na ª iteração, y é igual a O. 2 2 O D Prof. Marcelo Sucena Página 24 de 56

25 UNIDADE III FLUXOS EM REDE. 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 O modelo matemático para este problema pode ser expresso da seguinte forma: Minimizar: Sujeito a: z n j m i m i X X ij ij n j a b C ij X ij i j (i,..., m) ( j,..., 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.. Tabela. - Representação do Problema de Transporte b j O R I G E N S DESTINOS 2... n Oferta C C 2 C... C n a X X 2 X X n 2 C 2 C 22 C 2... C 2n a 2 X 2 X 22 X 2 X 2n m C m C m2 C m... C mn a m X m X m2 X m X mn Demanda b 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 um certo período de tempo são 70, 90 e 5 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.2 - 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 A =7 C B =20 C 2A =5 C 2B =2 C 2C =26 C 2D =25 C A =5 C B =4 C C =5 C D =7 C C = Disponibilidades dos destinos A B C D =2 C D A solução dos Problemas de Transporte passa por quatro etapas: Total = 275. 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 .. 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 tantas unidades quantas sejam possíveis, sem violar as restrições. Isto corresponderá ao menor dos dois valores a e b. 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 exemplo, 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:. 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 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 exemplo, 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 (-2) (2-5) (5-4) Demanda Penalidade 0 (5-5) 6 (20-4) 2 (5-) 5 (7-2) 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 (-2) (25-2) (5-4) Demanda Penalidade 0 (5-5) 6 (20-4) 2 (5-) 5 (7-2) A coluna B apresenta a maior penalidade (seis). Nesta coluna, a célula de menor custo é a que corresponde à linha (custo igual a 4). Aloca-se, portanto, 60 para tal célula e elimina-se a coluna B dos passos seguintes. A B C D Oferta Penalidade (-2) (26-25) (7-5) Demanda Penalidade (5-5) (20-4) (5-) 5 (7-2) 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 (-2) (26-25) (7-5) Demanda Penalidade 0 (5-5) 6 (20-4) (26-5) 8 (25-7) A B C D Oferta Penalidade (-2) (26-25) (7-5) Demanda Penalidade (5-5) (20-4) (26) (25) A B C D Oferta Penalidade (-2) (26-25) (7-5) Demanda Penalidade (5-5) (20-4) (26) (25) Prof. Marcelo Sucena Página 29 de 56

30 A B C D Oferta Penalidade (-2) (26-25) (7-5) Demanda Penalidade (5-5) (20-4) (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: D, 2A, 2C, 2D, B e C. As variáveis não-básicas são: A, B, C, 2B, A e D. A seguir serão descritos os passos para avaliação da existência de uma solução melhorada. º 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 coluna D (célula com custo 2). Prof. Marcelo Sucena Página 0 de 56

31 A B C D Oferta Pesos Demanda Pesos 2 Os próximos pesos terão a mesma seqüência de cálculo, conforme expresso na próxima tabela. A B C D Oferta Pesos Demanda Pesos 2 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 (A), temos o seguinte resultado: Custo A - Peso - Peso A = = 5 Para as demais linhas x colunas os resultados são: Prof. Marcelo Sucena Página de 56

32 A B C D 7-0-2= =8-0-= = = 7-2-2= 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 (a 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 5-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 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 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 7-0-2= =2-0-9= = = =- 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-0-= = -0-0= = = 5-5-=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. D 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 D D2 D D4 O O O O4 2 0 D 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. D 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). D 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. D D2 D D4 O 0 2-2=0 4-2=2-2= 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. D D2 D D4 O O O O Verifica-se, então, que todas as origens foram designadas aos seus destinos. O resultado é: OD - custo da tabela inicial = 0 O2D2 - custo da tabela inicial = 2 OD4 - custo da tabela inicial = 5 O4D - custo da tabela inicial = 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. % R R2 R R4 V V V V Potencial de vendas ($ x 0 ): R = 00; 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 $ R R2 R R4 V 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 $ R 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 R R2 R R4 V 0 V V V Agora deve-se aplicar o algoritmo conforme o exemplo anterior. Subtrair o menor número de cada linha. R R2 R R4 V 0 V V 2-9=2 9-9=0 45-9=6 8-9=9 V4-9=2 7-9=8 9-9=0 9-9=0 Subtrair o menor número de cada coluna. R R2 R R4 V -2=9-0= 0 V2-2= =9 0 V 2-2= =6 9 V4 2-2= =0 0 Designar os vendedores às regiões. Prof. Marcelo Sucena Página 7 de 56

38 R R2 R R4 V 9 0 V V V Deve-se continuar, pois não houve designação do vendedor 2 para a região. R R2 R R4 V 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. R R2 R R4 V V V V Deve-se designar novamente os vendedores às regiões. R R2 R R4 V V V V A designação final fica: V para R; V2 para R4; V para R2 e V4 para R. A venda total ($ x 0 ) é: = $ 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 Produção 2 Custo Unitário de Movimentação: $5 Custo Unitário de Movimentação: $0 Consumo Custo Unitário de Movimentação: $ Observa-se que para movimentar produtos entre a unidade de produção (UP) e o ponto de consumo custa $0. 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 = 0 un. $25 PC = 7 un. $20 $6 Nó central $7 $0 $5 $8 UP 2 = 0 un. $25 PC 2 = 8 un. O próximo quadro apresenta os custos de movimentação entre os nós e a quantidade total produzida da UP e da UP2, além da capacidade máxima de consumo dos PC e do PC2. Prof. Marcelo Sucena Página 9 de 56

40 UP UP2 Nó PC PC2 Total central UP M 0 UP M 25 0 Nó ? central PC 25 M 6 0 0? PC2 M ? Total??? /20 Considerações: Como não há ligação direta entre a UP e o PC2, como também entre a UP2 e o PC, 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. UP UP2 Nó PC PC2 Total central UP M 0 UP M 25 0 Nó central ? PC 25 M 6 0 0? 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 UP UP2 Nó PC PC2 Total central UP M 0+25 UP M Nó central PC 25 M PC2 M Fictícia Total /50 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: UP UP2 Nó PC PC2 Otimização Total central UP UP Nó central PC PC Fictícia Otimização Total Interpretação dos resultados obtidos: a) UP: 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 0 unidades para UP2. b) UP2: o Movimenta 5 unidades para a própria, o que significa que foram utilizadas 0 unidades do buffer, ou seja, este nó foi usado como transbordo de 0 unidades. o Movimenta 20 unidades para o Ponto Central, ou seja, 0 unidades de estoque mais 0 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 PC, que na verdade são 20 unidades de transbordo da UP2. d) PC: o Movimenta 2 unidades para o próprio, o que significa que foram utilizadas unidades do buffer, ou seja, este nó foi usado como transbordo de unidades. o Movimenta unidades para o PC2 (deduzidas 20 unidades que vieram do Ponto Central, fica ainda com 7 unidades encomendadas). Prof. Marcelo Sucena Página 4 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 unidades de encomenda do PC. Resumindo, o transbordo ocorreu de acordo com a movimentação exposta na figura a seguir. UP = 0 un. PC = 7 un. Nó central 20 un. 0 un. un. 20 un. UP 2 = 0 un. PC 2 = 8 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.. 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: º 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 6 0 º caminho escolhido: O>6>A>2>C>20>D, sendo f=2 e f total =2 A B C E D Capacidade Fluxo Limitador O 2/6 0 A 4 2/ 2 9 C 7 2/20 4 D B 4 E 2º caminho escolhido: O>4>A>0>B>4>E>4>D, sendo f=4 e f total =6 Prof. Marcelo Sucena Página 4 de 56

Pesquisa Operacional Programação em Redes

Pesquisa Operacional Programação em Redes Pesquisa Operacional Programação em Redes Profa. Alessandra Martins Coelho outubro/2013 Modelagem em redes: Facilitar a visualização e a compreensão das características do sistema Problema de programação

Leia mais

Arquitetura de Rede de Computadores

Arquitetura de Rede de Computadores TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador

Leia mais

Algoritmos e Estrutura de Dados III. Árvores

Algoritmos e Estrutura de Dados III. Árvores Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas

Leia mais

Utilização do SOLVER do EXCEL

Utilização do SOLVER do EXCEL Utilização do SOLVER do EXCEL 1 Utilização do SOLVER do EXCEL José Fernando Oliveira DEEC FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO MAIO 1998 Para ilustrar a utilização do Solver na resolução de

Leia mais

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO

PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO PROBLEMA DE TRANSPORTE: MODELO E MÉTODO DE SOLUÇÃO Luciano Pereira Magalhães - 8º - noite lpmag@hotmail.com Orientador: Prof Gustavo Campos Menezes Banca Examinadora: Prof Reinaldo Sá Fortes, Prof Eduardo

Leia mais

Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem Disciplina: Suprimentos e Logística II 2014-02 Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem Caros alunos, Essa terceira atividade da nossa disciplina de Suprimentos e Logística

Leia mais

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear.

7 - Análise de redes Pesquisa Operacional CAPÍTULO 7 ANÁLISE DE REDES. 4 c. Figura 7.1 - Exemplo de um grafo linear. CAPÍTULO 7 7 ANÁLISE DE REDES 7.1 Conceitos Básicos em Teoria dos Grafos Diversos problemas de programação linear, inclusive os problemas de transporte, podem ser modelados como problemas de fluxo de redes.

Leia mais

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 3.2 O Espaço Nulo de A: Resolvendo Ax = 0 11 O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2 Esta seção trata do espaço de soluções para Ax = 0. A matriz A pode ser quadrada ou retangular. Uma solução imediata

Leia mais

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14

Técnicas para Programação Inteira e Aplicações em Problemas de Roteamento de Veículos 14 1 Introdução O termo "roteamento de veículos" está relacionado a um grande conjunto de problemas de fundamental importância para a área de logística de transportes, em especial no que diz respeito ao uso

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Aritmética Computacional Slide 1 Sumário Unidade Lógica e Aritmética Representação de Números Inteiros Aritmética de Números Inteiros Representação de Números

Leia mais

Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES

Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES Investigação Operacional- 2009/10 - Programas Lineares 3 PROGRAMAS LINEARES Formulação A programação linear lida com problemas nos quais uma função objectivo linear deve ser optimizada (maximizada ou minimizada)

Leia mais

PLANEJAMENTO DA MANUFATURA

PLANEJAMENTO DA MANUFATURA 58 FUNDIÇÃO e SERVIÇOS NOV. 2012 PLANEJAMENTO DA MANUFATURA Otimizando o planejamento de fundidos em uma linha de montagem de motores (II) O texto dá continuidade à análise do uso da simulação na otimização

Leia mais

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2.

Projetos. Universidade Federal do Espírito Santo - UFES. Mestrado em Informática 2004/1. O Projeto. 1. Introdução. 2. Pg. 1 Universidade Federal do Espírito Santo - UFES Mestrado em Informática 2004/1 Projetos O Projeto O projeto tem um peso maior na sua nota final pois exigirá de você a utilização de diversas informações

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

CAPÍTULO 2. Grafos e Redes

CAPÍTULO 2. Grafos e Redes CAPÍTULO 2 1. Introdução Um grafo é uma representação visual de um determinado conjunto de dados e da ligação existente entre alguns dos elementos desse conjunto. Desta forma, em muitos dos problemas que

Leia mais

a 1 x 1 +... + a n x n = b,

a 1 x 1 +... + a n x n = b, Sistemas Lineares Equações Lineares Vários problemas nas áreas científica, tecnológica e econômica são modelados por sistemas de equações lineares e requerem a solução destes no menor tempo possível Definição

Leia mais

6. Programação Inteira

6. Programação Inteira Pesquisa Operacional II 6. Programação Inteira Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção Programação Inteira São problemas de programação matemática em que a função objetivo, bem

Leia mais

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

QUESTÃO 1 ALTERNATIVA B

QUESTÃO 1 ALTERNATIVA B 1 QUESTÃO 1 Marcos tem 10 0,25 = 2,50 reais em moedas de 25 centavos. Logo ele tem 4,30 2,50 = 1,80 reais em moedas de 10 centavos, ou seja, ele tem 1,80 0,10 = 18 moedas de 10 centavos. Outra maneira

Leia mais

FRAÇÕES TERMOS DE UMA FRAÇÃO NUMERADOR 2 TRAÇO DE FRAÇÃO DENOMINADOR. DENOMINADOR Indica em quantas partes o todo foi dividido.

FRAÇÕES TERMOS DE UMA FRAÇÃO NUMERADOR 2 TRAÇO DE FRAÇÃO DENOMINADOR. DENOMINADOR Indica em quantas partes o todo foi dividido. FRAÇÕES TERMOS DE UMA FRAÇÃO NUMERADOR TRAÇO DE FRAÇÃO DENOMINADOR DENOMINADOR Indica em quantas partes o todo foi dividido. NUMERADOR - Indica quantas partes foram consideradas. TRAÇO DE FRAÇÃO Indica

Leia mais

Notas de aula número 1: Otimização *

Notas de aula número 1: Otimização * UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL UFRGS DEPARTAMENTO DE ECONOMIA CURSO DE CIÊNCIAS ECONÔMICAS DISCIPLINA: TEORIA MICROECONÔMICA II Primeiro Semestre/2001 Professor: Sabino da Silva Porto Júnior

Leia mais

01/05/2016. Danillo Tourinho Sancho da Silva, MSc ROTEIRIZAÇÃO TEORIA DOS GRAFOS MOTIVAÇÃO

01/05/2016. Danillo Tourinho Sancho da Silva, MSc ROTEIRIZAÇÃO TEORIA DOS GRAFOS MOTIVAÇÃO ROTEIRIZAÇÃO Danillo Tourinho Sancho da Silva, MSc TEORIA DOS GRAFOS MOTIVAÇÃO 1 MOTIVAÇÃO Por que estudar grafos? Importante ferramenta matemática com aplicação em diversas áreas do conhecimento Utilizados

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

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

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT

Aula 20. Roteamento em Redes de Dados. Eytan Modiano MIT Aula 20 Roteamento em Redes de Dados Eytan Modiano MIT 1 Roteamento Deve escolher rotas para vários pares origem, destino (pares O/D) ou para várias sessões. Roteamento datagrama: a rota é escolhida para

Leia mais

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas CMP1132 Processo e qualidade de software II Prof. Me. Elias Ferreira Sala: 402 E Quarta-Feira:

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 Não Linear Aula 25: Programação Não-Linear - Funções de Uma única variável Mínimo; Mínimo Global; Mínimo Local; Optimização Irrestrita; Condições Óptimas; Método da Bissecção; Método de Newton.

Leia mais

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às

Leia mais

3 Classificação. 3.1. Resumo do algoritmo proposto

3 Classificação. 3.1. Resumo do algoritmo proposto 3 Classificação Este capítulo apresenta primeiramente o algoritmo proposto para a classificação de áudio codificado em MPEG-1 Layer 2 em detalhes. Em seguida, são analisadas as inovações apresentadas.

Leia mais

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA

SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA SERVIÇO DE ANÁLISE DE REDES DE TELECOMUNICAÇÕES APLICABILIDADE PARA CALL-CENTERS VISÃO DA EMPRESA Muitas organizações terceirizam o transporte das chamadas em seus call-centers, dependendo inteiramente

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

CAP. I ERROS EM CÁLCULO NUMÉRICO

CAP. I ERROS EM CÁLCULO NUMÉRICO CAP. I ERROS EM CÁLCULO NUMÉRICO 0. Introdução Por método numérico entende-se um método para calcular a solução de um problema realizando apenas uma sequência finita de operações aritméticas. A obtenção

Leia mais

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES?

PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES? PLANEJAMENTO OPERACIONAL - MARKETING E PRODUÇÃO MÓDULO 3 O QUE É PLANEJAMENTO DE VENDAS E OPERAÇÕES? Índice 1. O que é planejamento de...3 1.1. Resultados do planejamento de vendas e operações (PVO)...

Leia mais

PESQUISA OPERACIONAL

PESQUISA OPERACIONAL PARTE I Para os exercícios de programação linear abaixo, apresentar a modelagem do problema, a solução algébrica e a solução gráfica: 1. Uma confecção produz dois tipos de vestido: um casual e um de festa.

Leia mais

2 Problema das p-medianas

2 Problema das p-medianas 2 Problema das p-medianas 2.1 Definição O PMNC é definido da seguinte forma: determinar quais p facilidades (p m, onde m é o número de pontos onde podem ser abertas facilidades) devem obrigatoriamente

Leia mais

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves CAP 254 CAP 254 Otimização Combinatória Professor: Dr. L.A.N. Lorena Assunto: Metaheurísticas Antonio Augusto Chaves Conteúdo C01 Simulated Annealing (20/11/07). C02 Busca Tabu (22/11/07). C03 Colônia

Leia mais

Pesquisa Operacional. 4x1+3x2 <=1 0 6x1 - x2 >= 20 X1 >= 0 X2 >= 0 PESQUISA OPERACIONAL PESQUISA OPERACIONAL PESQUISA OPERACIONAL PESQUISA OPERACIONAL

Pesquisa Operacional. 4x1+3x2 <=1 0 6x1 - x2 >= 20 X1 >= 0 X2 >= 0 PESQUISA OPERACIONAL PESQUISA OPERACIONAL PESQUISA OPERACIONAL PESQUISA OPERACIONAL Modelo em Programação Linear Pesquisa Operacional A programação linear é utilizada como uma das principais técnicas na abordagem de problemas em Pesquisa Operacional. O modelo matemático de programação

Leia mais

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 3-1. A CAMADA DE REDE (Parte 1) A camada de Rede está relacionada à transferência de pacotes da origem para o destino. No entanto, chegar ao destino pode envolver vários saltos em roteadores intermediários.

Leia mais

E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO

E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO Dizemos que uma equação é linear, ou de primeiro grau, em certa incógnita, se o maior expoente desta variável for igual a um. Ela será quadrática, ou

Leia mais

Capítulo 4 - Roteamento e Roteadores

Capítulo 4 - Roteamento e Roteadores Capítulo 4 - Roteamento e Roteadores 4.1 - Roteamento Roteamento é a escolha do módulo do nó de origem ao nó de destino por onde as mensagens devem transitar. Na comutação de circuito, nas mensagens ou

Leia mais

Problema de Transporte. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 8 modelos

Problema de Transporte. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 8 modelos Problema de Transporte Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 8 modelos Problema de Transporte Rede bipartida onde um conjunto contém nós de oferta e o outro

Leia mais

Estrada de Rodagem Terraplanagem

Estrada de Rodagem Terraplanagem Estrada de Rodagem Terraplanagem Prof. Dr. Rodrigo de Alvarenga Rosa rodrigoalvarengarosa@gmail.com (27) 9941-3300 1 O motivo para realizar terraplenagem é que o terreno natural não é adequado ao tráfego

Leia mais

Teoria dos Grafos. Edson Prestes

Teoria dos Grafos. Edson Prestes Edson Prestes Complemento de Grafos Mostre que para qualquer Grafo G com 6 pontos, G ou possui um triângulo Considere um vértice v de V(G). Sem perda de generalidade, podemos assumir v é adjacente a outros

Leia mais

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br IA: Problemas de Satisfação de Restrições Prof. Msc. Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br Introdução Um PSR é definido por um conjunto de variáveis X 1, X 2,..., X n, e por um conjunto de restrições,

Leia mais

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB

Capacidade = 512 x 300 x 20000 x 2 x 5 = 30.720.000.000 30,72 GB Calculando a capacidade de disco: Capacidade = (# bytes/setor) x (méd. # setores/trilha) x (# trilhas/superfície) x (# superfícies/prato) x (# pratos/disco) Exemplo 01: 512 bytes/setor 300 setores/trilha

Leia mais

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global. 15.053 Quinta-feira, 25 de abril

Dificuldades de Modelos de PNL. Onde está a solução ótima? Outro exemplo: Condição ótima Local vs. Global. 15.053 Quinta-feira, 25 de abril 15.053 Quinta-feira, 25 de abril Teoria de Programação Não-Linear Programação Separável Dificuldades de Modelos de PNL Programa Linear: Apostilas: Notas de Aula Programas Não-Lineares 1 2 Análise gráfica

Leia mais

CAP. 2 CONSIDERAÇÕES SOBRE OS CRITÉRIOS DE DECISÃO

CAP. 2 CONSIDERAÇÕES SOBRE OS CRITÉRIOS DE DECISÃO CAP. 2 CONSIDERAÇÕES SOBRE OS CRITÉRIOS DE DECISÃO 1. OS CRITÉRIOS DE DECISÃO Dentre os métodos para avaliar investimentos, que variam desde o bom senso até os mais sofisticados modelos matemáticos, três

Leia mais

DIFERENÇAS ENTRE HUB, SWITCH E ROOTER

DIFERENÇAS ENTRE HUB, SWITCH E ROOTER ESCOLA SECUNDÁRIA DE AROUCA CURSO OPERADOR DE INFORMÁTICA (2) Educação e Formação de Adultos DIFERENÇAS ENTRE HUB, SWITCH E ROOTER 1º PERÍODO Sara Matias ICORLI 2008/2009 Muita gente sabe que hub, switch

Leia mais

LEI DE OHM LEI DE OHM. Se quisermos calcular o valor da resistência, basta dividir a tensão pela corrente.

LEI DE OHM LEI DE OHM. Se quisermos calcular o valor da resistência, basta dividir a tensão pela corrente. 1 LEI DE OHM A LEI DE OHM é baseada em três grandezas, já vistas anteriormente: a Tensão, a corrente e a resistência. Com o auxílio dessa lei, pode-se calcular o valor de uma dessas grandezas, desde que

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

Modelo Cascata ou Clássico

Modelo Cascata ou Clássico Modelo Cascata ou Clássico INTRODUÇÃO O modelo clássico ou cascata, que também é conhecido por abordagem top-down, foi proposto por Royce em 1970. Até meados da década de 1980 foi o único modelo com aceitação

Leia mais

APLICAÇÕES DA DERIVADA

APLICAÇÕES DA DERIVADA Notas de Aula: Aplicações das Derivadas APLICAÇÕES DA DERIVADA Vimos, na seção anterior, que a derivada de uma função pode ser interpretada como o coeficiente angular da reta tangente ao seu gráfico. Nesta,

Leia mais

Aula 4 Análise Circuitos Elétricos Prof. Marcio Kimpara

Aula 4 Análise Circuitos Elétricos Prof. Marcio Kimpara ELETICIDADE Aula 4 Análise Circuitos Elétricos Prof. Marcio Kimpara Universidade Federal de Mato Grosso do Sul 2 Fonte elétrica As fontes elétricas mantém a diferença de potencial (ddp) necessária para

Leia mais

Lista 2 - Modelos determinísticos

Lista 2 - Modelos determinísticos EA044 - Planejamento e Análise de Sistemas de Produção Lista 2 - Modelos determinísticos Exercício 1 A Companhia Ferroviária do Brasil (CFB) está planejando a alocação de vagões a 5 regiões do país para

Leia mais

4 Avaliação Econômica

4 Avaliação Econômica 4 Avaliação Econômica Este capítulo tem o objetivo de descrever a segunda etapa da metodologia, correspondente a avaliação econômica das entidades de reservas. A avaliação econômica é realizada a partir

Leia mais

Capítulo 7 Medidas de dispersão

Capítulo 7 Medidas de dispersão Capítulo 7 Medidas de dispersão Introdução Para a compreensão deste capítulo, é necessário que você tenha entendido os conceitos apresentados nos capítulos 4 (ponto médio, classes e frequência) e 6 (média).

Leia mais

A máscara de sub-rede pode ser usada para dividir uma rede existente em "sub-redes". Isso pode ser feito para:

A máscara de sub-rede pode ser usada para dividir uma rede existente em sub-redes. Isso pode ser feito para: Fundamentos: A máscara de pode ser usada para dividir uma rede existente em "s". Isso pode ser feito para: 1) reduzir o tamanho dos domínios de broadcast (criar redes menores com menos tráfego); 2) para

Leia mais

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental a e 6 a séries (6º e 7º anos) do Ensino Fundamental 1. (alternativa C) Os números 0,01 e 0,119 são menores que 0,12. Por outro lado, 0,1 e 0,7 são maiores que 0,. Finalmente, 0,29 é maior que 0,12 e menor

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Laboratório de Pesquisa e Desenvolvimento Universidade Federal de Alfenas versão

Leia mais

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores

ARQUITETURA DE COMPUTADORES. Sistemas de Numeração. 1 Arquitetura de Computadores ARQUITETURA DE COMPUTADORES Sistemas de Numeração 1 Sistemas de Numeração e Conversão de Base Sistema Decimal É o nosso sistema natural. Dígitos 0,1,2,3,4,5,6,7,8 e 9. Números superiores a 9; convencionamos

Leia mais

MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA. Busca em espaço de estados. Estados e Operadores. Jogo dos 8. Sumário. Exemplo: jogo dos 8

MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA. Busca em espaço de estados. Estados e Operadores. Jogo dos 8. Sumário. Exemplo: jogo dos 8 MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA Sumário busca em espaço de estados redução de problemas Busca em espaço de estados Exemplo: jogo dos 8 2 8 3 1 6 4 7 5 Jogo dos 8 Estados e Operadores Estado: uma

Leia mais

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Protocolo TCP/IP Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados: Número IP Máscara de sub-rede O Número IP é um número no seguinte formato: x.y.z.w Não podem existir

Leia mais

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento

Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Curso: Redes II (Heterogênea e Convergente) Tema da Aula: Características Roteamento Professor Rene - UNIP 1 Roteamento Dinâmico Perspectiva e histórico Os protocolos de roteamento dinâmico são usados

Leia mais

LISTA SOBRE MODELAGEM DE PROBLEMAS DE PROGRAMAÇÃO INTEIRA

LISTA SOBRE MODELAGEM DE PROBLEMAS DE PROGRAMAÇÃO INTEIRA LISTA SOBRE MODELAGEM DE PROBLEMAS DE PROGRAMAÇÃO INTEIRA 1) [Alocação de Recursos] A Capitão Caverna S.A., localizada em Pedra Lascada, aluga 3 tipos de barcos para passeios marítimos: jangadas, supercanoas

Leia mais

Feature-Driven Development

Feature-Driven Development FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por

Leia mais

Técnicas de Caixa Preta de Teste de Software

Técnicas de Caixa Preta de Teste de Software Técnicas de Caixa Preta de Teste de Software Na maioria de projetos de teste, o tempo para a realização dos mesmos sempre é curto e os números de testes a serem realizados nas aplicações são inúmeros.

Leia mais

Boletim. Contabilidade Internacional. Manual de Procedimentos

Boletim. Contabilidade Internacional. Manual de Procedimentos Boletim Manual de Procedimentos Contabilidade Internacional Custos de transação e prêmios na emissão de títulos e valores mobiliários - Tratamento em face do Pronunciamento Técnico CPC 08 - Exemplos SUMÁRIO

Leia mais

Investigação Operacional

Investigação Operacional Ano lectivo: 2014/2015 Universidade da Beira Interior - Departamento de Matemática Investigação Operacional Ficha de exercícios n o 5 Problemas de Transportes e Afectação. Cursos: Economia, Gestão e Optometria

Leia mais

Aula 03 - Modelagem em PPLIM

Aula 03 - Modelagem em PPLIM Thiago A. O. 1 1 Universidade Federal de Ouro Preto 1 Componentos do modelo 2 3 4 5 6 Componentes de uma modelagem matemática Elementos; Conjuntos; Parâmetros; Variáveis; Objetivo; Restições; Elementos

Leia mais

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia. 1 Introdução aos Sistemas de Informação 2002 Aula 4 - Desenvolvimento de software e seus paradigmas Paradigmas de Desenvolvimento de Software Pode-se considerar 3 tipos de paradigmas que norteiam a atividade

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br

Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução. Prof. Humberto Brandão humberto@dcc.ufmg.br Projeto e Análise de Algoritmos Projeto de Algoritmos Introdução Prof. Humberto Brandão humberto@dcc.ufmg.br aula disponível no site: http://www.bcc.unifal-mg.edu.br/~humberto/ Universidade Federal de

Leia mais

Pesquisa Operacional

Pesquisa Operacional 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

O Problema do Transporte. Pesquisa Operacional. Formulação do Problema. Descrição Geral de um problema de transporte. Parte 2

O Problema do Transporte. Pesquisa Operacional. Formulação do Problema. Descrição Geral de um problema de transporte. Parte 2 Pesquisa Operacional Parte Graduação em Engenharia de Produção DEPROT / UFRGS Prof. Flavio Fogliatto, Ph.D. O Problema do Transporte Descrição Geral de um problema de transporte:. Um conjunto de m pontos

Leia mais

15.053 Quinta-feira, 14 de março. Introdução aos Fluxos de Rede Handouts: Notas de Aula

15.053 Quinta-feira, 14 de março. Introdução aos Fluxos de Rede Handouts: Notas de Aula 15.053 Quinta-feira, 14 de março Introdução aos Fluxos de Rede Handouts: Notas de Aula 1 Modelos de Rede Modelos de programação linear que exibem uma estrutura muito especial. Podem utilizar essa estrutura

Leia mais

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2 FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO Projeto e Análise de Algoritmos II Lista de Exercícios 2 Prof. Osvaldo. 1. Desenvolva algoritmos para as operações abaixo e calcule a complexidade

Leia mais

Módulo 4. Construindo uma solução OLAP

Módulo 4. Construindo uma solução OLAP Módulo 4. Construindo uma solução OLAP Objetivos Diferenciar as diversas formas de armazenamento Compreender o que é e como definir a porcentagem de agregação Conhecer a possibilidade da utilização de

Leia mais

Equações do primeiro grau

Equações do primeiro grau Módulo 1 Unidade 3 Equações do primeiro grau Para início de conversa... Você tem um telefone celular ou conhece alguém que tenha? Você sabia que o telefone celular é um dos meios de comunicação que mais

Leia mais

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande região de armazenamento formada por bytes ou palavras, cada

Leia mais

Itinerários de Ônibus Relatório Final

Itinerários de Ônibus Relatório Final CENTRO UNIVERSITÁRIO SENAC Itinerários de Ônibus Relatório Final Grupo 5 Caio Roque Daniel Nunes Elise Roese José Caneiro Marcos Grignani São Paulo Junho de 2007 1 ÍNDICE 1. Introdução... 3 2. Desenvolvimento...

Leia mais

Análise e Projeto de Algoritmos

Análise e Projeto de Algoritmos Análise e Projeto de Algoritmos Prof. Eduardo Barrére www.ufjf.br/pgcc www.dcc.ufjf.br eduardo.barrere@ice.ufjf.br www.barrere.ufjf.br Complexidade de Algoritmos Computabilidade: Um problema é computável

Leia mais

GesToc Gestão de Transferências entre Estoques Versão 7.1 Roteiro: Programação Diária

GesToc Gestão de Transferências entre Estoques Versão 7.1 Roteiro: Programação Diária GesToc Gestão de Transferências entre Estoques Versão 7.1 Roteiro: Programação Diária Roteiro: Programação Diária GesToc - Gestão de Transferências entre Estoques Versão 7.1 ilab Sistemas Especialistas

Leia mais

PROGRAMAÇÃO INTEIRA. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos

PROGRAMAÇÃO INTEIRA. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos PROGRAMAÇÃO INTEIRA Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 5 modelos M9.1 - Problema de Seleção de Projetos ver Taha Capítulo 9 Cinco projetos estão sob avaliação

Leia mais

... O SISTEMA LOGÍSTICO ... - FORNECEDORES Matérias primas. -FÁBRICA Produtos finais -ARMAZÉNS/ENTREPOSTOS

... O SISTEMA LOGÍSTICO ... - FORNECEDORES Matérias primas. -FÁBRICA Produtos finais -ARMAZÉNS/ENTREPOSTOS O SISTEMA LOGÍSTICO - FORNECEDORES Matérias primas... -FÁBRICA Produtos finais Análise de Redes de Transportes (Distribuição Física)... -ARMAZÉNS/ENTREPOSTOS Transporte G Armazenag/F - CLIENTES.... Transporte

Leia mais

ão: modelagem e técnicas

ão: modelagem e técnicas Curso de Especialização em Gestão Empresarial (MBA Executivo Turma 15) Disciplina: Pesquisa Operacional Prof. Dr. Álvaro José Periotto 3. Otimização ão: modelagem e técnicas de resolução Passando da daetapa

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

Matemática Financeira Módulo 2

Matemática Financeira Módulo 2 Fundamentos da Matemática O objetivo deste módulo consiste em apresentar breve revisão das regras e conceitos principais de matemática. Embora planilhas e calculadoras financeiras tenham facilitado grandemente

Leia mais

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos

Leia mais

1. Método Simplex. Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção. Pesquisa Operacional II Profa. Dra. Lílian Kátia de Oliveira

1. Método Simplex. Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção. Pesquisa Operacional II Profa. Dra. Lílian Kátia de Oliveira Faculdade de Engenharia Eng. Celso Daniel Engenharia de Produção. Método Simple.. Solução eata para os modelos de Programação Linear O modelo de Programação Linear (PL) reduz um sistema real a um conjunto

Leia mais

Trabalho Computacional

Trabalho Computacional Universidade Federal do Espírito Santo Departamento de Informática Profª Claudia Boeres Teoria dos Grafos - 2014/2 Trabalho Computacional 1. Objetivo Estudo e implementação de algoritmos para resolução

Leia mais

Prof. Cleber Oliveira Gestão Financeira

Prof. Cleber Oliveira Gestão Financeira Aula 3 Gestão de capital de giro Introdução Entre as aplicações de fundos por uma empresa, uma parcela ponderável destina-se ao que, alternativamente, podemos chamar de ativos correntes, ativos circulantes,

Leia mais

2aula TEORIA DE ERROS I: ALGARISMOS SIGNIFICATIVOS, ARREDONDAMENTOS E INCERTEZAS. 2.1 Algarismos Corretos e Avaliados

2aula TEORIA DE ERROS I: ALGARISMOS SIGNIFICATIVOS, ARREDONDAMENTOS E INCERTEZAS. 2.1 Algarismos Corretos e Avaliados 2aula Janeiro de 2012 TEORIA DE ERROS I: ALGARISMOS SIGNIFICATIVOS, ARREDONDAMENTOS E INCERTEZAS Objetivos: Familiarizar o aluno com os algarismos significativos, com as regras de arredondamento e as incertezas

Leia mais

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios

FATEC Cruzeiro José da Silva. Ferramenta CRM como estratégia de negócios FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Cruzeiro SP 2008 FATEC Cruzeiro José da Silva Ferramenta CRM como estratégia de negócios Projeto de trabalho de formatura como requisito

Leia mais

ISO/IEC 12207: Gerência de Configuração

ISO/IEC 12207: Gerência de Configuração ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que

Leia mais

Lista de exercícios: Modelagem matemática Otimização Combinatória

Lista de exercícios: Modelagem matemática Otimização Combinatória Lista de exercícios: Modelagem matemática Otimização Combinatória Nas questões abaixo: i) Formule e apresente o modelo matemático. Caso não esteja, coloque na forma padrão. ii) Especicar as variáveis,

Leia mais

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas? Recorrências Muitas vezes não é possível resolver problemas de contagem diretamente combinando os princípios aditivo e multiplicativo. Para resolver esses problemas recorremos a outros recursos: as recursões

Leia mais

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia

Leia mais

Exercícios Teóricos Resolvidos

Exercícios Teóricos Resolvidos Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar

Leia mais

Curso superior de Tecnologia em Gastronomia

Curso superior de Tecnologia em Gastronomia Curso superior de Tecnologia em Gastronomia Suprimentos na Gastronomia COMPREENDENDO A CADEIA DE SUPRIMENTOS 1- DEFINIÇÃO Engloba todos os estágios envolvidos, direta ou indiretamente, no atendimento de

Leia mais

Este material traz a teoria necessária à resolução das questões propostas.

Este material traz a teoria necessária à resolução das questões propostas. Inclui Teoria e Questões Inteiramente Resolvidas dos assuntos: Contagem: princípio aditivo e multiplicativo. Arranjo. Permutação. Combinação simples e com repetição. Lógica sentencial, de primeira ordem

Leia mais