Construção e implantação de um sistema automático de ... · Abstract Accomplished twice per...

Click here to load reader

Transcript of Construção e implantação de um sistema automático de ... · Abstract Accomplished twice per...

Universidade Federal de Uberlndia

Faculdade de Engenharia Eltrica

Ps-Graduao em Engenharia Eltrica

Construo e implantao de um sistema

automtico de alocao de espao fsico

baseado em computao evolutiva para a

Universidade Federal de Uberlndia

Guilherme Palhares Theodoro

Uberlndia

2016

Universidade Federal de Uberlndia

Faculdade de Engenharia Eltrica

Ps-Graduao em Engenharia Eltrica

Construo e implantao de um sistema

automtico de alocao de espao fsico

baseado em computao evolutiva para a

Universidade Federal de Uberlndia

Guilherme Palhares Theodoro

Dissertao apresentada Universidade Federal

de Uberlndia, perante a banca de examinadores

abaixo, como parte dos requisitos para obteno

do ttulo de Mestre em Cincias. Avaliada em 18

de Novembro de 2016.

Adlio Jos de Moraes, Dr. UFU

Igor Santos Peretta, PhD. UFU

Keiji Yamanaka, PhD. Orientador UFU

Ricardo Soares Baventura, Dr. IFTM

Dados Internacionais de Catalogao na Publicao (CIP)

Sistema de Bibliotecas da UFU, MG, Brasil.

T388c

2016

Theodoro, Guilherme Palhares.

Construo e implantao de um sistema automtico de alocao de

espao fsico baseado em computao evolutiva para a Universidade

Federal de Uberlndia / Guilherme Palhares Theodoro. - 2016.

83 f. : il.

Orientador: Keiji Yamanaka.

Dissertao (mestrado) - Universidade Federal de Uberlndia,

Programa de Ps-Graduao em Engenharia Eltrica.

Inclui bibliografia.

1. Engenharia eltrica - Teses. 2. Algortmos genticos - Teses. 3.

Administrao de instalaes - Teses. 4. Universidade Federal de

Uberlndia - Teses. I. Yamanaka, Keiji. II. Universidade Federal de

Uberlndia. Programa de Ps-Graduao em Engenharia Eltrica. III.

Ttulo.

CDU: 621.3

Construo e implantao de um sistema

automtico de alocao de espao fsico

baseado em computao evolutiva para a

Universidade Federal de Uberlndia

Guilherme Palhares Theodoro

Dissertao apresentada Universidade Federal de Uberlndia como parte dos

requisitos para obteno do ttulo de Mestre em Cincias.

Prof. Keiji Yamanaka, PhD. Prof. Darizon Alves de Andrade, PhD.

Orientador Coordenador do Curso de Ps-Graduao

3

Agradecimentos

Ao meu orientador, professor Keiji Yamanaka, pelos ensinamentos, indicao do tema

deste trabalho e superviso durante todas as etapas do mestrado.

Ao professor Igor Santos Peretta, por sua enorme contribuio no desenvolvimento dos

artigos relacionados este trabalho.

minha famlia, pelo apoio e compreenso.

Aos meus colegas de trabalho, pela explicao das regras de negcio do problema, alm

de outras contribuies.

Resumo

Realizado duas vezes por ano letivo, o processo de alocao de salas na Universidade

Federal de Uberlndia (UFU) uma atividade com alto grau de complexidade. A

atividade consiste na distribuio de um nmero elevado de turmas nas salas disponveis

para alocao. O administrador de espao fsico da instituio deve atender uma srie

de restries definidas pela direo e, na medida do possvel, as necessidades de cada

curso. Isso faz com que todo o processo leve meses. O presente trabalho descreve o

problema de alocao de salas (PAS) e as particularidades existentes no processo da

UFU e de outras universidades, comparando o PAS em diferentes instituies verificou-

se que os mesmos lidam com objetivos diferentes e, portanto, no podem ser resolvidos

utilizando a mesma abordagem. Um mtodo de busca adequado para problemas de

otimizao complexos como o PAS, so os algoritmos genticos (AG). Analisando as

maneiras existentes para realizar o tratamento de restries nos AG juntamente com

os objetivos considerados na alocao de salas da UFU, decidiu-se por utilizar uma

representao especial do indivduo alm de operadores genticos especficos para o

problema. Um sistema para automatizar o PAS na UFU foi construdo e implantado,

os resultados obtidos utilizando dados reais da universidade indicaram a viabilidade do

mtodo, alm da reduo do tempo necessrio para a realizao do processo.

Palavras-chave: Algoritmos Genticos, Problema de Alocao de Salas

5

Abstract

Accomplished twice per school year, the rooms allocation process at the Federal Univer-

sity of Uberlndia (UFU) is an activity with a high degree of complexity. The activity

consists of the distribution of a large number of courses into available classrooms for

allocation. The administrator of institution physical space must attend a number of

constraints defined by the direction and, as far as possible, the needs of each course.

The constraints make the entire process longer, taking months to be done. The present

work describes the space allocation problem (SAP) and the existing particularities in

the process of UFU and other universities, it was verified by comparing SAP in dif-

ferent institutions that they handle different objectives and, therefore, they cant be

solved using the same approach. A suitable search method for complex optimization

problems as SAP, are genetic algorithms (GA). Analyzing the existing ways for han-

dling constraints in GA along with the considered objectives for space allocation in

UFU, it was decided to use a special representation of the individual and also specific

genetic operators for the problem. A system for automating the SAP in UFU was built

and deployed, the obtained results using universitys real data indicated the feasibility

of the method, besides reducing the time required for carry out the process.

Keywords: Genetic Algorithms, Space Alocation Problem.

6

Lista de Figuras

1 Modelo matemtico da funo objetivo UFPB . . . . . . . . . . 24

2 Modelo matemtico da funo objetivo UFSM parte 1 . . . . . 27

3 Modelo matemtico da funo objetivo UFSM parte 2 . . . . . 28

4 Modelo matemtico da funo objetivo USP . . . . . . . . . . . 31

5 Fluxograma dos passos gerais de um AG . . . . . . . . . . . . . . 39

6 Mtodo de seleo por torneio; em Torneios, o indivduo des-

tacado o ganhador . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

7 Mtodo de seleo por ranking . . . . . . . . . . . . . . . . . . . . 47

8 Exemplo de pontos de corte . . . . . . . . . . . . . . . . . . . . . . 48

9 Cruzamento de 1 ponto . . . . . . . . . . . . . . . . . . . . . . . . . 49

10 Cruzamento de 2 pontos . . . . . . . . . . . . . . . . . . . . . . . . 49

11 Cruzamento heurstico uniforme . . . . . . . . . . . . . . . . . . . 50

12 Cruzamento heurstico no uniforme . . . . . . . . . . . . . . . . 50

13 Mutao em um indivduo com representao binria . . . . . . 51

14 Curva tpica de um AG com elitismo em um problema de mi-

nimizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

15 Representao do indivduo . . . . . . . . . . . . . . . . . . . . . . 56

16 Parte de um indivduo com dados reais . . . . . . . . . . . . . . . 57

17 Cruzamento heurstico no uniforme para o indivduo proposto 58

18 Mutao para o indivduo proposto . . . . . . . . . . . . . . . . . 59

19 Aplicao 11.02.03.11 - Relao de prdios e cursos . . . . . . . 61

20 Aplicao 11.02.03.12 - Relao de turmas e sees aba Ca-

dastro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

7

21 Aplicao 11.02.03.12 - Relao de turmas e sees aba Gera-

o Automtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

22 Aplicao 11.02.03.12 - Relao de turmas e sees aba Rela-

trio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

23 Relatrio 11.02.03.12 - Relao turmas sees . . . . . . . . . . . 64

24 Relatrio 11.02.03.12 - Sees crticas . . . . . . . . . . . . . . . . 65

25 Relatrio 11.02.03.12 - Quantidade de turmas por horrio . . . 66

26 Aplicao 11.02.03.13 - Processamento alocao temporria . . 67

27 Aplicao 11.02.03.14 - Alocao temporria . . . . . . . . . . . 68

28 Aplicao 11.02.03.14 - Choques de alocao destacados na cor

vermelha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

29 Aplicao 11.02.03.14 - Excluso e realocao de turmas . . . . 70

30 Aplicao 11.02.03.14 - Alocao definitiva . . . . . . . . . . . . 71

31 Resultado da execuo 2 . . . . . . . . . . . . . . . . . . . . . . . . 73

8

Lista de Tabelas

1 Tamanho das instncias nas diferentes universidades . . . . . . 32

2 Restries de qualidade nas diferentes universidades . . . . . . 34

3 Mtodo e propsitos das funes objetivo nas diferentes uni-

versidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4 Tratamento de restries para o problema da UFU . . . . . . . 55

5 Parmetros de execuo do AG . . . . . . . . . . . . . . . . . . . . 60

6 Resultados de execuo bloco 5O-A . . . . . . . . . . . . . . . . . 73

7 Resultados de execuo para o 2o semestre de 2016 . . . . . . . 75

9

Lista de Abreviaturas e Siglas

AG Algoritmos Genticos

AGc Algoritmo Gentico Compacto

CA Central de Aulas

CT Centro de Tecnologia

ICMC Instituto de Cincias Matemticas e de Computao

PAS Problema de Alocao de Salas

SG Sistema de Gesto

UFPB Universidade Federal da Paraba

UFSM Universidade Federal de Santa Maria

UFU Universidade Federal de Uberlndia

USP Universidade de So Paulo

10

Sumrio

1 Introduo 13

1.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2 Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.4 Estrutura da Dissertao . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2 O Problema de Alocao de Salas 19

2.1 O Processo de Alocao de Salas da UFU . . . . . . . . . . . . . . . . . 20

2.2 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2.1 Problema de Alocao de Aulas: O Caso da Central de Aulas da

UFPB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.2 Soluo do Problema de Alocao de Salas Utilizando um Modelo

