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

Documentos relacionados
C 3 C 3. De acordo com o teorema de Euler, um grafo não orientado admite um ciclo de Euler se e só for conexo e não tiver vértices de grau ímpar.

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

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

Considere-se a relação dos exames requeridos, na mesma época, pelos alunos de uma escola: Número do Cadeiras requeridas

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

Árvore de Suporte de Comprimento Mínimo Minimal Spanning Tree

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

Problemas de Fluxo em Redes

Escola Básica e Secundária Mouzinho da Silveira. MACS 11.º Ano Problema do Caixeiro Viajante

Problemas de Optimização em redes

Problemas de Transportes e de Afectação

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

Aula nº / Outubro/ 07. Problema do carteiro chinês

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

Investigação Operacional

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

Cap. 2 Conceitos Básicos em Teoria dos Grafos

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

Grafos: caminhos mínimos

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

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

Problema de Optimização. Metodologias de Apoio à Decisão 1. Slide 1

Matemática Discreta - Exercícios de Grafos

MÓDULO 2 - OTIMIZAÇÃO DE REDES

76) 1.1 Sim 1.2 Não 1.3 Não

2. Desenhe o grafo orientado G = (X, Γ) para: 3. Em cada alínea dois grafos são iguais. Identifique-os. (a) (b) (c)

Módulo 2 OTIMIZAÇÃO DE REDES

Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana

Circuitos Hamiltorianos

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

GRAFOS Aula 04 Caminhos, Conexidade e Distância Max Pereira

Investigação Operacional

Aula 12: Programação Inteira

Problemas de Decisão em Redes 18

MÓDULO 3 - PROBLEMAS DE TRANSPORTE

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

Ciclos hamiltonianos e o problema do caixeiro viajante

Oalgoritmo de Dijkstra

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

ANÁLISE DE ALGORITMOS (INF 1721)

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

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

Resolução do problema do caixeiro viajante assimétrico (e uma variante) através da relaxação Lagrangeana

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

ª Fase. 16 pontos

Problemas de otimização

4. O Makespan com Tempos de Preparação de Máquina Dependentes da Sequência

Análise e Síntese de Algoritmos

Otimização Combinatória - Parte 3

04 Grafos: caminhos e coloração SCC0503 Algoritmos e Estruturas de Dados II

1. Realizou-se uma Assembleia-geral de uma associação cultural, com o objectivo de

Pesquisa Operacional. Teoria dos Grafos

Estruturas de Dados Grafos

Grafos Orientados (digrafos)

Programação Linear/Inteira

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

Simplex. Investigação Operacional José António Oliveira Simplex

Teoria da Complexidade Computacional

ALGORITMO DE DIJKSTRA

Redes. ADSA António Câmara

Otimização em Grafos

Introdução. Introdução. Introdução. Distância euclidiana. Superfícies de custo

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

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

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

INVESTIGAÇÃO OPERACIONAL. Programação Linear. Exercícios. Cap. X Programação por Metas

Capítulo 2- Modelos de grafos.

Algoritmos Combinatórios: Introdução

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

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

PROPOSTA DE RESOLUÇÃO DA PROVA DO ENSINO SECUNDÁRIO DE MATEMÁTICA APLICADA Às CIÊNCIAS SOCIAIS (CÓDIGO DA PROVA 835) 1ª FASE 23 DE JUNHO 2016

Pesquisa Operacional II. Professor João Soares de Mello

Problemas Intratáveis ou computação eficiente X computação ineficiente

Departamento de Engenharia de Produção UFPR 22

1. Dos grafos seguintes, qual representa também o problema de Königsberg?

Arquitecturas Paralelas I Computação Paralela em Larga Escala LESI - 4º Ano. Desenvolvimento de Aplicações Paralelas

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

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

Prof. Marco Antonio M. Carvalho

Ensino Médio - 1º ano

Matemática Aplicada às Ciências Sociais- 11º ano (Versão: para o manual a partir de 2016/17)

Teoria dos Grafos. Aula 5 - Estruturas de Dados para Grafos. Profª. Alessandra Martins Coelho. março/2013

Problema do Caixeiro Viajante

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

CAPÍTULO 4. Teoria da Dualidade

PROPOSTA DE RESOLUÇÃO DA PROVA DO ENSINO SECUNDÁRIO DE MATEMÁTICA APLICADA Às CIÊNCIAS SOCIAIS (CÓDIGO DA PROVA 835) 1ª FASE 23 DE JUNHO 2016

Complexidade computacional

Pesquisa em profundidade. 1 - Grafos não dirigidos

Grafos: aplicações. Grafos: árvore geradora mínima

Introdução. Introdução. Introdução. Distância euclidiana. Superfícies de custo

