A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ROTEIRIZAÇÃO Marcone Jamilson Freitas Souza

Apresentações semelhantes


Apresentação em tema: "ROTEIRIZAÇÃO Marcone Jamilson Freitas Souza"— Transcrição da apresentação:

1 ROTEIRIZAÇÃO Marcone Jamilson Freitas Souza http://www.decom.ufop.br/prof/marcone

2 SUMÁRIO Introdução Objetivos Métodos de solução Problema do Caixeiro Viajante Problema de Roteamento de Veículos

3 Introdução

4 Objetivos Atender ao cliente com o nível de serviço desejado Reduzir os custos de transporte tanto quanto possível, escolhendo os trajetos mais adequados de forma a aproveitar eficientemente a frota e a mão-de-obra operacional

5 Métodos de solução Programação matemática Vantagem: garantem a solução ótima (menor custo) Desvantagens: Difícil modelagem Nem sempre conseguem produzir uma solução Heurísticas Vantagens: De fácil implementação Produzem boas soluções rapidamente Desvantagem: Não garantem a otimalidade da solução obtida

6 Exemplo: Problema da Mochila Imagine que os estudantes do curso de especialização em logística empresarial estejam fazendo um cruzeiro marítimo patrocinado pela coordenação do curso Em alto mar o navio começa a afundar... Só existe um barco salva-vidas, que, no entanto, só pode levar c quilos

7 Exemplo: Problema da Mochila Cada pessoa no navio tem um certo peso p i Cada pessoa i proporciona um benefício b i se for levada para o barco salva-vidas O problema consiste em escolher as pessoas que trarão o maior benefício possível sem ultrapassar a capacidade do barco

8 Exemplo: Problema da Mochila PessoaPeso (Kg)Benefício cruzeirense 1400 Capacidade do barco: 250 Kg. Capacidade do barco: 250 Kg.

9 Exemplo: Problema da Mochila PessoaPeso (Kg)Benefício cruzeirense 1400 Recém-graduado601 Capacidade do barco: 250 Kg. Capacidade do barco: 250 Kg.

10 Exemplo: Problema da Mochila PessoaPeso (Kg)Benefício cruzeirense 1400 Recém-graduado601 ATLETICANO1003 Capacidade do barco: 250 Kg. Capacidade do barco: 250 Kg.

11 Exemplo: Problema da Mochila PessoaPeso (Kg)Benefício cruzeirense 1400 Recém-graduado601 ATLETICANO1003 Funcionário da CVRD804 Capacidade do barco: 250 Kg. Capacidade do barco: 250 Kg.

12 Exemplo: Problema da Mochila PessoaPeso (Kg)Benefício cruzeirense 1400 Recém-graduado601 ATLETICANO1003 Funcionário da CVRD804 Morena olhos verdes753 Capacidade do barco: 250 Kg. Capacidade do barco: 250 Kg.

13 Exemplo: Problema da Mochila PessoaPeso (Kg)Benefício cruzeirense 1400 Recém-graduado601 ATLETICANO1003 Funcionário da CVRD804 Morena olhos verdes753 Loira burra602 Capacidade do barco: 250 Kg. Capacidade do barco: 250 Kg.

14 Exemplo: Problema da Mochila PessoaPeso (Kg)Benefício cruzeirense 1400 Recém-graduado601 ATLETICANO1003 Funcionário da CVRD804 Morena olhos verdes753 Loira burra602 João Esmeraldo9010 Capacidade do barco: 250 Kg. Capacidade do barco: 250 Kg. Solução 1: J + L + A (250 Kg) Benefício = 15 Solução 1: J + L + A (250 Kg) Benefício = 15

15 Exemplo: Problema da Mochila PessoaPeso (Kg)Benefício cruzeirense 1400 Recém-graduado601 ATLETICANO1003 Funcionário da CVRD804 Morena olhos verdes753 Loira burra602 João Esmeraldo9010 Capacidade do barco: 250 Kg. Capacidade do barco: 250 Kg. Solução 1: J + L + A (250 Kg) Benefício = 15 Solução 1: J + L + A (250 Kg) Benefício = 15 Solução 2: J + M + F (245 Kg) Benefício = 17 Solução 2: J + M + F (245 Kg) Benefício = 17