Matemtico Multi-ndice . . . . . . . . . . . . . . . . . . . . . . 25

2.2.3 Aplicao da Metaheurstica AGc para o Problema de Alocao

de Aulas Salas . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.3 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3 Algoritmos Genticos 37

3.1 Representao do Indivduo . . . . . . . . . . . . . . . . . . . . . . . . 40

3.2 Inicializao da populao . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.3 Funo de Avaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.4 Seleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.4.1 Seleo por Roleta . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.4.2 Seleo por Torneio . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.4.3 Seleo por Ranking . . . . . . . . . . . . . . . . . . . . . . . . 45

3.5 Cruzamento (Recombinao) . . . . . . . . . . . . . . . . . . . . . . . . 47

3.5.1 Cruzamento de 1 Ponto . . . . . . . . . . . . . . . . . . . . . . 48

3.5.2 Cruzamento de 2 Pontos . . . . . . . . . . . . . . . . . . . . . . 49

3.5.3 Cruzamento Heurstico Uniforme . . . . . . . . . . . . . . . . . 49

3.5.4 Cruzamento Heurstico No Uniforme . . . . . . . . . . . . . . . 50

3.6 Mutao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.7 Escolha de Pais e Filhos Para Prxima Gerao . . . . . . . . . . . . . 51

3.8 Critrios de parada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4 Materiais e Mtodos 54

4.1 Funcionamento do Algoritmo Gentico . . . . . . . . . . . . . . . . . . 54

4.2 Tecnologias Empregadas . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.3 Aplicaes Desenvolvidas como Resultado deste Trabalho . . . . . . . . 60

5 Resultados e Discusses 72

6 Relato do Administrador de Espaos da UFU 77

7 Concluses 79

12

Captulo 1

Introduo

A alocao de espao fsico um problema de otimizao que surge na maioria das ins-

tituies acadmicas. O problema consiste em distribuir pessoas (professores e alunos)

e recursos (equipamentos, aulas, etc.) em espaos fsicos atendendo uma srie de res-

tries e preferncias. O desafio gerar solues timas em tempo aceitvel do ponto

de vista prtico. A alocao no eficiente de espaos e recursos pode resultar em cus-

tos operacionais, transtornos logsticos, insatisfao, entre outros problemas. Devido

complexidade de resoluo do problema, a resoluo de forma manual pode ser inefici-

ente em funo do no atendimento de todas as restries e preferncias. Alm disso,

uma alocao de salas de baixa qualidade pode causar insatisfaes na comunidade

acadmica [1].

O Problema de Alocao de Salas, segundo Schaefer em [2] a distribuio de aulas

para as devidas salas com horrios previamente estabelecidos, respeitando uma srie de

restries, tais como infraestrutura adequada das salas e acessibilidade para os alunos

e docentes. As restries e as necessidades de recursos dificultam a distribuio de

salas, logo, a soluo manual desse problema acarreta em um processo demorado que

requer vrios dias e pode gerar transtornos para o incio das aulas por falta ou erro de

alocao, alm do fluxo acentuado de alunos em deslocamento.

Para Bardadyn em [3] e Carter e Tovey em [4], o PAS faz parte de um conjunto de

problemas de programao de horrios em cursos universitrios (course timetabling).

A conferncia PATAT (International Conference on the Practice and Theory of Auto-

mated Timetabling) que realizou sua 11a edio no ano de 2016, trata especificamente

de problemas de automatizao envolvendo cursos universitrios e refora a relevncia

13

do tema proposto nesse trabalho para a comunidade acadmica.

Na Universidade Federal de Uberlndia, o processo de alocao de espao fsico

ocorre duas vezes por ano. At o primeiro semestre letivo do ano de 2016, o processo

era feito manualmente por um administrador de espaos com a ajuda de at dois

estagirios consumindo um total de 640 horas de trabalho.

A automatizao desse processo de alocao permitiria que o administrador de

espaos da instituio economizasse tempo e esforos. Alm disso, em um cenrio onde

vrias solues pudessem ser obtidas com pouco tempo computacional, o administrador

ganharia tempo para decidir sobre a alocao mais adequada, considerando as restries

e preferncias da instituio.

Schaefer em [2] e de Werra em [5] entendem que essa classe de problemas no pode

ser completamente automatizada. Existem duas justificativas para isto: por um lado,

h razes, que no podem ser facilmente expressas em um sistema automatizado que

tornariam uma alocao melhor que a outra. Por outro, uma vez que o espao de

solues vasto, a interveno humana pode conduzir a busca em direo a regies

promissoras, nas quais o sistema, por si s, dificilmente teria condies de chegar.

Burke e Varley em [6] proporam a utilizao de trs tcnicas metaheursticas para

a automatizao do PAS: subida da encosta (hill-climbing), recozimento simulado (si-

mulated annealing) e algoritmos genticos. Foi demonstrado que a utilizao dessas

tcnicas uma forma promissora de tratar o problema de alocao de espaos em uni-

versidades e que, quanto maior o nmero de restries, menor a probabilidade de se

obter uma soluo aceitvel.

Uma tendncia recente tem sido o desenvolvimento de heursticas hbridas que com-

binam certas caractersticas de uma heurstica com outra, com o objetivo de melhorar

o desempenho pela superao das fraquezas de uma heurstica ou de ambas [7].

14

Apesar dos grandes avanos no projeto de algoritmos de otimizao sofisticados,

ainda existe uma grande preocupao com relao sua utilidade na prtica. De fato,

o desenvolvimento dos computadores permitiu com que os pesquisadores projetassem

metaheurstiscas eficientes para resolver problemas difceis de otimizao combinatria.

Entretanto, muitos desses algoritmos focam na resoluo de problemas acadmicos

encontrados na literatura que muitas vezes no capturam a complexidade de problemas

reais [8].

O trabalho de McCollum em [8] indica claramente que esse autor ficou surpreso em

descobrir que at ento existiam pouqussimos artigos sobre o tema relatando que os

mtodos pesquisados foram implementados e utilizados pela instituio.

A comparao do presente trabalho com outros como Burke e Varley em [6], Cirino

et al. em [9], Henan e Shao-Wen em [10], Landa Silva em [11], Queiroga et al. em

[12] e Sales et al. em [13] uma tarefa com resultados inconclusivos, uma vez que

as restries tratadas e as instncias de problema em cada um desses trabalhos so

diferentes. Para Paechter em [14], mesmo quando existem critrios claros para julgar

diferentes algoritmos de automao para uma mesma instncia de problema, ainda

podem existir dificuldades de se interpretar os resultados significativamente. Paechter

tambm enfatiza sobre a necessidade de se trabalhar com a pessoa que utiliza o sistema

automatizado para melhorar o entendimento de se uma soluo pode ser considerada

boa ou no.

1.1 Objetivo Geral

O objetivo geral deste trabalho construir e implantar um sistema baseado em com-

putao evolutiva para automatizar o processo de alocao de salas da Universidade

Federal de Uberlndia. O sistema construdo deve atender todas as restries que so

15

atendidas pelo processo de alocao de espao fsico feito manualmente.

1.2 Objetivos Especficos

Os objetivos especficos deste trabalho so:

Realizar pesquisa bibliogrfica sobre o problema de alocao de espao fsico e

sobre algoritmos genticos;

Descrever as etapas que envolvem o processo de alocao manual realizado na

UFU e levantar os requisitos necessrios para construo do sistema;

Projetar um sistema que para automatizao do processo de alocao de salas da

UFU que utilize algoritmos genticos;

Construir o sistema e apresentar suas interfaces;

Verificar a viabilidade de aplicao do mtodo com o sistema construdo utili-

zando dados reais;

Implantar o sistema e apresentar os resultados provenientes de sua utilizao para

a alocao de salas no 2o semestre de 2016;

1.3 Metodologia

O motivo principal que determina a realizao da pesquisa nesse trabalho de ordem

prtica, pois decorre da necessidade de tornar mais eficiente o processo de alocao de

salas da UFU.

A pesquisa realizada no presente trabalho enquadra-se no campo das pesquisas

Terico-Aplicada Descritiva. O principal objetivo da pesquisa descritiva a descrio

16

das caractersticas de determinada populao ou fenmeno ou, ento, o estabeleci-

mento de relaes entre variveis, cuja principal caracterstica reside na utilizao de

tcnicas padronizadas para a coleta de dados, tais como o questionrio e a observao

sistemtica.

A adoo deste conceito parece adequada para a realizao desta pesquisa, dado

que o objetivo desenvolver um sistema para automatizar o processo de alocao de

salas da UFU, que proporcionaria a execuo desse processo de maneira mais rpida e

eficiente.

Em um primeiro momento, este trabalho consiste de uma pesquisa bibliogrfica

sobre o assunto em questo, com a finalidade de buscar informaes sobre a utilizao

atual, bem como ter uma viso geral dos trabalhos j realizados. Em seguida ser

realizado um estudo de campo, pois o processo de alocao de salas da UFU ser inves-

tigado a fundo proporcionando que o pesquisador compreenda todas as necessidades

do processo atual.

Sero utilizados dados reais referente oferta de disciplinas da UFU no primeiro e

segundo semestre de 2016.

1.4 Estrutura da Dissertao

O trabalho est dividido em 7 captulos da seguinte forma:

Captulo 1 - Introduo: apresentao das consideraes iniciais, objetivos,

justificativa e metodologia;

Captulo 2 - O Problema de Alocao de Salas: contextualizao do pro-

blema de alocao de salas, exposio do caso da UFU e de outras universidades;

Captulo 3 - Algoritmos Genticos: reviso dos conceitos de Algoritmos

17

Genticos e suas caractersticas fundamentais;

Captulo 4 - Materiais e mtodos: interpretao computacional para o pro-

blema da UFU utilizando algoritmos genticos e a apresentao das aplicaes

criadas;

Captulo 5 - Resultados e Discusses: apresentao da anlise dos resultados

para o conjunto de dados utilizado;