Sistemas de Equações Lineares

x y Grafo Euleriano Figura 1

GRAFOS BUSCAS E MENOR CAMINHO. Prof. André Backes

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

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

Aula 19: Lifting e matrizes ideais

ESTRUTURAS DE DADOS. prof. Alexandre César Muniz de Oliveira. 1. Introdução 2. Pilhas 3. Filas 4. Listas 5. Árvores 6. Ordenação 7. Busca 8.

A Dualidade em Programação Linear

Modelos e Algoritmos. Transparências de apoio à leccionação de aulas teóricas. c 2001 José Fernando Oliveira, Maria Antónia Carravilla FEUP

Transcrição:

V. Problema do caixeiro-viajante Grafos - Problema do caixeiro-viajante onsidere-se um grafo em que os vértices representam cidades e as arestas (ou arcos) representam as estradas de uma dada região (a cada aresta está associada a distância entre cidades). O problema é calcular o ciclo de menor distância total que, tendo início e fim na cidade X, passe em todas as cidades uma única vez. Este problema, designado por problema do caixeiro-viajante (travelling salesman problem), implica calcular no grafo um ciclo (ou circuito) de Hamilton de encargo total mínimo. O tempo necessário à resolução deste problema cresce exponencialmente com o número de vértices do grafo. Só o método de enumeração (identificação de todos os ciclos possíveis) garante o cálculo da solução óptima do problema mas tal método é impraticável. Veja-se que se um computador for capaz de tratar cerca de 10000 ciclos por segundo, necessitará aproximadamente de 18 segundos para calcular o óptimo num grafo com 10 vértices, 50 dias para um grafo com 15 vértices, 2 anos para um grafo com 16 vértices e 193000 anos para um grafo com 20 vértices! É a enormidade destes tempos que tornou este problema um dos mais famosos e não resolvidos problemas matemáticos. Neste texto, apresentam-se, para cálculo, três métodos heurísticos e um método exacto do tipo branch and bound. 1. Método do vértice adjacente mais próximo É um método aproximado que é aplicado do seguinte modo: Selecciona-se arbitrariamente um vértice v i para início do ciclo Selecciona-se dos vértices ainda não seleccionados o vértice v k que está à menor distância de v i, ficando a cadeia v i, v k. Repete-se este procedimento para o último vértice agregado até esgotar todos os vértices do grafo Veja-se a sua aplicação no grafo orientado com a seguinte matriz de distâncias (km): E 16 12 18 16 10 18 20 20 18 20 18 16 14 18 10 8 E 8 12 12 12 Vértice inicial : Vértice, não seleccionado, mais próximo de : (12 km) Vértice, não seleccionado, mais próximo de : E (16 km) Vértice, não seleccionado, mais próximo de E : (12 km) Vértice, não seleccionado, mais próximo de : (20 km) Vértice, não seleccionado, mais próximo de : (14 km) ircuito quase óptimo : ; ; E ; ; ; ; distância total = 74 km Nota: iz-se quase óptimo por não resultar de um método exacto. O circuito óptimo tem distância total de 66 km. INVESTIGÇÃO OPERIONL (MS) V-1

Grafos - Problema do caixeiro viajante 2. Método da inserção com menor encargo É um método aproximado que é aplicado do seguinte modo: Selecciona-se o sub ciclo (sub circuito) i, j, i associado a Min {c ij + c ji } (escolha arbitrária se houver empate) No sub ciclo (sub circuito) corrente, calcular para cada ligação do tipo (u,v) a inserção do vértice k (não seleccionado) a que corresponda o aumento mínimo de distância dado por Min {c uk + c kv c uv }. Repetir este procedimento até ter seleccionado todos os vértices do grafo. Veja-se a sua aplicação no grafo orientado com a seguinte matriz de distâncias (km): E 16 12 18 16 10 18 20 20 18 20 18 16 14 18 10 8 E 8 12 12 12 Escolha do sub circuito inicial =26 =30 =32 E=24 =38 =38 E=32 =38 E=28 E=20* Sub circuito a estudar : E com a distância total de 20 km 8 E 12 Inserções possíveis : No par,e ou no par E, 8 E 12 14 18 16 20 8 12 18 20 10 16 12 28 Vértice a inserir umento de distância de para E umento de distância de E para 14+16-8 = 22 8+18-12 = 14* 18+20-8 = 30 12+20-12 = 20 10+16-8 = 18* 12+28-12 = 28 V-2