16 Complexidade do Problema da mochila Para n pessoas há 2 n configurações possíveis Exemplo: Para n = 50 há 10 15 soluções para serem testadas Um computador que realiza uma avaliação em 10 -8 segundos gastaria cerca de 130 dias para encontrar a melhor solução! Conclusão: O barco afundaria antes que fosse tomada a decisão de quem seriam os escolhidos

17 Problema da Mochila: observações Problema NP-difícil: tempo de resolução cresce exponencialmente com a dimensão Abordado por métodos heurísticos

18 Um modelo Heurístico para o Problema da Mochila PessoaPeso (Kg)BenefícioBenefício/ Peso cruzeirense14000 Recém-graduado6010,017 ATLETICANO10030,030 Funcionário da CVRD8040,050 Morena olhos verdes7530,040 Loira burra6020,030 João Esmeraldo90100,111 1º Passo: Calcular a relação benefício/custo

19 Um modelo Heurístico para o Problema da Mochila PessoaPeso (Kg)BenefícioBenefício/ Peso João Esmeraldo90100,111 Funcionário da CVRD8040,050 Morena olhos verdes7530,040 Loira burra6020,030 ATLETICANO10030,030 Recém-graduado6010,017 cruzeirense14000 2º Passo: Ordenar os elementos

20 Um modelo Heurístico para o Problema da Mochila PessoaPeso (Kg)BenefícioBenefício/ Peso João Esmeraldo90100,111 Funcionário da CVRD8040,050 Morena olhos verdes7530,040 Loira burra6020,030 ATLETICANO10030,030 Recém-graduado6010,017 cruzeirense14000 3º Passo: Escolher o elemento que produzir a maior relação benefício/peso, e que respeite a capacidade do barco

21 Um modelo Heurístico para o Problema da Mochila PessoaPeso (Kg)BenefícioBenefício/ Peso João Esmeraldo90100,111 Funcionário da CVRD8040,050 Morena olhos verdes7530,040 Loira burra6020,030 ATLETICANO10030,030 Recém-graduado6010,017 cruzeirense14000 4º Passo: Repetir o passo anterior até que nenhum elemento possa ser colocado no barco sem ultrapassar a capacidade deste.

22 Um modelo Heurístico para o Problema da Mochila PessoaPeso (Kg)BenefícioBenefício/ Peso João Esmeraldo90100,111 Funcionário da CVRD8040,050 Morena olhos verdes7530,040 Loira burra6020,030 ATLETICANO10030,030 Recém-graduado6010,017 cruzeirense14000 4º Passo: Repetir o passo anterior até que nenhum elemento possa ser colocado no barco sem ultrapassar a capacidade deste.

23 Um modelo de programação matemática para o Problema da Mochila Sejam: n elementos c = capacidade da mochila b i = benefício do elemento i p i = peso do elemento i Variável de decisão:

24 Um modelo de programação matemática para o Problema da Mochila

25 Problema do Caixeiro Viajante Há um conjunto de n cidades (clientes) e uma matriz de distâncias entre elas O objetivo é sair de uma cidade, chamada origem, visitar cada uma das restantes n-1 cidades apenas uma única vez e retornar à cidade origem percorrendo a menor distância possível

26 Problema do Caixeiro Viajante 2 4 3 5 1 Uma rota possível: 1->2->4->3->5->1 Custo: 46 7 9 10 8 12

27 Problema do Caixeiro Viajante Número elevado de soluções existentes Número elevado de soluções existentes Há (n-1)!/2 rotas possíveis, supondo que a distância de uma cidade i à outra j seja simétrica (d ij = d ji ) Há (n-1)!/2 rotas possíveis, supondo que a distância de uma cidade i à outra j seja simétrica (d ij = d ji ) Para n=20 cidades há 6x10 16 rotas Um computador que avalia uma rota em cerca de 10 -8 segundos, gastaria 19 anos para encontrar a melhor rota!