Captulo 6 - Relato do Administrador de Espaos da UFU: exibio

da contribuio do sistema proposto para o processo de alocao de salas da

universidade;

Captulo 7- Concluses: apresentao da concluso sobre a pesquisa realizada.

18

Captulo 2

O Problema de Alocao de Salas

O problema de alocao de salas em uma instituio acadmica definido como a atri-

buio de um conjunto finito de aulas, distribudas em diferentes intervalos de tempo,

em um conjunto tambm finito de salas, respeitando uma srie de restries operacio-

nais e de preferncias [4]. O problema considera que existem horrios preestabelecidos

do incio e trmino das aulas e um conjunto de salas onde estas ocorrero. Nesse sen-

tido, o problema incide em determinar uma alocao das turmas em salas de aula de

forma que requisitos considerados essenciais sejam acatados, tornando vivel uma ou

mais solues[15].

Para Carter e Tovey em [4], o PAS um problema de otimizao combinatria.

Problemas de otimizao combinatria so caracterizados por um nmero finito de

solues admissveis e so comuns na vida cotidiana e na engenharia. Uma rea im-

portante de aplicaes est relacionada utilizao eficiente de recursos escassos para

aumentar a produtividade. Alguns problemas de otimizao combinatria encontrados

na engenharia so: empacotamento, mochila, agendamento de mquinas, roteamento

de veculos, caixeiro viajante, entre outros [16].

Em grande parte dos casos estudados, o problema tem sido classificado como NP-

difcil, o que na prtica pode inviabilizar sua resoluo por processo manual ou por

algoritmos determinsticos para grande volume de dados, pois o espao de solues

cresce exponencialmente inviabilizando assim uma soluo tima em tempo razovel.

Nesses casos, uma alternativa vivel a resoluo por tcnicas heursticas ou algorit-

mos aproximativos que, apesar de no garantirem solues timas, podem gerar boas

solues com um custo computacional razovel e adequado s necessidades da aplicao

19

[3].

2.1 O Processo de Alocao de Salas da UFU

A Universidade Federal de Uberlndia possui campi nas cidades de Uberlndia, Ituiu-

taba, Patos de Minas e Monte Carmelo todos no estado de Minas Gerais. Apenas

na cidade sede, so 245 salas de aula distribudas em 3 campi e 14 blocos (prdios)

diferentes.

O processo de alocao de salas da UFU acontece uma vez por semestre letivo,

sendo que em cada um mais de 4000 turmas devem ser distribudas no espao fsico

disponvel. Feito manualmente, o processo leva aproximadamente 640 horas para ser

executado.

O processo de alocao iniciado assim que a oferta de disciplinas para o prximo

semestre finalizada. Na oferta de disciplinas, cada coordenao de curso indica as

disciplinas que sero disponibilizadas para matrcula no prximo semestre. Cada turma

ofertada exige o preenchimento das seguintes informaes:

Curso ofertante;

Cdigo e nome da disciplina;

Perodo ideal (perodo no qual a disciplina se encontra no currculo do curso);

Cdigo da turma;

Quantidade de vagas oferecidas;

Dias da semana;

Horrio de realizao;

20

Data de incio e fim do perodo;

Necessidade de alocao de sala em espao fsico comum da universidade (SIM

ou NO);

Necessidade de utilizao de pranchetas (SIM ou NO).

Apenas as salas em comum da universidade so disponibilizadas para alocao.

Algumas unidades acadmicas possuem suas prprias salas e laboratrios que podem

ser utilizados para as disciplinas ofertadas. Nesses casos, deve ser indicado que no

existe necessidade de alocao de sala para a turma.

A maior parte das coordenaes de curso monta sua grade horria tentando privile-

giar os alunos que cursam apenas as disciplinas de determinado perodo. Dessa forma,

os horrios das disciplinas de um mesmo perodo so encaixados para que esses alunos

tenham aulas sempre em um mesmo turno (matutino, vespertino ou noturno) e no

haja horrios vagos. Mas nem todas as coordenaes conseguem planejar os horrios

dessa forma.

Vale ressaltar ainda que, por inmeros fatores (reprovaes, adiantamento de dis-

ciplinas, entre outros), casos de alunos que no cursam apenas as disciplinas de seu

perodo ideal so frequentes.

O principal objetivo considerado no processo de alocao de salas fazer a alocao

de espao fsico por perodo de cada curso, ou seja, acomodar todas as disciplinas de

um determinado perodo de um curso em uma mesma sala, desde que os horrios se

encaixem. Um objetivo secundrio tentar alocar todas as turmas de um curso em um

nico bloco. Esses objetivos tentam minimizar o deslocamento entre salas de alunos e

professores.

Levando em considerao as necessidades de cada curso, as caractersticas das salas

disponveis em cada bloco e a proximidade entre os blocos, o administrador de espaos

21

da instituio criou uma relao de cursos e blocos. Essa relao indica para qual bloco

as turmas de um determinado curso e perodo devem ser direcionadas.

A partir da lista de disciplinas ofertadas e da relao de cursos e blocos, o adminis-

trador de espaos cria um plano de alocao de modo que as disciplinas de um mesmo

perodo e curso sejam alocadas em uma mesma sala sempre que possvel.

Os objetivos considerados no processo manual de alocao de salas so transforma-

dos nos seguintes requisitos para construo do sistema:

Utilizar a relao de cursos e blocos para a alocao de espao fsico;

necessrio alocar todas as turmas ofertadas que indicarem a necessidade de

alocao de sala em espao fsico comum;

Alocar turmas do mesmo curso e perodo em uma nica sala quando os horrios

estiverem encaixados;

Em uma mesma sala, horrio e perodo no pode haver mais de uma turma;

Uma sala no pode receber uma turma cuja quantidade de alunos seja superior

sua capacidade;

Turmas sem necessidade de prancheta devem ser alocadas apenas em salas com

carteiras; turmas com necessidade de prancheta devem ser alocadas apenas em

salas com pranchetas.

2.2 Trabalhos Relacionados

Esta seo do captulo apresenta trs trabalhos relacionados ao tema dessa dissertao

que foram publicados na 47a edio do Simpsio Brasileiro de Pesquisa Operacional

22

(XLVII SBPO) no ano de 2015. O simpsio um evento anual promovido pela Socie-

dade Brasileira de Pesquisa Operacional.

Foram selecionados apenas trabalhos de universidades brasileiras por possurem

maior semelhana com a cultura educacional da Universidade Federal de Uberlndia.

Os trabalhos descritos a seguir fornecem evidncias da importncia, complexidade

e diversidade do problema de alocao de salas.

2.2.1 Problema de Alocao de Aulas: O Caso da Central de Aulas da

UFPB

Os autores Queiroga, Jnior e Cabral em [12] propem a utilizao de um modelo

baseado em Programao Linear Inteira para resolver o PAS na Central de Aulas (CA)

da Universidade Federal da Paraba (UFPB). A tarefa era realizada manualmente e

as solues obtidas eram repletas de inconsistncias, tais como choques de horrio e

desconsiderao das capacidades das salas.

Na UFPB, em boa parte dos casos, a alocao das aulas feita em duas etapas:

em um primeiro momento, os gestores de cada centro tentam alocar suas demandas

de aulas utilizando as instalaes (salas de aula/laboratrios) que lhes so disponveis.

Caso a quantidade de aulas com necessidade de alocao exceda o nmero de salas

disponveis em cada centro, a demanda excedente encaminhada para ser alocada na

central de aulas. Assim, no geral, as salas da CA recebem as aulas excedentes que no

puderam ser alocadas nas instalaes dos seus respectivos centros de origem [12].

O estudo de caso foi realizado utilizando dados do segundo semestre letivo de 2014,

sendo que 1131 aulas de 645 turmas deveriam ser alocadas em 60 salas de 7 blocos

diferentes [12].

As principais restries no problema foram [12]:

23

Todas as aulas devem ser alocadas em uma sala em um determinado horrio;

Duas aulas no podem ser alocadas em uma mesma sala no mesmo horrio/dia

da semana;

A quantidade de alunos de uma turma no pode exceder a capacidade da sala;

O indicador de qualidade considerado para anlise da soluo foi o nmero de

aulas de uma mesma turma alocadas em salas diferentes.

A funo objetivo do trabalho visa minimizar o nmero de aulas de uma mesma

turma alocadas em salas diferentes [12]. O modelo matemtico proposto apresentado

na Figura 1.

Figura 1: Modelo matemtico da funo objetivo UFPB [12]

24

Os autores concluem que o modelo matemtico proposto se mostrou eficiente na

resoluo do PAS. O resultado da alocao manual foi comparado com o resultado

da alocao automtica e a soluo produzida automaticamente apresentou poucas

inconsistncias pois: proibiu a existncia de choques de horrio, reduziu o estouro das

capacidades existentes, fez uma melhor utilizao da capacidade das salas alm de

alocar em uma mesma sala aulas de uma mesma turma [12].

2.2.2 Soluo do Problema de Alocao de Salas Utilizando um Modelo

Matemtico Multi-ndice

Os autores Sales, Mller e Simonetto em [13] propem desenvolver um modelo mate-

mtico adequado para o PAS do Centro de Tecnologia (CT) da Universidade Federal

de Santa Maria (UFSM) .

O CT-UFSM hospeda 12 cursos de graduao. O campus possui cinco blocos,

contendo um total de 50 salas de aula: 3 laboratrios, 2 salas com mesas de desenho

alta, 1 sala com mesas de desenho baixa e as demais com mesas escolares. As salas

possuem capacidade entre 25 e 50 alunos e possuem quadros do tipo branco e verde

[13].

As restries do problema so divididas em restries essenciais e restries de

qualidade [13].

As restries essenciais so:

Toda disciplina deve ser alocada em cada perodo que ocupa;

A sala pode ter no mximo 1 disciplina em cada horrio;

A capacidade da sala deve ser maior/igual que a oferta de vagas da disciplina;

