Vous êtes sur la page 1sur 14

Marcus Ricardo Aguiar dos Santos

Desenvolvimento de uma Arquitetura Multiagentes para Aplicao em Problemas de Otimizao Combinatria de Diferentes Classes
Trabalho de Concluso de Curso Apresentado ao Curso de Engenharia de Computao do Centro Federal de Educao Tecnolgica de Minas Gerais, como requisito parcial obteno do ttulo de Graduado em Engenharia de Computao.

Orientador:

Prof. Dr. Rogrio Martins Gomes CEFET-MG


Co-orientador:

Prof. Msc. Edwar Saliba Jnior CEFET-MG


G RADUAO EM E NGENHARIA DE C OMPUTAO F EDERAL DE E DUCAO T ECNOLGICA DE M INAS G ERAIS D EPARTAMENTO DE C OMPUTAO

C ENTRO

Belo Horizonte - MG Maro de 2012

Resumo
Este trabalho tem por objetivo a melhoria da arquitetura Bio-Inspired Multi-Agent System for Combinatorial Optimization (BIMASCO). A arquitetura BIMASCO, desenvolvida com base na Arquitetura Multiagente para Meta-heursticas (AMAM), consiste num framework para a soluo de problemas de otimizao combinatorial. Sua principal caracterstica a exibilidade em relao ao problema a ser resolvido, ou seja, a capacidade de gerar solues para diversos tipos de problemas de otimizao combinatorial. A proposta do projeto BIMASCO consiste em desenvolver uma arquitetura, que utiliza algumas heursticas e meta-heursticas para encontrar a melhor soluo, ou algo prximo disso, para um determinado problema. Sua implementao visa tambm a expansibilidade do projeto, permitindo a adio de novas heursticas e/ou metaheursticas. Para alcanar todos estes objetivos, o desenvolvimento da arquitetura utiliza o conceito de sistema multiagente. O sistema multiagente consiste em um ambiente com diversos agentes que trocam estmulos entre si. Os estmulos sero responsveis por trafegar as solues e permitir, com isso, a combinao e variao dos diversos resultados gerados pelas meta-heursticas. Portanto, a arquitetura BIMASCO uma ferramenta para encontrar solues relevantes para problemas de otimizao combinatorial que algoritmos simples no conseguiriam encontrar em tempo polinomial. PALAVRAS-CHAVE: Meta-heursticas; Agentes; Multiagentes.

Lista de Abreviaturas e Siglas


AG Algoritmos Genticos LSI Laboratrio de Sistemas Inteligentes CEFET-MG Centro Federal de Educao Tecnolgica de Minas Gerais AMAM Arquitetura Multiagente para Meta-heurstica UML Unied Modeling Language BIMASCO Bio-Inspired Multi-Agent System for Combinatorial Optimization

Sumrio

1 Motivao 2 Objetivos 2.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Objetivos Especcos . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Metodologia de Pesquisa 4 Cronograma de Trabalho 5 Resultados Esperados 6 Infraestrutura Necessria 7 Trabalhos Futuros

p. 4 p. 5 p. 5 p. 5 p. 7 p. 9 p. 11 p. 12 p. 13

Motivao

