Grafo: Algoritmos e Aplicações



Documentos relacionados
Algumas Aplicações da Teoria dos Grafos

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

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

PESQUISA OPERACIONAL TEORIA DOS GRAFOS

Teoria dos Grafos. Edson Prestes

Roteamentos AULA ... META. Introduzir alguns problemas de roteamento. OBJETIVOS. Ao final da aula o aluno deverá ser capaz de:

Matemática Discreta. Leandro Colombi Resendo. Matemática Discreta Bacharel em Sistemas de Informações

CAPÍTULO 2. Grafos e Redes

Trabalho Computacional

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

A TEORIA DOS GRAFOS NA ANÁLISE DO FLUXOGRAMA DO CURSO DE ENGENHARIA DE PRODUÇÃO DA UFF

Análise de Redes de Transportes. Útil também para várias outras áreas além de Transportes!

A otimização é o processo de

Matemática SSA 2 REVISÃO GERAL 1

Prof. Bruno Holanda - Semana Oĺımpica Nível 1. Teoria dos Grafos

Teoria dos Grafos. Aulas 3 e 4. Profa. Alessandra Martins Coelho

MOQ 43 PESQUISA OPERACIONAL. Professor: Rodrigo A. Scarpel

TÍTULO: COMPARAÇÃO ENTRE OS MÉTODOS DE BUSCA EM ESPAÇOS DE ESTADOS E O ALGORITMO DE DIJKSTRA

BC-0506: Comunicação e Redes Algoritmos em Grafos

MATEMÁTICA EM TODA PARTE II

Complexidade de Algoritmos

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

Agrupamento de Escolas Eugénio de Castro 1º Ciclo. Critérios de Avaliação. Ano Letivo 2015/16 Disciplina MATEMÁTICA 3.º Ano

O MÉTODO HÚNGARO PARA RESOLUÇÃO DE PROBLEMAS DE OTIMIZAÇÃO

Metodologia para seleção de amostras de contratos de obras públicas (jurisdicionados) utilizando a programação linear aplicativo Solver

PLANIFICAÇÃO ANUAL MATEMÁTICA 3 DOMÍNIOS OBJETIVOS ATIVIDADES

Introdução aos Conceitos de Problemas de Transporte e Roteamento de Veículos

Ata da resolução de exercício

António Costa. Paulo Roma Cavalcanti

1. Explicando Roteamento um exemplo prático. Através da análise de uns exemplos simples será possível compreender como o roteamento funciona.

Pesquisa Operacional Programação em Redes

Faculdade de Computação

Método Simplex Especializado para Redes

5.1 Modelo de uma rede óptica com conversores de comprimento de onda

ANÁLISE DE CIRCUITOS RESISTIVO DC (03/12/2013)

Bacharelado em Ciência da Computação Matemática Discreta

Programação Inteira. Fernando Nogueira Programação Inteira 1

Figura 1.1: Representação gráfica das pontes de Königsberg.

PESQUISA OPERACIONAL -OTIMIZAÇÃO COMBINATÓRIA PROBLEMAS DE OTIMIZAÇÃO EM REDES. Prof. Angelo Augusto Frozza, M.Sc.

FÍSICA Questão 01. Questão 02

Abordagem de geometria no ensino médio partindo de poliedros

Programação Matemática - Otimização Linear

PCC173 - Otimização em Redes

Caso de uma Central de distribuição. Seqüência de processamento. Injeção de plásticos

XX SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA

Capítulo 6 Transformação de tensões e critérios de falhas


MS877 Problema do Carteiro Chinês: Estudo da modelagem e software XNÊS

Grafos Ordenação Topológica. Graça Nunes 1º. Semestre 2012

3.4 O Princípio da Equipartição de Energia e a Capacidade Calorífica Molar

Grafos. Problema Abstração Modelo Solução

PROBLEMA DE ROTEAMENTO DE VEÍCULOS COM JANELA DE TEMPO

Application of the Maximum Flow Problem to Sensor Placement on Urban Road Networks for Homeland Security

Calculando RPM. O s conjuntos formados por polias e correias

INSTRUMENTAÇÃO E CONTROLE DE PROCESSOS MEDIÇÃO DE TEMPERATURA TERMÔMETROS DE RESISTÊNCIA

Matemática. Euclides Roxo. David Hilbert. George F. B. Riemann. George Boole. Niels Henrik Abel. Karl Friedrich Gauss.

Exercícios Teóricos Resolvidos

MÉDIA ARITMÉTICA MÉDIA PONDERADA MODA MEDIANA

PESQUISA OPERACIONAL

Composição de Layout no Spring

Estudaremos métodos numéricos para resolução de sistemas lineares com n equações e n incógnitas. Estes podem ser:

2 O Problema do Fluxo de Custo Mínimo