As disciplinas que requerem mesas de desenho alta devem ficar nesse tipo de sala;

25

As disciplinas que requerem mesas de desenho baixa devem ficar nesse tipo de

sala.

As restries de qualidade so:

As salas designadas devem estar prximas da unidade acadmica de origem;

Manter o professor na mesma sala de aula na maior parte do tempo;

Professores que desejam salas com quadro branco no devem ficar em salas com

quadro verde;

Professores que desejam salas com quadro verde no devem ficar em salas com

quadro branco.

A funo objetivo do trabalho busca minimizar a quantidade de assentos vazios,

alm de diminuir a distncia percorrida pelos professores [13]. O modelo matemtico

proposto apresentado nas Figuras 2 e 3.

26

Figura 3: Modelo matemtico da funo objetivo UFSM parte 2 [13]

28

Os resultados computacionais, obtidos a partir do solver IBM ILOG CPLEX Op-

timization Studio 12.4 indicaram uma melhor distribuio dos espaos de modo que

em muitas das solues houve sobra de salas em comparao com a soluo manual

vigente [13].

2.2.3 Aplicao da Metaheurstica AGc para o Problema de Alocao de

Aulas Salas

Os autores Cirino, Santos e Delbem em [9] propem a resoluo do PAS do Instituto

de Cincias Matemticas e de Computao (ICMC) da Universidade de So Paulo

(USP) por meio das heursticas: Algoritmo Gentico Compacto (AGc) e Algoritmo de

Estimulao de Distribuio.

O ICMC-USP possui 23 salas de aula distribudas em 4 blocos, onde so ministradas

cerca de 260 aulas para 140 turmas. No estudo, cada turma est associada a um ou

mais perfis de alunos que so conjuntos de discentes que dividem o mesmo curso e ano

de ingresso e, portanto, esto cursando um conjunto preestabelecido de turmas [9].

As restries do problema esto divididas em restries essenciais e restries de

qualidade [9].

As restries essenciais so:

Todas as aulas devem ser alocadas em alguma sala;

As aulas no podem ser sobrepostas na sala, ou seja, duas aulas com sobreposio

de horrio no podem ser simultaneamente alocadas na mesma sala;

As aulas s podero ser alocadas em salas que atendam suas demandas de requi-

sitos e capacidade para acomodar todos os participantes.

As restries de qualidade so:

29

Alocar aulas em salas que possuem capacidade o mais prximo possvel do nmero

de inscritos da aula;

Alocar todas as aulas de uma mesma turma em uma mesma sala;

Reduzir o deslocamento dos perfis de aluno, ou seja, alocar todas as aulas dos

perfis em salas prximas umas das outras;

Evitar o uso de salas preferencialmente vazias;

Alocar as aulas dos perfis respeitando as preferncias por salas dos mesmos.

A funo objetivo do trabalho busca minimizar: o percentual de assentos vazios nas

salas de aula, o nmero de troca de salas de uma mesma turma, a preterncia dos perfis,

o uso de salas preferencialmente vazias e o deslocamento das turmas considerando as

distncias entre as salas [9]. O modelo matemtico proposto apresentado na Figura

4.

30

Figura 4: Modelo matemtico da funo objetivo USP [9]

31

Os resultados foram obtidos com a utilizao de 3 instncias fictcias e uma instncia

real. A anlise final foca na comparao entre as diferentes heursticas [9].

2.3 Consideraes Finais

Como j mencionado no Captulo 1, a comparao deste trabalho com outros uma

tarefa com resultados inconclusivos, uma vez que as restries tratadas e as instncias

de dados utilizadas so diferentes das restries e instncias da UFU. O restante desse

captulo tem a finalidade de mostrar que os trabalhos lidam com instncias de tamanhos

diferentes, alm de enaltecer as caractersticas nicas desse trabalho que o diferencia

dos outros.

A Tabela 1 apresenta o tamanho das instncias de cada um dos trabalhos relatados.

Tabela 1: Tamanho das instncias nas diferentes universidades

UFU CA-UFPB CT-UFSM ICMC-USP

Turmas(UFU)/Aulas(Outros) 4000 1131 No indicado 260

Salas 245 60 50 23

Blocos 14 7 5 4

Um fator a ser destacado que, diferentemente deste, em nenhum dos trabalhos

relacionados mencionado que o sistema de automatizao proposto foi realmente

adotado pelas respectivas universidades.

Com relao s restries, algumas delas so comuns em todos os trabalhos que

abordam o tema e so responsveis pelas caractersticas essenciais do PAS. As restries

comuns so listadas abaixo:

Todas as turmas devem ser alocadas em alguma sala;

Em uma mesma sala, horrio e perodo no pode haver mais de uma turma;

32

Uma sala no pode receber uma turma cuja quantidade de alunos seja superior

sua capacidade.

Algumas das restries de qualidade mencionadas nos trabalhos relacionados podem

ser equiparadas com a relao de cursos e blocos da UFU, uma vez que esta foi criada

levando em conta as caractersticas das salas disponveis em cada bloco e a proximidade

entre eles. A Tabela 2 indica essas restries:

33

Tabela 2: Restries de qualidade nas diferentes universidades

UFU CA-UFPB CT-UFSM ICMC-USP

Adequao relao

de cursos e blocosNenhuma

As salas designa-

das devem estar

prximas do depar-

tamento de origem

Alocar aulas em sa-

las que possuem ca-

pacidade o mais pr-

ximo possvel do n-

mero de inscritos da

aula

Professores que dese-

jam salas com qua-

dro branco no de-

vem ficar em salas

com quadro verde

Reduzir o desloca-

mento dos perfis de

aluno, ou seja, alocar

todas as aulas dos

perfis em salas prxi-

mas umas das outras

Professores que dese-

jam salas com qua-

dro verde no devem

ficar em salas com

quadro branco

Alocar as aulas dos

perfis respeitando as

preferncias por salas

dos mesmos

34

Apesar dos trabalhos relacionados utilizarem heursticas diferentes, todos eles pos-

suem uma funo objetivo. Essas funes apresentadas nas Figuras 1, 2, 3 e 4 ex-

pressam cada uma das restries tratadas nos trabalhos e isso faz com que elas sejam

demasiadamente complexas. Um outro ponto diferencial desse trabalho que a funo

objetivo proposta lida exclusivamente com a quantidade de choques de horrio. A

Tabela 3 faz um resumo dos mtodos de busca e propsitos das funes objetivo nos

diferentes trabalhos.

Tabela 3: Mtodo e propsitos das funes objetivo nas diferentes universidades

Instituio Mtodo Funo objetivo

UFU Algoritmos genticosMinimizar a quantidade de choques

de alocao

CA-UFPBProgramao linear

inteira

Minimizar o nmero de aulas de

uma mesma turma alocadas em

salas diferentes

CT-UFSMModelo matemtico

multi-ndice

Minimizar a quantidade de assentos

vazios, alm de diminuir a distncia

percorrida pelos docentes

ICMC-USP

Algoritmo gentico compacto e

algoritmo de estimulao de

distribuio

Minimizar o percentual de assentos

vazios nas salas de aula, o nmero

de troca de salas de uma mesma

turma, a preterncia dos perfis,

o uso de salas preferencialmente

vazias e o deslocamento das turmas

considerando as distncias entre as

salas

35

As outras restries so tratadas pela representao do indivduo, as operaes gen-

ticas especficas e a utilizao de expresses condicionais. No Captulo 4 encontram-se

explicaes detalhadas sobre o tratamento de restries desse trabalho.

36

Captulo 3

Algoritmos Genticos

Algoritmos genticos so algoritmos de busca baseados nos mecanismos de seleo

natural e gentica. Eles combinam a sobrevivncia do mais apto com uma forma

estruturada de troca de informao gentica entre dois indivduos para formar uma

estrutura heurstica de busca [17].

Os AGs foram desenvolvidos por John Holland e seus colegas da Universidade de

Michigan. Os objetivos de suas pesquisas foram dois: (1) abstrair e explicar rigorosa-

mente o processo adaptativo de sistemas naturais e (2) projetar sistemas artificiais que

mantm os mecanismos importantes dos sistemas naturais. Esta abordagem trouxe

descobertas importantes na cincia de sistemas artificiais e naturais [18].

O tema central da pesquisa em algoritmos genticos tem sido a robustez, o equilbrio

necessrio entre eficincia e eficcia para a sobrevivncia em diferentes ambientes. As

implicaes da robustez para sistemas artificiais so diversas. Se sistemas artificiais

podem ser feitos mais robustos, muitas reformulaes dispendiosas podem ser reduzidas

ou eliminadas. Se altos nveis de adaptao podem ser alcanados, os sistemas j

existentes podem realizar suas funes de melhor forma [18].

AGs pertencem classe de algoritmos probabilsticos, pois eles combinam elemen-

tos de busca direta e estocstica. Por causa disso, o AG mais robusto que outros

mtodos de busca direta. Enquanto o AG mantm a populao de solues potenciais,

todos os outros mtodos processam um nico ponto no espao de busca. Por todos

esses atributos, os AGs so destinados para problemas complexos de otimizao como

escalonamento, problemas de transporte, problemas do caixeiro viajante, otimizao

de consultas de banco de dados, entre outros [19].

37

AGs pertencem a famlia de modelos computacionais inspirados na evoluo que

incorporam uma soluo potencial para um problema especfico, em uma estrutura

semelhante a de um cromossomo e aplicam operadores de seleo e cruzamento de forma

a preservar informaes crticas relativas soluo do problema. Deve ser observado

que cada cromossomo, chamado de indivduo no AG, corresponde a um ponto no espao

de solues do problema de otimizao [17].

De acordo com Michalewicz em [19], um algoritmo gentico para um determinado

problema deve conter os seguintes componentes:

Uma representao gentica para as potenciais solues do problema;

Uma maneira de criar uma populao inicial de possveis solues;

Uma funo de avaliao que se comporta como o ambiente, classificando solues

