Transcript
Page 1: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Problemas de Roteamento de Veículos: Abordagens Eficientes Sequenciais e Paralelos

em Ambientes Heterogêneos (CPU & GPU).

Autores: Luiz Satoru Ochi (IC-UFF), Igor Machado Coelho (IME-UERJ), Puca Huachi Vaz Penna (Inf-UFF)

http://www2.ic.uff.br/~satoru/

Mini Curso – XLVII SBPO2015

1

De 25 a 28 de Agosto de 2015.

Porto de Galinhas, Pernambuco-PEXLVIISIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL

3838

Page 2: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

2

Equipe de Pesquisadores & Colaboradores deste Tema

Luiz Satoru Ochi (IC-UFF) - CoordenadorAnand Subramanian (UFPB)Christian Prins (University of Technology of Troyes - UTT)Edcarlos G. dos Santos (IC-UFF)El-Ghazali Talbi (Polytech'Lille - University of Lille)Igor Machado Coelho (IME-UERJ & IC-UFF)Lucídio Formiga Cabral (UFPB)Luidi Simoneti (COPPE-SISTEMAS/UFRJ)Marcone Jamilson Freitas Souza (UFOP)Matheus Nohra Haddad (IC-UFF & University of Vienna)Marques Moreira de Sousa (IC-UFF)Nelson Maculan (UFRJ & IFORS)Philippe Michelon (Université d'Avignon et des Pays de Vaucluse)Puca Huachi Vaz Penna (IC-UFF-Pádua/RJ & University of Troyes - UTT)Pablo L Munhoz (IC-UFF & University of Avignon)Richard Harth (University of Vienna – Austria)Thibaut Vidal (INF-PUC-Rio)Yuri Abitibol (IC-UFF)Grupo de Pesquisa Operacional da Petrobrás/RJGrupo de Pesquisa Operacional do IBGE/RJ

Métodos Eficientes para a solução de Problemas de Roteamento& Scheduling de uma Frota de Veículos

3839

Page 3: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Problemas de Roteamento de Veículos (PRV)The Vehicle Routing Problems (VRP)

3

O PRV teve sua origem associada ao trabalho desenvolvido em [Dantzig &Ramser, 1959], denominado The Truck Dispatching Problem.

Desde então, tem sido, particularmente nas últimas décadas, um dosproblemas mais abordados nas áreas de Otimização Combinatória (OC) ePesquisa Operacional (PO).

Isso se deve, em parte, ao grande desenvolvimento de métodos desolução e da enorme variedade de aplicações existentes para o PRV.

Outro aspecto que tem contribuído de forma significativa para estesucesso, é a eficiência destes métodos no sentido operacional, ou seja,muitas das técnicas desenvolvidas têm se mostrado muito eficientesquando implementadas em situações reais em diferentes empresas dasáreas de transporte.

O PRV é uma generalização do Clássico Problema do Caixeiro Viajante(PCV) e pertence a classe NP-Hard

3840

Page 4: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

4

Uma ilustração de uma solução para o PRV

Fonte: Kramer, R.H.F.R et al. 2015

3841

Page 5: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Meta-heurísticasQuais são as principais diferenças entre Heurísticas tradicionais e Meta-heurísticas?

MMeta-heurísticas ao contrário das Heurísticas tradicionais possuem ferramentas que ajudam a escapar de ótimos locais ainda distantes de um ótimo global

5

Início

Posição Alvo*X

3842

Page 6: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Mas quais são as principais diferenças entre Heurísticas tradicionais e Meta-heurísticas?Comportamento típico de uma heurística gulosa

6

X

Início

Ótimo Local

Posição Alvo*X

3843

Page 7: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Comportamento típico de uma Meta-heurística

7

X

Início

Ótimo Local

Posição Alvo*X

3844

Page 8: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Metaheurísticas mais populares atualmente

- Redes Neurais – RN (Neural Networks)- Simulated Annealing (SA)- Algoritmos Genéticos - AG(Algoritmos Evolutivos, Programação Genética, Scatter Search, etc)- Busca Tabu – BT (Tabu Search)- GRASP (Greedy Randomized Adaptive Search Procedure)- Iterated Local Search (ILS)- VNS (Variable Neighborhood Search, VND, RVND, GVNS, etc)- Ant Colony Optimization (ACO)- Guide Local Search-Hyper Heuristics- outros..

Referências: 1. Handbook of Metaheuristics: Michel Gendreau, Jeaa Yves Potvin (editors)2. Hybrid Metaheuristics: Christian Blum, M.J.Aguilera,Andrea Roli, M. Sampels(editors).

3845

Page 9: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Tendências

