BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS Matheus de Souza Alves Silva Marcio Tadayuki Mine Marcone Jamilson Freitas Souza Gustavo Peixoto Silva Universidade Federal de Ouro Preto Luiz Satoru Ochi Universidade Federal Fluminense BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS SUMÁRIO Descrição do problema Justificativa do trabalho Problema abordado Metodologia Resultados Conclusões e trabalhos futuros BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS DESCRIÇÃO DO PROBLEMA Conhecido na literatura inglesa como Sports Timetabling Traveling Tournament Problem (TTP) Definição Montar uma tabela de jogos entre os times participantes de uma competição esportiva Satisfazer às restrições da competição Minimizar os custos relativos ao deslocamento dos times BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS DESCRIÇÃO DO PROBLEMA 1 (1) 3 1712Km Vitória 1 1372Km Atlético 586Km (2) 3 Santos 2 3 1712Km 3090Km Vitória 1372Km Atlético 3 586Km Santos 1712Km 2 Grêmio Grêmio 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 BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS JUSTIFICATIVA DO TRABALHO Gastos com deslocamento Influência no desempenho dos times Enquadra-se na classe de problemas 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 1) n 2 Competição com 20 participantes: 2,9062x10130 combinações possíveis BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Abordagem heurística Ribeiro & Urrutia (2004) – GRASP e ILS (Iterated Local Search) Anagnostopoulos et al. (2003) e Biajoli et al. (2004) – Simulated Annealing Crauwels et al. (2003) – Colônia de Formigas Metodologias investigadas Método de 2 fases baseadas em backtracking para gerar uma solução inicial Heurísticas Iterated Local Search e Método Randômico de Descida para refinar a solução inicial BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS PROBLEMA ABORDADO Primeira Divisão do Campeonato Brasileiro de Futebol 2004 e 2005 Realizado em dois turnos completos e espelhados Restrições do problema Cada time joga somente uma vez por rodada Dois times jogarão entre si duas vezes, uma no turno e a outra no returno, alternando o mando de campo entre os mesmos Nas duas primeiras rodadas de cada turno, cada time alternará seus jogos, sendo um em casa e o outro na casa do adversário As duas últimas rodadas de cada turno terão a configuração inversa das duas primeiras rodadas de cada turno com relação ao mando de campo Não poderá haver jogos entre times do mesmo estado na última rodada 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 Um time não pode jogar mais que duas vezes consecutivas dentro ou fora de casa BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Representação de uma solução Utiliza-se a representação de Anagnostopoulos et al. (2003) Time \ Rodada 1 2 3 4 5 6 1 +6 +5 -4 +3 -2 -1 2 -5 -3 +2 +6 +1 -4 3 +4 +6 +5 -1 -3 -2 4 +3 +4 -1 -2 -6 +5 5 -2 +1 +6 -5 +4 -3 6 -6 -5 +4 -3 +2 +1 7 +5 +3 -2 -6 -1 +4 Exemplo de uma solução envolvendo 6 times 8 -4 -6 -5 +1 +3 +2 9 -3 -4 +1 +2 +6 -5 10 +2 -1 -6 +5 -4 +3 BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Estruturas de Vizinhança Movimento swap rounds Time \ Rodada 1 2 3 4 5 6 1 +6 +5 -4 +3 -2 -1 2 -5 -3 +2 +6 +1 -4 3 +4 +6 +5 -1 -3 -2 4 +3 +4 -1 -2 -6 +5 5 -2 +1 +6 -5 +4 -3 6 -6 -5 +4 -3 +2 +1 7 +5 +3 -2 -6 -1 +4 8 -4 -6 -5 +1 +3 +2 9 -3 -4 +1 +2 +6 -5 10 +2 -1 -6 +5 -4 +3 6 -4 -6 -5 +1 +3 +2 7 +5 +3 -2 -6 -1 +4 8 -6 -5 +4 -3 +2 +1 9 -3 -4 +1 +2 +6 -5 10 +2 -1 -6 +5 -4 +3 (1) Solução inicial Time \ Rodada 1 2 3 4 5 6 1 +4 +6 +5 -1 -3 -2 2 -5 -3 +2 +6 +1 -4 3 +6 +5 -4 +3 -2 -1 4 +3 +4 -1 -2 -6 +5 5 -2 +1 +6 -5 +4 -3 Solução após a aplicação do movimento swap rounds (2) BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Estruturas de Vizinhança Movimento swap teams Time \ Rodada 1 2 3 4 5 6 1 +6 +5 -4 +3 -2 -1 2 -5 -3 +2 +6 +1 -4 3 +4 +6 +5 -1 -3 -2 4 +3 +4 -1 -2 -6 +5 5 -2 +1 +6 -5 +4 -3 6 -6 -5 +4 -3 +2 +1 7 +5 +3 -2 -6 -1 +4 8 -4 -6 -5 +1 +3 +2 9 -3 -4 +1 +2 +6 -5 10 +2 -1 -6 +5 -4 +3 6 -6 -5 +4 -3 +2 +1 7 +2 -1 -5 -6 +3 +4 8 -4 +3 -2 +1 -6 +5 9 -3 +6 +1 +5 -4 -2 10 +5 -4 -6 +2 -1 +3 (1) Solução inicial Time \ Rodada 1 2 3 4 5 6 1 +6 +5 -4 +3 -2 -1 2 -2 +1 +5 +6 -3 -4 3 +4 -3 +2 -1 +6 -5 4 +3 -6 -1 -5 +4 +2 5 -5 +4 +6 -2 +1 -3 Solução após a aplicação do movimento swap teams (2) BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Estruturas de Vizinhança Movimento swap homes Time \ Rodada 1 2 3 4 5 6 1 +6 +5 -4 +3 -2 -1 2 -5 -3 +2 +6 +1 -4 3 +4 +6 +5 -1 -3 -2 4 +3 +4 -1 -2 -6 +5 5 -2 +1 +6 -5 +4 -3 6 -6 -5 +4 -3 +2 +1 7 +5 +3 -2 -6 -1 +4 8 -4 -6 -5 +1 +3 +2 9 -3 -4 +1 +2 +6 -5 10 +2 -1 -6 +5 -4 +3 6 -6 -5 +4 -3 +2 +1 7 +5 +3 -2 -6 -1 +4 8 +4 -6 -5 -1 +3 +2 9 -3 -4 +1 +2 +6 -5 10 +2 -1 -6 +5 -4 +3 (1) Solução inicial Time \ Rodada 1 2 3 4 5 6 1 +6 +5 -4 +3 -2 -1 2 -5 -3 +2 +6 +1 -4 3 -4 +6 +5 +1 -3 -2 4 +3 +4 -1 -2 -6 +5 5 -2 +1 +6 -5 +4 -3 Solução após a aplicação do movimento swap homes (2) BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Estruturas de Vizinhança Movimento replace teams Time \ Rodada 1 2 3 4 5 6 1 +6 +5 -4 +3 -2 -1 2 -5 -3 +2 +6 +1 -4 3 +4 +6 +5 -1 -3 -2 4 +3 +4 -1 -2 -6 +5 5 -2 +1 +6 -5 +4 -3 6 -6 -5 +4 -3 +2 +1 7 +5 +3 -2 -6 -1 +4 8 -4 -6 -5 +1 +3 +2 9 -3 -4 +1 +2 +6 -5 10 +2 -1 -6 +5 -4 +3 6 -6 -5 +4 -3 +1 +2 7 +5 +3 -1 -6 -2 +4 8 -4 -6 -5 +2 +3 +1 9 -3 -4 +2 +1 +6 -5 10 +1 -2 -6 +5 -4 +3 (1) Solução inicial Time \ Rodada 2 1 3 4 5 6 1 +6 +5 -4 +3 -1 -2 2 -5 -3 +1 +6 +2 -4 3 +4 +6 +5 -2 -3 -1 4 +3 +4 -2 -1 -6 +5 5 -1 +2 +6 -5 +4 -3 Solução após a aplicação do movimento replace teams (2) BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Função de Avaliação Baseada em penalidade f (s) custo(i) dif (s) w j inv j iT em que jC f(s): função de avaliação T: C: custo(i): dif(s): conjunto dos times participantes da competição; conjunto de restrições; custo de um time i T; diferença entre o custo máximo e o custo mínimo dos times; penalidade por desrespeitar a restrição j C; número de vezes que a restrição j C está sendo desrespeitada. wj: invj: BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Geração de uma Solução Inicial Método de duas fases proposto por Silva et al. (2005) Primeira Fase: Geração das duas primeiras e duas últimas rodadas do primeiro turno Segunda Fase: Geração das rodadas intermediárias BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Geração de uma Solução Inicial Método de duas fases proposto por Silva et al. (2005) Primeira Fase: Geração das duas primeiras e duas últimas rodadas do primeiro turno Segunda Fase: Geração das rodadas intermediárias Objetivo da Primeira Fase Satisfazer às restrições: Nas duas primeiras rodadas de cada turno, cada time alternará seus jogos, sendo um em casa e o outro na casa do adversário As duas últimas rodadas de cada turno terão a configuração inversa das duas primeiras rodadas de cada turno com relação ao mando de campo BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Geração de uma Solução Inicial Método de duas fases proposto por Silva et al. (2005) Primeira Fase: Geração das duas primeiras e duas últimas rodadas do primeiro turno Segunda Fase: Geração das rodadas intermediárias Time \ Rodada 1 2 3 4 5 6 7 8 1 +4 -5 +6 -1 +2 -3 +8 -7 2 -2 +1 -4 +3 -8 +7 -6 +5 3 4 5 6 -6 +7 -8 +5 -4 +1 -2 +3 7 +8 -3 +2 -7 +6 -5 +4 -1 BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Geração de uma Solução Inicial Método de duas fases proposto por Silva et al. (2005) Primeira Fase: Geração das duas primeiras e duas últimas rodadas do primeiro turno Segunda Fase: Geração das rodadas intermediárias Time \ Rodada 1 2 3 4 5 6 7 8 1 +4 -5 +6 -1 +2 -3 +8 -7 2 -2 +1 -4 +3 -8 +7 -6 +5 3 +3 +4 -1 -2 +7 -8 -5 +6 4 -5 +6 +7 +8 +1 -2 -3 -4 5 -7 -8 +5 -6 -3 +4 +1 +2 6 -6 +7 -8 +5 -4 +1 -2 +3 7 +8 -3 +2 -7 +6 -5 +4 -1 BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Geração de uma Solução Inicial Método de duas fases proposto por Silva et al. (2005) Primeira Fase: Geração das duas primeiras e duas últimas rodadas do primeiro turno Segunda Fase: Geração das rodadas intermediárias Time \ Rodada 1 2 3 4 5 6 7 8 1 +4 -5 +6 -1 +2 -3 +8 -7 2 -2 +1 -4 +3 -8 +7 -6 +5 3 +3 +4 -1 -2 +7 -8 -5 +6 4 -5 +6 +7 +8 +1 -2 -3 -4 5 -7 -8 +5 -6 -3 +4 +1 +2 6 -6 +7 -8 +5 -4 +1 -2 +3 7 +8 -3 +2 -7 +6 -5 +4 -1 8 -4 +5 -6 +1 -2 +3 -8 +7 Solução inicial gerada pelo método 9 +2 -1 +4 -3 +8 -7 +6 -5 10 -3 -4 +1 +2 -7 +8 +5 -6 11 +5 -6 -7 -8 -1 +2 +3 +4 12 +7 +8 -5 +6 +3 -4 -1 -2 13 +6 -7 +8 -5 +4 -1 +2 -3 14 -8 +3 -2 +7 -6 +5 -4 +1 BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS METODOLOGIA Refinamento da Solução Método Híbrido ILS-MRD Metaheurística Iterated Local Search (ILS) Método Randômico de Descida (MRD) Exploração do Espaço de Soluções Estruturas de Vizinhança • • • • swap rounds swap teams swap homes replace teams BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS procedimento ILS s0 SolucaoInicialAleatoria s BuscaLocal(s0) iter 0 enquanto (iter < itermax) iter iter + 1 s’ perturbação(s) s” BuscaLocal(s’) se ( f(s”) < f(s) ) faça s s” fim-se fim-enquanto retorne s procedimento ILS-MRD s0 SolucaoInicial s MRD(s0, IterMRD) kp kp0 iter 0 enquanto (kp < kpmax) enquanto (iter - melhorIter < itermax) iter iter + 1 s’ perturbação(s, kp) s” MRD(s’, IterMRD) se ( f(s”) < f(s) ) faça s s” melhorIter iter kp kp0 fim-se fim-enquanto kp kp + delta fim-enquanto retorne s BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS RESULTADOS COMPUTACIONAIS Ambiente de Desenvolvimento e Instâncias Utilizadas Linguagem C / Borland C++ Builder v5.0 PC Athlon XP 2.0GHz, 256 MB RAM Windows XP Problemas-teste disponíveis em http://www.decom.ufop.br/prof/marcone/projects/ttp/bssp.html 100 execuções de cada instância BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS RESULTADOS COMPUTACIONAIS Desempenho do Método ILS-MRD ILS-MRD Instâncias Melhor Valor Melhor Média Desvio Tempo (min) bssp2004 806134 825089 -2,1 29,54 842789(1) bssp2005 743621 760350 -16,4 21,72 909119(2) (1) Biajoli et al. (2004); (2) CBF Fórmula do Desvio Desvio 100 Média MelhorValo r MelhorValo r BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS RESULTADOS COMPUTACIONAIS Melhores soluções obtidas pelos métodos Instâncias bssp2004 bssp2005 CBF ILS-MRD Biajoli et al . (2004) DIST DIF FO DIST DIF FO DIST DIF FO 905316 86610 991926 789480 53309 842789 754935 51199 806134 838464 70655 909119 696800 46821 743621 Percentual de melhora em relação ao custo (DIST) – bssp2004 16,6% em relação à tabela elaborada manualmente pela CBF 4,4% em relação à tabela de Biajoli et al. (2004) Percentual de melhora em relação ao custo (DIST) – bssp2005 16,9% em relação à tabela elaborada manualmente pela CBF BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS RESULTADOS COMPUTACIONAIS Melhores soluções obtidas pelos métodos Instâncias bssp2004 bssp2005 CBF ILS-MRD Biajoli et al . (2004) DIST DIF FO DIST DIF FO DIST DIF FO 905316 86610 991926 789480 53309 842789 754935 51199 806134 838464 70655 909119 696800 46821 743621 Percentual de melhora em relação à diferença (DIF) – bssp2004 40,9% em relação à tabela elaborada manualmente pela CBF 4,0% em relação à tabela de Biajoli et al. (2004) Percentual de melhora em relação à diferença (DIF) – bssp2005 33,7% em relação à tabela elaborada manualmente pela CBF BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS RESULTADOS COMPUTACIONAIS Melhores soluções obtidas pelos métodos Instâncias bssp2004 bssp2005 CBF ILS-MRD Biajoli et al . (2004) DIST DIF FO DIST DIF FO DIST DIF FO 905316 86610 991926 789480 53309 842789 754935 51199 806134 838464 70655 909119 696800 46821 743621 Economia possível (bssp2004 e bssp2005): Considerando o custo do quilômetro aéreo a R$0,70 Delegação de 20 pessoas Aprox. R$ 2 milhões, em relação às tabelas da CBF BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS CONCLUSÕES E TRABALHOS FUTUROS Conclusões Apresenta-se uma metodologia heurística (ILS-MRD) Metaheurística Iterated Local Search (ILS) Método Randômico de Descida (MRD) Desempenho do ILS-MRD Método robusto e eficiente para resolver o Problema de Programação de Jogos Os resultados obtidos pelo método superam, na média, os melhores resultados encontrados na literatura Importância do método de geração da solução inicial BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS CONCLUSÕES E TRABALHOS FUTUROS Trabalhos Futuros Incorporar ao método técnicas de intensificação, como a Reconexão por Caminhos (Path Relinking) BUSCA LOCAL ITERADA APLICADA À RESOLUÇÃO DO PROBLEMA DE PROGRAMAÇÃO DE JOGOS DE COMPETIÇÕES ESPORTIVAS REALIZADAS EM DOIS TURNOS ESPELHADOS AGRADECIMENTOS UFOP FAPEMIG Borland Latin America