em termos de suas aptides (fitness);

Operadores genticos (recombinao e mutao) que alteram a composio dos

filhos (solues descendentes);

Valores para vrios parmetros que os algoritmos genticos utilizam (tamanho

da populao, probabilidade de aplicao de operadores genticos, entre outros).

A principal ideia dos algoritmos genticos criar uma populao de indivduos e,

durante certo nmero de iteraes (geraes), evoluir esta populao atravs de auto-

adaptao e recombinao [11]. Os passos gerais de um AG so:

1. Criar uma populao inicial aleatoriamente ou atravs de heurstica apropriada;

2. Avaliar os indivduos da populao atual a partir de uma funo de avaliao;

3. Selecionar indivduos para serem pais, segundo sua aptido;

38

3.1 Representao do Indivduo

Em algoritmos genticos, um indivduo uma soluo, uma soluo parcial ou um

conjunto de solues. A representao do indivduo em algoritmos genticos chamada

de cromossomo. A escolha de um cromossomo apropriado um assunto importante,

porque tal representao deve ser adequada para o funcionamento eficaz dos operadores

genticos e tambm pode ajudar a lidar com as restries do problema. Representaes

comuns para cromossomos utilizam strings binrias. Em muitos casos, estruturas mais

complexas so projetadas para representar indivduos para problemas do mundo real

[18].

Para muitos problemas na engenharia quase impossvel representar solues pela

representao binria. Por causa disso, vrios mtodos de codificao foram criados em

uma variedade de problemas para fornecer uma implementao efetiva dos algoritmos

genticos. De acordo com o tipo de smbolo que os alelos de um gene podem assumir,

os mtodos de codificao podem ser classificados como [16]:

Codificao binria;

Codificao por nmeros reais;

Codificao por nmeros inteiros ou permutao literal;

Codificao pela estrutura de dados geral.

A codificao por nmeros reais a mais adequada para problemas de otimizao de

funes. Foi confirmado por inmeros desenvolvedores que a codificao por nmeros

reais tem melhor desempenho que a codificao binria para a otimizao de funes

[16].

40

A codificao por nmeros inteiros ou permutao literal melhor utilizada para

problemas de otimizao combinatria, uma vez que a essncia dos problemas de oti-

mizao combinatria a busca pela melhor combinao de itens submetidos deter-

minadas restries [16].

Para problemas reais mais complexos sugerido uma estrutura de dados apropriada

como o alelo do gene, garantindo a captura da natureza do problema [16].

3.2 Inicializao da populao

Os AGs so algoritmos de busca estocsticos baseados em populao. Cada AG man-

tm uma populao de solues candidatas. O primeiro passo na aplicao do AG em

um problema de otimizao gerar uma populao inicial. O mtodo mais comum na

gerao de uma populao inicial atribuir um valor aleatrio do domnio permitido

para cada gene no cromossomo. O objetivo da atribuio de nmeros aleatrios ga-

rantir que a populao inicial seja uma representao uniforme de todo o espao de

busca. Se regies do espao de busca no forem cobertas pela inicializao da popula-

o, ento existem chances de que essas regies sejam negligenciadas pelo processo de

busca [20].

O tamanho da populao inicial influencia na complexidade computacional e nas

habilidades de explorao. Um grande nmero de indivduos aumenta a diversidade,

melhorando as habilidades de explorao da populao. Entretanto, quanto mais in-

divduos, maior a complexidade computacional por gerao. Ao passo que o tempo

de execuo por gerao aumenta, pode ser o caso em que uma menor quantidade de

geraes sejam necessrias para localizar uma soluo aceitvel. Por outro lado, uma

populao pequena representar uma pequena parte do espao de busca. Nesse caso, o

tempo de execuo por gerao pequeno, mas o AG pode precisar de mais geraes

41

para convergir [20].

3.3 Funo de Avaliao

No modelo de evoluo Darwiniano, os indivduos com as melhores caractersticas pos-

suem melhores chances de sobreviver e de se reproduzir. Com o intuito de determinar a

habilidade de um indivduo sobreviver, uma funo matemtica utilizada para avaliar

a soluo representada por um cromossomo. A funo de avaliao (fitness function),

f mapeia a representao do cromossomo em um valor escalar [20].

A funo de avaliao a maneira utilizada pelos AGs para determinar a qualidade

de um indivduo como soluo do problema em questo. A funo de avaliao deve,

portanto, ser escolhida com cuidado. Ela deve incluir todo o conhecimento que se

possui sobre o problema a ser resolvido, tanto com relao s suas restries quanto

aos seus objetivos de qualidade [17].

Para Engel em [20], a funo de avaliao representa a funo objetivo que, por

sua vez, descreve um problema de otimizao. Os diferentes tipos de problemas de

otimizao influenciam na formulao da funo de avaliao. Dessa forma:

Problemas sem restries: a funo de avaliao simplesmente a funo

objetivo.

Problemas com restries: para resolver este tipo de problema, alguns AGs

mudam sua funo de avaliao para conter dois objetivos, o objetivo original e

a penalidade referente restrio.

Problemas multi-objetivo: podem ser resolvidos usando uma abordagem de

agregao ponderada, onde a funo de avaliao uma soma ponderada de

todos os sub-objetivos, ou pela utilizao de algoritmos de otimizao baseados

42

nas fronteiras de Pareto.

3.4 Seleo

O princpio por trs dos algoritmos genticos essencialmente a seleo natural de

Darwin. A seleo fornece a fora condutora (conhecida como presso evolucionria ou

presso seletiva) em um algoritmo gentico. Com muita presso, a busca gentica ir

terminar prematuramente (convergncia prematura); com pouca presso, o progresso

evolucionrio ser mais lento do que o necessrio (difcil convergncia). A seleo

direciona a busca gentica para regies promissoras no espao de busca [16].

Para formar uma nova populao, os indivduos so selecionados com probabilidade

proporcional ao seu fitness. Isso garante que o nmero esperado de vezes que um

indivduo escolhido aproximadamente proporcional ao seu desempenho relativo na

populao, proporcionando aos melhores indivduos mais chances de se reproduzir [21].

Muitos mtodos de seleo j foram propostos, sendo alguns dos mtodos mais

comuns:

Seleo por Roleta;

Seleo por Torneio;

Seleo por Ranking.

3.4.1 Seleo por Roleta

A roleta um tipo de seleo proporcional que influencia o processo de seleo em

direo aos indivduos mais aptos. Aps a avaliao fi de cada indivduo em uma

determinada gerao e assumindo que n o tamanho da populao, o fitness total da

43

populao obtido atravs da Equao (1):

S =n

i=1

fi (1)

Em seguida, uma probabilidade designada para cada indivduo da populao, con-

forme a Equao (2):

pi =fi

S(2)

Finalmente, uma probabilidade acumulada obtida para cada indivduo pela adio de

sua probabilidade com a probabilidade acumulada dos membros anteriores, conforme

a Equao (3):

ci =i

k=1

pk, i = 1, 2, ..., n (3)

Um nmero aleatrio r distribudo uniformemente no intervalo [0, 1] sorteado por n

vezes e, em cada vez, um indivduo i selecionado tal que ci1 < r < ci. Quando r < c1

o primeiro indivduo selecionado. Esse processo pode ser visualizado como o giro de

uma roleta dividida em n pedaos, em que cada pedao possui tamanho proporcional

ao fitness do indivduo.

3.4.2 Seleo por Torneio

O mtodo de torneio consiste em selecionar uma srie de indivduos da populao e

fazer com que eles entrem em competio pelo direito de ser pai, usando como arma a

sua avaliao [17].

Nesse mtodo existe um parmetro denominado, tamanho do torneio (k), que define

quantos indivduos so selecionados aleatoriamente dentro da populao para competir

entre si. Uma vez definidos os competidores, aquele dentre eles, que possuir a melhor

avaliao selecionado para aplicao do operador gentico [17].

O valor mnimo de k igual a 2, pois do contrrio no haver competio. Se

for escolhido o valor igual ao tamanho da populao (n) o vencedor ser sempre o

44

vergncia gentica que tenha ocorrido na populao no decorrer do algoritmo gentico

[17].

Aps a ordenao de indivduos, deve-se fazer o seu mapeamento para uma funo

de avaliao. Uma opo de mapeamento possvel o mtodo linear, em que cada

indivduo recebe uma avaliao igual a [17]:

E(i, t) = Min+ (MaxMin).rank(i, t) 1

N 1(4)

onde:

E(i,t) o valor do mapeamento para o indivduo i na gerao t ;

Min o valor da avaliao que ser atribudo ao indivduo pior colocado no

ranking ;

Max o valor da avaliao que ser atribudo ao indivduo melhor colocado no

ranking ;

N o nmero de indivduos na populao;

rank(i,t) o ranking do indivduo i na populao mantida pelo AG na gerao t ;

Uma vez definidos os novos valores de avaliao destes indivduos, um mtodo

tradicional, tal como o da roleta viciada, pode ser utilizado para escolha dos pais que

sero submetidos aos operadores genticos. A Figura 7 ilustra a seleo por ranking

com Min=0,9 e Max=1,1.

46

Figura 7: Mtodo de seleo por ranking [17]

O problema deste e de todos os mtodos que reduzem a presso seletiva que o AG

pode levar um tempo maior para convergir para uma soluo com uma alta funo de

avaliao. Entretanto, a manuteno da diversidade na populao garante que o AG

varra um pedao maior do espao de solues, ficando menos suscetvel captura de

mximos locais [17].

3.5 Cruzamento (Recombinao)

O cruzamento o operador de recombinao mais importante, ele utiliza dois indiv-

duos, chamados de pais, e produz dois novos indivduos, chamados de filhos, atravs

da troca de partes dos cromossomos dos pais. Atravs do cruzamento, a busca di-

recionada para regies promissoras do espao de busca [21], ou seja, o operador

determinante da convergncia do algoritmo.