Alguns problemas de otimizao combinatorial so considerados complexos para serem resolvidos por algoritmos em tempo polinomial, ou seja, problemas das classes NP-difcil ou NP-completo. Com base nisso, diversas heursticas foram criadas na tentativa de encontrar solues prximas do valor timo e em tempo polinomial. Geralmente, problemas desta natureza so resolvidos, de forma satisfatria, com solues que no so necessariamente as melhores. No entanto, nem sempre encontrar a melhor heurstica para um determinado problema uma tarefa fcil. Alm disso, para alguns problemas, heursticas no so sucientes para se encontrar solues satisfatrias. Por isso, surgiu o conceito de meta-heurstica que consiste em um conjunto de conceitos que podem ser utilizados para se denir mtodos heursticos a serem aplicados a um extenso conjunto de problemas apud ??). Pensando nisso, o Laboratrio de Sistemas Inteligentes (LSI) iniciou algumas pesquisas am de construir uma arquitetura para atuar de forma a combinar diversas heursticas e se chegar ao resultado mais prximo do timo. Inicialmente foi concebida a arquitetura Arquitetura Multiagente para Meta-Heurstica (AMAM), desenvolvida por apud ??), apud ??) e apud ??). Posteriormente a arquitetura BIMASCO, a evoluo da arquitetura AMAM, foi concebida por apud ??) para atuar de forma a combinar diversas heursticas e se chegar ao resultado mais prximo do timo. A idia do projeto utilizar diversas heursticas simultaneamente, de forma a fundir os melhores resultados de cada uma delas em um resultado melhor. Por m, para dar prosseguimento a construo dessa arquitetura, sero realizadas algumas melhorias no projeto, a m de permitir, por exemplo, que a arquitetura seja executada de forma totalmente distribuda. Alm disso, mais heursticas sero implementadas para favorecer a generalizao dos problemas a serem resolvidos e para favorecer a melhoria dos resultados obtidos.

Objetivos

2.1

Objetivo Geral

O objetivo geral deste trabalho realizar algumas melhorias na arquitetura BIMASCO - Bio-Inspired Multi-Agent System for Combinatorial Optimization. BIMASCO uma arquitetura multiagentes, multithreading, bioinspirada, genrica e exvel, para resoluo de problemas de otimizao combinatria de qualquer classe, sem que seja necessrio reescrever os algoritmos implementados quando da troca do problema a ser tratado. De modo geral, as principais melhorias a serem implementadas na arquitetura so: modic-la de modo a deix-la ainda mais exvel e genrica, implementar mais algoritmos para aumentar seu poder de busca das melhores solues, alm de realizar modicaes para favorecer o paralelismo da aplicao.

2.2

Objetivos Especcos

Para que o objetivo geral seja alcanado, faz-se necessrio que os objetivos especcos a seguir sejam alcanados: 1. Estudar a arquitetura BIMASCO para entender como cada objeto se comunica, alm das funes que cada objeto desempenha no sistema. A partir deste estudo, ser possvel dar prosseguimento aos outros objetivos do trabalho. Ler um material com contedo relevante o primeiro passo para realizar as tarefas que viro a seguir. 2. Realizar o desacoplamento da arquitetura BIMASCO, ou seja, tornar o cdigofonte independente da interface grca. Com isso, ser possvel executar o software em uma mquina e sua interface grca em outra mquina. A tarefa ser relevante, dado que futuramente a execuo da arquitetura em um cluster ser

2.2 Objetivos Especcos

necessria. 3. Estudar e implementar novas meta-heursticas para tornar a arquitetura mais exvel, mais robusta e ser capaz de gerar solues cada vez melhores. 4. Realizar ajustes dos parmetros da aplicao dado que os testes realizados at agora esto gerando resultados razoveis, porm, espera-se que estes resultados sejam melhorados. Alm disso, a incluso de novas meta-heursticas podem exigir uma calibrao destes parmetros. 5. Implementar as micro-regies, ou seja, possibilitar a execuo da arquitetura com vrias regies e, com isso, favorecer a gerao de melhores resultados. Micro-regies um conceito criado para representar a execuo do programa com vrias regies, cada uma delas relacionadas a um conjunto de agentes. Cada conjunto destes agentes sero responsveis por explorar suas micro-regies e no, necessariamente, precisaro explorar todo o domnio de possveis solues. 6. Desacoplar a arquitetura do problema de roteamento de veculos por janela de tempo(PRVJT). A arquitetura, atualmente, est utilizando o (PRVJT) como base para os testes de validao da arquitetura. Com isso, a partir do objetivo alcanado, outros problemas poderiam ser adicionados a arquitetura sem alteraes no cdigo, e a caracterstica de exibilidade do sistema seria alcanada.