Grafos - Problema do caixeiro-viajante O menor encargo de inserção resulta da escolha do vértice para inserir no par E, ficando o sub circuito E com distância total de 34 km (sub circuito anterior de 20 km, aumentado com 14 km). Sub circuito a estudar : E com distância total de 34 km 8 E 8 18 Inserções possíveis : No par,e ou no par E, ou no par, 8 E 8 18 18 20 12 10 16 20 10 16 12 18 12 28 Estudo da inserção Vértice a inserir umento de distância de para E umento de distância de E para umento de distância de para 18+20-8 = 30 12+10-8 = 14* 16+20-18 = 18* 10+16-8 = 18* 12+18-8 = 22 12+28-18 = 22 O menor encargo de inserção resulta da escolha do vértice para inserir no par E, ficando o sub circuito E com distância total de 48 km (sub circuito anterior de 34 km, aumentado com 14 km). inserção do último vértice no sub circuito corrente conduz aos seguintes circuitos: E com distância total de 66 km ; E com distância total de 68 km ; E com distância total de 74 km ; E com distância total de 70 km ; ircuito quase óptimo : E; distância total = 66 km INVESTIGÇÃO OPERIONL (MS) V-3

Grafos - Problema do caixeiro viajante 3. Método da inserção com maior afastamento É um método aproximado que é aplicado do seguinte modo: Selecciona-se o sub ciclo (sub circuito) i, j, i associado a Max {c ij + c ji } (escolha arbitrária se houver empate) Selecciona-se um vértice k dos não inseridos face à regra seguinte: - regista-se a menor distância de cada um dos vértices, já pertencentes ao sub ciclo (sub circuito) corrente, aos vértices k a inserir; - escolhe-se, para inserção, o vértice k onde seja maior a distância registada (máximo dos mínimos); No sub ciclo (sub circuito) corrente, calcular para cada ligação do tipo (u,v) a inserção do vértice k (agora seleccionado) a que corresponda o aumento mínimo de distância dado por Min {c uk + c kv c uv }. Regressar à selecção de novo vértice para inserir até ter seleccionado todos os vértices do grafo. Veja-se a sua aplicação no grafo orientado com a seguinte matriz de distâncias (km): E 16 12 18 16 10 18 20 20 18 20 18 16 14 18 10 8 E 8 12 12 12 Escolha do sub circuito inicial =26 =30 =32 E=24 =38* =38* E=32 =28 E=28 E=20 Sub circuito a estudar : com a maior distância total (38 km; escolha arbitrária pois há empate) 18 20 Escolha do vértice para inserção istância para vértices inseríveis E Obs. 10 20 20 18 18 16 Min 10 18* 16 Máximo dos mínimos = 18. Inserir V-4

Grafos - Problema do caixeiro-viajante Inserções possíveis : No par, ou no par, 18 20 20 10 18 18 Vértice a inserir umento de distância de para E umento de distância de E para 20+10-18 = 12* 28+18-20 = 16 O menor encargo de inserção é no par, ficando o sub circuito com distância total de 50 km (sub circuito anterior de 38 km, aumentado com 12 km). Sub circuito a estudar : com distância total de 50 km Escolha do vértice para inserção Vértices inseríveis E Obs. 10 20 18 16 14 8 Min 10 8 Máximo dos mínimos = 10. Inserir Inserções possíveis : No par, ou no par, ou no par, 20 10 20 10 18 14 12 18 16 Vértice a inserir umento de distância de para umento de distância de para umento de distância de para 10+18-20 = 8* 14+12-10 = 16 18+16-20 = 14 O menor encargo de inserção é no par, ficando o sub circuito com distância total de 58 km (sub circuito anterior de 50 km, aumentado com 8 km). inserção do último vértice no sub circuito corrente conduz aos seguintes circuitos: E com distância total de 76 km ; Ecom distância total de 68 km ; Ecom distância total de 60 km ; E com distância total de 66 km ; ircuito quase óptimo : E; distância total = 66 km INVESTIGÇÃO OPERIONL (MS) V-5