Teste Intermédio de Matemática A Matemática A Versão 2 10.º Ano de Escolaridade

Aula 5 - Classificação

Fundamentos de Automação. Atuadores e Elementos Finais de Controle

Dois eventos são disjuntos ou mutuamente exclusivos quando não tem elementos em comum. Isto é, A B = Φ

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

INSTALAÇÕES ELÉTRICAS. Kathiane Queiroz

o conjunto das coberturas de dominós de uma superfície quadriculada S. Um caminho v 0 v 1...v n

Técnicas de Computação Paralela Capítulo III Design de Algoritmos Paralelos

Capítulo 7. Topologia Digital. 7.1 Conexidade

REGISTRO DE PROJETOS

Prof. Sérgio Rebelo. Curso Profissional Técnico de Eletrónica, Automação e Comando

PESQUISA OPERACIONAL -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Potenciação no Conjunto dos Números Inteiros - Z

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

Élida Tamara Prata de Oliveira Praça JOGOS MATEMÁTICOS COM CONTEÚDOS DE 7 ANO APLICADOS A UM ALUNO AUTISTA

Eletrônica Analógica

TC 2 UECE 2012 FASE 1 PROF. : Célio Normando

Capítulo 5: Aplicações da Derivada

Trabalho de laboratório Avaliação semestral Exame final MÉDIA PONDERADA CONCEITO

A presente seção apresenta e especifica as hipótese que se buscou testar com o experimento. A seção 5 vai detalhar o desenho do experimento.

MESTRADO EM ENSINO DAS CIÊNCIAS NA EDUCAÇÃO BÁSICA. Prof. Dr. Abel Rodolfo Garcia Lozano Profª. Drª. Jacqueline de Cássia Pinheiro Lima

Um capacitor é um sistema elétrico formado por dois condutores separados por um material isolante, ou pelo vácuo.

PROBLEMA DO CARTEIRO CHINÊS

Programação Dinâmica: Algoritmo de Bellman-Ford

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

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

1 ELEMENTOS DA CIRCUNFERÊNCIA

MATEMÁTICA (UFOP 2ª 2009 PROVA A) Questões de 09 a 18

Resolução de sistemas lineares

PROGRAMAÇÃO BÁSICA DE CLP

Parte V Linguagem de Programação

01. Considere as seguintes proposições:

Morfologia Matemática Binária

INTELIGÊNCIA ARTIFICIAL

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas ICEB

FÍSICA Adriano Jorge. Aula 1 - Eletrodinâmica

POLÍGONOS E FIGURAS GEOMÉTRICAS ESPACIAIS

Transcrição:

Grafo: Algoritmos e Aplicações Leandro Colombi Resendo leandro@ifes.edu.br

Grafos: Algortimos e Aplicações Referências Basicas: Boaventura Netto, P. O., Grafos: Teoria, Modelos, Algoritmos, 2ª, SP, Edgar Blücher, 1996. Goldbarg, M.C. e Luna, H.P.L., Otimização Combinatória e Programação Linear: Modelos e Algoritmos, RJ, Campus, 2000. Referência complementar: Cormen, T.H, Leiserson, C.E, Rivest, R.L. e Stein, C., Algoritmos: Teoria e Prática, RJ, Campos, 2002. Ahuja, R.K., Magnanti, T.L. e Orlin, J.B., Network Flows, New Jersey, Prentice Hall, 1993.

Grafos: Algortimos e Aplicações Avaliação: Artigo (100%)

História Leonhard Euler e as Pontes de Königsberg (Primeira formalização de uma problema de grafos) É possível cruzar cada ponte uma única vez e voltar ao ponto de partida?

História Modelo de teoria de grafo 1º Teorema da Teoria dos Grafos: Euler estabeleceu um teorema que diz em que condições é possível percorrer cada linha exatamente uma vez e voltar ao ponto inicial.

Introdução Você é capaz de desenhar essa figura sem tirar o lapiz do papel? Temos que ligar luz, gás e telefone a três casas sem que as linhas se cruzem. Você é capaz de fazer isso?

Introdução - Aplicações Representação (em grafo) dos vôos internacionais em uma determinada hora do dia.

Introdução - Aplicações Jogos: Manipulação de dados

Introdução - Aplicações Industria de Confecções

Diagramas UML Introdução - Aplicações

Introdução - Aplicações Quantas cores são necessárias?

Introdução - Aplicações Localização de centros de distribuição

Notações e Definições: Informalmente Um conjunto de objetos e ligações (relações) entre eles, onde os objetos são chamados de vértices (nós) e as ligações, de arestas (enlace, arcos). Matemáticamente Um grafo pode ser definido como a relação, G, entre dois conjunto (G(V,A)); onde V é o conjunto dos vértices e A o conjunto das arestas.