Na área de meta-heurísticas, atualmente existe tendência ao uso de Métodos Híbridos:

H1) Conjugando várias meta-heurísticas num mesmo algoritmo:ex:. AG/AE com população inicial gerado pela etapa de construçãoda Meta-heurística GRASP.. AG/AE, com módulo de Busca Local para um subconjunto dasmelhores soluções geradas (conjunto elite).. meta-heurísticas com Busca Local tipo VNS, VND, ou RVND.•Exemplo bem sucedido: ILS com busca local RVND.

9

3846

Page 10: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Na área de meta-heurísticas, atualmente existe tendência ao uso de Métodos Híbridos:

Outra forma de Métodos Híbridos que tem feito sucesso nos últimos anos

H2) Conjugando meta-heurísticas com Métodos Exatosde Programação Matemática: Matheuristics.Exemplos:E1. Efetuar uma busca local mais “pesada” utilizandouma formulação matemática do Problema + softwareCPLEX, XPRESS, outros.- Exemplo: “Local Branching” (LB): Proposto porFischetti e Lodi em 2002.

10

3847

Page 11: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Alguns exemplos bem sucedidos: Conjugando meta-heurísticas com Métodos Exatos de Programação Matemática

1.“A hybrid algorithm for a class of vehicle routing problems”. Anand Subramanian, Eduardo Uchoa, andLuiz Satoru Ochi. Computers & Operations Research, Volume 40, pp. 2519-2533, (2013).2.“Large Neighborhoods with implicit customer selection for Prize-Collecting Vehicle Routing Problemand Team-Orienteering Problems”. Autores: Thibaut Vidal (MIT), Puca H Vaz Penna(UFF), NelsonMaculan(IFORS), and Luiz Satoru Ochi(UFF). Proc. of the XLV SBPO (Artigo selecionado entre os 5melhores papers do SBPO 2013).3.“GRASP with Path Relinking for the Symmetric Euclidean Clustered Traveling Salesman Problem”.Autores: Mário Mestria, Luiz Satoru Ochi, and Simone Lima Martins. In Computers & OperationsResearch (COR) – ELSEVIER, 40, pp. 3218-3229 (2013).4.“A Hybrid Algorithm for the Heterogeneous Fleet Vehicle Routing Problem" (2012). Autores: PucaHuachi Vaz Penna, Anand Subramanian, Eduardo Uchoa, and Luiz Satoru Ochi. European Journal ofOperational Research - EJOR – ELSEVIER, Volume 221, pp: 285-295, (2012).5."An Iterated Local Search heuristic for the Heterogeneous Fleet Vehicle Routing Problem". Autores:Puca H V Penna, Luiz Satoru Ochi, and Anand Subramanian. Journal of Heuristics, Volume 19(2), pp.201-232, 20136.“An Iterated Local Search heuristic for the Split Delivery Vehicle Routing Problem”. Autores: MarcosMelo Silva, and Luiz Satoru Ochi. Computers & Operations Research (COR), 2015.7.“Large Neighborhoods with Implicit Customer Selection for Vehicle Routing Problems with Profits”.Autores: Thibaut Vidal; Nelson Maculan; Luiz Satoru Ochi; and Puca H. V. Penna. TransportationScience, pp. 234-249, 2015.8. "A New Hybrid Heuristic for Replica Placement and Request Distribution in Content DistributionNetworks“., Autores: Neves,Tiago A , Ochi, Luiz Satoru., Albuquerque, Celio. (2015) . Optimization Letters -Springer,volume 9(4), pp. 677-692, 2015 11

3848

Page 12: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

H3) meta-heurísticas Híbridas Paralelas CPU & GPU

•Algoritmos paralelos utilizando placas gráficas e linguagem CUDAtem trazido contribuições interessantes na área de PesquisaOperacional.Exemplos:•“A hybrid CPU-GPU local search heuristic for the unrelated parallel machine schedulingproblem”. Autores: Igor Coelho Machado, Matheus Haddad, Luiz Satoru Ochi, Marcone J FSouza, Ricardo Farias. Proceedings of the WAMCA2012, 3rd Workshop on Applications forMulti-core Architectures – Held in conjunction with the 24th International Symposium onComputer Architecture (WAMCA-SBAC-PAD2012), IEEE Press, October 2012, NY.

•“An Integrated CPU-GPU Heuristic Inspired on Variable Neighborhood Search for theSingle Vehicle Routing Problem with Deliveries and Selective Pickups”. Autores: Igor CoelhoMachado , Luiz Satoru Ochi, Marcone J F Souza, Ricardo Farias, Cristiana Bentes. Aceito noInternational Journal of Production Research – IJPR, 2015.

