Pesquisa Operacional II
Professor João Soares de Mello
http://www.uff.br/decisao/notas.htm
Ementa
• Teoria dos grafos (pré-requisitos: PO I, Álgebra Linear)
• Programação não linear (pré-requisitos: PO I, Cálculo Diferencial com várias variáveis)
Bibliografia BásicaBOAVENTURA NETTO, P. O. ; JURKIEWICZ, S. Grafos: introdução e prática. 1. ed. São Paulo - SP: Editora Edgard Blucher Ltda., 2009.
PIZZOLATO, N. D. ; GANDOLPHO, A.A.. Técnicas de Otimização. 1. ed. Rio de Janeiro: Livros Técnicos e Científicos LTC, 2009.
HILLIER, F.S.; LIEBERMAN, G.J. H. J. Pesquisa Operacional. McGraw-Hill 8Ed, 2010
Bibliografia Complementar
BORTOLOSSI, H. J. Cálculo Diferencial a Várias Variáveis: Uma Introdução à Teoria de Otimização. São Paulo: Editora PUC-Rio/Edições Loyola, 2002.
NOVAES, A. G. N. Métodos de otimização: Aplicações aos transportes. São Paulo: Edgard Blucher, 1978.
ARENALES, M. N. ; ARMENTANO, V. A. ; MORABITO, R. ; YANASSE, H.
H. Pesquisa Operacional. 1. ed. Rio de Janeiro: Campus/Elsevier, 2007.
Calendário
Provas 30/1/2013 e 20/3/2013. VS dia 27/3/2013..
Não haverá aula nos dias 10, 12 e 17/12 por motivo de viagem oficial para participação em bancas (afastamento publicado no Diário Oficial da União nº 213 de 05/11/2012, Seção 2, páginas 23).
Avaliação
Duas provas com igual peso. Uma sobre grafos a outra sobre programação não linear
Uma das questões da segunda prova poderá, eventualmente, ser um trabalho computacional para casa e defendido em sala.
Teoria dos grafos
Problemas estudados em Grafos• O Problema do Caixeiro Viajante• O Problema do Carteiro Chinês• O Problema do labirinto• O Problema de Caminho Mínimo• Os Problemas do transporte e da alocação• O Problema de Fluxo Máximo• O Problema de Fluxo Máximo a custo mínimo• Árvore Geradora Mínima (AGM)• Coloração em Grafos• Roteamento de veículos• Centralidades em grafos• Etc.
Teoria dos Grafos
Teoria dos Grafos• Pontes de Königsbergna Prússia (atualKalinigrad, na Russia):“seria possível percorrertodas as quatro seções evoltar ao local departida cruzando cadaponte uma única vez?”• Resolvido por LeonhardEuler XVIII
Teoria dos Grafos: Outros exemplos
Cadeias de carbono
Circuitos elétricos
Sociogramas
Fluxogramas
Organogramas
Relações de preferência (caso particular: resultados de jogos)
Teoria dos Grafos: Definições básicas• Um grafo é uma noção simples e abstratautilizada para representar a idéia de relação entre“elementos"• Matematicamente: G = (V,A), onde V é oconjunto de vértices e A é o conjunto de ligaçõesentre vértices.• Grafo não orientado: ligações representadas ospares de vértices não possuem uma ordem (i,j) =(j,i) = {i,j}, aresta• Grafo orientado (dígrafo): ligações (arcos)representadas por partes ordenados (i,j) ≠ (j,i)
Representações de grafos
• Rotular vértices, valorar ligações (eventualmente o contrário)
• Topológica (“desenho”)• Listas de adjacências armazena o relacionamentoentre os vértices em uma estrutura de listas.Representação econômica do ponto de vista computacional.• Grafos orientados: duas listas origem - destinos edestino - origens• Grafo não orientados: uma lista
Representações de grafos
• Matriz de adjacências: dois vértices são adjacentes se estão unidos por uma aresta ou arco. Matriz Mnxn (n total de vértices).
Observar simetria das matrizes de grafos não orientados
Representações de grafos
• Matriz de incidência: linhas são vértices e colunas são ligações.
• Em cada coluna (ligação) são indicados quais os vértice que ela liga.
Alguns conceitos
• Ordem de um grafo= número de vértices
• Tamanho de um grafo= número de ligações (observar multigrafos)
• Grafo complementar: Grafo que possui apenas as ligações que não existem no grafo completo (com todas as ligações)
• Grafo completo não orientado é chamado “clique” Kn
Alguns conceitos
• Subgrafo: é um sub conjunto do grafo original, isto é, tanto o conjunto de vértices quanto o conjunto de ligações são subconjuntos dos originais
• Subgrafo abrangente (spanning subgraph): contém todos os vértices mas não todas as ligações
• Subgrafo induzido: uma vez determinado o conjunto de vértices, são mantidas as ligações entre eles
• Vizinhança: y é vizinho de x se existe a ligação (x,y)N(x)={y: ∃ (x,y)}
• Conjunto de sucessores N+(x)={y: ∃ (x,y)}• Conjunto de antecessores N-(x)={y: ∃ (y,x)}• Tanto a vizinhança como estes conjuntos são ditos abertos.
Para fechar inclui-se o vértice centro
Alguns conceitos• Grau de um vértice: Em um grafo não orientado é o número de arestas
adjacentes ao vértice. Num grafo simples é igual ao número de vizinhos g(x)=#N(x)
• Para grafos orientados define-se o semigrau exterior (número de sucessores) e o semigrau interior (número de antecessores. Alguns autores definem grau como sendo a soma dos semigraus, mas isso apresenta problemas.
• Se g(x)=1 diz-se que o vértice é pendente.
• Se em grafo não orientado, g(x)=g(y)=k, ∀x,y ∃ V, o grafo é dito k-regular
• Percurso: conjunto de vértice (ou ligações) sequencialmente adjancentes
• Caminho: É um caminho possível de percorrer. Todas as ligações estão no sentido início-fim
• Percurso simples não repete ligações, elementar não repete vértices
• Ciclo é um percurso elementar fechado, circuito é um caminho elementar fechado. Todo circuito.é um ciclo.
Alguns conceitos• Fecho transitivo: R+(v) é o conjunto de todos os vértices w para os
quais existe um caminho de v para w.
• Fecho transitivo: R-(v) é o conjunto de todos os vértices w para os quais existe um caminho de w para v.
• O nome “transitivo” está relacionado à propriedade da transitividade de relações binárias: se existe um par (a,b) e (b,c) existe um (a,c). Exemplo: Cálculo I é pré-requisito transitivo de PO II ou, em linguagem de grafos, PO II está no fecho transitivo de Cálculo I.
• Exercício: Identificar, até o quinto período, o fecho transitivo positivo de todas as matérias do primeiro período e o fecho transitivo negativo de todas as do quinto período.
• Observação: Qualquer vértice está incluído no seu fecho transitivo, seja positivo ou negativo.
• Isomorfismo: Dois grafos são isomorfos se e só se existir uma função bijetiva entre seus conjuntos de vértices que preserve suas relações de adjacência. As representações topológica, e outras podem ser diferentes.
Conexidade• Um grafo é conexo se existir um percurso entre dois quaisquer par de
vértices.
• Em grafos não orientados isto é equivalente a dizer que qualquer vértice w está no fecho transitivo (positivo e negativo) de qualquer vértice v (provar por redução ao absurdo).
• A conexidade é mais complicada em grafos orientados. Existem grafos que “no desenho” parecem conexos, mas não respeitam a “ligação total”.
• Existem 4 tipos de conexidade: desconexo, simplesmente conexo, semi-fortemente conexo e fortemente conexo.
• Desconexo: existem vértices sem nenhum percurso para outros.
• Fortemente conexo (f-conexo): todo o vértice está no fecho transitivo de outro.
• Simplesmente conexo: existem percursos (mas não necessariamente caminhos) entre qualquer par de vértices.
• Semi-fortemente conexo: entre dois pares de vértices um deles estará no fecho transitivo positivo do outro.
Conexidade• Um subgrafo fortemente conexo que é que não esteja contido em
outro f-conexo é chamado componente f-conexa.
• Grafo reduzido: é aquele em que um vértice é substituído pela componente f-conexa a que pertence. O grafo reduzido tem a mesma conexidade do grafo original.
• Determinação de componente f-conexas: Algoritmo de Malgrange. Faz os fecho transitivos positivo e negativo de cada vértice e a sua interseção.
• Dois grafos conexos podem ter a sua conexidade mais ou menos ameaçada. Esse é o conceito de conectividade, aplicado apenas a grafos não orientados.
• Conectividade vértice (aresta) de um grafo conexo é o menor número de vértices (arestas) que é preciso tirar desse grafo para ele deixar de ser conexo (ou o rediz a único vértice, caso das cliques).
• A conectividade é menor ou igual ao número de vértice menos 2 (para grafos não completos).
Problemas com caminhos• Hamiltonianos: percurso que visita cada vértice uma única vez.
Problema do Caixeiro Viajante: “O Caixeiro Viajante deve sair da sua cidade (origem), visitar cada uma das outras (n-1) cidades uma única vez e retornar à cidade de origem, de forma tal a percorrer uma única distância possível”
• Eulerianos: percurso que usa cada ligação exatamente uma vez. Problema do Carteiro Chinês.: “o carteiro deseja percorrer todas asruas da sua rota um número mínimo de vezes.
Determinação de caminhos
• Caminho de menor custo (menor “distância”, comparar com distância matemática). Algortimos de Dijkstra e Floyd. Programação linear binária
• Maior caminho: programação linear binária, algoritmo de folgas. Aplicação em COM (Gestão de Projetos)
• Existência de caminho
Existência de caminho
• Só temos informação local do grafo (estamos “dentro” do grafo).
• Situação prática: labirinto.
• Temos que ser capazes de marcar caminhos já percorridos.
• Seguir sempre pela direita, a menos que o caminho já tenha sido feito.
• Ir o mais à direita possível. Se todos tiverem sido feitos, voltar para trás.
Algoritmo de Dijkstra
Para cada vértices usamos a notação: [c,j] X,chamada de rótuloc custo até o momento, j vértice precedente, X pode
ser T (temporário) ou P (permanente)• Início no vértice origem: [0,-]PAnalisar os vértices adjacentes e colocamos rótulos
temporários, calculamos a distância até esse ponto,caso esteja rotulado escolhemos o de menor distânciaTodos os vértices rotulados, pare, caso contrário,
escolha o de menor custo rotule como P e repetir opasso anterior
PORQUE FUNCIONA?
Top Related