• Nenhum resultado encontrado

Para qualquer problema que tenha como elementos envolvidos nos encontros

O Grafo Híbrido

Proposição 6.2. Para qualquer problema que tenha como elementos envolvidos nos encontros

apenas classes padrão e professores (não substitutos), e uma soluçãoS, mesmo parcial, aten-

dendo a regra da Proposição 6.1. Para quaisquer heh∈ H, h6= h′, o subgrafoGH(h, h) | X

tem como componentes apenas circuitos pares e caminhos simples de encontros em horários alternados, mais a componente formada por uma aresta ligandoheh′.

De forma geral, como as arestas de proibição entre os encontros de GH representam pelo menos um elemento comum aos encontros adjacentes, chamaremos à relação “ter um dado elemento comum” um elo de ligação, que será caracterizado por este elemento. Uma aresta pode representar mais de um elo de ligação entre dois encontros. Por exemplo, no caso de dois encontros de uma turma com o professor de uma disciplina a única aresta de proibição entre estes representa pelo menos dois elementos comuns, o professor e a turma, que caracterizam dois elos de ligação.

Cada elo indica um elemento que já participa de dois eventos. Sendo S uma solução que atende a regra da Proposição 6.1, estes encontros ocorrem em horários diferentes, em horários h e h. Logo este elemento não pode fazer parte de nenhum outro encontro no subgrafo GH(h, h′) além daqueles dois que está ligando e, portanto, não temos elos repetidos neste. Daí, qualquer outro elo partindo de um destes encontros em GH(h,h) deve ser com outro elemento

do encontro.

6.1 O SUBGRAFO GH(h,h, S ) 81

Demonstração. Dado que a solução S atende a regra da Proposição 6.1, encontros ligados

por arestas de proibição devem possuir horários diferentes e não temos elos entre os encontros de E(h,h) repetidos. Como os elementos são apenas do tipo classe padrão e professor (não

substituto), seus elos também o são. E como cada aresta de proibição representa pelo menos um elo, cada encontro pode pertencer no máximo a duas arestas de proibição. Logo, as com- ponentes de GH(h,h) | X relativas a estes vértices só podem ser circuitos ou caminhos simples

em horários alternados. O que faz dos circuitos pares. A existência da componente formada pela aresta hhé dada por construção de GH.

Outra razão para que os circuitos sejam pares é que os elos alternam-se nos tipos turma e professor. Observe a Figura 6.3.

cp cp’ c’p’ c’p’’ c’’p’’ c’p cp cp’ c’’p’ c’’p’’ c’p’’ c’ p c p’ c’’ c’p cp cp’ c’’p’ h’ h h h’ h h’ h h’ h h’ h

Figura 6.3 Subgrafo GH(h, h, S ). Exemplo de componentes de GH(h, h, S ) | X , cujas arestas são as de proibição. E representação dos “elos” de uma parte do ciclo.

Para mudar o horário de um encontro e de h para h(ou vice-versa) e continuar a atender

a regra podemos, uma vez verificadas as arestas de permissão em GH(h,h), trocar todos os

horários dos encontros na componente de GH(h,h) | X que contém e. Não é possível trocar

apenas parte da componente e manter a regra dadas as arestas de proibição.

No caso de termos apenas elementos do tipo turma padrão e professor (não substituto), sem alocação estática, basta verificarmos a existência de arestas de permissão dos encontros representados pelos vértices extremos dos caminhos simples para os horários que assumiriam na troca. Pois cada elemento que caracteriza um elo já participa de dois eventos nos horários

h e h′, e os encontros internos (dos caminhos simples e todos os dos circuitos) tem grau dois.

Isto é, todos elementos destes encontros tem disponibilidade para os dois horários.

Os professores dos encontros internos continuarão dando aula nos dois horários mas em turmas diferentes. Já para o professor de um encontro num vértice extremo que não caracterizou o elo, feita a troca, obtemos um novo horário de aula alocado e sua liberação para o horário anterior. Isso pode acontecer com dois professores (elos extremos caracterizados por turmas). Analogamente acontece com os elementos turmas.

Neste contexto, são as trocas nos caminhos simples que podem liberar um horário para aquele encontro não alocado. Embora trocar os horários de um circuito de GH(h,h) | X não

traga qualquer mudança nos horários livres dos quadros de horários de qualquer elemento, essa troca pode trazer um novo cenário que permita outras trocas. Por exemplo, em componentes de encontros de GH(h,h′′) ou de GH(h′′, h) restrito às arestas de proibição.

Havendo outros elementos, turmas especiais, salas, professores substitutos, as componentes de GH(h,h, S ) | X têm as mais diversas formas e faz-se necessário verificar a aresta de per-

missão em GH(h,h, S ) de cada encontro para o horário que vai assumir na troca, a fim de

mantermos o atendimento da regra.

6.2

O Movimento

Obtida uma solução quase viável S , a alocação dos horários de todos os encontros respeitando a regra na Proposição 6.1 e as aulas simultâneas, nos interessa poder encontrar outras soluções quase viáveis a partir desta.

A idéia é definir um movimento sobre o GH associado que garanta a passagem de uma solução quase viável para outra próxima. E, assim, trabalharmos com métodos de busca local no espaço destas soluções. Lembramos que elas atendem a quase todas as restrições relacionais do problema que definimos como objeto de nosso trabalho, exceto aulas geminadas.

Nem todas as componentes de GH(h,h, S ) | X definem um movimento. Por não ser

possível a inversão de horários dadas as arestas de permissão, Y , ou por causa das aulas si- multâneas. Mas qualquer movimento que troque o horário de um encontro numa componente deve trocar todos os horários dos demais encontros desta componente, devido a X. Logo os movimentos devem ser caracterizados por uma ou mais componentes de GH(h,h, S ) | X . Va-

mos construir, então, para cada {h,h} ⊂ H, h 6= h, o conjunto T (h,h, S ) cujos elementos

são conjuntos de encontros de uma ou mais componentes de GH(h,h, S ) | X , para os quais a

inversão de horários leva a uma solução ainda quase viável.

Seja T (h,h, S ) = /0. Dadas as componentes de GH(h, h, S ) | X com encontros, as arestas

de permissão Y , e G = {G1, . . . , Gr}, o conjunto dos grupos de aulas simultâneas do problema. Descartemos todas as componentes que possuem apenas dois encontros com os mesmos ele- mentos (cuja troca não resultaria numa solução diferente). A cada componente restante K, cor- respondamos um conjunto formado por seus encontros TK e o acrescentemos em T (h,h′, S ). Agora, para cada Gi (i = 1, . . ., r) busquemos entre os elementos de T (h, h′, S ) aqueles que possuem encontros das aulas simultâneas deste grupo, removamos estes conjuntos e acrescen- temos a T (h,h, S ) a união deles. Por fim, descartemos todos os elementos de T (h, h, S )

que possuem qualquer encontro sem aresta de permissão para a troca (isto inclui encontros com alocação estática). No Algoritmo 6.5 há um pseudo-código desta construção.

Por vezes, usaremos T (h,h) em lugar de T (h, h, S ) não causando isto confusão.

Assim, definimos:

Definição 6.3 (Movimento). Dado um problema de automação de horário escolar, seu GH e

Outline

Documentos relacionados