• Teses de Doutorado do IC-UFF de: Igor Machado Coelho (2015), e de Eyder Rios (2015-em andamento)

12

3849

Page 13: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Similaridades do Problema de Roteamento de Veículos com outros Problemas Clássicos da Literatura de Computação:

- Problema de Clusterização em uma Base de Dados (Data Mining).

- Problema de Escalonamento de Tarefas em Múltiplos Processadores.

- Problemas de Roteamento em outros tipos de Redes: Redes de Computadores; ou mais genericamente: Redes de Comunicação de Dados.

13

3850

Page 14: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

14

� Problemas de Roteamento pode ser visto como umProblema de primeiro Clusterizar (Agrupar) objetos de umconjunto e numa segunda etapa, resolver um Problemade Sequenciamento de Tarefas de cada Cluster:

�Clusterização pode ser entendida como um processo departicionar uma base de dados (objetos, elementos) emgrupos (clusters) disjuntos de forma que objetos similaresfiquem num mesmo cluster.

� Clusterização tem sido muito estudado por matemáticose estatísticos há dezenas de anos. Mais recentemente esteproblema passou a ser explorado também na área decomputação como um problema de mineração de dados(Data Mining).

3851

Page 15: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

15

lQuando o número k de clusters é definido como parâmetro de entrada: Problemade Clusterização - PC;

Exemplos:N(10, 2) = 511; N(100, 2) = 6,33825 � 1029

N(100, 5) = 6,57384 � 1067 N(1000, 2) = 5,3575 � 10300

Quando valor K não é conhecido préviamente, temos o Problema de Clusterização

Automática (PCA)- Mais DIFÍCIL!!!!!

� � � ���

���

���

��

k

i

ni ikik

kknN