Grafos - Problema do caixeiro viajante 4. Método de Little 1 a. Generalidades O grafo da figura representa uma rede rodoviária tendo associada a cada uma das arestas a distância (km) entre os vértices extremos. Uma viatura de uma empresa situada em "" necessita 14 9 9 entregar encomendas em,,, E (clientes) e regressar à empresa. 15 13 9 12 14 6 Se pretender passar uma e só uma vez em cada vértice e percorrer a menor distância total qual o(s) itinerário(s) a E 7 utilizar? onsidere-se por exemplo o ciclo hamiltoniano " - - - - E" de distância total 51 km. Se associarmos ao grafo um problema de afectação podemos dizer que "" é afectado a "", "" a "",, "E" a "". Se calcularmos a afectação óptima no quadro da matriz do grafo obtêm-se os pares assinalados sendo o valor de Min f(x) = 45 km. afectação óptima é - - E - - - que sendo um ciclo de Hamilton de valor óptimo 45 km é o itinerário de menor distância a escolher para a viatura da empresa. Se a afectação óptima constituir um ciclo de Hamilton este pode ser calculado E 14 9 13 15 14 9 12 9 9 9 6 14 13 12 6 7 E 15 9 14 7 por esta via. Infelizmente uma situação deste tipo é rara não sendo útil na vida prática onde problemas deste tipo são comuns na distribuição de bens, processamento de dados em computador, horários escalonados etc. b. Matriz reduzida Na aplicação deste algoritmo considera-se que uma matriz está reduzida quando em cada fila (linha/coluna) há pelo menos um elemento nulo. Para reduzir uma matriz, subtrai-se a cada linha o menor dos seus elementos e na matriz resultante subtrai-se a cada coluna o menor dos seus elementos. Se na matriz reduzida for possível uma afectação óptima (solução de valor nulo) o seu valor é igual à soma dos elementos subtraídos. c. Penalidade do Regresso O cálculo de um ciclo envolve a agregação de arestas. dmita-se que nesta matriz reduzida se coloca o problema de escolher ou não escolher a aresta (peso 0) para construir um ciclo de Hamilton de valor mínimo. Quais as consequências de não escolher? 2 2 0 8 0 5 4 0 2 0 0 6 Para construir o ciclo será necessário: ligar "" a outro vértice; o mais favorável é "" pois a aresta tem peso 5; ligar um vértice a ""; o mais favorável é "" pois a aresta tem peso 2; aresta tem peso nulo. Se não é escolhida, o Regresso a "" conduz, pelo menos, ao agravamento de 7 no valor total do ciclo. Este agravamento denomina-se Penalidade do Regresso a "". 1 Little J..., Murty K.G., Sweeny., Karel., n algorithm for the TSP (Traveling Salesman Problem) V-6

Grafos - Problema do caixeiro-viajante Numa matriz reduzida as Penalidades do Regresso são calculadas para todas as arestas de valor nulo somando os menores valores das linha e coluna daquelas arestas. Na matriz anterior as Penalidades do Regresso são: em, 2 +2 = 4 ; em, 5 + 2 =7 ; em, 2 +0 = 2 ; em, 0 +4 = 4 ; em, 0 +0 = 0 Na aplicação do algoritmo será necessário calcular as Penalidades do Regresso em matrizes reduzidas que podem ser registadas como mostra a figura seguinte ( 0 k ): 2 4 0 4 8 0 7 5 (notar que a matriz está reduzida) 4 0 2 2 0 4 0 0 2 onsiderando nesta matriz as Penalidades do Regresso, a aresta seria escolhida para o ciclo de Hamilton por estar associada à maior penalidade. INVESTIGÇÃO OPERIONL (MS) V-7

Grafos - Problema do caixeiro viajante d. lgoritmo de Little É um algoritmo exacto que utiliza a técnica de branch and bound. onsidere-se o grafo da figura e respectiva matriz de distâncias (km): 8 82 114 29 167 151 253 240 63 E 82 167 114 8 82 240 151 29 167 240 63 253 114 151 63 146 E 8 29 253 146 E 146 O primeiro passo é reduzir a matriz do grafo obtendo-se a matriz R 0. O total dos valores subtraídos em linha e coluna é 192 km pelo que o valor de qualquer ciclo hamiltoniano é pelo menos igual a esta soma. E 53 159 106 0 53 211 122 0 R 0 = 104 156 0 * 190 (192) 51 67 0 83 E 0 0 245 138 onsidere-se S 0 =192 km a raiz da arborescência das soluções a calcular. Na matriz R 0 (matriz reduzida associada a S 0 ) calculando as Penalidades do Regresso tem-se: E 53 159 106 0 53 53 211 122 0 53 R 0 = 104 156 0 210 190 (192) 51 67 0 210 83 E 0 51 0 53 245 138 maior Penalidade do Regresso é 210 km que ocorre em e. omo há empate a escolha da aresta para o ciclo é arbitrária. onsidere-se a escolha de. primeira separação dos ciclos de Hamilton é feita considerando ou não a inclusão da aresta : S 0 192 com sem S 1 S 2 Foram criados dois sucessores de S 0 : S 1 : conjunto dos ciclos hamiltonianos com a aresta S 2 : conjunto dos ciclos hamiltonianos sem a aresta Os ciclos hamiltonianos pertencentes a S 2 têm pelo menos o valor de S 0 aumentado da penalidade associada à não inclusão de, ou seja, 192 + 210 = km. No que respeita às soluções pertencentes a S 1 é necessário organizar a matriz reduzida R 1 (a partir de R 0 porque S 1 é sucessora de S 0 ). V-8

