Upgrade to Pro — share decks privately, control downloads, hide ads and more …

S.A.R.A.: Uma Ferramenta Baseada em Algoritmos Genéticos para Alocação de Salas de Aula do IFBA

S.A.R.A.: Uma Ferramenta Baseada em Algoritmos Genéticos para Alocação de Salas de Aula do IFBA

Apresentação do Trabalho de Conclusão de Curso, ADS, IFBA, Salvador
GitHub: https://github.com/sara-project/

Ícaro Jerry

April 23, 2018
Tweet

More Decks by Ícaro Jerry

Other Decks in Research

Transcript

  1. 1 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry IFBA – INF023 – Trabalho Final de Curso – Ícaro Jerry 1 S.A.R.A.: Uma Ferramenta Baseada em Algoritmos Genéticos para Alocação de Salas de Aula do IFBA Ícaro Jerry Salles Santana [email protected] Orientadora: Flávia Maristela Santos Nascimento INF023 – Trabalho Final de Curso
  2. 2 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry AGENDA • Introdução • Trabalhos Correlatos • Solução Proposta • Testes e Validação • Conclusão • Trabalhos Futuros
  3. 3 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry INTRODUÇÃO • O problema da alocação de recursos é resolvido manualmente em diversas Instituições de Ensino Superior (IES) • A abordagem manual pode ter grande complexidade temporal • As soluções geradas podem não atender corretamente as especificações (ineficientes)
  4. 4 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry INTRODUÇÃO • Problema de Alocação de Salas de Aula: – Dispor aulas nas salas disponíveis, com base em um conjunto de regras e restrições – Os cronogramas das aulas são previamente estabelecidos
  5. 5 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry INTRODUÇÃO • Motivação: – Cada IES em particular possui um conjunto único de diretrizes acadêmicas – Sendo assim, uma solução genérica é inviável
  6. 6 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry INTRODUÇÃO • Objetivos: – Solucionar o problema de designação de turmas em salas de aula do IFBA, de forma automática e eficiente – Reduzir os esforços de tempo e pessoas dedicadas a esta tarefa – Prover soluções que levem em consideração um conjunto maior de restrições e preferências
  7. 7 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TRABALHOS CORRELATOS Característica Grade Horária Kairós Prado et al. Schdlr Problema abordado Grade Horária Grade Horária Alocação de Salas Grade Horária e Alocação de Salas Técnica da IES Manual Técnica aplicada SWI- Prolog Algoritmos Genéticos SA e LAHC Permite alterar solução Não Sim Não Plataforma Web Desktop Web/Desktop Open Source Não Sim Não informado Sim Ferramentas que resolvem problemas de alocação de recursos nas IES
  8. 8 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA • S.A.R.A.: Uma ferramenta para otimizar o processo de alocação de salas de aula do IFBA • Gera soluções factíveis, satis- fazendo as restrições
  9. 9 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA • Formada por dois sub-sistemas Arquitetura da S.A.R.A.
  10. 10 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA • sara-web: – Responsável pela inserção e gestão dos dados dos modelos que fazem parte do problema de alocação de salas • sara-core: – Responsável por executar a alocação de salas utilizando como estratégia de otimização os Algoritmos Genéticos
  11. 11 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA Representação de uma requisição entre o sara-web e o sara-core
  12. 12 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA 1. { 2. "ga_config": { 3. "population_number": 1000, 4. "max_generation": 100, 5. "mutation_probability": 0.1, 6. "select_probability": 0.5, 7. "elitism_probability": 0.1 8. }, 9. "schedules": [ 10. { 11. "id": 13, 12. "day": 1, 13. "time_interval": 14 14. } 15. ], 16. "requirements": [ 17. { 18. "id": 1, 19. "type": 1, 20. "priority": 3 21. } 23. ], 24. "rooms": [ 25. { 26. "id": 29, 27. "specifications": [1], 28. "capacity": 40 29. } 30. ], 31. "classes": [ 32. { 33. "id": 37, 34. "size": 48, 35. "schedules": [13], 36. "requirements": [1] 37. } 38. ] 39.} Estrutura básica de uma requisição para o sara-core
  13. 13 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA • Algoritmos Genéticos: – Inspirados na mecânica da evolução das espécies, segundo as leis de Charles Darwin e Gregor Mendel – Trata-se de uma técnica genérica: não foca em um problema específico
  14. 14 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA Elementos que compõem um Algoritmo Genético
  15. 15 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA Representação de uma Solução Contexto Alocação de Salas Contexto Algoritmo Genético
  16. 16 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA Funcionamento básico de um Algoritmo Genético
  17. 17 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA • Restrições do Problema: – Moldam o espaço de busca – Foram implementadas 4 restrições fortes e 7 restrições fracas – Restrições Fortes são de natureza obrigatória – Restrições Fracas não invalidam uma solução, entretanto afetam negativamente a qualidade da solução
  18. 18 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry SOLUÇÃO PROPOSTA Peso Descrição Identificador Tipo 6 Aulas não alocadas Q1 Fraco 5 Particionamento das aulas Q3 e C3 Fraco/Forte 4 Tipo específico de requisitos Q6 e Q7 Fraco 3 Taxa da troca de salas entre aulas Q4 e Q5 Fraco 2 Acessibilidade Q2 Fraco 1 Alocação duplicada C2 Forte Critérios e seus repectivos pesos Obs: C1 e C4 não são computados pois o mecanismo realiza alocações se baseando nessas restrições, gerando sempre soluções que atende tais critérios.
  19. 19 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO • Base de dados completa não foi disponibilizada pela Instituição • Cadastro manual dos espaços físicos da instituição e de todas as turmas e aulas do curso Análise e Desenvolvimento de Sistemas (ADS), Campus Salvador 2017.1
  20. 20 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO ID Slots Salas Turmas Aulas Q2 Q6 C0 980 35 36 156 18 82 C1 C2 504 18 C3 420 15 C4 980 35 78 Informações dos cenários utilizados nos testes
  21. 21 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO • Experimentos: – Testes para correção do comportamento do mecanismo – Testes empíricos para seleção dos valores dos parâmetros – Utilização da técnica Analise Fatorial Completa – Seleção de 6 configurações (com melhores e piores soluções) para aplicação em 3 novos cenários – Teste para verificar o crescimento do tempo de execução em função de dois parâmetros
  22. 22 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO Combinações possíveis dos valores utilizados no experimento da Análise Fatorial Completa
  23. 23 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO
  24. 24 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO
  25. 25 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO • Configurações que geraram as Melhores Soluções: • Configurações que geraram as Piores Soluções:
  26. 26 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO
  27. 27 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO ID Configuração Nota da Solução Tempo Execução Aulas não Alocadas Lugares Ociosos !Q6 !Q2 C0 ---- 0 Indefinido 0 338 18 2 C0* ---- 73,046646 Indefinido 46 338 28 0 C1 24-Config 82,879684 7,07 min 0 756 56 0 C2 23-Config 82,71032 5,53 min 6 862 36 0 C3 24-Config 78,99315 4,87 min 32 864 36 0 C4 27-Config 82,906845 1h 18 min 0 716 64 0 Resultados da melhor execução por cenário Obs: C0* é a execução do Cenário 0 não alocando as aulas que infrigem o critério forte.
  28. 28 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO • Detalhes do Cenário 0: – Salas com sobrecarga: 12 • Capacidade total das salas: 575 – Quantidade total de Aulas afetadas: 46 • Quantidade de Turmas afetadas: 16 • Quantidade total de alunos nas turmas: 856 – Total de lugares excedentes: 281 Obs: O tamanho da turma se refere ao número de vagas ofertadas e não os alunos matriculados
  29. 29 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TESTES E VALIDAÇÃO
  30. 30 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry CONCLUSÃO • Disponibizamos uma ferramenta que: – Possibilita a redução dos esforços de tempo e pessoas dedicadas na solução do problema de alocação de salas – Permite melhorar a qualidade das soluções e levar em consideração um conjunto maior de restrições – Se adaptou aos cenários criados, gerando soluções mais relevantes, quando comparada a solução manual – Não gera um crescimento abrupto do tempo de execução em relação aos parâmetros e cenários
  31. 31 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry TRABALHOS FUTUROS • Taxa de flexibilidade para alocação • Taxa máxima de convergência das soluções • Parametrizar os critérios do problema • Parametrizar o término da otimização • Dotar o mecanismo com aspectos de Computação Distribuída • Tornar a S.A.R.A. em um agente inteligente
  32. 32 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry REFERÊNCIAS [4] C. C. Freitas, P. R. B. Guimarães, M. C. M. Neto, and F. J. R. Barboza, “Uma Ferramenta Baseada em Algoritmos Genéticos para a Geração de Tabela de Horário Escolar,” Sétima Escola Regional de Computação Bahia-Sergipe, Vitória da Conquista, 2007. [5] A. Schaerf, “A survey of automated timetabling,” Artif. Intell. Rev., vol . 13, no. 2, pp. 87– 127, 1999. [11] C. D. L. Hamawaki and K. Yamanaka, “Geração Automática de Grade Horária Usando Algoritmos Genéticos: O Caso da Faculdade de Engenharia Elétrica da UFU,” Master’s thesis, Universidade Federal de Uberlândia, 2005. [12] J. H. Holland, “Adaptation in Natural and Artificial Systems.” The University of Michigan Press, 1975. [17] F. Bueno, “Métodos Heurísticos: Teoria e Implementações,” 2009, tutorial, IFSC/Araranguá. [26] R. Jain, “The art of computer systems performance analysis – techniques for experimental design, measurement, simulation, and modeling., ser. Wiley professional computing”. Wiley, 1991.
  33. 33 IFBA – INF023 – Trabalho Final de Curso –

    Ícaro Jerry IFBA – INF023 – Trabalho Final de Curso – Ícaro Jerry 33 Obrigado! INF023 – Trabalho Final de Curso [email protected] S.A.R.A.: Uma Ferramenta Baseada em Algoritmos Genéticos para Alocação de Salas de Aula do IFBA