Landa Silva em [11] testou quatro formas de cruzamento para o PAS:

Cruzamento de 1 ponto;

Cruzamento de 2 pontos;

Cruzamento heurstico uniforme;

Cruzamento heurstico no uniforme;

47

Figura 9: Cruzamento de 1 ponto [17]

3.5.2 Cruzamento de 2 Pontos

O funcionamento dessa operao similar ao cruzamento de 1 ponto, com um pequeno

acrscimo: ao invs de sortear um ponto de corte, dois pontos de corte so sorteados.

O primeiro filho ser formado pela parte do primeiro pai fora dos pontos de corte e

pela parte do segundo pai entre os pontos de corte e o segundo filho ser formado pelas

partes restantes [17]. A Figura 10 exemplifica essa forma de cruzamento.

Figura 10: Cruzamento de 2 pontos [17]

3.5.3 Cruzamento Heurstico Uniforme

No cruzamento heurstico uniforme, cada par de genes correspondentes nos dois pais

so comparados em termos do seu fitness local. O gene com maior fitness copiado

para um dos filhos enquanto o outro gene copiado para o segundo filho [11]. A Figura

11 exemplifica essa forma de cruzamento.

49

3.6 Mutao

Em um AG simples a mutao uma alterao aleatria ocasional (com pequena

probabilidade) do valor de um gene. A mutao necessria porque, apesar de a

seleo e o cruzamento buscarem e recombinarem efetivamente, ocasionalmente, eles

podem tornar-se super-zelosos e perderem algum material gentico potencialmente til.

O operador de mutao protege contra essa perda irrecupervel [18].

A mutao ocorre para que os filhos possam ter caractersticas que no foram herda-

das diretamente dos seus pais, garantindo assim uma maior diversidade da populao

gerada. Considerando um indivduo com representao binria, a operao de mutao

pode ser exemplificada pela Figura 13.

Figura 13: Mutao em um indivduo com representao binria

A mutao em indivduos com representao binria a simples troca de um bit 0

por um bit 1, ou a troca de um bit 1 por um bit 0.

3.7 Escolha de Pais e Filhos Para Prxima Gerao

Uma vez que os operadores de cruzamento e mutao tenham sido aplicados, neces-

srio decidir quais indivduos daquela gerao sero substitudos pela nova prole para

formar a nova populao. Uma estratgia no elitista substitui todos os indivduos da

populao atual, enquanto uma estratgia elitista mantm os melhores indivduos para

51

que seu material gentico possa ser transferido para as prximas geraes [22].

O elitismo uma pequena alterao no mdulo de populao que praticamente no

altera o tempo de processamento de um AG. O elitismo garante que o desempenho do

AG sempre cresa com o decorrer das geraes [17].

A ideia bsica do elitismo que os n melhores indivduos de cada gerao no devem

morrer, eles devem passar para a prxima gerao para garantir que seus genomas sejam

preservados [17].

A manuteno do melhor indivduo da gerao t na populao da gerao t+1

garante que o melhor indivduo da gerao t+1 pelo menos igual que o melhor

indivduo da gerao t [17].

A curva de desempenho tpica de um problema de minimizao em um AG com

elitismo indicada pela Figura 14.

Figura 14: Curva tpica de um AG com elitismo em um problema de minimizao

3.8 Critrios de parada

Os operadores genticos so aplicados iterativamente em um AG at que uma condio

de parada seja alcanada. A condio de parada mais simples limitar o nmero

de geraes que um AG pode executar. O limite no deve ser muito pequeno, caso

contrrio, o AG no ter tempo suficiente para explorar o espao de busca [20].

Alm de limitar a quantidade de geraes, um critrio de convergncia utilizado

52

para detectar se a populao convergiu. A convergncia vagamente definida como um

evento em que a populao se torna estagnada. Os seguintes critrios de convergncia

podem ser utilizados [20]:

Terminar quando nenhuma melhora observada em um certo nmero consecutivo

de geraes;

Terminar quando no existe mudana no fitness mdio da populao;

Terminar quando uma soluo aceitvel for encontrada;

53

Captulo 4

Materiais e Mtodos

4.1 Funcionamento do Algoritmo Gentico

O PAS um problema de otimizao combinatria que caracterizado pelas suas

restries. Para Engel em [20], as restries colocam limitaes no espao de busca,

especificando regies no espao que contm solues no admissveis. O objetivo dos

algoritmos de otimizao nesses casos encontrar solues que estejam em regies

admissveis.

Em problemas com restries, a utilizao de operadores genticos nos indivduos

faz com que seja muito provvel a criao de solues no admissveis. Tcnicas de

tratamento de restries para algoritmos genticos podem ser agrupadas em trs cate-

gorias [19]:

1. Permitir a violao de restries, mas penaliz-las;

2. Aplicar heursticas especiais de reparao para corrigir as solues no admiss-

veis;

3. Utilizar representaes especiais de indivduos para garantir ou aumentar a pro-

babilidade de gerao de apenas solues admissveis ou utilizar operadores es-

pecficos para o problema que preservem a viabilidade das solues.

Considerando os requisitos computacionais da UFU indicados no Captulo 2, verifica-

se que o requisito Utilizar a relao de cursos e blocos para a alocao de espao fsico

no uma restrio para o AG. De acordo com as tcnicas para tratamento de restri-

es listadas, foi determinado que o indivduo tenha uma representao especial e que

54

as operaes de inicializao, cruzamento e mutao sejam especficas para o problema.

A Tabela 4 indica como feito o tratamento das restries para o problema da UFU.

Tabela 4: Tratamento de restries para o problema da UFU

Restrio Tratamento

Alocar todas as turmas ofertadas que

indicarem a necessidade de alocao

de sala

Representao do indivduo

Alocar turmas do mesmo curso e perodo

em uma nica sala quando os horrios

estiverem encaixados

Representao do indivduo e

operaes genticas especficas

Em uma mesma sala, horrio e perodo

no pode haver mais de uma turmaFuno de avaliao

Uma sala no pode receber uma turma

cuja quantidade de alunos seja superior

a sua capacidade

Inicializao da populao

e mutao - lgica condicional

Turmas sem necessidade de prancheta

devem ser alocadas apenas em salas

com carteiras;

turmas com necessidade prancheta

devem ser alocadas apenas em salas

com pranchetas

Inicializao da populao

e mutao - lgica condicional

O indivduo do problema representado por um cromossomo de tamanho igual

quantidade de turmas que devem ser direcionadas a um determinado bloco da univer-

sidade, e cada turma representada por um gene do cromossomo. Os valores que os

55

Figura 16: Parte de um indivduo com dados reais

A inicializao da populao para o problema em questo feita de forma aleatria

considerando a representao do indivduo definida. Para cada cromossomo e para

cada seo do cromossomo, uma sala sorteada, e se esta no violar as restries de

vagas e utilizao de prancheta, ento essa sala atribuda a todos os genes da seo,

caso contrrio, o sorteio continua at encontrar uma sala adequada.

Da forma como a inicializao da populao realizada, inevitvel que choques

de alocao (turmas alocadas na mesma sala, dia, horrio e perodo de realizao) no

aconteam quando a razo entre o nmero de turmas e a quantidade de salas grande.

Portanto, os indivduos sero avaliados pela quantidade de choques de alocao que os

mesmos possuem.

O objetivo do algoritmo gentico minimizar a quantidade de choques de alocao

at encontrar um indivduo que no possua choques, ou seja, que possui avaliao igual

zero. Um indivduo com avaliao igual zero representa uma das possveis solues

desejadas. Considerando q a quantidade de choques de alocao, a funo de avaliao

(fitness) do indivduo definida como:

fitness =

q (5)

57

O mtodo de seleo escolhido foi o torneio. Nenhuma modificao necessria no

mtodo devido representao do indivduo proposta.

A forma de cruzamento escolhida para este trabalho foi o heurstico no uniforme.

Considerando o indivduo proposto, ao invs de identificar os genes com menores ava-

liaes, so identificadas as sees com menores mdias de avaliao. O valor mdio

de avaliao utilizado, pois as sees podem conter diferentes quantidades de genes,

caso fosse utilizado a soma das avaliaes, as sees com menor quantidade de genes

levariam vantagem sobre as sees com maior quantidade de genes.

Na Figura 17 demonstrado o cruzamento heurstico no uniforme para um cro-

mossomo com 20 genes distribudos em 8 sees, onde as diferentes cores indicam cada

uma das sees. Foram destacadas as duas sees com menores valores mdios em cada

filho. Os nmeros em cada gene representam sua avaliao ao invs do valor de uma

sala para facilitar a compreenso da operao.

Figura 17: Cruzamento heurstico no uniforme para o indivduo proposto

Uma vez que a inicializao da populao garante indivduos que no violam as

58

Tabela 5: Parmetros de execuo do AG

Parmetros Valor

Qtd. indivduos da populao 200

Qtd. indivduos no torneio 10

Taxa de cruzamento 0,7

Taxa de mutao 0,05

4.2 Tecnologias Empregadas

Na UFU, o Sistema de Gesto (SG) responsvel por apoiar diversas reas dentro da

instituio. Os usurios podem acessar o SG pelo stio www.sg.ufu.br com sua devida

autenticao. O SG possui aplicaes relacionadas ao controle de frota, solicitao

de material e compras, acesso ao restaurante universitrio, controle acadmico entre

outras.

A oferta de disciplinas realizada pelo SG, portanto o desenvolvimento de aplicaes

para alocao de espao fsico nesse sistema possibilita que os dados sejam utilizados

de forma integrada.

Na parte de viso so utilizadas as tecnologias: HTML, CSS e JavaScript. Para a

parte de controle utilizado Java verso 7. O banco de dados utilizado o IBM DB2

verso 9.7. A IDE de desenvolvimento utilizada o Eclipse Mars. Foi utilizado um

computador com processador Intel Core i7-3770 3.40 GHz e 8 GB de memria.

