MÓDULO 2 - OTIMIZAÇÃO DE REDES

Documentos relacionados
Módulo 2 OTIMIZAÇÃO DE REDES

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

Investigação Operacional

Problema do Caminho Mínimo

UNIDADE I PROGRAMAÇÃO LINEAR INTEIRA

Problemas de Fluxo em Redes

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

Prof. Marcelo Sucena Página 1 de 41

Pesquisa Operacional. Teoria dos Grafos

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

Pesquisa Operacional

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

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

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

Grafos aula 3. Relembrando... Rede de eventos e atividades. Rede de eventos e atividades

Sub-grafo. Árvore Geradora Mínima

Prof. Marcelo Sucena Página 1 de 41

2 Definição do Problema

INVESTIGAÇÃO OPERACIONAL Exercícios de Optimização em Redes 1

x y Grafo Euleriano Figura 1

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

Teoria dos Grafos Aula 26

Grafos Parte 1. Aleardo Manacero Jr.

BCC204 - Teoria dos Grafos

ALGORITMO DE DIJKSTRA

Problemas de Optimização em redes

MATEMÁTICA DISCRETA PARA ENGENHARIA DE COMPUTAÇÃO

Projeto e Análise de Algoritmos

Algoritmos de Fluxo Máximo

Prova Didática Grafos: Árvores Geradoras e Caminhos Mínimos, Análise de Complexidade

apenas os caminhos que passam só por vértices em C, exceto, talvez, o próprio v A Figura 1 a seguir ilustra o significado do conjunto C edovalordist.

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

Otimização Combinatória - Parte 3

Departamento de Engenharia de Produção UFPR 22

Problema. Quantas cores são necessárias para pintar este mapa? Número. Cromático. Estruturas de Dados - Grafos. Problema. Problema

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

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

GRAFOS Aula 10 Fluxo em Redes Max Pereira

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

Problema de Fluxo Máximo

W 8. Nas colunas "k =1 a n" executar: Nas linhas "i =1 a m" executar: Em cada linha "i" de "j=1 a n" executar: z = c ik + c kj

Grafos Hamiltonianos e o Problema do Caixeiro Viajante. Prof. Ademir Constantino Departamento de Informática Universidade Estadual de Maringá

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

Programação Linear/Inteira

Estruturas de Dados Grafos

Teoria dos Grafos Aula 27

Aula 20: Árvores Binárias de Busca. Algoritmos de busca e inserção

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

Árvore Geradora Mínima

Oalgoritmo de Dijkstra

IPRJ PROJETO E ANÁLISE DE ALGORITMOS LISTA DE EXERCÍCIOS 10

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

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

Problemas de otimização

Teoria dos Grafos Aula 22

GRAFOS Aula 08 Árvore Geradora Mínima: Algoritmos de Kruskal e Prim-Jarnik Max Pereira

Fluxo em Redes: Ford-Fulkerson - Fluxo Máximo

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Teoria dos Grafos Aula 22

BCC204 - Teoria dos Grafos

Teoria dos Grafos Aula 23

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

especificação do ativo; Roteirização; Avaliação de custos; Manutenção etc..

Teoria dos Grafos. Edson Prestes

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

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

Grafos. Exemplo de árvore geradora mínima. Notas. Notas. Notas. Notas. Árvores espalhadas mínimas. Como construir uma árvore geradora miníma

Teoria dos Grafos. Árvores Geradoras

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

PERCURSOS. André Falcão, Carlos Augusto, Rafael Broédel e Lucas Dipré

Otimização em Grafos

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

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Teoria dos Grafos AULA

Problema do Caixeiro Viajante (The Travelling Salesman Problem-TSP) (Problema Del viajante)

Grafos: Busca. Algoritmos e Estruturas de Dados 2. Graça Nunes

Optimização em Redes e Não Linear

Departamento de Engenharia de Produção UFPR 57

PCC173 - Otimização em Redes

Problema do Caminho Mais Curto. Problema do Caminho Mais Curto

Teoria dos Grafos Aula 24

Otimização em Grafos

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

Modelos matemáticos para resolução de problemas de afectação de operações a recursos produtivos

AULA 11 PROJETO E ANÁLISE DE ALGORITMOS. Conceitos básicos e representação de grafos Karina Valdivia Delgado

GRAFOS: UMA INTRODUÇÃO

Matemática Discreta Capítulo 3 Versão preliminar