Notações e Definições: Uma aresta é dita incidente com os vértices que ela liga. Se uma aresta é incidente em um único vértice é chamado de laço. Dois vértices são chamados de adjacentes se estão ligados pôr arestas. Um vértice é dito isolado, se não tem aresta incidindo sobre ele. Exemplo: Vértices Adjacentes: (v 1,v 2 ), (v 1,v 5 ), (v 2,v 3 ), (v 2,v 4 ), (v 3,v 5 ), (v 4,v 5 ). Vértice Isolado: v 6

Notações e Definições: Ordem de um Grafo, é o número de nós do mesmo( V = n). Grau de um vértice, é o número de arestas incidentes em um nó. Grafo regular, se dá quando todos os vértices possuem o mesmo grau. Exemplo: a) Grafo regular. b) Arestas paralelas em (v 5,v 3 ), Multigrafo.

Notações e Definições: Grafo ponderado Multigrafo Modelo da Pontes de Königsberg

Notações e Definições: Grafo direcionados Grafos bipartidos: dividindo os nós em dois conjunto (N 1 e N 2 ), somente existem arestas de N 1 para N 2 e vice-versa. Grafo Completo 1º Resultado: A max = n(n 1)/2 Grafo Complementar: O que falta para o grafo completo.

Grafo bipartidos Aplicações: Problema de Atribuição Problema de Transportes de carga Problema de transbordo Grafo direcionados e completos Aplicações: Roterisação de veículos e variações

Notações e Definições: Árvores: se o grafo não possui ciclos. Planar: quando traço em um plano duas arestas quaisquer não se cruzam. Planar NÃO Planar Aplicações: Indexação e busca de informações Aplicações: Problema das 4 cores Construção de circuito impresso

Notações e Definições: Rede (malha): Anel: NSF-net Compressão de nós RNP

Notações e Definições: Caminho: é uma sequência de arestas em que todos os nós visitados são distintos. Origem = H Destino = F Caminho = H A C F Comprimento = 22 Origem = 4 Destino = 2 Caminho = 4 3 2 Comprimento = 2

Notações e Definições: Isomorfismo: são grafos analiticamente idênticos, contudo são representados graficamente de forma diferentes. Uma aplicação:

Representação computacional Teoria de Grafos Matriz de adjacências (Grafo NÃO direcionado)

Representação computacional Teoria de Grafos Matriz de incidência (Grafo direcionado)

Representação computacional Lista encadeada Teoria de Grafos

Problemas Clássicos Problema do Caminho Teoria de Grafos Histórico 1ª solução: Sugerida por Trémaux para o labirinto do Minotauro. Aplicações: trânsito, transporte, roteamento, localização de sistemas discretos, etc. Não basta obter um caminho, para otimização de recursos precisamos do caminho mínimo.

Problemas Clássicos Problema do Caminho Mínimo entre s e d: é uma sequência de arestas que, passando por vétices distintos, liga o nó s ao d de forma a acumular o menor comprimento. Formulação: i x ij x ij i Min : x ji c x ij ij 1; 1; 0; i {0,1} ( i, j) s i i A ou s d i d s = origem d = destino

Problemas Clássicos Problema do Caminho Mínimo entre s e d: Algoritmos mais famosos: Algoritmo de Dijkstra Resolve o problema com um vérticefonte em grafos cujas arestas tenham peso maior ou igual a zero. Algoritmo de Bellman-Ford Resolve o problema para grafos com um vértice-fonte e arestas que podem ter pesos negativos.

Problemas Clássicos Ciclos e Circuito, Euleriano e Hamiltoniano: Ciclo: é um caminho fechada, ou seja, que inicia e termina em um mesmo nó. Onde cada aresta é vizitada um única vez. Circuito: é um caminho fechado em um grafo orientado. Percurso fechado: Euleriano: utiliza cada aresta do grafo um única vez. Hamiltoniano: Utiliza cada vértice do grafo unica vez.

Problemas Clássicos Ciclo Euleriano Teoria de Grafos Você é capaz de desenhar essa figura sem tirar o lapiz do papel? É possível cruzar cada ponte uma única vez e voltar ao ponto de partida? Sugestão: inicie pelo nó A.

Problemas Clássicos Ciclo Euleriano Resultado de Euler (Teorema): G tem uma ROTA EULERIANA precisamente quando todos os nós de G têm grau par. Idéia:

Problemas Clássicos Problema do Caixeiro Viajante: Consiste em vizitar todos os nós do grafo e voltar ao ponto de origem (percurso Hamiltoniano). Problema proposto por Willian Rowan Hamilton.

Problemas Clássicos Ciclo Hamiltoniano Problema do Caixeiro Viajante Teoria de Grafos