4.3 Aplicaes Desenvolvidas como Resultado deste Trabalho

A aplicao 11.02.03.11 responsvel por manter a relao de prdios e cursos. Nela,

o usurio informa um prdio e, em seguida, adiciona ou exclui os perodos de um

curso que tero suas turmas alocadas no prdio informado. Inicialmente foi feita uma

60

importao dos dados dessa relao que estavam disponveis em uma planilha. Para o

processamento do 2o semestre de 2016 no foram necessrias modificaes. A Figura

19 apresenta a interface dessa aplicao.

Figura 19: Aplicao 11.02.03.11 - Relao de prdios e cursos

A aplicao 11.02.03.12 responsvel por manter a relao de turmas e sees.

Nela, o usurio possui diferentes opes para gerenciamento das sees, alm de possuir

relatrios de apoio.

Na aba Cadastro, o usurio pode adicionar, alterar e excluir sees e turmas.

Quando uma seo est selecionada, a relao das turmas vinculadas ela renderizada

na tela em forma de lista. Dessa forma o usurio pode visualizar todas as informaes

das turmas dentro de uma seo. A Figura 20 apresenta a aba Cadastro.

61

Figura 20: Aplicao 11.02.03.12 - Relao de turmas e sees aba Cadastro

Na aba Gerao Automtica, o usurio possui duas opes para a criao de sees

automaticamente. Caso opte pela opo Relao Prdios Curso, sees so criadas

utilizando os dados da Relao de Prdios e Cursos e da Oferta de Disciplinas para o

ano e semestre informado. A opo Cpia realiza a cpia das sees utilizando o ano

e perodo de referncia indicados, alm dos dados da Oferta de Disciplinas. A opo

Cpia ainda no foi utilizada, uma vez que ainda no existem dados para serem

utilizados como referncia. Aps a gerao automtica das sees, o usurio ainda

pode modific-las conforme desejar pela aba Cadastro. A Figura 21 apresenta a aba

Gerao Automtica.

62

Figura 21: Aplicao 11.02.03.12 - Relao de turmas e sees aba Gerao Automtica

Na aba Relatrio, o usurio possui a opo de 3 relatrios. A Figura 22 apresenta

a aba Relatrio.

Figura 22: Aplicao 11.02.03.12 - Relao de turmas e sees aba Relatrio

O relatrio Relao Turmas e Sees apresenta as informaes das sees criadas

para um determinado bloco, ano e perodo. Ele fornece uma viso mais generalizada

em relao aba Cadastro. A Figura 23 apresenta uma pgina deste relatrio.

63

Figura 23: Relatrio 11.02.03.12 - Relao turmas sees

O relatrio Sees Crticas apresenta as sees que possuem turmas muito diver-

gentes em relao quantidade de vagas. Sua importncia reside no fato de que apenas

uma sala que comporte a maior turma de uma seo pode ser alocada para todas as

turmas dessa seo. Diante disso, o usurio pode remanejar as turmas para sees que

possuem turmas com quantidade de vagas mais prximas. A Figura 24 apresenta este

relatrio.

64

Figura 24: Relatrio 11.02.03.12 - Sees crticas

O relatrio Qtd. de Turmas por Horrio apresenta um mapa da quantidade de

turmas existentes para um determinado bloco, ano e perodo em cada horrio de aula

de uma semana. Com este relatrio, o usurio pode visualizar os horrios que possuem

maior concentrao de turmas. Caso um horrio possua quantidade de turmas maior

que a quantidade de salas do bloco, certo que o processamento terminar com choques

de alocao. A Figura 25 apresenta este relatrio.

65

Figura 25: Relatrio 11.02.03.12 - Quantidade de turmas por horrio

Aps a montagem das sees, o processamento da alocao de salas feito na

aplicao 11.02.03.13. Basta que o usurio informe o bloco, ano e perodo e clique no

boto Processar. Uma vez iniciado o processamento, o usurio pode acompanhar o

progresso pela busca da soluo por uma janela que atualizada a cada segundo. A

Figura 26 apresenta essa aplicao no incio do processamento e prximo a encontrar

uma soluo admissvel.

66

Figura 27: Aplicao 11.02.03.14 - Alocao temporria

Caso o processamento seja finalizado com choques de alocao, os mesmos so

destacados na cor vermelha nos horrios em que eles ocorreram. A Figura 28 apresenta

essa funcionalidade.

68

Figura 29: Aplicao 11.02.03.14 - Excluso e realocao de turmas

O passo final do processo consiste em alocar definitivamente as salas para as turmas

a partir da alocao temporria. A janela Alocao Definitiva ao ser aberta verifica

pela existncia de choques de alocao no prdio e informa ao usurio em quais salas

eles ocorrem. Caso o prdio no possua choques de alocao, a aplicao habilita o

boto Confirmar. A Figura 30 apresenta essa funcionalidade.

70

Figura 30: Aplicao 11.02.03.14 - Alocao definitiva

71

Captulo 5

Resultados e Discusses

A primeira etapa deste captulo testar o algoritmo gentico proposto e verificar a

viabilidade utilizando o resultado da alocao no bloco 5O-A do primeiro semestre

de 2016. O processo de alocao de espao fsico no primeiro semestre de 2016 foi

feito manualmente, portanto, as restries foram atendidas e na soluo adotada no

existem choques de alocao. Sendo assim, espera-se que o AG faa a redistribuio

de salas e que encontre um indivduo sem choques de alocao.

No bloco 5O-A foram alocadas 420 turmas distribudas em 26 salas de aula. As 420

turmas foram divididas em 88 sees. O bloco possui apenas salas com carteira com

quatro tipos diferentes de capacidade (40, 42, 45 e 50).

A Tabela 6 apresenta os resultados obtidos em 10 execues do AG. A coluna

Inicial indica qual a avaliao do melhor indivduo aps a inicializao da populao.

A coluna Final indica qual a avaliao do melhor indivduo na ltima gerao. A

coluna Geraes indica a quantidade de geraes executadas quando o processamento

foi interrompido.

72

Pela Figura 31 observa-se que, nas geraes iniciais, a avaliao do melhor indivduo

sempre apresenta decaimento e quanto mais o AG se aproxima da soluo, maior a

dificuldade de se encontrar um indivduo com melhor avaliao.

Os resultados das 10 execues mostram que o AG encontrou uma soluo sem

choques de alocao em 60% casos, enquanto nos outros 40% a soluo encontrada

apresentou 2 choques, o que representa uma queda de aproximadamente 99% da quan-

tidade de choques inicial. Mesmo quando a soluo admissvel no encontrada, a

baixa quantidade de choques de alocao faz com que ela seja passvel de ser analisada

e corrigida pelo administrador de espao fsico da instituio. Os tempos de execuo,

mesmo no pior caso (8 minutos e 4 segundos), so satisfatrios levando-se em conta

que seria necessrio pelo menos um dia para fazer a alocao manualmente.

Uma vez que os resultados obtidos mostram a viabilidade de aplicao deste mtodo

no problema, a segunda etapa deste captulo apresenta os resultados obtidos na apli-

cao deste mtodo para os dados resultantes da oferta de disciplinas do 2o semestre

de 2016.

A Tabela 7 apresenta os resultados das 20 execues realizadas para os 14 blocos da

cidade de Uberlndia. O mtodo no foi aplicado nos campi das cidades de Ituiutaba,

Patos de Minas e Monte Carmelo. A letra C indica a quantidade de salas com carteira,

enquanto a letra P indica a quantidade de salas com prancheta.

74

Tabela 7: Resultados de execuo para o 2o semestre de 2016

Bloco

Qtd. de

Salas

Tipos

diferentes

de sala

Qtd. de

turmas

Qtd. de

sees

Qtd. de choquesGeraes Tempo[s]

Inicial Final

C P

1B 11 0 1 548 26 327,2 51,63 22 0 560,7 51,39 862,2 81,08

1BCG 12 0 2 58 13 0 0 0 0 0 0 4 0

1C 4 0 1 64 4 0 0 0 0 0 0 4 0

2C 5 0 1 99 13 74 6,59 56 0 550 77,18 105,7 13,61

3D 15 0 2 228 45 46,4 7,99 0 0 10,95 3,25 9,25 1,16

3Q 29 4 9 633 89 254,7 17,41 4,8 2,46 975,4 343,62 1099,1 378,91

4K 11 0 4 107 14 0 0 0 0 0 0 4 0

4L 5 0 1 46 12 2,1 1,52 0 0 0,95 0,69 4 0

5O-A 26 0 4 392 73 181,1 13,29 1,4 1,31 460,7 244,73 256,8 132,4

5O-B 0 8 1 42 11 0 0 0 0 0 0 4 0

5R-A 26 0 3 692 70 425,7 49,78 3,2 2,09 759 227,95 1006,5 294,07

5R-B 8 0 2 129 22 41,4 6,87 8 0 516,05 21,41 128,45 5,15

5S 33 0 1 191 36 2,6 1,6 0 0 1,1 0,72 5,15 0,37

8C 48 0 5 880 128 701,1 34,89 28,8 3 1111,2 344,64 2089,8 651,96

Analisando os resultados obtidos na Tabela 7 juntamente com a relao de turmas

e sees construdas, o administrador de espao fsico da UFU verificou que, para os

blocos nos quais no foram encontrados indivduos admissveis ou que no chegaram

prximos de uma soluo, realmente no existia uma soluo possvel. Isso devido

aos seguintes fatores:

Sees com um nmero muito grande de turmas, pois essas sees podem ocupar

uma grande parte dos horrios disponveis em uma sala, dificultando o compar-

tilhamento da mesma com outra seo;

Sees heterogneas em relao quantidade de vagas, ou seja, turmas com

poucas vagas na mesma seo do que turmas com muitas vagas, fazendo com que

todas as turmas da seo sejam alocadas em uma sala maior;

75

Maior quantidade de turmas do que salas em um determinado horrio;