Cap. 2 Conceitos Básicos em Teoria dos Grafos

Programação Procedimental

PCC173 - Otimização em Redes

Redes de Computadores

CURSO DE ENGENHARIA DE PRODUÇÃO PESQUISA OPERACIONAL FLUXO MÁXIMO

Capítulo 2- Modelos de grafos.

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

Grafos: caminhos mínimos

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

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

Otimização por Colônia de Formigas (ACO)

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

Transcrição:

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 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. xistem outros problemas em que se necessita minimizar os valores associados aos arcos, de forma que possa atender todos os pontos de uma rede. seguir serão relacionados vários algoritmos que objetivam a modelagem de redes.. PRLMS MINIMIZÇÃ RS s 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...lgoritmo de PRIM ste algoritmo compreende os seguintes passos: º passo: selecionar qualquer nó da rede e o inserir no conjunto (árvore mínima). conjunto * é formado pelos nós não conectados. º passo: identificar o nó do conjunto * que está mais próximo de qualquer um dos nós do conjunto. eve-se repetir este processo até que todos os nós estejam conectados (* = ). xemplo: onsidere 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. s atributos dos arcos representam as distâncias entre as regiões. 6 5 5 6 = { } e * = {,,,5,6 } => = {, } e * = {,,5,6 } => = {,, } e * = {,5,6 } => = {,,, } e * = { 5,6 } => 5 = {,,,,5 } e *5 = { 6 } => 6 = {,,,,5,6 } e *6 = de Prof. Marcelo Sucena

Resultado Final: Km 6 5..lgoritmo de Kruskal eve-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. "ponto de parada" do algoritmo é identificado quando a árvore possuir n- arcos conectados, sendo "n" o número de nós do grafo. ste algoritmo compreende os seguintes passos: º passo: colocar os arcos em ordem crescente de valor. stes arcos fazem parte de um conjunto "*" de arcos não conectados. Inicialmente é vazio, ou seja, =. º passo: selecionar o menor dos arcos de * que não forme um ciclo com os demais e coloque-o no conjunto. Um arco forma um ciclo quando os vértices deste arco já fazem parte da árvore mínima em construção. º passo: se possui n- arcos, sendo "n" o número de nós, deve-se parar o algoritmo, pois os arcos de compõem a árvore mínima. aso contrário voltar para o passo. xemplo: Utilizando o mesmo grafo do exemplo anterior, identifique a árvore mínima pelo algoritmo de Kruskal. Passo * = {(,),(,),(,),(,5),(6,5),(,),(,5),(,6),(,),(,6)} = Passo = {(,)} * = {(,),(,),(,5),(6,5),(,),(,5),(,6),(,),(,6)} Passo n = 6 e n- = 5 número de elementos de é igual a, e como n() < 5, deve-se retornar ao passo. Passo = {(,), (,)} * = {(,),(,5),(6,5),(,),(,5),(,6),(,),(,6)} Passo n = 6 e n- = 5 número de elementos de é igual a, e como n() < 5, deve-se retornar ao passo. de Prof. Marcelo Sucena

Passo = {(,), (,), (,)} * = {(,5),(6,5),(,),(,5),(,6),(,),(,6)} Passo n = 6 e n- = 5 número de elementos de é igual a, e como n() < 5, deve-se retornar ao passo. Passo = {(,), (,), (,), (,5)} * = {(6,5),(,),(,5),(,6),(,),(,6)} Passo n = 6 e n- = 5 número de elementos de é igual a, e como n() < 5, deve-se retornar ao passo. Passo = {(,), (,), (,), (,5), (6,5)} * = {(,),(,5),(,6),(,),(,6)} Passo n = 6 e n- = 5 número de elementos de é igual a 5, e como n() = 5, deve-se parar o processo de análise. Resultado Final: Km 6 5. MINH MÍNIM m uma rede, dependendo das suas características construtivas, podem existir vários caminhos entre um par de nós (origem/destino). ntre os caminhos possíveis, aquele que possui menor "peso" é chamado de caminho mínimo. ste peso pode ser representado pela soma dos atributos dos arcos que formam o caminho, tais como, tempo de viagem, distância percorrida etc.. Para resolver problemas desse tipo, há vários algoritmos (Ford, Faude, ellman, ijkstra, 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.)... lgoritmo de ijkstra ste algoritmo foi desenvolvido em 5 e posteriormente antizg (60) e Nicholson (60) desenvolveram um algoritmo de duas árvores de ijkstra, cuja idéia é construir árvores de caminhos mínimos de um nó de origem e de um nó de destino, simultaneamente. lgoritmo de ijkstra é 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. de Prof. Marcelo Sucena

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". 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ó. ste 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 ). tribui-se um valor d( x ) para cada um dos nós do grafo, sendo: d(origem) = 0 d(os outros nós) = onsiderar "y" o último nó rotulado (fechado). No início do algoritmo o nó de origem é o único rotulado, ou seja y = origem. º passo: para cada nó x não fechado, redefine-se d( x ) conforme expressã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. bservaçã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. xemplo: Utilizando o grafo a seguir, identifique o seu caminho mínimo utilizando o algoritmo de ijkstra:. d() = 0 e d(), d(), d(), d(), d() =. d() -> y = i =, ou seja, ª iteração. d() = min{d()0, d() + d(,)} = min {, 0+} = d() = min{d()0, d() + d(,)} = min {, 0+} = d() = min{, 0+} = d() = min{, 0+ } = d() = min{, 0+ } = de Prof. Marcelo Sucena