Metodologia de Pesquisa

O desenvolvimento do trabalho basea-se principalmente no projeto BIMASCO e em suas necessidades de melhoria. Por isso, torna-se necessrio a realizao de um estudo acerca dos conceitos que, de alguma forma, so envolvidos pelo projeto. Alm disso, alguns ajustes na arquitetura BIMASCO tornam-se necessrios. Para facilitar o andamento do projeto, o trabalho foi dividido em etapas. Estas etapas so apresentadas a seguir: 1. Estudar a estruturao da arquitetura BIMASCO para entender melhor como o mecanismo de construo das solues dos problemas de otimizao combinatorial. 2. Fuso do framework RMI e a arquitetura BIMASCO, ou seja, a arquitetura ser modicada para ser executada com o framework RMI. Para isso, todo o estudo da arquitetura ser aplicado a esta alterao do cdigo. 3. Estudar novas meta-heursticas para serem incorporadas a arquitetura. Para isso, ser necessrio estudar todas as caractersticas das meta-heursticas, alm da forma de implementao das mesmas. 4. Implementao das meta-heursticas estudadas. 5. Realizar testes sistemticos na arquitetura, a m de descobrir quais os melhores valores para os parmetros do sistema. Tais parmetros, mais especicamente os valores das threads de cada objeto, devero ser ajustados para favorecer a gerao de solues melhores dos problemas tratados. 6. Realizar a implementao de micro-regies para limitar o espao de busca dos agente e, com isso, permitir a melhoria das solues encontradas. 7. Realizar um estudo acerca do acoplamento da arquitetura ao problema de roteamento de veculos com janela de tempo (PRVJT).

3 Metodologia de Pesquisa

8. Modicaes em todas as classes que integram a arquitetura ao problema de forma a realizar o seu desacoplamento. Por m, as mudanas realizadas devero desacoplar a arquitetura do problema, de forma que qualquer outro problema possa ser incorporado a arquitetura sem maiores modicaes no cdigo-fonte. Para as melhorias da arquitetura proposta sero utilizadas as linguagens UML (Unied Modelling Language) e a IDE (Integrated Development Environment) NetBeans. Para o controle de verses ser utilizada uma ferramenta CVS (Concurrent Versions System) chamada "RapidSVN". Para a implementao dos componentes de software, ser utilizado como referncia apud ??), apud ??) e apud ??).

10

Cronograma de Trabalho

Tarefas do cronograma proposto: 1. Estudar a arquitetura BIMASCO atravs da leitura das dissertaes de mestrado da Maria Amlia, Renata, Filipe e Edwar. 2. Executar a arquitetura BIMASCO e entender seu funcionamento. 3. Estudar o framework de comunicao remota (RMI), que ser utilizado no desacoplamento da arquitetura com a interface grca. Atraves do framework RMI, a comunicao entre a arquitetura e sua interface grca pode ser realizada remotamente, fazendo com que cada um seja executado em mquinas diferentes e, com isso, favorecer o paralelismo da aplicao. 4. Estudar a funcionalidade e a implementao de cada heurstica e meta-heurstica implementada na arquitetura BIMASCO. 5. Pesquisar e selecionar novas heursticas e meta-heursticas para serem imcorporadas a arquitetura. 6. Realizar a implementao das heursticas e meta-heursticas que, de alguma forma, forem relevantes para a arquitetura. 7. Testar as alteraes realizadas. 8. Realizar uma pesquisa para compreender quais os testes foram executados na arquitetura e fazer comparaes com outras arquiteturas. 9. Pesquisar e selecionar quais os parmetros que podero sofrer alteraes e interferir de forma signicativa nos resultados encontrados. 10. Fazer alteraes nos parmetros em busca de melhoria dos resultados encontrados.

4 Cronograma de Trabalho

11

