aplicação de autovetores para a atribuição de

Propaganda
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
APLICAÇÃO DE AUTOVETORES PARA A ATRIBUIÇÃO DE
PREFERÊNCIAS AOS RECURSOS NO PROBLEMA DE ALOCAÇÃO DE
SALAS
Angel Guillermo Coca Balta
Universidade Candido Mendes, UCAM-Campos,
Núcleo de Pesquisa e Desenvolvimento em Informática – NPDI
Campos – RJ – Brasil
[email protected]
José Elias Cláudio Arroyo
Universidade Candido Mendes, UCAM-Campos,
Núcleo de Pesquisa e Desenvolvimento em Informática – NPDI
Campos – RJ – Brasil
[email protected]
Rodrigo Gomes de Andrade
Universidade Candido Mendes, UCAM-Campos,
Núcleo de Pesquisa e Desenvolvimento em Informática – NPDI
Campos – RJ – Brasil
[email protected]
RESUMO
No processo de alocação de salas, em instituições de ensino superior, devem ser definidos
critérios para a utilização dos recursos tais como, ar condicionado, cadeiras estofadas, pontos de rede,
datashow etc. Estes recursos podem ser classificados como, indispensáveis, importantes ou
irrelevantes. No entanto, é necessário atribuir um peso para priorizar cada um dos recursos. Neste
trabalho é aplicada a metodologia AHP (Analytic Hierarchy Process) para que a definição dos pesos
(fatores quantitativos de hierarquia) sejam feitos de maneira racional. A metodologia AHP usada é
baseada nas propriedades da matriz Transitiva e Simetricamente Recíproca (construída pelo tomador
de decisões) e seus autovetores.
PALAVRAS
Matemática.
CHAVES.
Autovetores,
Ponderações,
Alocação
de
salas,
Programação
ABSTRACT
In the classroom assignment problem at an educational institution we have to define
criterion for a good uses of the facilities besides some hierarquical weight for the criterion. In this
work we use the Analytic Hierarchy Process AHP to define that hierarquical weights. AHP is based in
important properties of Transitive and Reciprocal matrixes, which are made by the decision maker.
KEY WORDS. Eigenvectors, Weights, Classroom Assignment, Mathematic Programming.
XXXVIII SBPO
[ 329 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
1. Introdução
Em uma instituição de ensino, um dos processos que deve ser controlado por sistemas
informatizados é o Problema de Alocação de Salas (PAS). O PAS (classroom assignment) é derivado
do problema de programação de cursos universitários (course timetabling) e consiste basicamente em
alocar um conjunto de turmas em um conjunto de salas, atendendo algumas restrições/necessidades
(Bardadym 1996, Dowsland, 1998). Neste problema considera-se que a programação dos horários de
aula das turmas já estejam definidos.
Uma solução manual para o problema de alocação salas de aula é uma árdua tarefa e requer
muito tempo de trabalho de um ou mais funcionários com grande conhecimento em relação a todas as
restrições que surgem a cada novo semestre/período letivo. A preocupação dos funcionários
encarregados de realizar essa tarefa não está apenas em alocar uma turma numa sala com capacidade
física para recebê-la. Devem estar atentos, também, para a utilização eficiente do espaço, para as
restrições de uso das salas e principalmente para os recursos requisitados pelas turmas, como, por
exemplo, ar condicionado, carteiras estofadas, equipamentos datashow, ponto de rede e muitos outros.
Em um trabalho anterior (Andrade et. al., 2005) é apresentado o desenvolvimento de um
sistema computacional para solucionar o Problema de Alocação de Salas. O problema é modelado
como um problema de Designação da Programação Linear na qual é usada uma metodologia particular
para a construção da matriz de custos e o problema é resolvido utilizado o algoritmo Húngaro
(Bazaraa et. al, 1990). O sistema desenvolvido possibilita realizar alocações semestrais eficientes e
gerar relatórios de alocação por turnos e cursos, facilitando o controle e gerenciamento das salas.
Além disso, permite alterações manuais na alocação.
Os recursos disponíveis e requisitados pelas turmas podem ser classificados como,
indispensáveis, importantes ou irrelevantes. A classificação dos recursos deve ser ponderada de
maneira adequada obtendo medidas quantitativas de hierarquia.
Considerando que os critérios para a utilização dos recursos incluem aspectos qualitativos,
neste trabalho é aplicada a metodologia AHP (Analytic Hierarchy Process) (Saaty, 1990; Costa, 2002)
para que a avaliação das ponderações dos recursos ou dos fatores quantitativos de hierarquia sejam
feitos de maneira racional. Isto pode ser feito através da aplicação das propriedades das matrizes
Transitivas e Simetricamente Recíprocas e seus autovalores e autovetores.
Originalmente foi desenvolvido um sistema automatizado de alocação de salas, onde uma
turma é considerada como um conjunto de disciplinas. O sistema possibilita realizar alocações
semestrais eficientes e gerar relatórios de alocação por turnos e cursos, facilitando o controle e
gerenciamento das salas. Além disso, permite alterações manuais na alocação. O sistema foi testado na
Universidade Candido Mendes, em Campos dos Goytacazes, apresentando um bom desempenho em
termos de tempo computacional e usabilidade.
2. Problema da Designação
Trata-se de um modelo clássico da Programação Linear, que ocorre quando é necessário
distribuir uma determinada quantidade de itens (origens) em uma quantidade igual de localizações
(destinos) de forma a minimizar o custo total. Por exemplo, atribuir homens a tarefas, veículos a rotas,
motoristas a veículos, turmas a salas de aula, problemas a equipes de pesquisa, etc. Quando o número
de origens é diferente ao número de destinos, podem ser adicionados itens ou localizações fictícias,
conforme necessário.
2.1 Modelagem do Problema de Alocação de Salas
O problema de alocação de salas considerado neste trabalho é modelado como um problema da
designação na qual um conjunto de n turmas (origens) deve ser alocado em um conjunto de m salas
(destinos). Para gerar alocações fatíveis, n deve se menor ou igual que m.
XXXVIII SBPO
[ 330 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
As salas em geral, são de diferentes capacidades e possuem um conjunto de recursos
oferecidos (por exemplo, tipo de quadro ou lousa, ar condicionado, carteiras simples ou estofadas,
pontos de rede, datashow fixo, etc.). Cada turma possui os recursos requisitados ou necessidades (por
exemplo, necessidade de cadeira estofada, ar condicionado, ponto de rede, etc.). O objetivo do
problema é alocar uma sala para cada turma otimizando o espaço físico e satisfazendo restrições de
capacidade e de recursos requisitados.
Para cada recurso deve ser cadastrado um grau de importância, que geramos usando a
metodologia AHP (Seção 3). Um recurso pode ser classificado, por exemplo, como indispensável
(essencial), importante (não-essencial) ou irrelevante (não-essencial) e receber um peso
correspondente a sua classificação. Recursos essenciais são aqueles que se não forem satisfeitos,
geram alocações inviáveis. Os não-essenciais são aqueles cujo atendimento é desejável, porém, se não
satisfeitos, não geram alocações inviáveis.
2.2. Cálculo da Matriz de Custos do Problema
Inicialmente, cria-se uma lista de salas e outra de turmas com os respectivos recursos
oferecidos e requisitados. Em seguida, calcula-se o custo de alocação da turma em relação a cada sala
da seguinte maneira:
1. Verifica-se se a sala possui capacidade para receber a turma. Caso possua, o custo inicial será a
diferença entre a capacidade da sala e a demanda da turma. Se não, atribui-se um valor muito alto
(∞) ao custo inicial para evitar uma possível alocação.
2. Para cada recurso requisitado pela turma, que não é atendida pela sala, acrescenta-se ao custo inicial
o valor correspondente ao peso do recurso.
3. Para cada recurso oferecido pela sala, que não é requisitada pela turma, acrescenta-se ao custo o
valor correspondente ao peso do recurso. Este valor é determinado usando a metodologia AHP
apresentada na Seção 3.
O processo finaliza quando todas as turmas forem analisadas e for obtida a matriz de custos.
A seguir é apresentado um exemplo para facilitar a compreensão
Exemplo: Suponha uma situação onde três turmas (A, B e C) com demandas de 30, 40 e 55,
respectivamente, devem ser alocadas em três salas (1, 2 e 3) com capacidades de 35, 50, 60,
respectivamente. A Tabela 1 apresenta os recursos requisitados pelas turmas, a Tabela 2 apresenta os
recursos oferecidos pelas salas e a Tabela 3 mostra os pesos associados aos recursos. Suponha que os
pesos atribuídos aos recursos sejam os seguintes, ponto de rede = 58,82, ar condicionado = 29,41 e
carteiras estofadas = 11,76.
Tabela 1. Requisições das Turmas.
Tabela 2. Recursos das Salas
TURMA
Carteiras
Estofadas
Ar
Condicionado
Ponto de
Rede
SALA
Carteiras
Estofadas
Ar
Condicionado
Ponto de
Rede
A
B
C
Não
Sim
Não
Não
Sim
Sim
Sim
Não
Não
1
2
3
Não
Sim
Não
Sim
Sim
Sim
Sim
Não
Não
A seguir é apresentado o cálculo dos custos obtendo a matriz de custos. Esta matriz é mostrada
na Tabela 3.
Matriz[A,1] = (35 - 30) + 29,41 = 34,41
Matriz[A,2] = (50 - 30) + 11,76 + 29,41 + 50,82 = 111,99
XXXVIII SBPO
[ 331 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Matriz[A,3] = (60 - 30) + 29,41 + 50,82 = 110,23
Matriz[B,1] = ∞ (Capacidade de 1 < Demanda de B)
Matriz[B,2] = (50 - 40) = 10
Matriz[B,3] = (60 - 40) + 11,76 = 31,76
Matriz[C,1] = ∞ (Capacidade de 1 < Demanda de C)
Matriz[C,2] = ∞ (Capacidade de 2 < Demanda de C)
Matriz[C,3] = (60 - 55) = 5.
Tabela 3: Matriz de Custos
SALA
TURMA
1
2
3
34,41
111,99
110,23
A
10
31,76
B
∞
5
C
∞
∞
O problema pode ser resolvido utilizando o Algoritmo Húngaro ou o Método Simplex da
Programação Linear.
3. O Método AHP (Analytic Hierarchy Process)
Nesta seção é utilizado o método HP para a geração dos pesos atribuídos aos recursos no
problema de alocação de salas.
Seja x = [x1, ...,xn]T o vetor das ponderações (preferências ou hierarquias) de um conjunto de n
objetos ou atributos O1, ... On. Se fossem feitas comparações entre dois atributos“Oi” e “Oj”, então
teríamos a taxa: ãij = xi / xj o que permite gerar uma matriz à = [ãij] = [xi / xj]. Esta matriz à possui
características de simetria recíproca (aij = 1/ aji ) e de transitividade (ãik * ãkj = ãij ). Ã também possui
posto igual a um e um único autovalor não negativo sendo os outros zeros. Pode-se comprovar que a
equação Ãx = nx é valida e, conseqüentemente tem-se que n é um autovalor da matriz à e o vetor x é o
correspondente autovetor.
AHP (Analytic Hyerarqui Process) é uma metodologia para as decisões multicritério que
constrói um vetor das ponderações x para os n critérios ou atributos. Essa construção é baseada numa
matriz A = [aij] que construída pelo tomador de decisões. É feita comparações entre dois itens ou
atributos “i” e “j” e qualificando com um numero positivo aij o que é interpretado como que a
“preferência” que ele tem, do item “i” na relação com o item “j” é precisamente aij.
A matriz A é simétrica recíproca, mas não necessariamente é transitiva. A não simetria, no
caso das decisões, acarreta a chamada “inconsistência” das decisões. O maior autovalor da matriz
(λmax) tem a propriedade de λmax ≥ n e a igualdade só aparece se a matriz for transitiva ou consistente
(Coca Balta, 2004).
Como exemplo considere o fato de priorizar entre três recursos oferecidos pelas salas: ponto
de rede (P), ar condicionado (A) e carteiras estofadas (C). O tomador de decisões poderia ter, por
exemplo, as seguintes opiniões entre pares de recursos: a preferência pelo recurso P é o dobro com
respeito à preferência de A, a preferência do recurso P é quíntuplo com respeito a de C e finalmente a
preferência de A é triplo que a de C.
Com isso tem-se a12 = 2, a13 = 5 e a23 = 3; construindo então a matriz A mostrada na Tabela 4.
O maior autovalor dessa matriz λmax = 3,037 o qual é muito próximo a n = 3 validando a consistência.
O vetor normalizado das ponderações é x = [ 0,5882 0,2941 0,1176] ou seja que as ponderações a
XXXVIII SBPO
[ 332 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
serem usadas serão: ponto de rede = 58,82 (indispensável), ar condicionado = 29,41 (importante) e
carteiras estofadas = 11,76 (irrelevante).
Tabela 4. Matriz de comparações.
1
2
5
1/2
1
3
1/5
1/3
1
4. Um Sistema Computacional para o Problema.
4.1. Descrição do Sistema
O sistema para a alocação de salas foi desenvolvido na linguagem Object Pascal com a ferramenta
Borland Delphi 7.0, segundo o paradigma de Orientação a Objetos. O banco de dados utilizado foi o
SQL Server. O sistema possui uma interface agradável seguindo o padrão dos softwares para
Windows.
Para proporcionar uma boa organização do software e facilitar futuras manutenções foi
considerado viável implementar uma arquitetura em quatro camadas: Modelo, Interface, Negócio e
Banco de Dados (Figura 1).
Figura 1. Arquitetura de Software Utilizada
A camada Modelo é responsável pelo gerenciamento da informação e o comportamento da
aplicação. Esta camada contém as classes das quais as outras camadas dependem e onde estão os
atributos que são utilizados para realizar as ações do sistema relacionadas ao acesso ao banco de
dados.
A camada Interface é responsável pela apresentação das entidades de domínio do usuário,
constituindo a parte visível do sistema. Não contém lógica do funcionamento da aplicação. As
operações que o usuário realiza na interface, por exemplo, pressionar um botão, são transformadas em
eventos, os quais são enviados para um gerente da camada de Negócio, que sabe o que deve ser feito
em seguida.
A camada Negócio é responsável pela interpretação das ações do usuário provenientes da
Interface e comanda a execução das regras de negócio intrínsecas no Modelo. Além disso, comanda a
Interface para que ela apresente adequadamente a informação ao usuário. Comunica-se com a camada
Banco de Dados para prover informações e acionar operações.
A camada Banco de Dados contém os métodos de acesso ao banco de dados. Somente pode ser
acessada pela camada Negócio, o que aumenta a segurança do sistema.
XXXVIII SBPO
[ 333 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
4.2. Estudo de Caso e Funcionalidade do Sistema
O sistema desenvolvido foi testado na Universidade Candido Mendes, com sede na cidade de
Campos dos Goytacazes-RJ (UCAM-Campos). A UCAM-Campos oferece oito cursos de graduação
(Administração, Ciências Contábeis, Ciência da Computação, Ciências Econômicas, Direito,
Engenharia de Produção, Sistemas de Informação e Normal Superior) e três cursos de mestrado
(Pesquisa Operacional e Inteligência Computacional, Economia Empresarial e Planejamento Regional
e Gestão de Cidades). O campus é constituído de dois prédios, com três andares cada um, com um
total de 55 salas de aulas, oito laboratórios de Informática e um laboratório de hardware. As aulas são
realizadas nos horários diurno e noturno, de segunda à sexta-feira, e apenas diurno aos sábados.
Na UCAM-Campos, a alocação de turmas em salas sempre foi feita manualmente por uma
comissão responsável. O procedimento de alocação começa a ser elaborado, manualmente, algumas
semanas antes do início do semestre letivo, de acordo com uma pré-matrícula realizada pela
instituição. No início das aulas do semestre, os alunos têm dois dias para alterar o plano de estudo, o
que muitas vezes torna a primeira alocação inviável quando requisitos essenciais deixam de ser
satisfeitos. As correções necessárias, para viabilizar novamente a alocação, são um transtorno para a
comissão incumbida de realizá-las e começam a serem efetuadas ao longo das primeiras semanas,
ocasionando um grande desconforto para alunos e professores.
O sistema desenvolvido possui uma interface visual que permite ao usuário uma visão geral da
disposição e alocação das salas de aula da UCAM-Campos (veja Figura 6). As salas para cursos de
graduação são enumeradas: 101,... ,108 (1° andar ), 201,... ,222 (2° andar ) e 301,...,322 (3° andar). No
primeiro andar existem seis salas (01,...,06) que são prioritários para os cursos de mestrado, no entanto
podem também ser utilizadas para turmas de graduação. Na interface do sistema, as salas são
representadas graficamente por “portas”, que quando estão abertas indicam que a sala está disponível e
quando estão fechadas indicam que a sala está alocada para uma turma. Por exemplo, na Figura 2
mostra-se que sala 102 está alocada e a sala 104 está disponível.
Figura 2. Tela Principal do Sistema.
O usuário do sistema pode escolher e explorar diferentes opções disponíveis numa barra de
menu (localizada na parte superior da tela principal, veja Figura 2). Há também a possibilidade de
acessar os comandos mais usuais (Limpar Dados, Alocar Salas, Exibir Relatório de Alocação, etc)
através da barra de ferramentas localizada abaixo da barra de menu. O usuário pode alternar a
visualização, da alocação, por turno (manhã ou noite) e por andar (1°, 2° e 3° andar).
XXXVIII SBPO
[ 334 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
Os recursos disponíveis são cadastrados e cada recurso possui um tipo e um respectivo peso. Na
Figura 3 observa-se o cadastramento de três recursos com seus respectivos tipos.
Figura 3. Cadastro de Recursos.
Para cada turma são cadastrados: o código da turma, descrição da turma, número de alunos da
turma (demanda) e os recursos requisitados pela turma (Veja Figura 4). Para cada sala são cadastrados:
o número da sala, capacidade da sala e os recursos oferecidos. Na Figura 5 visualiza-se o
cadastramento dos recursos oferecido por uma sala (sala 1). Todas as informações cadastradas são
gravadas em um Banco de Dados.
Após ingressar todas as informações no sistema, deve-se executar o algoritmo de designação
(Húngaro) para gerar uma alocação ótima das turmas em salas.
1º Período C. Computação
30
Figura 4. Cadastro de Recursos Oferecidos por uma Sala.
Após a geração de uma alocação, o sistema permite fazer realocações de algumas turmas, de
forma manual. O sistema também possui opções para exibir o relatório de uma alocação semestral e
este pode ser impresso por cursos e por turnos. Na Figura 10 (a), mostra-se um relatório da alocação,
XXXVIII SBPO
[ 335 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
gerada pelo sistema, para as turmas do curso de Ciência da Computação (diurno). Com a finalidade de
apresentar ao usuário os recursos disponíveis no sistema, foi implementada uma função de ajuda (veja
Figura 10(b)).
Figura 5. Cadastro de Recursos Oferecidos por uma Sala.
(a)
(b)
Figura 6. (a) Relatório da alocação. (b) Ajuda do sistema.
5. Conclusões
Neste trabalho foi apresentado um método para atribuir pesos a os recursos oferecidos pelas salas de
aula numa Instituição de Ensino. A avaliação dos custos da alocação foi feita com critérios particulares
que inclui uma ponderação definida pela metodologia AHP. Considerando que as preferências pelos
XXXVIII SBPO
[ 336 ]
XXXVIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL
Pesquisa Operacional na Sociedade: Educação, Meio Ambiente e Desenvolvimento
12 a 15/09/06 Goiânia, GO
recursos são critérios qualitativos a serem transformados em quantitativos, o método AHP evita a
subjetividade da decisão e permite a definição racional das preferências.
O trabalho também apresenta o desenvolvimento de um sistema computacional com uma
interface visual que permite a geração da uma alocação de maneira fácil e prática. O sistema atendeu
ao objetivo de otimizar o processo de alocação de salas, alocando as turmas nas salas de aula da
melhor maneira possível. Em vista do desempenho satisfatório da técnica proposta, a UCAM-Campos
está apta a adotar o sistema.
Como trabalhos futuros, prepõem-se: inclusão de funcionalidades como, por exemplo, reservas
ocasionais de salas; incluir outras facilidades de interface para o sistema; considerar a programação de
horários das aulas que completaria o sistema de programação de cursos universitários.
Referências
Andrade, R.G., Arroyo, J.E.C. e Coca Balta, A.G., (2005) Aplicação De Um Algoritmo de
Designação No Desenvolvimento De Um Sistema Automatizado Para o Problema de Alocação de
Salas. Aceito no XXXVI SBPO, Gramado-RS,
Bardadym, V.A. (1996). Computed-Aided School and University Timetabling: The New Wave.
Lecture Notes in Computer Science, 1153: 22-45.
Bazaraa, M. S.; Jarvis, J. J.; Sherali, H. D. Linear Programming and Network Flows, New York:
Ed. WILEY, 1990.
Coca Balta, A.G., (2004), Perturbações da matriz Simetricamente Recíproca na Tomada de decisões,
ERMAC-2004, UFRJ, RJ
Costa, H.G. (2002) Introdução ao Método de Análise Hierárquica: Análise Multicritério no Auxilio à
Decisão. Editora Ao Livro Verde, Niterói.
Dowsland, K.A. (1998) Off-the-Peg or Made-to-Measure? Timetabling and Scheduling with AS and
TS. Lecture Notes in Computer Science, 1408: 37-52.
Saaty, T.L., (1990). How to make a decision: The Analytic Hierarchy Process. European Journal of
Operational research 48, 9-26.
XXXVIII SBPO
[ 337 ]
Download