O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
APLICAÇÕES DE ALGORITMOS
GENÉTICOS EM OTIMIZAÇÃO DE
HORÁRIOS
Orientando: Philippe Norbert Cavalcanti Aussourd
Orientadora:...
Roteiro da Apresentação
 O problema do Timetabling
 O caso do curso de Ciência da Computação da UNICAP
 Computação Natu...
O PROBLEMA DO TIMETABLING
O problema do Timetabling
 O que é Timetabling ?
 Problema de alocação de recursos,
sujeito a restrições num espaço de
t...
O CASO DO CURSO DE CIÊNCIA DA
COMPUTAÇÃO DA UNICAP
O caso do curso de Ciência da
Computação da UNICAP
 Grade Horária do Curso Noturno
Horário
Dia da Semana
Segunda-feira Te...
O caso do curso de Ciência da
Computação da UNICAP
 Número de possibilidades por turma: (𝐴 𝑛,𝑝)
 Soluções possíveis: = 3...
O caso do curso de Ciência da
Computação da UNICAP
 Restrições e particularidades
 Colisão por professor (Turmas NS3 e N...
O caso do curso de Ciência da
Computação da UNICAP
 Restrições e particularidades
 Horários Esparsos
NS5 Segunda-feira
N...
O caso do curso de Ciência da
Computação da UNICAP
 Restrições e particularidades
 Blocos de Disciplinas
 2NO-4NO, 2PQ-...
COMPUTAÇÃO NATURAL
Computação Natural
Computação
Natural
Computação com
mecanismos
naturais
Estudos sobre a
natureza através
da computação
Co...
ALGORITMOS GENÉTICOS
Algoritmos Genéticos
 Origem e Definição
 Herança genética
 Genética Populacional
 Favorecimento de indivíduos melhore...
Algoritmos Genéticos
 Aplicações
 Otimização Combinatorial
 Otimização em Negócios
Algoritmos Genéticos
 Terminologia Biológica
Meio
Função
Objetivo
F(x) = x³ Aptidão = 216
Indivíduo
Candidato a
Solução
F...
Algoritmos Genéticos
 Algoritmo Genético Genérico
Algoritmo Genético genérico
Inicialize a população de cromossomos (gera...
Algoritmos Genéticos
 Seleção
 Método da Roleta
 Método de Seleção por Torneio
 Mapeamento de Função Objetivo
 Escalo...
Algoritmos Genéticos
 Crossover
 Crossover em um ponto
 Crossover em dois pontos
 Taxa de Cruzamento: 60% - 80%
CROMOS...
Algoritmos Genéticos
 Mutação
Individuo Número Aleatório Novo Individuo
 Taxa de Mutação: 0,5% - 1%
 Tamanho da Populaç...
SISTEMAS AUTOMATIZADOS PARA
RESOLUÇÃO DE TIMETABLING EM
INSTITUIÇÕES DE ENSINO USANDO
ALGORITMOS GENÉTICOS
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Foram analisa...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Desenvolvimen...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Restrições
 ...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Avaliação da ...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Sistema de Al...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Restrições
 ...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Avaliação da ...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Algoritmo Gen...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Restrições
 ...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Avaliação da ...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Considerações...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
Função
Aptidão
...
Sistemas Automatizados para Resolução de
Timetabling em Instituições de ensino usando
Algoritmos Genéticos
 Conclusão dos...
CONCLUSÕES E SUGESTÕES DE
TRABALHOS FUTUROS
APLICAÇÕES DE ALGORITMOS
GENÉTICOS EM OTIMIZAÇÃO DE
HORÁRIOS
Orientando: Philippe Norbert Cavalcanti Aussourd
Orientadora:...
Próximos SlideShares
Carregando em…5
×

Slides TCC 2015.1 - UNICAP - Aplicações de Algoritmos Genéticos em Otimização de Horários

1.863 visualizações

Publicada em

Slides utilizados na defesa da monografia: Aplicações de Algoritmos Genéticos em Otimização de Horários.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Slides TCC 2015.1 - UNICAP - Aplicações de Algoritmos Genéticos em Otimização de Horários

  1. 1. APLICAÇÕES DE ALGORITMOS GENÉTICOS EM OTIMIZAÇÃO DE HORÁRIOS Orientando: Philippe Norbert Cavalcanti Aussourd Orientadora: Clarissa Daisy da Costa Albuquerque
  2. 2. Roteiro da Apresentação  O problema do Timetabling  O caso do curso de Ciência da Computação da UNICAP  Computação Natural  Algoritmos Genéticos  Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Conclusão e Sugestões de Trabalhos Futuros
  3. 3. O PROBLEMA DO TIMETABLING
  4. 4. O problema do Timetabling  O que é Timetabling ?  Problema de alocação de recursos, sujeito a restrições num espaço de tempo, de modo a satisfazer o maior numero de objetivos desejáveis.  Problema NP-Completo  Importância na área Científica  PATAT (Practice and Theory of Automated Timetabling)  EURO (Association of European Operational Research Societies)  WATT (Working Group on Automated Timetabling)  ITC (International Timetable Competition)  Aplicações  Características do Timetabling em Instituições de Ensino  Course Timetabling  Examination Timetabling  School Timetabling  University Timetabling
  5. 5. O CASO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO DA UNICAP
  6. 6. O caso do curso de Ciência da Computação da UNICAP  Grade Horária do Curso Noturno Horário Dia da Semana Segunda-feira Terça-feira Quarta-feira Quinta-feira Sexta-feira NO 18:30-20:10 - - - - - PQ 20:20-22:00 - - - - -
  7. 7. O caso do curso de Ciência da Computação da UNICAP  Número de possibilidades por turma: (𝐴 𝑛,𝑝)  Soluções possíveis: = 3,854 x 1030  Algoritmo forca bruta (1 ms p/ solução) = 3,854 x 1030 ms  Em anos = 1,22 x 1020 anos  O que mostra o trabalho e inteligência dos funcionários que resolvem o problema manualmente e a importância da automatização do processo de produção de grade horárias Turma NS3 NS4 NS5 NS6 NS7 NS8 NS9 Número de Professores 5 5 5 5 4 5 5 Total de Possibilidades 30240 30240 30240 30240 5040 30240 30240
  8. 8. O caso do curso de Ciência da Computação da UNICAP  Restrições e particularidades  Colisão por professor (Turmas NS3 e NS4) Horário Dia da Semana Segunda-feira Terça-feira Quarta-feira Quinta-feira Sexta-feira NO 18:30-20:10 Circuitos Dig. / Madeiro Est. Dados I / Ana - - - PQ 20:20-22:00 - - - - - Horário Dia da Semana Segunda-feira Terça-feira Quarta-feira Quinta-feira Sexta-feira NO 18:30-20:10 - Est. Dados II / Ana - - - PQ 20:20-22:00 Mét. Numéricos / Bertino - - - -
  9. 9. O caso do curso de Ciência da Computação da UNICAP  Restrições e particularidades  Horários Esparsos NS5 Segunda-feira NO 18:30-20:10 - PQ 20:20-22:00 Paradig. Ling de Prog. / TJ
  10. 10. O caso do curso de Ciência da Computação da UNICAP  Restrições e particularidades  Blocos de Disciplinas  2NO-4NO, 2PQ-5PQ, 3NO-6NO, 3PQ-5NO, 4PQ-6PQ  Preferência dos Professores Horário Dia da Semana Segunda-feira Terça-feira Quarta-feira Quinta-feira Sexta-feira NO 18:30-20:10 INF1701 Márcio INF1720 Antônio INF1701 Márcio INF1224 Márcio INF1720 Antônio PQ 20:20-22:00 INF1218 Mozart INF1224 Márcio INF1617 Rubens INF1218 Mozart INF1617 Rubens
  11. 11. COMPUTAÇÃO NATURAL
  12. 12. Computação Natural Computação Natural Computação com mecanismos naturais Estudos sobre a natureza através da computação Computação inspirada na natureza
  13. 13. ALGORITMOS GENÉTICOS
  14. 14. Algoritmos Genéticos  Origem e Definição  Herança genética  Genética Populacional  Favorecimento de indivíduos melhores adaptados, com maior possibilidade de perpetuação do seu código genético  Os Algoritmos Genéticos constituem uma técnica de busca e otimização inspirada no princípio Darwiniano de seleção natural e na reprodução genética os cromossomos são então submetidos a um processo que inclui avaliação, seleção e recombinação sexuada (crossover) e mutação Charles Darwin Alfred Wallace Gregor Mendel John Holland
  15. 15. Algoritmos Genéticos  Aplicações  Otimização Combinatorial  Otimização em Negócios
  16. 16. Algoritmos Genéticos  Terminologia Biológica Meio Função Objetivo F(x) = x³ Aptidão = 216 Indivíduo Candidato a Solução Fenótipo = 6 Genótipo Gene Alelo População Conjunto de Candidatos a Solução
  17. 17. Algoritmos Genéticos  Algoritmo Genético Genérico Algoritmo Genético genérico Inicialize a população de cromossomos (geração i=1) Avalie indivíduos na população (função objetivo e sobrevivência) Repita (evolução) Selecione indivíduos para reprodução Aplicar operadores de recombinação e/ou mutação Avaliar indivíduos gerados na população Selecione indivíduos para sobreviver (geração i=i+1) Até máximo de gerações ou objetivo final Fim
  18. 18. Algoritmos Genéticos  Seleção  Método da Roleta  Método de Seleção por Torneio  Mapeamento de Função Objetivo  Escalonamento Linear 1 2 3 4
  19. 19. Algoritmos Genéticos  Crossover  Crossover em um ponto  Crossover em dois pontos  Taxa de Cruzamento: 60% - 80% CROMOSSOMO 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 CROMOSSOMO 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 CROMOSSOMO 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 CROMOSSOMO 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1
  20. 20. Algoritmos Genéticos  Mutação Individuo Número Aleatório Novo Individuo  Taxa de Mutação: 0,5% - 1%  Tamanho da População  Condições para Término 1 0 1 1 0,564 0,951 0,175 0,457 1 0 1 1 0 1 1 0 0,234 0,783 0,009 0,841 0 1 0 0 0 0 0 1 0,322 0,007 0,290 0,642 1 1 0 1
  21. 21. SISTEMAS AUTOMATIZADOS PARA RESOLUÇÃO DE TIMETABLING EM INSTITUIÇÕES DE ENSINO USANDO ALGORITMOS GENÉTICOS
  22. 22. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Foram analisados dez trabalhos nessa monografia, sendo analisado os seguintes itens em comum:  Objetivos  Modelagem do problema  Representação da solução  Restrições  Criação da população inicial  Avaliação da População  Método de Seleção  Operadores  Critério de parada  Resultados  Dentre esses dez, três foram escolhidos para serem mostrados nesta apresentação.  Como conclusão, cinco características foram elencadas para estatística:  Representação da Solução  Tamanho da População  Função de Aptidão  Operadores  Critério de parada
  23. 23. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Desenvolvimento de um Algoritmo Genético para a resolução do Timetabling  Timóteo, G. T. S (2002) – UFLA  Objetivos  Implementação de AG para Timetabling, analisar seu comportamento através de testes.  Modelagem do problema  Modelo usando AG para o problema da escola Nossa Senhora de Lourdes em Lavras-MG.  Representação da solução
  24. 24. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Restrições  Colisão por professor  Horários esparsos  Blocos de disciplinas  Vários blocos por dia  Média de aulas por dia  Preferências dos professores  Criação da população inicial  Geração Aleatória  Percorre uma lista de uma turma e sorteia para cada slot.  Geração Heurística  Seleciona em blocos de duas.
  25. 25. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Avaliação da População  𝑓 𝑥 = 1 1+𝑝𝑒𝑛𝑎𝑙𝑖𝑑𝑎𝑑𝑒𝑠  Método de Seleção  Roleta Giratória  Torneio  Roleta com Redução  Cada vez que um individuo for selecionado sua aptidão é reduzida.  Operadores  Crossover em um ponto, em dois e heurístico com corte em um ponto  Mutação aleatória num indivíduo apenas e heurística (Dupla)  Critério de parada  Limite máximo de gerações  Resultados  Baseado nos testes, observou-se que o método de seleção por torneio, o operador de crossover com corte em um ponto e operador de mutação comum foram os que apresentaram maiores resultados.
  26. 26. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Sistema de Alocação de Horários de Cursos Universitários: Um Estudo de Caso no Departamento de Computação da Universidade Federal de Sergipe  F. Vieira; H. Macedo (2011) – UFS  Objetivos  Descrever o sistema de geração automática de grade de horários para atender as necessidades do Departamento de Computação da UFS.  Modelagem do problema  O Departamento possui 28 professores, 3 cursos e 650 alunos entre três turnos.  Representação da solução
  27. 27. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Restrições  Hard  Todas as disciplinas ofertadas devem preencher o número de horas por semana estabelecidas pelo currículo.  O professor não pode lecionar em duas turmas diferentes num mesmo dia e horário.  Aulas de uma mesma turma não devem acontecer em um mesmo dia e horário.  Todas as disciplinas obrigatórias do período atual devem ser ofertadas.  A oferta das disciplinas deve obedecer ao turno dos cursos.  Soft  Todas as aulas de uma turma devem ser ofertadas, preferencialmente num mesmo horário durante a semana.  Aulas de uma mesma turma não devem ser ofertadas em dias seguidos, nem em um único dia.  A preferencia do professor em optar por lecionar apenas disciplinas de seu interesse deve ser respeitada  Criação da População Inicial  Os indivíduos da população inicial foram criados com base na lista de todas as turmas que devem ser ofertadas no período vigente. Informações sobre professores e horários da disciplina são geradas aleatoriamente. O professor é adicionado através da lista oficial de docentes do departamento e o vetor de horários é preenchido através de valores inteiros pré-definidos.
  28. 28. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Avaliação da População  𝑓 𝑥 = 𝑏ô𝑛𝑢𝑠 − 𝑝𝑒𝑛𝑎𝑙𝑖𝑧𝑎çõ𝑒𝑠  Método de Seleção  Roleta Giratória  Operadores  Crossover de um ponto de corte  Mutação aleatória  Critério de parada  Limite máximo de gerações  Resultados  Os resultados obtidos nos testes mostraram o potencial da solução proposta. O software baseado em AG será usado no DCOMP, apenas durante alguns períodos, como auxilio ao método manual, já em funcionamento. Após a comprovação definitiva de sua eficácia, poderá vir a ser utilizado de forma oficial no DCOMP.
  29. 29. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Algoritmo Genético com Estratégias de Busca em Banco para o Problema do Timetabling em Cursos de Universidade  Genetic Algorithm with Search Bank Strategies for University Course Timetabling Problem  Mahiba A. A.; Durai A. D. C. (2012) - Karunya University  Objetivos  Desenvolver um novo método em AG com estratégias de busca em banco: local, guiada e em busca tabu.  Modelagem do problema  Busca local foi usada para aumentar as soluções, Busca Guiada foi usada para limitar as soluções pelo uso de estrutura de dados de eventos. Busca tabu foi utilizado para remover as soluções usadas.  Representação da solução Funcionário Matérias Estudantes Timeslot Sala de Aula
  30. 30. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Restrições  Hard  Um funcionário não será atribuído a dois ou mais classes de estudantes no mesmo de intervalo de tempo.  Dois ou mais funcionários não devem ser atribuídos a uma classe de estudante no mesmo timeslot.  Dois ou mais salas não devem ser atribuídos a uma classe de alunos no mesmo timeslot.  Soft  Funcionários não devem ter três aulas consecutivas de timeslot, exceto seções de laboratório.  Para timeslot consecutivos, uma turma de alunos não deve mudar suas salas de aula.  Todos os timeslots devem ser ocupados.  Criação da População Inicial  Aleatoriamente com cada gene sendo limitado a limites inferiores e superiores
  31. 31. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Avaliação da População  𝑓 𝑠 = 𝐻𝐶𝑆 + 𝑆𝐶𝑆  Método de Seleção  Busca Guiada  Busca Local procurando um cromossomo de baixa aptidão  Operadores  Crossover com movimentos de vizinhança  Mutação através de Busca Local procurando um cromossomo de aptidão baixo  Critério de parada  Limite de tempo  Resultados  Todos esses métodos foram implementados para entradas de larga escala e alcançaram resultados promissores. Três tipos de teste, de pequeno, médio e grande porte foram realizados com parâmetros variados. Testes com a população variando de 120 a 250, apresentaram melhores resultados para problemas de grande porte.
  32. 32. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Considerações Finais Característica Analisada Especificação Frequência de Uso Forma de representação Vetor de Matrizes 2D 2 Matriz 2D 1 Vetor 2D 2 Matriz 3D 4 Estrutura de vetores composta por variáveis simples 1 Tamanho da população Entre 80 a 160 Indivíduos 1 100 Indivíduos 2 Entre 120 a 250 Indivíduos 1 Entre 100 a 500 Indivíduos 1 Entre 200 a 750 Indivíduos 1 750 Indivíduos 1 1000 Indivíduos 2 Entre 256 a 5120 Indivíduos 1
  33. 33. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos Função Aptidão 𝑓 𝑥 = 1 1+ 𝑟𝑒𝑠𝑡𝑟𝑖çõ𝑒𝑠 𝑣𝑖𝑜𝑙𝑎𝑑𝑎𝑠 3 𝑓 𝑥 = 𝑏ô𝑛𝑢𝑠 − 𝑝𝑒𝑛𝑎𝑙𝑖𝑧𝑎çõ𝑒𝑠 2 𝑓 𝑥 = 𝑙=1 𝐾 𝛼 𝑘Ι 𝑘 + 𝑙=1 𝐿 𝛽𝑙 𝜚𝑙 1 𝑓 𝑥 = 2 ∗ 𝑖=0 𝑛 𝑑𝑖𝑠𝑝𝑜𝑛𝑖𝑏𝑖𝑙𝑖𝑑𝑎𝑑𝑒 𝑠𝑙𝑜𝑡 − 10 ∗ 𝑁𝑗𝑎𝑛𝑒𝑙𝑎𝑠1000 ∗ 𝑁𝑎𝑔𝑟𝑢𝑝𝑎𝑚𝑒𝑛𝑡𝑜𝑠 1 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 𝑖𝑛𝑑𝑖𝑣í𝑑𝑢𝑜 = 𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑐𝑜𝑛𝑓𝑙𝑖𝑡𝑜𝑠 ∗ 𝐾 + 𝑄𝑢𝑎𝑙𝑖𝑑𝑎𝑑𝑒 𝑓𝑖𝑡𝑛𝑒𝑠𝑠(𝑐𝑢𝑚𝑢𝑙𝑎𝑡𝑖𝑣𝑜) = 𝑖=1 𝑘 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 𝑖𝑛𝑑𝑖𝑣í𝑑𝑢𝑜𝑖 1 Primeira fase do AG: 𝑓 𝑠 ¹ = 𝐻𝐶𝐶 Segunda fase do AG: 𝑓 𝑠 ² = 𝑆𝐶𝐶 1 𝑓 𝑠 = 𝐻𝐶𝑆 + 𝑆𝐶𝑆 1
  34. 34. Sistemas Automatizados para Resolução de Timetabling em Instituições de ensino usando Algoritmos Genéticos  Conclusão dos Resultados Operadores Crossover 9 Mutação 10 Critério de parada Convergência 1 Tempo Máximo de Execução 1 200 iterações 1 Entre 300 a 1000 iterações 1 500 iterações 2 3000 iterações 1 10000 iterações 1 15000 iterações 1 Entre 10.000 e 30.000 iterações 1
  35. 35. CONCLUSÕES E SUGESTÕES DE TRABALHOS FUTUROS
  36. 36. APLICAÇÕES DE ALGORITMOS GENÉTICOS EM OTIMIZAÇÃO DE HORÁRIOS Orientando: Philippe Norbert Cavalcanti Aussourd Orientadora: Clarissa Daisy da Costa Albuquerque

×