engenharia de software para sistemas de apoio a decisão
DESCRIPTION
Engenharia de Software para Sistemas de Apoio a Decisão. Thiago F. Noronha. Introdução. Sistemas de apoio à decisão (SAD) são sistemas que ajudam a decidir qual a melhor solução para um determinado problema. Por exemplo: Sport scheduling Car sequencing Network design Bin packing - PowerPoint PPT PresentationTRANSCRIPT
1
Engenharia de Software para Sistemas de Apoio a Decisão
Thiago F. Noronha
2
Introdução
Sistemas de apoio à decisão (SAD) são sistemas que ajudam a decidir qual a melhor solução para um determinado problema.
Por exemplo:– Sport scheduling– Car sequencing– Network design– Bin packing
Nestes exemplos (e em muitos outros), o processo de decisão pode ser expressado por um modelo matemático.
3
Introdução
Em geral, os modelos matemáticos consistem em uma ou mais funções de otimização e um conjunto de restrições.
Estes modelos podem ter várias soluções com custos diferentes (valor de função de otimização).
Busca-se a melhor dentre todas as soluções do modelo (solução ótima). Entretanto, caso a solução ótima não possa ser atingida, a melhor solução encontrada é devolvida.
4
Introdução
A grande maioria dos modelos matemáticos referentes a problemas reais são muito difíceis de resolver.– Eles podem ter milhares ou milhões de variáveis de
decisão. – O número de soluções possíveis cresce
exponencialmente em função do número de variáveis;
– A quantidade de memória necessária para resolver os modelos também cresce exponencialmente em função do número de variáveis.
SAD diferem de outros sistemas porque eles focalizam o processamento e a visualização dos dados em vez do armazenamento e recuperação.
5
Projeto FutMax (www.futmax.org)
Ao longo do campeonato o site publica informações sobre os times, tais como:
– O time é matematicamente o campeão.– O time só depende de seus resultados para ser campeão.– O time depende de resultados de outros times para ser
campeão.– O time não pode mais ser campeão.– O time está classificado para a T.L..– O time ainda não está classificadoT.L., mas só depende de
seus resultados.– O time não está classificado para T.L. e depende de
resultados de outros times.– O time está desclassificado para a T.L..– O time está não pode mais ser rebaixado.– O time só depende de seus resultados para não ser
rebaixado.– O time depende de resultados de outros times para não ser
rebaixado.– O time está matematicamente rebaixado.
6
Estas informações são calculadas em função do: Número atual de pontos do time. Número de jogos realizados. Números de pontos para
– ser campeão.– se classificar para a T.L.– não ser rebaixado.
Números de pontos para ter chance de– ser campeão.– se classificar para a T.L.– não ser rebaixado.
Projeto FutMax (www.futmax.org)
7
Projeto FutMax (www.futmax.org)
Objetivo: Desenvolver um sistema para a atualização do site do projeto FutMax.– A fonte dos dados não conhece o sistema.– O estado do sistema pode mudar a qualquer hora do
dia e a atualização do sistema deve ser imediata. – O processamento dos dados envolve a resolução de
vários modelos matemáticos e consequentemente envolve um alto custo computacional.
– No entanto, o processamento dos dados pode ser distribuído em vários computadores, já que os modelos podem ser resolvidos independentemente.
– A aplicação não justifica o custo de um operador, portanto o sistema dever ser o mais autônomo possível.
8
ValidatorSolverPublisher
Collectors
Internet
Projeto FutMax (www.futmax.org)
Data Input
Solver
Solver
9
Projeto FutMax (www.futmax.org)
Ele foi modelado utilizando o paradigma de engenharia de software orientados a agentes e implementado na linguagem Java.
A modelagem por agentes, permitiu a criação de um sistema desacoplado e extensível.
A colaboração entre os agentes mostrou-se bastante benéfica, permitido que uma operação bastante complexa fosse resolvida de forma bastante simples.
O sistema vem sendo utilizado desde 2004.
10
Trabalhos futuros
SAD necessitam de um alto investimento em infra-estrutura. – Um computador muito rápido. – Muita memória RAM. – Uma licença do software que resolve os modelos
matemáticos (US$ 4.000,00).
Em muitas aplicações, o processo de decisão é executado esporadicamente, portanto a infra-estrutura é subutilizada.
Nós propomos uma arquitetura distribuída na qual o processando dos dados é realizado por um “WEB service”.
11
Trabalhos futuros
Cluster
Servidor de Otimização
Desktop
12
Trabalhos futuros
Cluster
DesktopDesktop Desktop
Servidor de Otimização
13
Trabalhos futuros
Esta abordagem permite uma diminuição no custo total do sistema.
Um maior número de aplicações tornam-se economicamente viáveis.
O sistema torna-se mais portátil, podendo ser executado em qualquer computador conectado à Internet.
A empresa pode ganhar não só vendendo o SAD mas também o poder de processamento.
14
Fim
15
Diagrama de casos de uso
16
Diagram de classes