28 Um modelo de programação matemática para o Problema do Caixeiro Viajante Sejam dados: Sejam dados: n cidades Variáveis de decisão: Variáveis de decisão:

29 Um modelo de programação matemática para o Problema do Caixeiro Viajante

30 Heurísticas p/a resolução do Problema do Caixeiro Viajante Heurísticas construtivas Heurísticas construtivas Constroem uma rota, elemento por elemento Constroem uma rota, elemento por elemento Heurísticas de refinamento Heurísticas de refinamento Melhoram uma rota existente por meio de trocas sistemáticas na ordem das cidades visitadas

31 Heurística (Construtiva) do Vizinho mais próximo para o Problema do Caixeiro Viajante Idéia: Começar da cidade origem e adicionar à rota a cidade mais próxima da última cidade adicionada. Terminar quando todas as cidades forem visitadas. Idéia: Começar da cidade origem e adicionar à rota a cidade mais próxima da última cidade adicionada. Terminar quando todas as cidades forem visitadas.

32 Heurística (Construtiva) do Vizinho mais próximo para o Problema do Caixeiro Viajante Cidade12345 1012798 2 01176 37 01213 4971208 5861380 Rota resultante: 1->3->2->5->4->1 Custo: 41

33 Heurística (Construtiva) da Inserção Mais Barata para o Problema do Caixeiro Viajante Idéia: Idéia: Começar com uma subrota envolvendo três cidades (as quais podem ser obtidas pela heurística do vizinho mais próximo) Começar com uma subrota envolvendo três cidades (as quais podem ser obtidas pela heurística do vizinho mais próximo) Adicionar a cidade k (entre as cidades i e j) que produzir a inserção mais barata s ij = c ik + c kj - c ij Adicionar a cidade k (entre as cidades i e j) que produzir a inserção mais barata s ij = c ik + c kj - c ij Terminar quando todas as cidades forem visitadas Terminar quando todas as cidades forem visitadas

34 Heurística (Construtiva) da Inserção Mais Barata para o Problema do Caixeiro Viajante Cidade12345 1012798 2 01176 37 01213 4971208 5861380 Rota resultante: 1->3->2->5->4->1 Custo: 41

35 Heurística (Construtiva) da Inserção Mais Barata para o Problema do Caixeiro Viajante Subrota: 1->3->2->5->1 Custo parcial = 32 ijks ij 1249 + 7 - 12 = 4 1349 + 9 – 7 = 11 2349 + 7 – 11 = 5 1258 + 6 – 12 = 2 1358 + 10 – 7 = 11 23510 + 6 – 11= 5

36 Heurística (Construtiva) da Inserção Mais Barata para o Problema do Caixeiro Viajante Rota final: 1->3->4->2->5->1 Custo: 37 ijks ij 1349 + 9 – 7 = 11 5149 + 8 – 8 = 9 3249 + 7 – 11 = 5 2548 + 7 – 6 = 9

37 Heurística de refinamento 2- optimal para o Problema do Caixeiro Viajante Passo 1: Iniciar com uma rota qualquer Passo 1: Iniciar com uma rota qualquer Passo 2: Para cada 2 arcos não consecutivos da rota corrente, removê-los, reconectá-los e avaliar a nova rota formada. Passo 2: Para cada 2 arcos não consecutivos da rota corrente, removê-los, reconectá-los e avaliar a nova rota formada. Passo 3: Se a melhor dessas rotas for melhor que a rota corrente, substituí-la pela nova rota e repetir o passo 2. Caso contrário, vá para o Passo 4. Passo 4: Fim, não é mais possível melhorar uma rota

