otimização: algumas aplicações · # 1 ª divisão do campeonato brasileiro de futebol 2004,...

30
Otimização: Algumas aplicações Marcone Jamilson Freitas Souza Departamento de Computação Programa de Pós-Graduação em Ciência da Computação Universidade Federal de Ouro Preto http://www.decom.ufop.br/prof/marcone

Upload: others

Post on 27-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Otimização: Algumas aplicações

Marcone Jamilson Freitas Souza

Departamento de Computação Programa de Pós-Graduação em Ciência da Computação

Universidade Federal de Ouro Preto http://www.decom.ufop.br/prof/marcone

Page 2: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Otimização l  Área da Pesquisa Operacional que utiliza o método científico

para apoiar a tomada de decisões, procurando determinar como melhor projetar e operar um sistema, usualmente sob condições que requerem a alocação de recursos escassos.

l  Aplicações:

l  Escala de pessoal l  Roteirização l  Programação de jogos de competições

esportivas l  Sequenciamento da produção

Page 3: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Problema de Roteamento de Veículos (Vehicle Routing Problem)

3

4

5

2

6

7

9

11

(9)

(12) (13)

(4) (10)

[50]

(10)

(7)

(10)

(5)

(10)

(3)

(10)

(10)

(10)

(10)

13

15 14

8

10

12

16

Page 4: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Problema de Roteamento de Veículos (Vehicle Routing Problem)

3

4

5

2

6

7

9

11

(9)

(12) (13)

(4) (10)

[50]

(10)

(7)

(10)

(5)

(10)

(3)

(10)

(10)

(10)

(10)

13

15 14

8

10

12

16

Dentre todas as possíveis roteirizações,

determine aquela que minimiza a

distância total percorrida

Page 5: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Escala de tripulações (Crew Scheduling)

Page 6: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Escala de tripulações (Crew Scheduling)

1

2

3

Page 7: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Escala de tripulações (Crew Scheduling)

1

2

3

Page 8: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Escala de tripulações (Crew Scheduling)

1

2

3

Page 9: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Escala de tripulações (Crew Scheduling)

1

2

3

Page 10: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Escala de tripulações (Crew Scheduling)

1

2

3

Page 11: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Escala de tripulações (Crew Scheduling)

1

2

3

Redução de um tripulante!

Page 12: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

INTRODUÇÃO

ü  Montar uma tabela de jogos entre os times participantes de uma competição esportiva ü  Satisfazer as restrições da competição ü  Minimizar os custos relativos ao deslocamento dos times

Programação de jogos de competições esportivas (Sports timetabling)

Page 13: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Vitória x Atlético | Grêmio x Atlético | Atlético x Santos

Distância total percorrida: 6760 Km

Atlético x Vitória | Grêmio x Atlético | Atlético x Santos

Distância total percorrida: 5382 Km

Economia = 1378 Km

(1) (2)

INTRODUÇÃO

Programação de jogos de competições esportivas (Sports timetabling)

Santos

Grêmio

Atlético

Vitória

1372Km

3090Km 1712Km

586Km

1

23 3

Grêmio

Santos

Atlético

Vitória 1

2

3 3

1712Km

1712Km

1372Km

586Km

Page 14: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

JUSTIFICATIVA DO TRABALHO

§  Gastos com deslocamento §  Influência no desempenho dos times §  Enquadra-se na classe de problemas combinatórios (NP-difíceis) §  Número de tabelas possíveis para uma competição envolvendo n times confrontando-se entre si em turnos completos (Concílio & Zuben (2002)):

§  Competição com 20 participantes: 2,9062x10130 tabelas possíveis (aprox. 10114 anos para analisar todas as tabelas em um computador que analisa uma tabela em 10-8 segundos)

