160 likes | 277 Views
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
E N D
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 • Nestes exemplos (e em muitos outros), o processo de decisão pode ser expressado por um modelo matemático.
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.
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 dadosem vez do armazenamento e recuperação.
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.
Projeto FutMax (www.futmax.org) 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) • 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.
Projeto FutMax (www.futmax.org) Data Input Collectors Internet Solver Publisher Validator Solver Solver
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.
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”.
Trabalhos futuros Servidor de Otimização Cluster Desktop
Trabalhos futuros Servidor de Otimização Cluster Desktop Desktop Desktop
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.