. Identificar o mínimo entre as distâncias e definir y. scolhe-se entre d() e d(), pois esses apresentam atributos iguais a. ptou-se por y = (nó fechado). Se y = o problema está terminado, senão continuar do passo.. i =, ou seja, ª iteração. d() = min{d(), d() + d(,)} = min {, + } = d() = min{d(), d() + d(,)} = min {, + } = d() = min{, + } = d() = min{, +} = 5. Mínimo entre as distâncias,, e 5 é, ou seja, y =. nó y é diferente de, então continuar do passo.. i =, ou seja, ª iteração. d() = min{d(), d() + d(,)} = min {, + } = d() = min{d(), d() + d(,)} = min {, +} = 6 d() = min{ 5, + } = 5. Mínimo entre as distâncias,6 e 5 é, ou seja, y =. nó y é diferente de, então continuar do passo.. i =, ou seja, ª iteração. d() = min{d(), d() + d(,)} = min {6, +} = 6 d() = min{ 5, + } = 5. Mínimo entre as distâncias 6 e 5 é 5, ou seja, y =. nó y agora é igual a, então deve-se parar o processo de avaliação. Pergunta-se: m qual iteração foi encontrado o primeiro valor de (d() = 5)? Na ª iteração. Qual era o valor de y nessa iteração? Na ª iteração, y é igual a. Identificou-se o nó anterior ao destino: nó. m qual iteração foi encontrado o primeiro valor de (d() = )? Na ª iteração. Qual era o valor de y nessa iteração? Na ª iteração, y é igual a.. FLUX MÁXIM 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. origem produz o material a uma taxa fixa e o depósito consome o material na mesma taxa. "fluxo" do material em qualquer ponto no sistema é intuitivamente a taxa na qual o material se move. ada 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. s vértices são junções de canais, onde o material flui sem acumulação. Isto é, 5 de Prof. Marcelo Sucena

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. hamamos essa propriedade de "conservação do fluxo". eseja-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,) é um grafo orientado em que cada aresta (u,v) tem uma capacidade (u,v) >= 0 (não negativa). Se uma dada aresta não está em, 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 "" e um destino "", e para todo vértice do grafo existe um caminho a partir de passando por V que chega em... Método Ford-Fulkerson 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. método é iterativo, começando com f(u,v) = 0. ste método é composto pelos seguintes passos: º passo: iniciar o fluxo f total com 0 e verificar a existência de caminhos de fluxo > 0. º passo: scolher 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. processo deve ser repetido até que todos os caminhos sejam analisados e enquanto existirem fluxos disponíveis. xemplo: aseando-se no grafo a seguir, identifique o fluxo máximo que pode fluir entre a origem () e o destino (), utilizando o método de Ford-Fulkerson. 6 0 º caminho escolhido: >6>>>>0>, sendo f= e f total = 0 apacidade Fluxo Limitador /6 0 / /0 6 de Prof. Marcelo Sucena

º caminho escolhido: >>>0>>>>>, sendo f= e f total =6 6/6 /0 / + /0 / / º caminho escolhido: >>>0>>>>8>, sendo f= e f total = 6/6 /0 8 / / /0 / / / ILIGRFI ampos, Vânia.G., timização do Transporte, Instituto Militar de ngenharia, Rio de Janeiro, 8. de Prof. Marcelo Sucena