0)1(

!1,

� � � ����

���

���

��

k

i

ni

kik

ik

kknN0

)1()!/1(,

3852

Page 16: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

16

Aplicações do PCA desenvolvidas no LabIC/IC-UFFLaboratório de Inteligência Computacional do IC-UFF

• PProjeto de Formação de Células num Sistema de manufatura

M1 M2 M3 M4P1 1 1P2 1 1 1P3 1 1P4 1 1P5 1 1P6 1 1 1

M2 M3 M1 M4P1 1 1P3 1 1P6 1 1 1P2 1 1 1P4 1 1P5 1 1

3853

Page 17: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

17

Aplicações do PCA desenvolvidas no LabIC/IC-UFF: Laboratório de Inteligência Computacional do IC-UFF

-Problema de Escalonamento de Tarefas em Múltiplos Processadores:

Clusterização + Sequenciamento.

Figura : Possível escalonamento para a aplicação da Figura 1(a), utilizando o modelo LogP

P0

v1

Sobrecarga de envio (v0 � v1)

v3

P2

Sobrecarga de recebimento (v0 � v1)

v0

v2

P1

gap

3854

Page 18: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

18

Instância 2000p11c

Resultado para o AEC Resultado para o CLUSTERING

3855

Page 19: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

19

Instância 2face

Resultado para o AEC Resultado para o CLUSTERING

3856

Page 20: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

20

Resultado para o AECResultado para o CLUSTERING

3857

Page 21: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Alguns Modelos de Problemas de Roteamento de Veículos abordados pelo nosso grupo de pesquisa do : LabIC: Laboratório de Inteligência Computacional do

IC-UFF :

21

P1. Problemas de Roteamento de Veículos com Entregas e Coletas OpcionaisP2. Problemas de Roteamento de Veículos com Entregas Fracionárias.P3. Problemas de Roteamento de Veículos com Múltiplos Depósitos.P4. Problemas de Roteamento de Veículos com Coleta e Entrega Simultânea.P5. Problemas de Roteamento de Veículos com Frota Heterogênea.P6. Problemas de Roteamento de Veículos Periódico.P7. Problemas de Roteamento de Veículos com Time-Windows.P8. Problemas Integrados de Planejamento de Produção, Estoque e Roteamento .. de Veículos (The Inventory Vehicle Routing Problem)P9. Algoritmos Paralelos para diferentes modelos de VRP....P10. Algoritmos Paralelos usando CPU & GPU (Cuda) para VRP e variantes..P11. Outros modelos de PRV...

3858

Page 22: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Uma Meta-heurística Híbrida Baseada no Iterated Local Search (ILS) e Variable Neighborhood Search (VNS) para a solução de Problemas de Roteamento de Veículos com Entregas Fracionadas

XLVII SBPO2015

22

3859

Page 23: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

23

3860

Page 24: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

24

3861

Page 25: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

25

3862

Page 26: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

26

3863

Page 27: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

.

27

3864

Page 28: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Início: Como vamos representar uma solução do PRVEF?

28

3865

Page 29: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Na Meta-heurística ILS, temos que construir uma solução inicial válida para o problema...

29

3866

Page 30: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Passo a passo de como construir uma solução inicial para este problema

30

3867

Page 31: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Passo a passo de como construir uma solução inicial para este problema

31

3868

Page 32: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Passo a passo de como construir uma solução inicial para este problema

32

3869

Page 33: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Passo a passo de como construir uma solução inicial para este problema

33

3870

Page 34: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Passo a passo de como construir uma solução inicial para este problema

34

3871

Page 35: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Além disso, é possível usar alguns módulos mais sofisticados para melhorar a qualidade de uma solução,

mas isso vamos deixar de lado agora, quem tiver interesse em como isso é feito, entre em contato conosco.

35

3872

Page 36: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Estes procedimentos adicionais, podem por exemplo, obter nova solução usando menos

veículos, economia!!!

36

3873

Page 37: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Agora vamos para um módulo FUNDAMENTAL de uma Meta-heurística: A fase de Refinamento de

uma solução (Busca Local)

37

3874

Page 38: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Para tentar melhorar uma solução inicial, vamos usaruma variante de uma Meta-heurística conhecido comoVNS (Variable Neighborhood Search)

38

3875

Page 39: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Na Fase de Busca Local (Refinamento) em Problemas deRoteamento de Veículos (PRV), costumamos usar com sucesso,vizinhanças clássicas baseadas em conceitos de permutar 2clientes de 2 rotas; tirar um cliente de uma rota e colocar noutrarota; mudar a posição de um cliente numa rota, etc.

39

3876

Page 40: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

.

40

3877

Page 41: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

41

3878

Page 42: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

42

3879

Page 43: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

43

3880

Page 44: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

44

3881

Page 45: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

45

3882

Page 46: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

46

3883

Page 47: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

47

3884

Page 48: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

48

3885

Page 49: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

49

3886

Page 50: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

50

3887

Page 51: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

51

3888

Page 52: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

52

3889

Page 53: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

53

3890

Page 54: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

54

3891

Page 55: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

55

ETAPA DE PERTURBAÇÃO NA Meta-heurística ILS

3892

Page 56: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

56

3893

Page 57: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

57

3894

Page 58: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

58

3895

Page 59: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

59

3896

Page 60: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

60

3897

Page 61: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

61

3898

Page 62: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

62

3899

Page 63: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

63

3900

Page 64: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

64

3901

Page 65: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

65

3902

Page 66: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

66

3903

Page 67: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

67

3904

Page 68: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

68

3905

Page 69: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

69

3906

Page 70: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

70

3907

Page 71: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

71

3908

Page 72: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

72

3909

Page 73: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

73

Problemas de Roteamento de Veículos com Entregas Fracionadas

3910

Page 74: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

74

Parque da Cidade – Niterói/RJ

3911

Page 75: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

75

Vista da trilha do Costão de Itacoatiara – Niterói/RJ

3912

Page 76: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Quem tiver interesse neste ou em outros problemas de Otimização Combinatória e/ou queira fazer uma Pós-Graduação (Mestrado ou Doutorado ou um Pós-Doutorado) na UFF (Niterói/RJ)

Contatos:Luiz Satoru Ochihttp://www2.ic.uff.br/~satoru/e-mail: [email protected], ou, [email protected]

Obrigado!!76

3913

Page 77: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Uma Heurística Híbrida Unificada para PRVs

77

Meta-heurísticas híbridas:Iterared Local Search (ILS) e Set Partitioning

(SP)

3914

Page 78: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Métodos de Resolução

•Abordagens Exatas–Soluções ótimas.–Baseados em programação matemática, enumeração, etc.–Utilizados em problemas de pequena dimensão.

•Abordagens Heurísticas/Meta-heurísticas–Soluções aproximadas, não há garantia da solução ótima. –Podem resolver problemas grandes em um tempo relativamente curto.

•Abordagens Híbridas (Matheuristics)–Combinam características das heurísticas e dos métodos exatos.

78

3915

Page 79: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurísticas Híbridas

•Heurísticas + Heurísticas–Unified Hybrid Genetic Search (UHGS)

•Apresenta um Algorítmo Genético Híbdrido com uma busca local•Resolve 29 variantes do PRV

79

A unified solution framework for multi-attribute vehicle routingproblems. Thibaut Vidal, Teodor Gabriel Crainic, Michel Gendreau, Christian Prins. European Journal of OperationalResearch, v. 234, p. 658-673, 2014

3916

Page 80: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurísticas Híbridas

•Heurísticas + Métodos Exatos–Iterated Local Search + Set Partitioning

•Heurística multi-start ILS com Randomized VND•Solver de PIM para resolver o Set Partitioning•Resolve 25 variantes do PRV

80

3917

Page 81: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurísticas Híbridas

•ILS-RVND-SP–Um Algoritmo Unificado para uma Classe de Problemas de Roteamento de Veículos com Frota Heterogênea. Puca Huachi Vaz Penna. Tese de Doutorado. Universidade Federal Fluminense, Niterói –RJ, 2013.–Heuristic, Exact and Hybrid Approaches for Vehicle Routing Problems. Tese de Doutorado, Universidade Federal Fluminense, Niterói – RJ, 2012. –A Hybrid Algorithm for the Heterogeneous Fleet Vehicle RoutingProblem. Anand Subramanian, Puca Huachi Vaz Penna, Eduardo Uchoa and Luiz Satoru Ochi. European Journal of Operational Research - EJOR, v. 221, p. 285-295, 2012–A hybrid algorithm for a class of vehicle routing problems. AnandSubramanian, Eduardo Uchoa, Luiz Satoru Ochi. Computers & OperationsResearch, v. 40, p. 2519-2531, 2013

81

3918

Page 82: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

PRVFH: Motivação

•Aplicações reais envolvendo roteamento possuem, normalmente, uma enorme quantidade de características e restrições:

–Estrutura: composição da frota e número de depósitos.–Requisitos dos clientes: visitas dentro de um horário ou múltiplas visitas.–Regras de operações dos veículos: restrições de carga ou vias, distância máxima, etc.–Decisões de contexto: tráfego.

85

3919

Page 83: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

PRV com Frota Heterogênea: PRVFH

87

3920

Page 84: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Descrição do PRVFH

•Características comuns dos PRVFHs–único depósito. –m diferentes tipos de veículos. –n clientes (1, 2, ..., n). –qi, demanda determinística do cliente i. –Qu, capacidade do veículo u (u = 1, ..., m). –fu, custo fixo do veículo u.–ru, custo variável (dependente) por unidade de distância, do veículo u. –cij

u, matriz de custo: ciju = dijru sendo dij a distância

entre os clientes (i, j).88

3921

Page 85: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Descrição do PRVDFH

•Duas variantes principais–PRV com Dimensionamento de Frota Heterogênea (PRVDFH) –PRV com Frota Heterogênea Fixa (PRVFHF)

89

3922

Page 86: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Características do PRVDFH

•PRVDFH–Frota ilimitada: mu = +∞, u M.

•Variantes tratadas–PRVDFH com custo fixo e variável (PRVDFH-FV)

•fu > 0; ru > 0, u M.–PRVDFH com custo fixo (PRVDFH-F)

•fu > 0; ru = 1, u M.–PRVDFH com custo variável (PRVDFH-V)

•fu = 0; ru > 0, u M.

90

3923

Page 87: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Trabalhos para o PRVDFH

91

3924

Page 88: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Características do PRVFHF

•PRVFHF–Frota Limitada.

•Variantes tratadas–PRVDFH com custo fixo e variável (PRVFHF-FV) –fu > 0; ru > 0, u M.

•PRVDFH com custo variável (PRVFHF-V) –fu = 0; ru > 0, u M.

92

3925

Page 89: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Trabalhos para PRVFHF

93

3926

Page 90: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurística Híbrida

•Faz uso do HURVFH.•Implementa um mecanismo de memória por meio de um método exato baseado no Set Partitioning - SP (Problema de Particionamento de Conjuntos).•O SP é tratado por um resolvedor de Programação Inteira Mista (PIM). •É uma extensão do algoritmo de nossa autoria descrito em [Subramanian et al., 2012].

94

3927

Page 91: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurística Híbrida

•Utiliza o HURVFH para criar um conjunto de rotas de boa qualidade, que em seguida é utilizado pelo SP na construção da solução do problema. O HURVFH é executado interativamente sempre que uma nova solução é encontrada durante a resolução do SP.

95

3928

Page 92: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Implementando Memória com o SP

•Conjuntos: –V’ o conjunto de clientes–M o conjunto de tipos de veículos–R o conjunto de todas as possíveis rotas para todos os tipos de veículos–Ri R o subconjunto de rotas que atende o cliente i V’–Ru R o conjunto de rotas associadas ao veículo do tipo u M

•Dados: –cj como o custo associado a rota j–mu número de veículos do tipo u

•Variáveis:–yj variável binária associada à rota j R, onde yj = 1 se a rota j estiver na solução

96

3929

Page 93: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Formulação do SP

97

(1)

(2)

(3)

(4)

3930

Page 94: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurística Híbrida Unificada

98

3931

Page 95: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurística Híbrida Unificada

99

3932

Page 96: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurística Híbrida Unificada

100

3933

Page 97: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurística Híbrida Unificada

101

3934

Page 98: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Heurística Híbrida Unificada

102

3935

Page 99: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Resultados para o PRVFH•O algoritmo HHURVFH foi desenvolvido em C++ usando o compilador g++ 4.6.3.

•O Cplex 12.5.1 foi utilizado como resolvedor PIM.–Os testes foram executados em um computador Intel Core i7 2,93 GHz com 8 GB de RAM.–Sistema operacional Ubuntu Linux 12.04 (kernel 3.5 – 64 bits).–Em todas as variantes, cada instância foi testada 10 vezes.–MaxIterMS = 30, MaxTempo = 30 segundos, Tolerancia = 25%.

•Esta versão do ILS-RVND-SP (denominada HHURVRP) foi testado em 17 variantes, sendo 18 conjuntos de problemas-teste

–Total de 688 problemas–Resultados para PRVDFH e PRVFHF

103

3936

Page 100: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

104

3937

Page 101: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Conclusões

•Foi apresentado uma heurística hibrida•Incorpora um mecanismo de memória por meio de Set Partitioning•O ILS é utilizado para gerar as rotas para o SP•O SP é resolvido iterativamente pelo cplex e sempre que uma nova solução é encontrado o ILS é executado•Resolve mais de 27 variantes do PRV

105

3938

Page 102: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Acelerando algoritmos de otimização com GPUs

•Breve história das Graphics Processing Units(GPUs)•Arquiteturas heterogêneas em CPU/GPU•Programação paralela em CUDA•Problema de roteamento de veículos e scheduling em CPU/GPU

106

3939

Page 103: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Computadores Modernos

•Por mais de duas décadas, computadores baseadosem uma unidade central de processamento (CPU)impulsionaram o desenvolvimento de aplicações•Processadores das famílias Intel Pentium e AMDOpteron trouxeram a usuários comuns giga (bilhões) deoperações com ponto flutuante por segundo (GFLOPS)e centenas de GFLOPS a servidores especializados•Usuários ficam acostumados com os novos recursos efuncionalidades com interfaces gráficas mais bonitas•Ciclo benéfico para usuários e indústria decomputadores.

107

3940

Page 104: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

História dos Computadores

108ENIAC (1946)

Licença Creative Commons3941

Page 105: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

História dos Computadores

109

Válvulas ENIACLicença Creative Commons

3942

Page 106: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

História dos Computadores

110Transistor (1947) – Bell Labs

Licença Creative Commons3943

Page 107: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

História dos Computadores

111

Cada vez menores…Licença Creative Commons

3944

Page 108: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

História dos Computadores

112

Milhares em um único chipLicença Creative Commons

3945

Page 109: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Computadores Modernos•Em 1965, o então presidente da Intel Gordon G.Moore fez uma previsão (que acabou ficandoconhecida como Lei de Moore) de que a cada 18 meseso número de transistores dos chips dobraria detamanho•Porém, em 2003 a evolução do desenvolvimento deprocessadores com uma única CPU foi dificultada porproblemas de alto consumo de energia e dissipação decalor•Processadores migraram para modelos baseados emcores, causando grande impacto na comunidade dedesenvolvimento de software

113

3946

Page 110: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Computadores Paralelos

•A partir de 2003, a linha multicore ganhou força comprocessadores que priorizam manter a velocidade daexecução sequencial dos programas, mas fornecendomúltiplos cores•Processadores Intel Core i5, i7, ... e AMD Phenom•A linha many-core investe fortemente no desempenhode execução de aplicações paralelas•Exemplo: NVIDIA Titan X, Unidade de ProcessamentoGráfico (GPU) com 3072 cores

114

3947

Page 111: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Computadores Paralelos

115

Placa com GPU fabricada pela AMDLicença Creative Commons

3948

Page 112: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Motivação: computação GPU

116

Evolução do poder computacionalAutor: Felipe A. Cruz – Bristol University

3949

Page 113: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Motivação: computação GPU

•Massivamente paralela•Centenas de cores de processamento•Milhares de threads•Baixo custo•Altamente disponível•Facilmente programável

117

3950

Page 114: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Contraste de arquiteturas

118

Fonte: Kirk & Hwu. Programming MassivelyParallel Processors.

3951

Page 115: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Motivação: computação GPU

•GPU's são mais adequadas para lidar com grandesporções de informação•Transferência de memória mais rápida do quecomputação distribuída•Hierarquia de memória sofisticada com memóriaconstante, compartilhada, de textura e acesso global•Relação de custo benefício atrativa•Programação simplificada, porém não-trivial quandoexistem muitas dependências na informação tratada•Possível alto ganho de aceleração no código: speedup

119

3952

Page 116: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

É possível ter 300x de speedup?

120Lei de Amdahl: speedup máximo

Autor: Felipe A. Cruz – Bristol University3953

Page 117: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Lei de Amdahl

•É possível conseguir aceleração de 100x em algumas aplicações

•Esta aceleração depende da parte não-paralela

•Aplicações complexas normalmente fazem uso de muitosalgoritmos

•Para maiores ganhos, é necessária a re-estruturação da formacomo as computações são feitas

•Significado da Lei de Amdahl: um programa acelerado poderáser tão rápido quanto a sua porção sequencial.

121

3954

Page 118: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Compute Unified Device Architecture (CUDA)

•Linguagem desenvolvida pela NVIDIA (a partir de 2006)

•Extensão de C/C++

•Fácil de programar e especializada ao hardware

•Mais madura que sua concorrente OpenCL (padrão industrialpara arquiteturas heterogêneas)

•OpenCL é bastante complexa e ainda menos madura, quandocomparada a CUDA

122

3955

Page 119: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

CUDA – Grids e Blocos

123

3956

Page 120: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

CUDA – Adição de Vetores

124

Tempo

Alocar Memória

CópiaHost → GPU

Chamada deKernel

CópiaGPU → Host

Liberar memória

3957

Page 121: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

CUDA – Adição de Vetores

125

Tempo

Alocar Memória

CópiaHost → GPU

Chamada deKernel

CópiaGPU → Host

Liberar memória

3958

Page 122: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

CUDA – Multiplicação de Matrizes

126Cada célula recebe um produto linha x coluna

Autor: Felipe A. Cruz – Bristol University3959

Page 123: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

127

3960

Page 124: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

GPU para Roteamento deVeículos e Scheduling

128

3961

Page 125: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

GPU para Roteamento deVeículos e Scheduling

•Como desenvolver um algoritmo eficiente utilizando tecnologiaGPU?

•Evitar transferências de memória desnecessárias entre CPU eGPU

•Acelerar grandes porções do algoritmo (Lei de Amdahl)

•Paralelizar tarefas semelhantes (paralelismo de dados)

129

3962

Page 126: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

GPU para Roteamento deVeículos e Scheduling

•Como desenvolver um algoritmo eficiente utilizandotecnologia GPU?

•Evitar transferências de memória desnecessárias entreCPU e GPU

•Acelerar grandes porções do algoritmo (Lei deAmdahl)

•Paralelizar tarefas semelhantes (paralelismo de dados)

•BUSCA LOCAL! 130

3963

Page 127: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Problema de Scheduling com Máquinas Paralelas

•Conjunto de N tarefas•Conjunto de M máquinas•Atribuir cada tarefa a exatamente uma máquina•Cada tarefa tem um tempo de processamento dependente damáquina•Diferentes tempos de setup entre tarefas, dependentes damáquina•Tempo de setup inicial, por máquina•Minimizar o tempo máximo de processamento

131

3964

Page 128: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Busca local inter-máquina

132

I.M.Coelho, M.N.Haddad, L.S.Ochi, M.J.Souza, R.Farias, A hybrid CPU-GPU local search heuristicfor the unrelated parallel machine scheduling problem, 3rd Workshop on Applications Multi-

Core Architecture (WAMCA), Nova York, 20123965

Page 129: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Busca local inter-máquina

133

I.M.Coelho, M.N.Haddad, L.S.Ochi, M.J.Souza, R.Farias, A hybrid CPU-GPU local search heuristicfor the unrelated parallel machine scheduling problem, 3rd Workshop on Applications Multi-

Core Architecture (WAMCA), Nova York, 20123966

Page 130: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

134

3967

Page 131: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Problema de Roteamento de Veículos com Entregas Obrigatórias e Coletas Seletivas

•Veículo de capacidade limitada

•Clientes de entrega obrigatória

•Clientes de coleta com benefício associado

•Matriz de distâncias

•Objetivo: minimizar a distância total percorrida, menos o totalem benefícios adquiridos

•Aplicações: correios, reciclagem de garrafas de bebidas, etc.

135

3968

Page 132: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Problema de Roteamento de Veículos com Entregas Obrigatórias e Coletas Seletivas

136

3969

Page 133: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Estruturas de Vizinhança: OrOpt-1

137

I.M.Coelho, L.S.Ochi, P.L.A.Munhoz M.J.F.Souza, R.Farias, C.Bentes, The Single Vehicle RoutingProblem with Deliveries and Selective Pickups in a CPU-GPU Heterogeneous Environment, 9th

IEEE HPCC, Liverpool, 2012

S : [−3, −6, −2, +5, −1, +3, −4, +4] → S' : [−3, −2, +5, −6, −1, +3, −4, +4]

3970

Page 134: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Estruturas de Vizinhança: Swap

138

I.M.Coelho, L.S.Ochi, P.L.A.Munhoz M.J.F.Souza, R.Farias, C.Bentes, The Single Vehicle RoutingProblem with Deliveries and Selective Pickups in a CPU-GPU Heterogeneous Environment, 9th

IEEE HPCC, Liverpool, 2012

S : [−3, −2, +5, −6, +4, +3, −4, −1] → S 0 : [−3, −2, +5, −6, −1, +3, −4, +4]

3971

Page 135: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Buscas Locais em GPU

139

I.M.Coelho, L.S.Ochi, P.L.A.Munhoz M.J.F.Souza, R.Farias, C.Bentes, The Single Vehicle RoutingProblem with Deliveries and Selective Pickups in a CPU-GPU Heterogeneous Environment, 9th

IEEE HPCC, Liverpool, 20123972

Page 136: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Estruturas de Vizinhança: 2-Opt

140

I.M.Coelho, P.L.A.Munhoz, L.S.Ochi, M.J.F.Souza, C.Bentes, R.Farias, An integrated CPU–GPU heuristic inspired on variable neighbourhood search for the single vehicle routing problem with

deliveries and selective pickups, International Journal of Production Research, 2015

S : [−3, −2, +5, −6, −1, +4, −4, +3] → S' : [−3, −2, +5, −6, −1, +3, −4, +4]

3973

Page 137: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Buscas Locais em GPU

141

I.M.Coelho, P.L.A.Munhoz, L.S.Ochi, M.J.F.Souza, C.Bentes, R.Farias, An integrated CPU–GPU heuristic inspired on variable neighbourhood search for the single vehicle routing problem with

deliveries and selective pickups, International Journal of Production Research, 2015

3974

Page 138: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Algoritmo VNS integrado CPU-GPU

•Baixa transferência de dados entre CPU/GPU

•Solução inicial híbrida gerada na CPU via programaçãomatemática

•Cópia da solução para a GPU

•Pertubar solução diretamente na GPU

•Efetuar busca local na GPU e retorna vetor com custo de cadamovimento

•CPU escolhe melhor movimento e atualiza solução da GPU142

3975

Page 139: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Algoritmo VNS integrado CPU-GPU•Aceleração máxima na busca Swap: 76x.•Aceleração geral de 0,93x a 14x.

•Desafio: trabalhar com grandes porções de informação

•Utilizar tipo de memória correto (global, shared, const, texture)

•Número limitado de registradores

•Evitar divergência

143

3976

Page 140: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Divergência

144

3977

Page 141: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Divergência

145

3978

Page 142: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Conclusões

•CUDA é uma linguagem relativamente fácil dese utilizar (extensão de C/C++)

•Maior esforço na escolha do tipo correto dememória e boa alocação de registradores

•Estudo das opções para lançamento de kernel•Altos ganhos de velocidade

•Muito interessante aprender e explorar umanova arquitetura de computadores!

146

3979

Page 143: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

Quem tiver interesse neste ou em outros problemas de Otimização Combinatória e/ou queira fazer uma Pós-Graduação (Mestrado ou Doutorado ou um Pós-Doutorado) no IC-UFF (Niterói/RJ)

Contatos:Luiz Satoru Ochi, Igor Machado Coelho, Puca H. V. Penna http://www2.ic.uff.br/~satoru/

e-mail: [email protected], ou, [email protected] Machado <[email protected]>, ou <[email protected]> Puca Huachi V. Penna [email protected], ou <[email protected]>

Obrigado!!

3980

Page 144: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

148

Parque da Cidade – Niterói/RJ

3981

Page 145: Mini Curso – XLVII SBPO 2015 - UEM · M1 M2 M3 M4 P1 1 1 P2 1 1 1 P3 1 1 P4 1 1 P5 1 1 P6 1 1 1 M2 M3 M1 M4 P1 1 1 P3 1 1 P6 1 1 1 P2 1 1 1 P4 1 1 P5 1 1 3853. 17 Aplicações do

149

Vista da trilha do Costão de Itacoatiara – Niterói/RJ

3982


Recommended