Grafos - Problema do caixeiro-viajante Os aspectos a considerar para organizar R 1 são os seguintes: eliminar em R 0 a linha "" e a coluna "" porque S 1 inclui a aresta. impedir a formação de ciclo "parasita" considerando = este modo obtém-se a seguinte matriz: E 53 159 0 53 211 0 Necessita ser reduzida 51 67 83 E 0 0 245 Para obter R 1 é necessário reduzir a matriz subtraindo 51 na linha e posteriormente 159 na coluna sendo de 210 a soma dos valores subtraídos. matriz reduzida R 1 é então: E 53 0 0 R 1 = 53 52 0 (210) 0 16 32 E 0 0 86 pelo que as soluções pertencentes a S 1 têm pelo menos o valor de: S 0 + Encargo de redução de R 1 = 192+210 = km Nota: a igualdade de S 1 e S 2 é mera coincidência. Temos agora as soluções da figura sendo necessário decidir nova separação para prosseguir o cálculo do ciclo. S 0 192 Esta separação deve ser feita na solução com sem com menor valor (estamos calculando um mínimo) decidindo-se arbitrariamente quando há empate (como está a suceder). S 1 S 2 Seleccionando S 2 é necessária a matriz reduzida R 2 (associada a S 2 ) para calcular Penalidades do Regresso e fazer escolha de nova aresta. Na organização de R 2 a partir de R 0 (porque S 2 é sucessora de S 0 ) tem-se em atenção que: S 2 é solução sem pelo que em R 2 deve figurar = ; em S 2 já foi considerada a Penalidade do Regresso a "" pelo que em R 0 devem ser subtraídos nas linha "" e coluna "" o menor dos valores da respectiva fila (a penalidade 210 já foi considerada para o cálculo do valor de S 2 ). INVESTIGÇÃO OPERIONL (MS) V-9

Grafos - Problema do caixeiro viajante Vejamos, passo a passo, a reconstituição de R 2 partindo de R 0 : E 53 159 106 0 53 211 122 0 R 0 = 104 156 0 * 190 (192) 51 67 0 83 E 0 0 245 138 Subtraindo 104 na linha "", 106 na coluna "" e considerando = tem-se a matriz reduzida R 2 : E 53 159 0 0 53 211 16 0 R 2 = 0 52 86 (0) 51 67 0 83 E 0 0 245 32 Nota: se nesta matriz for feita afectação tem-se, E,,, E. Somando o valor associado a estas arestas, 114 + 29 + 167 + 63 + 29 =, tem-se o valor de S 2 já disponível do antecedente. Para efectuar a separação em S 2 há que calcular as Penalidades do Regresso em R 2 : E 53 159 0 16 0 0 53 211 16 0 16 Maior penalidade é 210 km R 2 = 0 52 52 86 Separação em (0) 51 67 0 210 83 E 0 0 0 52 245 32 Em S 2 a separação dos ciclos de Hamilton é feita considerando ou não a inclusão da aresta : S 2 com sem S 3 S 4 Foram criados dois sucessores de S 2 : S 3 : conjunto dos ciclos hamiltonianos com a aresta S 4 : conjunto dos ciclos hamiltonianos sem a aresta Os ciclos hamiltonianos pertencentes a S 4 têm pelo menos o valor de S 2 + Penalidade do Regresso a, ou seja, +210 = 612 km. Para avaliar as soluções pertencentes a S 3 é necessário organizar a matriz reduzida R 3 (a partir de R 2 porque S 3 é sucessora de S 2 ) Para organizar R 3 é necessário: eliminar em R 2 a linha "" e a coluna "" porque se escolheu a aresta. V-10

Grafos - Problema do caixeiro-viajante impedir a formação de ciclo "parasita" considerando = (já considerado em R 2 ) este modo obtém-se a matriz seguinte: E 53 0 16 0 0 R 3 = 53 16 0 16 Maior penalidade é 52 km (0) 0 52 52 86 Separação em ou E E 0 0 0 52 32 matriz obtida é R 3 porque já está reduzida (encargo de redução nulo). Tem-se o valor de S 3 = S 2 + 0 = km. Em R 3 foram já calculadas as Penalidades do Regresso, para decidir a separação das soluções. Temos agora as soluções: S 2 com sem S 3 S 4 612 nova separação é feita em S 3 ou S 1 (ambas com valor km). dmita-se a decisão de continuar escolhendo S 3 para separação dos ciclos de Hamilton considerando ou não a inclusão da aresta (podia ser E porque tem igual Penalidade do Regresso). Foram criados dois sucessores de S 3 : S 5 : conjunto dos ciclos hamiltonianos com a aresta S 6 : conjunto dos ciclos hamiltonianos sem a aresta Os ciclos hamiltonianos pertencentes a S 6 têm pelo menos o valor de S 3 + Penalidade do Regresso a "", ou seja, +52 = 454 km. Para avaliar as soluções pertencentes a S 5 é necessário organizar a matriz reduzida R 5 a partir de R 3 (porque S 5 é sucessora de S 3 ). Para organizar R 5 é necessário: eliminar em R 3 a linha "" e a coluna "" porque se escolheu a aresta. impedir a formação de ciclo "parasita" considerando = INVESTIGÇÃO OPERIONL (MS) V-11