38 Heurística de refinamento 2-optimal para o Problema do Caixeiro Viajante ii+1 jj+1j ii+1 C = c – d i,i+1 – d j,j+1 + d ij + d i+1,j+1 c (a) Rota original(b) Rota modificada

39 Heurística de refinamento 2-optimal para o Problema do Caixeiro Viajante ii+1 jj+1j ii+1 C = 41 – 11 – 8 + 10 + 7 = 39c=41 (a) Rota original(b) Rota modificada 1 32 54 7 11 6 8 9 7 9 7 1 32 5 4 10 6

40 Problema de Roteamento de Veículos

41 Problema de Roteamento de Veículos com frota homogênea Seja G = (V, E) um grafo não direcionado, onde V = {v 0, v 1,..., v n } é o conjunto dos vértices e E = {(v i, v j ): v i,v j V, i < j} é o conjunto de arestas. O vértice v 0 representa o depósito, sendo este a base de uma frota de veículos idênticos de capacidade Q, enquanto os vértices remanescentes correspondem às cidades ou consumidores. Cada consumidor v i tem uma demanda não negativa q i e q 0 = 0. A cada aresta (v i, v j ) está associada uma distância não negativa c ij que representa a distância entre os consumidores.

42 Problema de Roteamento de Veículos com frota homogênea O Problema de Roteamento de Veículos consiste em determinar o conjunto de rotas que deverão ser feitas pelos veículos minimizando os custos de transporte, dado pela distância e respeitando as seguintes condições: a) Cada rota começa e termina no depósito; b) Toda cidade de V \ {v 0 } é visitada somente uma vez por somente um veículo; c) A demanda total de qualquer rota não deve superar a capacidade Q de um veículo.

43 Um modelo de programação matemática para o Problema de Roteamento de Veículos com frota homogênea Sejam dados: Sejam dados: n cidades m veículos de capacidade VCAP A demanda q i de cada cidade A distância d ij entre cada par de cidade Variáveis de decisão: Variáveis de decisão:

44 Um modelo de programação matemática para o Problema de Roteamento de Veículos com frota homogênea

45 Adaptação da Heurística do Vizinho mais próximo para o Problema de Roteamento de Veículos com frota homogênea Idéia básica: Passo 1: Parte-se do depósito com um novo veículo até a cidade mais próxima Passo 2: Calcular a cidade mais próxima da última cidade inserida na rota e verificar se é possível atender sua demanda Passo 3: Se for possível atender a demanda dessa cidade, adicioná-la à rota. Caso contrário, retornar ao depósito e voltar ao Passo 1.

46 Adaptação da Heurística do Vizinho mais próximo para o Problema de Roteamento de Veículos com frota homogênea s ={0-2-1-0-5-3-4-6-7-0-8-9-10-0}

47 Heurística Construtiva de Clark & Wright para o Problema de Roteamento de Veículos com frota homogênea Idéia básica: Parte-se da pior situação possível: o veículo sai do depósito, atende um único cliente e retorna Unir as rotas de cada veículo com base no conceito de economia À medida que se reduz a distância total percorrida, o número de veículos necessários também é reduzido

48 Heurística Construtiva de Clark & Wright para o Problema de Roteamento de Veículos com frota homogênea 0 ij 0 ij Economia s ij = d i0 + d 0j - d ij (a) Rota inicial(b) Rota combinada

49 5 4 1 2 3 27 32 52 43 34 28 20 52 43 32 27 24 28 13 38 d i0 d j0 d ij S ij S ij = d i0 + d j0 - d ij

50 d i0 d j0 d ij S ij 5 4 1 2 3 27 24 28 13 38 27 28 24 13 38

51 d i0 d j0 d ij S ij 5 4 1 2 3 27 24 13 27 28 24 13 38 34

52 d i0 d j0 d ij S ij 5 4 1 2 3 27 13 28 24 13 38 34 27


Carregar ppt "ROTEIRIZAÇÃO Marcone Jamilson Freitas Souza"

Apresentações semelhantes


Anúncios Google