• Nenhum resultado encontrado

O problema STP sem as restrições de um dos três tipos: restrições de conflito

Prefácio

Corolário 2.1. O problema STP sem as restrições de um dos três tipos: restrições de conflito

para professores, restrições de conflito para classes e restrições à disponibilidade de tempo; é um problema polinomialmente solúvel.

2.6

Como o problema vem sendo tratado

Como trata-se de um problema NP-completo soluções exatas são viáveis apenas para instâncias muito pequenas ou muito simples. Não é o caso dos problemas reais.

As primeiras ferramentas empregadas tinham semelhança à maneira como um horário é feito manualmente [SS79]. São as chamadas heurísticas diretas baseadas em aumentos su- cessivos. A alocação dos encontros é feita uma a uma até que seja completada para todos os encontros. Em geral, os encontros “mais restritos” são alocados primeiro. O que muda é o conceito de “mais restrito” entre as ferramentas. É comum a necessidade de alterar alguma alocação feita anteriormente para que um horário seja liberado e o encontro que pretende-se alocar atualmente possa usá-lo. O sistema SCHOLA apresentado por Junginger (1986) é um típico exemplo.

Depois surgiram trabalhos usando técnicas mais gerais como programação inteira ou fluxo

sobre redes (em grafos). E mais tarde usando redução à coloração de grafos, um problema

bem estudado. De Werra, entre outros, contribuiu bastante com estas duas últimas modelagens (veja, por exemplo, [dW97], [AdW02], [dWAD02], [dW02]).

Neufeld and Tartar (1974) mostraram a equivalência entre resolver o problema STP com pré-alocações e a coloração das arestas de um grafo associado com restrições externas [NT74]. Tendo cada encontro representado por um vértice e havendo arestas entre vértices represen- tando encontros com professor ou classe em comum. Provaram também que o grafo com as restrições externas poderia ser substituído por outro sem estas restrições.

Schmidt and Ströhlein em [SS79] trazem uma bibliografia anotada dos primeiros trabalhos, com uma enorme quantidade de referências. Um dos trabalhos mais recentes relatando as pesquisas na área é [Sch99b] dado por Schaerf.

Schaerf conta que vários pesquisadores acreditam que o problema de alocação de horários educacionais não possa ter sua solução totalmente automatizada, seja porque algumas razões que fazem uma solução melhor que outra seriam dificilmente modeladas, ou seja porque no enorme espaço de busca o ser humano seria capaz de indicar regiões mais promisoras que o sistema poderia não ser hábil para encontrar. Daí, muitos sistemas permitirem aos usuários ajustes manuais pelo menos no final. Os sistemas que requerem uma intervenção humana muito grande são chamados de interativos ou semi-automáticos.

Um exemplo de sistema interativo é o dado por Chahal e de Werra (1989). Usando fluxo sobre redes é feita a alocação de encontros para um horário por vez. Primeiro os horários com menos professores disponíveis. Busca-se máximo fluxo com mínimo custo, alocando para aquele horário a maior quantidade possível de encontros com professores e turmas cujo grau de liberdade é menor (com relação aos horários que ainda são disponíveis e o número de encontros faltando alocar para estes). Como não são feitas alterações nos horários alocados anteriormente o resultado pode ter encontros não alocados. E uma intervenção humana é exigida. Antes, Os- termann and de Werra (1983) apresentaram um modelo semelhante com um grafo por horário, e de Werra (1985) com um grafo por classe.

Técnicas de busca também usadas em Inteligência Artificial tem sido freqüentemente usa- das para resolver o problema. Citamos Algoritmos Genéticos, “Simulated Annealing”, Busca

Tabu, Programação Lógica e Programação de Restrições.