Grafos - Problema do caixeiro viajante este modo obtém-se a matriz seguinte: E 53 0 16 0 Necessita ser reduzida E 0 32 O encargo da redução desta matriz é de 16 (subtracção na 2ª coluna) e a matriz reduzida R 5 é a seguinte: E 53 0 53 Maior penalidade é 69 km R 5 = 0 0 0 Separação em E (16) E 0 69 16 Tem-se o valor de S 5 = S 3 + 16 = + 16 =418. Em R 5 foram já calculadas as Penalidades do Regresso, para decidir a separação das soluções. Temos agora as soluções: S 3 com sem S 5 S 6 454 418 nova separação é feita em S 5 (como a matriz dos sucessores será de ordem 2 há condições para atingir já uma solução admissível ou concluir pela inexistência de ciclo pelo que não se passa para S 1 ). Escolhendo S 5 para separação dos ciclos de Hamilton considerando ou não a inclusão da aresta E criam-se dois sucessores de S 5 : S 7 : conjunto dos ciclos hamiltonianos com a aresta E S 8 : conjunto dos ciclos hamiltonianos sem a aresta E Os ciclos hamiltonianos pertencentes a S 8 têm pelo menos o valor de S 5 + Penalidade do Regresso a "", ou seja, 418 +69 = 487 km. Para avaliar as soluções pertencentes a S 7 é necessário organizar a matriz reduzida R 7 a partir de R 5 (porque S 7 é sucessora de S 5 ). Para organizar R 7 é necessário: eliminar em R 5 a linha "E" e a coluna "" porque se escolheu a aresta E. impedir a formação de ciclo "parasita" considerando E= E V-12

Grafos - Problema do caixeiro-viajante este modo obtém-se a matriz seguinte: E R 7 = 0 Já está reduzida (0) 0 Tem-se o valor de S 7 = S 5 + 0 = 418 + 0 = 418 km. s Penalidades do Regresso são nulas pelo que se acrescentam ao ciclo as arestas E e obtendo-se a primeira solução admissível com valor 418 km que passa a constituir limite para eliminar de análise as soluções correntes S 4 =612 km ; S 6 = 454 km ; S 8 = 487 km porque têm valor superior. solução S 7 é um ciclo de Hamilton com valor 418 km. 8 82 29 114 167 151 253 240 63 E 146 É necessário explorar a solução S 1 = km pois pode gerar um ciclo de valor inferior ao já calculado. matriz R 1 com Penalidades do Regresso é a seguinte: E 53 0 52 0 0 Maior penalidade é 52 km R 1 = 53 52 0 52 Separação em ou E (210) 0 16 16 32 E 0 0 0 16 86 Em S 1 a separação dos ciclos de Hamilton é feita considerando ou não a inclusão da aresta (podia ser E), criando dois sucessores: S 9 : conjunto dos ciclos hamiltonianos com a aresta S 10 : conjunto dos ciclos hamiltonianos sem a aresta Os ciclos hamiltonianos pertencentes a S 10 têm pelo menos o valor de S 1 + Penalidade do Regresso a "", ou seja, +52 = 454 km (superior a 418 km; eliminar de análise posterior). Para avaliar as soluções pertencentes a S 9 é necessário organizar a matriz reduzida R 9 a partir de R 1 (porque S 9 é sucessora de S 1 ). Para organizar R 9 é necessário: eliminar em R 1 a linha "" e a coluna "" porque se escolheu a aresta. impedir a formação de ciclo "parasita" considerando = INVESTIGÇÃO OPERIONL (MS) V-13