11. Vericar a interferncia de cada parmetro alterado. 12. Estudar a forma de implementao das regies e modelar a implementao de micro-regies. 13. Implementar as micro-regies e realizar novos testes na arquitetura. 14. Estudar a forma de implementao do problema a ser solucionado (PRVJT). 15. Modelar uma alternativa para o desacoplamento da arquitetura ao problema. 16. Realizar alteraes am de viabilizar o desacoplamento arquitetura-problema. 17. Testar a arquitetura exaustivamente em busca de algum problema originado das modicaes realizadas. Considerando-se as tarefas listadas e enumeradas acima, prope-se o seguinte cronograma para a execuo das mesmas:
Ano Tarefas \ Ms 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 03 04 05 06 07 08 09 10 2012 11 12

Tabela 4.1: Cronograma de Desenvolvimento do Projeto

12

Resultados Esperados

Ao trmino do trabalho, espera-se que seja possvel executar o software separado de sua interface grca. O desacoplamento da arquitetura favorecer a execuo do cdigo-fonte em uma mquina e a execuo da interface grca em outra mquina. A inteno reestruturar o cdigo, de forma que o cdigo fonte no esteja acoplado a interface grca. Com isso, a aplicao estar preparada para ser executada em um ambiente de cluster. Alm disso, espera-se que os parmetros estejam melhores ajustados, para que as solues apresentadas estejam mais prximas das solues timas. Com todos os testes que sero feitos para o ajuste dos parmetros, a espectativa que alguns dos valores dados aos parmetros altere, de forma signicativa, os resultados das solues. Com o objetivo de melhorar ainda mais as solues encontradas, a arquitetura dever ter novas meta-heursticas implementadas ao nal do trabalho. Sero implementadas as micro-regies que limitaro o espao de busca dos agentes e a velocidade para se encontrar uma soluo ser aumentada. Por m, o resultado nal do trabalho deve mostrar uma arquitetura exvel, ou seja, com possibilidades de alterar com facilidade as meta-heursticas a serem utilizadas e o problema a ser tratado.

13

Infraestrutura Necessria

Os recursos necessrios para a viabilizao das atividades de pesquisa presentes neste projeto de atuao docente encontram-se disponveis no LSI - ( Laboratrio de Sistemas Inteligentes), no qual os autores desse projeto exercem atualmente suas atividades de pesquisa. O LSI possui toda a infra-estrutura de hardware e software necessria a execuo desse projeto, alm de contar com um excelente acervo bibliogrco disponvel para consulta. O laboratrio conta ainda, com diversos equipamentos adquiridos atravs dos projetos de pesquisa desenvolvidos pelos professores pesquisadores integrantes do grupo junto a diversos rgos de nanciamento.

14

Trabalhos Futuros

Pensando na continuidade do trabalho, seria importante realizar a implementao de outros problemas base na arquitetura, de modo a ser possvel executar o software com o problema desejado, sem alteraes signicativas no cdigo. Caso no seja possvel realizar tal modicao no trabalho corrente, os prximos trabalhos podem ser encarregados deste tipo de modicao, dado que a estrutura do software estar preparada para tal alterao. Com base na proposta do trabalho, utilizar vrias meta-heursticas e tratar diversos tipos de problemas, podemos criar conceitos de classes de problemas para meta-heursticas especcas. Ou seja, para cada problema a ser resolvido, a arquitetura BIMASCO dever identicar qual so as melhores meta-heursticas a serem utilizadas na resoluo do problema. O prprio trabalho j uma melhoria da arquitetura BIMASCO porm, melhorias contnuas devero ser realizadas am de tornar a arquitetura cada vez mais robusta e til, do ponto de vista de solucionar problemas de otimizao combinatorial. Sem dvidas, o trabalho proposto no abrange todas as melhorias necessrias para que a arquitetura esteja em pleno funcionamento. Ento, vrios outros trabalhos viro a seguir com intuito de realizar melhorias de diferentes naturezas na arquitetura. Inclusive, tais melhorias devero tornar-se necessrias a partir do desenvolvimento deste trabalho.

Vous aimerez peut-être aussi