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
Otimização l 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. Aplicações: l Escala de pessoal l Roteirização l Programação de jogos de competições esportivas l Sequenciamento da produção
Problema de Roteamento de Veículos (Vehicle Routing Problem) 3 (13) (10) (12) 12 2 16 (10) [50] (9) 4 (4) 5 (10) 7 6 (10) 10 (10) 9 (7) 8 (10) (10) 11 14 (3) 15 (10) 13 (5)
Problema de Roteamento de Veículos (Vehicle Routing Problem) 3 (13) (10) (12) 12 2 16 (10) [50] (9) 4 (4) 5 (10) 7 (10) 10 8 (10) 9 6 (10) (7) (10) 11 14 (3) 15 (10) 13 (5) Dentre todas as possíveis roteirizações, determine aquela que minimiza a distância total percorrida
Escala de tripulações (Crew Scheduling)
Escala de tripulações (Crew Scheduling) 1 2 3
Escala de tripulações (Crew Scheduling) 1 2 3
Escala de tripulações (Crew Scheduling) 1 2 3
Escala de tripulações (Crew Scheduling) 1 2 3
Escala de tripulações (Crew Scheduling) 1 2 3
Escala de tripulações (Crew Scheduling) 1 2 3 Redução de um tripulante!
Programação de jogos de competições esportivas (Sports timetabling) 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) INTRODUÇÃO 1 1372Km Vitória 1 1372Km Vitória (1) Atlético (2) 3 3 586Km Santos 1712Km 2 3090Km Grêmio 1712Km 3 3 Grêmio Atlético 586Km Santos 1712Km 2 Vitória x Atlético Grêmio x Atlético Atlético x Santos Atlético x Vitória Grêmio x Atlético Atlético x Santos Distância total percorrida: 6760 Km Distância total percorrida: 5382 Km Economia = 1378 Km
Programação de jogos de competições esportivas (Sports timetabling) 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)): ( n 1)!( n 3)!( n 5)!...( n ( n 1))! 2 n ( n 1) 2 Competição com 20 participantes: 2,9062x10 130 tabelas possíveis (aprox. 10 114 anos para analisar todas as tabelas em um computador que analisa uma tabela em 10-8 segundos)
Programação de jogos de competições esportivas (Sports timetabling) 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) RESULTADOS COMPUTACIONAIS Instâncias CBF Biajoli et al. (2004) ILS-MRD DIST DIF DIST DIF DIST DIF %MDIST %MDIF bssp2004 905316 86610 789480 53309 754935 51199 16,61 40,89 bssp2005 838464 70655 - - 696800 46821 16,90 33,73 bssp2006-a 658195 50769 - - 562886 37628 14,48 25,88 bssp2006-b 998675 61454 - - 967374 23848 3,13 61,19 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
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?
Localização de concentradores
Localização de concentradores
Localização de concentradores
Modelos de Otimização l 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 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
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
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
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
Operadores genéticos CROSSOVER MUTAÇÃO
Estrutura de um AG básico Gere uma população inicial Avalie a população Critérios de parada satisfeitos? Sim Liste os melhores indivíduos Não Selecione os pais Seleção Crossover Reprodução Mutação Avalie a população Sobrevivência Defina a população sobrevivente Geração de uma nova população
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
Particle Swarm Optimization (PSO)
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
Contato l marcone.freitas@yahoo.com.br 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