Apesar de no encontrar uma soluo admissvel para todos os blocos, o adminis-

trador de espao fsico da instituio possui duas maneiras de resolver os problemas

de choque de alocao resultantes, sendo elas: (1) remontar as sees crticas e rea-

lizar o processamento novamente, ou (2) eliminar os choques de alocao atravs da

realocao de turmas em outras salas.

76

Captulo 6

Relato do Administrador de Espaos da UFU

A aba Cadastro da aplicao 11.02.03.12 foi utilizada quando havia necessidade de

montar sees que no atendem a relao de prdios e cursos, servindo como alternativa

para a gerao automtica, e isso ofereceu diferentes opes para a melhor distribuio

das turmas nos blocos.

Os relatrios disponveis na aplicao 11.02.03.12 foram de grande utilidade. Uma

vez que para cada bloco existe uma grande quantidade de sees e os relatrios pro-

porcionaram uma maneira mais fcil de encontrar informaes sobre as turmas, alm

de indicarem as sees e horrios que poderiam dificultar o processamento da alocao

de salas.

A aplicao 11.02.03.14 foi essencial na etapa de alteraes de salas e/ou horrios

que ocorreram posteriormente alocao definitiva. Feito manualmente, era preciso

registrar as alteraes em uma planilha e na aplicao de Oferta de Disciplinas do SG.

Comparando as duas formas, o trabalho pela aplicao 11.02.03.14 foi mais fcil, uma

vez que tudo foi resolvido em um nico lugar, sem a necessidade de lidar com outros

documentos e aplicaes.

No processo manual de alocao de salas, aps a finalizao do planejamento em

uma planilha, era preciso acessar a aplicao de Oferta de Disciplinas, e alocar as salas

turma por turma. A funcionalidade de alocao definitiva da aplicao 11.02.03.14 for-

neceu agilidade nesta etapa, uma vez que todo o planejamento de alocao temporrio

pode ser feito definitivo pelo boto Confirmar da janela Alocao Definitiva.

Considerando que o processo de alocao de salas feito uma vez por semestre,

sendo que mais de 4000 turmas devem ser distribudas em 245 salas de aula, o sistema

77

desenvolvido tornou o processo prtico e dinmico. A execuo do processo manual

era realizada por um responsvel com a ajuda de at dois estagirios consumindo um

tempo total de 640 horas, com a implantao do sistema proposto, as atividades foram

feitas apenas pelo responsvel e levou em torno de 160 horas para ser finalizada.

78

Captulo 7

Concluses

Este trabalho demonstrou que estratgias baseadas em algoritmos genticos so vi-

veis para a resoluo do problema de alocao de salas da Universidade Federal de

Uberlndia.

A contribuio deste trabalho foi apresentar uma maneira diferente de tratar um

problema de natureza multi-objetiva. Normalmente resolvido com uma funo de ava-

liao que representa a soma ponderada de todas as restries impostas, a funo de

avaliao deste trabalho lida apenas com a restrio de mltiplas turmas em um nico

horrio, enquanto as outras so tratadas pela representao especial do indivduo, dos

operadores genticos especficos e por regras condicionais.

A comparao dos resultados de alocao automatizada do bloco 5O-A no 1o semes-

tre de 2016 com a soluo encontrada manualmente garantiu a viabilidade de aplicao

do mtodo, uma vez que o AG encontrou a soluo (ou prximo desta) em todos os

casos com um tempo de processamento muito baixo.

Nos dados referentes oferta de disciplinas do 2o semestre de 2016, as alocaes

nos blocos 1B, 2C e 8C tiveram as piores performances devido fatores mencionados

no Captulo 6. Mesmo assim, analisando os choques de alocao juntamente com os

relatrios de apoio da aplicao 11.02.03.12, o administrador de espao fsico pode

refazer a diviso das sees e conseguir uma soluo vivel. Nos demais blocos todos

os resultados foram satisfatrios. Mesmo quando havia choques de alocao, como nos

blocos 3Q, 5O-A, 5R-A e 5R-B, eram baixos permitindo assim que o administrador

de espao fsico remanejasse as turmas com choques. Nota-se que 50% dos blocos

obtiveram solues viveis em todas as 20 execues. Alm disso, os desvios-padro

79

da coluna Final apresentados decorrentes das 20 execues so relativamente baixos,

o que indica robustez e confiabilidade da ferramenta proposta.

Somando os tempos de processamento de todos os blocos ao tempo necessrio para a

montagem de sees, a anlise de resultados e a realocao de salas ps-processamento,

estima-se que o tempo total para a execuo do processo de alocao de salas no

segundo semestre de 2016 consumiu cerca de 160 horas. Comparando com as 640

horas de trabalho necessrias para a realizao do processo manualmente, verifica-se

uma reduo de 75% das horas necessrias. Vale ressaltar ainda que, foi a primeira vez

em que o sistema de automatizao proposto foi utilizado e foi necessrio um perodo

de adaptao ao novo processo, portanto espera-se que essa reduo seja ainda maior

nos prximos semestres.

80

Referncias

[1] Burke, E. K. e Varley, D. B., Space Allocation: an analysis of higher education

requirements, Lecture Notes in Computer Science, vol. 1408 (1997), pp. 20-36.

[2] Schaefer, A., A survey of automated timetabling, Artificial Intelligence Review,

vol. 13 (1999), pp. 87-127.

[3] Bardadyn, V. A., Computer-Aided School and University Timetabling: The New

Wave, Lecture Notes in Computer Science, vol. 1153 (1996), pp. 22-45.

[4] Carter, M. W. e Tovey, C. A, When is the Classroom Assignment Problem

Hard?, Operations Research, vol. 40 (1992), pp. 28-39.

[5] de Werra, D., An introduction to timetabling, European Journal of Operational

Research Society, vol. 19 (1985), pp. 151-162.

[6] Burke, E. K. e Varley, D. B., Automating Space Allocation in Higher Educa-

tion, Lecture Notes in Artificial Intelligence, vol. 1585 (1998), pp. 66-73.

[7] Czibula, O. Gu, H. Russell, A. e Zinder, Y, A Multi-Stage IP-Based Heu-

ristic for Class Timetabling and Trainer Rostering, Proceedings of the 10th In-

ternational Conference on the Practice and Theory of Automated Timetabling,

(2014), pp. 102-127.

[8] McCollum, B., A perspective on bridging the gap between theory and practice

in university timetabling, Lecture notes in computer science, vol. 3867 (2007), pp.

3-23.

81

[9] Cirino, R. B. Z, Santos, M. O, Delbem, A. C. B., Aplicao da Metaheurs-

tica AGc para o Problema de Alocao de Aulas Salas, Anais do XLVII SBPO

(2015), pp. 1745-1755.

[10] He-nan, Z. e Shao-wen, Z., Solving UTP Containing Combining Classes using

GA, International Journal of u-and e-Service, Science and Technology, vol. 7

(2014), pp. 277-286.

[11] Landa Silva, J. D., Metaheuristic and Multiobjective Approaches for Space Al-

location, Thesis, School of Computer Science and Information Technology, Uni-

versity of Nottingham, Nottingham UK (2003).

[12] Queiroga, E. V, Jnior, T. L. B, Cabral, L. A. F, da Costa, L. C. A,

Subramaniana, A., Problama de Alocao de Aulas: O caso da Central de Aulas

da UFPB, Anais do XLVII SBPO (2015), pp. 848-859.

[13] Sales, E. S, Mller, F. M, Simonetto, E. L., Soluo do Problema de

Alocao de Salas Utilizando um Modelo Matemtico Multi-ndice, Anais do XLVII

SBPO (2015), pp. 2596-2607.

[14] Paechter, B., Mines better than yours - comparing timetables and timetabling

algorithms, Proceedings of the 10th International Conference on the Practice and

Theory of Automated Timetabling (2014), pp. 8-9.

[15] Silva, D. J. da, Silva, G. C. da, Heursticas Baseadas no Algoritmo de Colora-

o de Grafos para o problema de alocao de salas em uma instituio de ensino

superior, Simpsio Brasilerio de Pesquisa Operacional, (2010), pp. 2839-2849.

[16] Gen, M. e Cheng, R., Genetic Algorithms and Engineering Optimization, John

Wiley & Sons, Inc. (2000).

82

[17] Linden, R., Algoritmos Genticos, Cincia Moderna, 3a Edio (2012).

[18] Goldberg, D. E., Genetic algorithms in search, optimization, and machine le-

arning, Addison-Wesley Publishing Company, Inc. (1989).

[19] Michalewicz, Z., Genetic algorithms + data structures = evolution programs,

Springer, 3rd Edition (1996).

[20] Engelbrecht, A. P., Computational Intelligence An Introduction, John Wiley

& Sons, Inc. (2007).

[21] Tomassini, M., A survey of Genetic Algorithms, Annual Reviews of Computati-

onal Physics, vol. 3 (1995), pp. 3-4.

[22] Man, K. F. Tang, K. S. e Kwong, S., Genetic Algorithms: Concepts and

Design, Springer (1999).

83

Publicaes

As publicaes resultantes deste trabalho so apresentadas a seguir.

Proposta de um Sistema Baseado em Computao Evolutiva para o Trata-

mento do Problema de Alocao de Espao Fsico: O Caso da Universidade

Federal de Uberlndia

Guilherme Palhares Theodoro

Igor Santos Peretta

Keiji Yamanaka

Trabalho apresentado na XIV Conferncia de Estudos em Engenharia Eltrica, Uber-

lndia, Brasil, 2016.

Utilizao de Algoritmos Genticos para o Problema de Alocao de Salas

da Universidade Federal de Uberlndia

Guilherme Palhares Theodoro

Igor Santos Peretta

Keiji Yamanaka

Trabalho apresentado na XIII Encontro Nacional de Inteligncia Artificial e Computa-

cional, Recife, Brasil, 2016.

Disponvel em: http://www.lbd.dcc.ufmg.br/colecoes/eniac/2016/045.pdf