2)1(

2))!1()!...(5()!3()!1(nn

nnnnn×−

×−−−−−

Programação de jogos de competições esportivas (Sports timetabling)

Page 15: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

PROBLEMA ABORDADO: CAMPEONATO BRASILEIRO DE FUTEBOL

§  1ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 §  2ª Divisão do Campeonato Brasileiro de Futebol 2006 §  Restrições do problema: 1.  Competição realizada em dois turnos completos e espelhados: Dois times jogam

entre si duas vezes, uma no turno e a outra no returno, alternando-se o mando de campo entre os mesmos

2.  Um time não pode jogar mais que duas vezes consecutivas dentro ou fora de casa 3.  A diferença entre os jogos feitos em cada turno em casa e fora de casa de um time

não pode ser maior que uma unidade 4.  Nas duas primeiras rodadas de cada turno, cada time alternará seus jogos, sendo

um em casa e o outro na casa do adversário. Por ex.: 1ª fora, 2ª em casa 5.  As duas últimas rodadas de cada turno devem ter a configuração inversa das duas

primeiras rodadas de cada turno com relação ao mando de campo. Ex.: Penúltima em casa, Última fora

6.  Não pode haver jogos entre times do mesmo estado na última rodada

Programação de jogos de competições esportivas (Sports timetabling)

Page 16: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

RESULTADOS COMPUTACIONAIS

Economia possível: ü  Considerando o custo do quilômetro aéreo a R$0,70 ü  Delegação de 20 pessoas ü  Campeonatos 2004 e 2005, Série A: Aprox. R$ 2 milhões ü  Campeonato 2006, Série A: Aprox. R$ 1 milhão ü  Campeonato 2006, Série B: Aprox. R$ 500 mil

Programação de jogos de competições esportivas (Sports timetabling)

DIST DIF DIST DIF DIST DIF %MDIST %MDIFbssp2004 905316 86610 789480 53309 754935 51199 16,61 40,89bssp2005 838464 70655 - - 696800 46821 16,90 33,73

bssp2006-A 658195 50769 - - 562886 37628 14,48 25,88bssp2006-B 998675 61454 - - 967374 23848 3,13 61,19

InstânciasCBF Biajoli et al . (2004) ILS-MRD

Page 17: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Localização de concentradores

l  Um conjunto de seções eleitorais (escolas) l  Cada seção pode sediar um concentrador

(terminal de transmissão de dados das seções eleitorais)

l  Um número limitado de concentradores (menor que o de seções eleitorais)

l  Problema de decisão: onde localizar os concentradores de forma a minimizar a distância total percorrida?

Page 18: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Localização de concentradores

Page 19: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Localização de concentradores

Page 20: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Localização de concentradores

Page 21: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Modelos de Otimização l  Programação matemática:

l  Fundamentados na matemática l  Métodos exatos: garantem a geração da solução ótima l  Método mais difundido: Programação Linear (PL) l  Desvantagens:

l  Modelagem mais complexa l  Em problemas combinatórios, podem exigir um tempo proibitivo para encontrar a solução

ótima l  Heurísticos:

l  Fundamentados na Inteligência Artificial l  Métodos de solução inspirados:

l  na forma humana de resolver o problema l  em fenômenos físicos: Simulated Annealing l  na evolução dos seres vivos: Algoritmos Genéticos l  no comportamento social dos pássaros: Particle Swarm Optimization (PSO)

l  Métodos aproximados: Não garantem a otimalidade da solução final l  Vantagens:

l  De fácil modelagem l  Boas soluções podem ser obtidas rapidamente

Page 22: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Paradigmas dos algoritmos heurísticos de otimização

l  Algoritmos genéticos: l  Os seres vivos evoluem, se adaptam ao ambiente

e herdam características genéticas de seus pais l  Otimização por nuvem de partículas (Particle

Swarm Optimization): l  Um bando de pássaros, ao procurar um alvo, leva

em consideração a experiência de cada indivíduo, bem como a experiência do bando

l  Colônia de Formigas (Ant Colonies): l  Comunicação por meio de feromônio

Page 23: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Algoritmos Genéticos

l  Fundamentam-se em uma analogia com processos naturais de evolução

l  Em uma população, os indivíduos com características genéticas melhores têm maiores chances de sobrevivência e de gerarem filhos cada vez mais aptos

l  Indivíduos menos aptos tendem a desaparecer

Page 24: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Algoritmos Genéticos

l  As características dos indivíduos, registradas em seus genes, são transmitidas aos seus descendentes e tendem a se propagar por novas gerações

Page 25: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Operadores genéticos

CROSSOVER

MUTAÇÃO

Page 26: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Estrutura de um AG básico

Selecione os pais

Crossover

Mutação

Defina a população sobrevivente

Avalie a população

Critérios de parada

satisfeitos?

Liste os melhores indivíduos

Gere uma população inicial

Avalie a população

Geração de uma nova população

Não

Sim

Reprodução Reprodução

Seleção

Sobrevivência

Page 27: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Particle Swarm Optimization (PSO)

l  Ao tomarem decisões, os pássaros levam em consideração a experiência individual, bem como a experiência dos outros membros do bando

Page 28: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Particle Swarm Optimization (PSO)

Page 29: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Colônia de Formigas

l  Simula o comportamento de um conjunto de agentes (formigas), que se cooperam para resolver um problema de otimização por meio de comunicações muito simples

l  Ao se deslocarem, as formigas deixam um rastro (feromônio), que é usado para se comunicarem quimicamente

Page 30: Otimização: Algumas aplicações · # 1 ª Divisão do Campeonato Brasileiro de Futebol 2004, 2005 e 2006 # 2 ª Divisão do Campeonato Brasileiro de Futebol 2006 # Restrições

Contato

l  [email protected] l  Disciplinas da área:

l  Introdução à otimização (obrigatória – 5° período) l  Técnicas metaheurísticas para otimização

combinatória l  Programação Linear e Inteira l  Otimização multiobjetivo l  Computação evolutiva l  Otimização em redes