Grafos - Problema do caixeiro viajante este modo obtém-se a matriz seguinte: E 53 0 Necessita ser reduzida 16 32 E 0 0 O encargo da redução desta matriz é de 16 (subtracção na 2ª linha) e a matriz reduzida R 9 é a seguinte: E 53 0 69 Maior penalidade é 69 km R 9 = 0 16 16 Separação em E (16) E 0 53 0 0 Tem-se o valor de S 9 = S 1 + 16 = + 16 = 418 km. Em R 9 foram já calculadas as Penalidades do Regresso, para decidir a separação das soluções. Temos agora as soluções: S 1 com sem S 9 S 10 418 454 separação em S 9 é feita considerando ou não a inclusão da aresta E criando dois sucessores: S 11 : conjunto dos ciclos hamiltonianos com a aresta E S 12 : conjunto dos ciclos hamiltonianos sem a aresta E Os ciclos hamiltonianos pertencentes a S 12 têm pelo menos o valor de S 9 + Penalidade do Regresso a "E", ou seja, 418 + 69 = 487 km (superior a 418 km; eliminar de análise posterior). Para avaliar as soluções pertencentes a S 11 é necessário organizar a matriz reduzida R 11 a partir de R 9 (porque S 11 é sucessora de S 9 ). Para organizar R 11 é necessário: eliminar em R 9 a linha "" e a coluna "E" porque se escolheu a aresta E. impedir a formação de ciclo "parasita" considerando E = E este modo obtém-se a matriz reduzida R 11 : R 11 = 0 Não necessita redução (0) E 0 V-14

Grafos - Problema do caixeiro-viajante Tem-se o valor de S 11 = S 9 + 0 = 418 + 0 = 418 km. s Penalidades do Regresso são nulas pelo que se acrescentam ao ciclo as arestas e E obtendo-se outra solução admissível com valor 418 km. solução S 11 é um ciclo de Hamilton com valor 418 km. Trata-se do mesmo ciclo de S 7 pelo que o ciclo óptimo é único com valor 418 km. Nota: o grafo é não orientado. 8 82 114 29 167 151 253 240 63 E 146 Na figura seguinte encontra-se a arborescência S 0 192 com sem S 1 S 2 com sem com sem S 10 S 9 454 418 S 3 S 4 612 com E sem E com sem S 11 (MISSIVEL) S 12 S 5 S 6 418 487 418 454 com E sem E S 7 (MISSIVEL) 418 S 8 487 construída durante o cálculo do(s) ciclo(s). INVESTIGÇÃO OPERIONL (MS) V-15

Grafos - Problema do caixeiro viajante 5. uto Teste a. Um agente de fiscalização de parquímetros de uma autarquia é responsável por 5 zonas de parqueamento (,,,,E). movimentação eficaz do agente supõe que este após fiscalizar uma zona não volte à mesma antes de ter fiscalizado as restantes. Por outro lado importa que cada uma das zonas seja fiscalizada com a maior frequência possível. O departamento de tráfego da autarquia, após visita de estudo à área dispõe agora dos tempos (minutos) que o agente necessitará para fiscalizar uma zona e atingir a zona seguinte (ver matriz): Tempo entre zonas (min.) E 16 12 18 16 10 18 20 20 18 20 28 16 14 18 10 8 E 8 12 12 12 Que tipo de problema clássico lhe sugere esta situação? Que instruções daria ao fiscal? b. Numa empresa de metalomecânica é necessário executar 6 tipos de tarefas diferentes na mesma máquina. Para iniciar qualquer das tarefas é necessário preparar a máquina (montagem de acessórios e afinações) o que consome tempo (custo). Estes custos de preparação para dada tarefa variam consoante a natureza da tarefa terminada, ou seja, para iniciar a tarefa "" o custo de preparação pode ou não ser o mesmo consoante a tarefa terminada seja "", "", de "n" tarefas. No grafo da figura os vértices representam as tarefas e os valores associados às arestas representam custos de preparação associados aos vértices adjacentes. ssim se a tarefa "" for imediatamente anterior à tarefa "", o custo de preparação é de 6 u.m. 6 5 4 2 8 6 4 8 9 E 7 Qual a sequência de execução das tarefas de modo a minimizar os custos totais de preparação (setup)? c. dmita que no exercício da alínea a. o agente pretende fiscalizar todas as zonas iniciando o percurso em e terminando em E. Que instruções daria ao fiscal para que o percurso fosse o mais rápido possível? V-16