Problemas Clássicos Problema do Caixeiro Viajante: Algumas aplicações e referências Programação de operações de máquinas em manufaturas (Kusiak e Finke [1987]). Programação de transporte entre células de manufatura (Kusiak e Finke [1985]). Otimização de perfuração em placas de circuito impressos (Reinelt [1989]). Otimização do movimento de ferramentas de corte (Chauny et al. [1987]). Problemas de Roteamento de Veículos (Bodin [1983]). Problemas de Sequênciamento (Whitley [1991]). Trabalhos administrativos (Laporte et al. [1996]). Retirado de: Goldbarg M. C. e Luna, H. P. L., Otimização Combinatória e Programação Linear, Ed. Campus, pág. 403, 2000.

Problemas Clássicos Problema do Caixeiro Viajante (PCV): Algumas Variações PCV Simétrico: se dá quando a matriz de custos é simétrica PCV Generalizado: está sujeito ao agrupamento dos nós, onde cada grupo contribui com certo número do nó. PCV com Backhauls: ocorre quando é dado prioridade para um grupo de nós. PCV com Janelas de Tempo: se dá associando uma variável de tempo a cada aresta ij. PCV Múltiplo: encontra as K-melhores rotas para o PCV. PCV com prioridades (bônus): quando existe um bônus associado à cada nós.

Problemas Clássicos Fluxo em Redes: em um grafo orientado, onde a partir de um nó de origem busca-se um nó de destino, tendo as aresta uma capacidade máxima. Defini-se um fluxo com as seguintes propriedades: Capacidade: f(i,j) c(i,j) Conservação de fluxo: Fluxo que chega ao vétice Fluxo produzido no vétice Fluxo que sai do vétice + = + Fluxo consumido no vétice

Problemas Clássicos Fluxo em Redes: Exemplo Demanda: origem-destino (s,t) carga: 8u.t. Restrições: Capacidade: Conservação de fluxo: Uma solução

Problemas Clássicos (Fluxo em Redes) Fluxo Máximo: consiste em encontrar a capacidade máxima em que uma rede tem de escoar um determinado tráfego. Fluxo Máximo com mínimo custo: corresponde à necessidade de circular em fluxo em uma rede pagando o mínimo o possível. Normente, nesse caso, as arestas possuem as informações de limite inferior, custo do fluxo e limite superior.

Problemas Clássicos (ainda sobre o fluxo em redes) Problema de Transporte (grafo bipartido): consiste em determinar o menor custo para transportar produtos de várias origens para vários destinos. Obedecendo as restrições de capacidade de produção, demanda, custo de transporte. u i : capacidades de produção do fornecedor i. d i : demanda do cliente j. C ij : custe de transporte do fornecedor i para o cliente j.

Problemas Clássicos (ainda sobre o fluxo em redes) Problema de Designação (Alocação ou Atribuição): é definido como um problema de transporte com oferta e demanda unitática. Isto é, consiste em designar n pessoas a n tarefas com o objetivo de otimizar algum critério. Exemplo: Alocação de escala de trabalho Problema da grade de horário

Problemas Clássicos (ainda sobre o fluxo em redes) Problema de Transbordo: no Problema de transporte, suponha agora a existência de nós intermediários sem produção e nem demanda (como portos, armazéns,...).

Problemas Clássicos (ainda sobre o fluxo em redes) Problema de Caminho Crítico (PERT): Supondo que temos um trabalho a executar, e que esse trabalho pode ser dividido em um certo número de atividades. Algumas atividades podem ser feitas simultaneamente, enquanto algumas precisam ser terminadas para que outras sejam iniciadas.

Grafos Planares: Um grafo G é dito planar se existir alguma representação geométrica de G que possa ser desenhada um plano, de tal modo que não existe cruzamento de arestas. Para lembrar: Temos que ligar luz, gás e telefone a três casas sem que as linhas se cruzem. Você é capaz de fazer isso? As ligações do Cubo abaixo pode ser representado por um grafo planar?

Grafos Planares: Pode-se fazer uma associação entre um grafo planar e um mapa, onde cada região do mapa corresponde a um vértice e as fronteiras entre as regiões correspondem às arestas. Exemplo: Uma aplicação que utiliza o conceito de grafos planares é a disposição de componente em um circuitos impressos.

Problemas Clássicos (Coloração) Problema de Colorir as arestas de uma Multigrafo: Quantas cores são necessária para colorir as arestas de uma multigrafo, sem repetição de cor entre dois nós adjacentes. Usuários da rede Recurso Computacinal Nó de Borda 1 Nó de núcleo 7 2 Usuários da rede Rede óptica 6 3 Nó de Borda 5 8 4 Nó de Borda Usuários da rede Recurso Computacinal Servidor De dados

Temas Selecionados Problema de Alocação Quadrática: Consideremos o problema de se designar n objetos a n locais de modo que cada objeto seja atribuído a um único local, quando são conhecidas as distâncias e os custos entre os pares de locais.

Proposição de novos problemas!