A maior vantagem das duas últimas é a capacidade de expressar as restrições de forma declarativa. Já em 1987 Charles Murphy [Mur87] apresenta uma planilha eletrônica, TIMELOG, que seria usada interativamente na construção de horários escolares, escrita em PROLOG, uma linguagem de programação com solver para Programação Lógica. Mais recentemente temos a tese de Kenneth K. Chin-A-Fat, de 2004, que trás um método em Programação Lógica para construir os quadros de horários das escolas Holandesas. Construção esta que envolve a deter- minação de cada grupo de alunos que assistirão juntos a certas sessões de uma disciplina que optaram. O problema é modelado como um “Propositional Satisfiability Problem” (SAT).

Um modelo interativo para problemas de automação de horários escolares usando extensões de Programação de Restrições foi apresentado no PATAT IV em 2004 por H. Cambazard, F. Demazeau, N. Jussien e P. David [CDJD05]. Este modelo usa Programação de Restrições Baseada em Explanações (e-restrições). Uma explanação recorda informações que justificam uma decisão do solver, como a redução do domínio de uma variável ou uma contradição. Ela é dada por um conjunto de restrições (subconjunto das restrições originais) e um conjunto de decisões feitas durante a busca. Estas explanações viabilizam um método de solução de restrições dinâmico reativo, onde há uma “aprendizagem”, evitando recomeçar do zero uma

2.6 COMO O PROBLEMA VEM SENDO TRATADO 17 busca após modificações. Uma vez encontrado um quadro de horários viável, ele é otimizado quanto às restrições relativas a características desejáveis com um método Busca Tabu usando as habilidades dinâmicas do solver de restrições baseado em explanações.

Citamos também o trabalho de Michael Marte que apresentou modelos e algoritmos em sua tese em 2002 com Programação de Restrições (veja [Mar00] e [Mar01]). Um resumo exten- dido apresentado no PATAT VI em 2006 por F. Jacobsen, A. Bortfeldt e H. Gehring [JBG06] apresenta uma comparação entre o método de Marte com Programação de Restrições e um método Busca Tabu, quanto a encontrar uma solução viável em 1500 instâncias já testadas pelo método de Marte. O método Busca Tabu empregado foi relativamente simples e os resultados apresentaram desempenhos semelhantes, mas a comparação tem menor relevância dado que duas restrições não haviam ainda sido incluídas nos testes.

A estratégia de paralelizar a busca também tem sido empregada. Fazendo possível que máquinas diferentes realizem tarefas relativamente independentes simultaneamente. Citamos o trabalho [Š05] de Petr Šlechta (no PATAT 2004), que determina uma decomposição pela aplicação (e posterior avaliação) de um algoritmo de “propagação” de duas cores nos vértices de um grafo associado. Esta decomposição produz três conjunto de encontros, sendo que uma vez alocados os encontros do primeiro conjunto (chamemos de removido), a alocação dos encontros dos demais conjuntos é independente entre estes. Essa decomposição e alocação parcial (do conjunto removido) é aplicada repetidas vezes, uma vez em cada conjunto restante de cada aplicação.

O trabalho de Jeffrey H. Kingston [Kin06] bem diferente dos demais trás uma heurística em tempo polinomial para encontrar “boas soluções” usando modelos de pesquisa operacional em cinco fases: determinação de subconjuntos de períodos do quadro de horários, construção de blocos de aulas (sobre os quadros), alocação de horários, ajustes nos horários e alocação de recursos (professores e salas).

No Capítulo 5 falaremos também sobre Busca Tabu, Simulated Annealing e Algoritmos Genéticos; e sobre trabalhos com estas técnicas.

Segundo Schaerf, o fato dos problemas de automação de horários escolares serem solu- cionados por algoritmos de busca local especializados confirma que estes são os mais duros entre os problemas educacionais. E acredita que, por outro lado, os problemas de automação de horários universitários são geralmente mais complexos para formalizar, mas os mais simples do ponto de vista combinatorial. Estes poderiam ser bem modelados com métodos construtivos implementados com programação lógica de restrições.

C

APÍTULO

3

Outline

Documentos relacionados