Grafos - Problema do caixeiro-viajante 6. Solução do uto Teste a. Trata-se do problema do caixeiro-viajante sendo necessário calcular um circuito de Hamilton (o grafo é orientado) num grafo fortemente conexo em que os vértices são as zonas de parqueamento e aos arcos estão associados os tempos de fiscalização e deslocação entre as mesmas. Pode aplicar-se o algoritmo de Little para o que se reduz a matriz obtendo R 0 e uma solução S 0 raiz da arborescência a construir. matriz R 0, com encargo de redução e Penalidades do Regresso é a seguinte: E 0 0 0 2 2 4 R 0 = 0 6 8 6 10 Maior Penalidade é 6 (62) 2 0 0 8 0 0 Separação em 6 6 2 0 2 E 0 0 0 0 4 0 2 S 0 = 62 min. Em S 0 : separação em ; S 1 com ; S 2 sem. S 2 = S 0 + 6 = 62 + 6 = 68 min. S 1 : necessária matriz reduzida R 1 R 1 : construir a partir de R 0 eliminando linha e coluna ; = ; reduzida E 0 4 * 2 4 Maior Penalidade é 4 R 1 = 0 0 8 0 0 Separação em (0) 6 2 0 2 E 0 0 4 0 2 S 1 = S 0 + 0 = 62 min. Em S 1 : separação em ; S 3 com ; S 4 sem S 4 = S 1 + 4 = 62 + 4 = 66 min. S 3 : necessária matriz reduzida R 3 R 3 : construir a partir de R 1 eliminando linha e coluna ; = ; reduzida E R 3 = 8 0 8 Maior Penalidade é 8 (0) 6 0 6 Separação em E E 0 6 0 8 S 3 = S 1 + 0 = 62 min. Em S 3 : separação em E ; S 5 com E ; S 6 sem E S 6 = S 3 + 8 = 62 + 8 = 70 min. S 5 : necessária matriz reduzida R 5 INVESTIGÇÃO OPERIONL (MS) V-17

Grafos - Problema do caixeiro viajante R 5 : construir a partir de R 3 eliminando linha e coluna E ; E = ; reduzida 6 reduzir E 0 2 R 5 = 0 (6) E 0 S 5 = S 3 + 6 = 68 min. 1ª solução admissível : E (valor do circuito é S 5 = 68 min.) ispondo deste limite superior, as soluções S 2 = 68 min.e S 6 = 70 min. não são sujeitas a separação dado não poderem gerar soluções com valor inferior ao limite superior S 5 = 68 min. É necessário examinar as soluções de S 4 = 66 min para o que se reconstitui a matriz R 4 a partir de R 1 : considerando o valor de (,) = atendendo a que a Penalidade do Regresso pela não inclusão do arco (,) já está considerada no valor de S 4 Sendo R 1 : E 0 4 * 2 4 R 1 = 0 0 8 0 0 6 2 0 2 tem-se a matriz : E 0 0 4 0 2 E 0 2 2 Está reduzida; é R 4 R 4 = 0 0 8 0 0 Maior Penalidade é 2 6 0 2 0 2 Separação em ou E 0 0 2 0 0 Em S 4 : separação em ; S 7 com ; S 8 sem S 8 = S 4 + 2 = 66 + 4 = 70 min. (não explorar por que excede limite superior 68 min.) S 7 : necessária matriz reduzida R 7 R 7 : construir a partir de R 4 eliminando linha e coluna ; = ; reduzida E R 7 = 0 0 0 0 Maior Penalidade é 2 (0) 0 2 0 0 Separação em ou E E 0 2 2 S 7 = S 4 + 0 = 66 min. Em S 7 : separação em ; S 9 com ; S 10 sem S 10 = S 7 + 2 = 66 + 2 = 68 min. S 9 : necessária matriz reduzida R 9 V-18

Grafos - Problema do caixeiro-viajante R 9 : construir a partir de R 7 eliminando linha e coluna ; = ; reduzida E R 9 = 0 (0) E 0 S 9 = S 7 + 0 = 66 min. Seleccionar os arcos E e E. 2ª solução admissível : E (valor do circuito é S 9 = 66 min.) solução óptima é S 9 = 66 min., tempo mínimo entre inícios de fiscalização da área. b. Trata-se de um problema típico de ciclo de Hamilton. O ciclo óptimo é E com custo mínimo de 26 u.m. Notar que o trabalho na máquina pode iniciar-se com qualquer das tarefas desde que se obedeça à sequência calculada. c. É necessário calcular um caminho elementar, com todos os vértices do grafo e comprimento igual a "n-1" (caminho de Hamilton). Para detectar o caminho hamiltoniano de a E, calcula-se o ciclo de Hamilton de "" a "" mas modifica-se a matriz inicial do seguinte modo: No vértice inicial do caminho (vértice ) Impedir a ligação ao vértice final do caminho (vértice E) Impedir a ligação dos vértices intermédios do caminho (, e ) ao vértice inicial () No vértice final do caminho (vértice E) Ligação ao vértice inicial do caminho (vértice ) com valor nulo Impedir a ligação aos vértices intermédios do caminho (, e ) matriz para cálculo do ciclo é então: E 16 12 18 Nota: Pode eliminar-se a coluna de "" 18 20 20 (partida) e a linha de "E" (chegada) 20 28 16 aminho óptimo 18 10 8 - - - - E E 0 Tempo óptimo = 60 minutos INVESTIGÇÃO OPERIONL (MS) V-19