/SAD

Primary LanguagePython

SAD

Trabalho da materia Sistemas de apoio à decisão.

Foi construido um Sistema para aumentar a efitividade da distribuição de salas de uma universidade.

Como executar o projeto

  • Crie o banco de dados usando os arquivos de configuração na pasta "arquivos de configuração do banco"
  • Altere o aquivo "src/Model/BancoDeDados/banco.py" para fazer a conexão com o seu banco de dados
  • Instale as bibliotecas necessarias para execução do projeto, que são sqlalchemy e o pandas
  • Após isso basta executar o arquivo "controller.py" que fica dentro do diretorio "src"

Como começar a otimização

O Sistema recebe como entrada 2 arquivos CSV, que contem a configuração de salas e turmas.

Alem disso recebe:

  • Pesos: são 3 numeros separados por virgula, representando o peso para cada das taxas de qualidade
  • Temperatura: Um unico numero maior que 2, preferencialmente um numero proximo de 1000
  • Fator de resfriamento: Um numero entre 0 e 1 que representa a fator de redução da tempuratura
  • Numero maximo de iterações por temperatura: um numero inteiro qualquer

Alterando a solução

Após utilizar a otimização é exibida uma tabela com uma solução inicial, com as colunas: ID sala, dia da semana, horario, codigo da turma e ID da turma. A partir disso o Usuario pode fazer buscas de salas e turmas para buscar informações completas a respeito das turmas ou salas e a partir dessas informações é possivel realizar a troca de salas entre duas turmas. Para todas essas trocas são calculadas novas taxas de qualidade que são exibidas na barra lateral.

Por fim, o usuario pode salvar ou carregar uma solução no banco de dados, para persistir seus dados, ou reverter todas alterações e voltar ao estado inicial.