|
GPEA
Grupo
de Pesquisa em Engenharia de Algoritmo
Descrição: A
atividade de pesquisa do GPEA está concentrada no projeto e
análise teórica e experimental de algoritmos para
problemas que surgem nos modernos Sistemas de Produção
e Computação e em aplicações relacionadas
com problemas complexos de gerenciamento de recursos. O principal
interesse de pesquisa está focado na resolução
de problemas de otimização, de problemas de desenho de
grafo e em projeto de estrutura de dados e algoritmos eficientes, com
ênfase especial naquelas aplicações envolvendo
grande quantidade de dados.
Membros
|
Professor/Pesquisador
|
Aluno de
Mestrado/Doutorado
|
Aluno de Graduação
|
|
Ademir Aparecido Constantino Anderson Faustino da Silva Cândido Ferreira Xavier
de Mendonça (USP) Leticia Rodrigues Bueno (UFRJ) Marco
Aurélio Lopes Barbosa (UTPR) Robinson Hoto (UEL) Sarajane Marques Peres (USP) Silvio
ALexandre de Araujo (UNESP) Wesley Romão
|
Adriano Heis Walter Marcondes Mauro Henrique Mulati Everton Luiz de Melo Rodrigo Pinheiro Lankaites
|
Douglas Baroni Rizzato (PIBIC)
|
LEAL:
Laboratório de Engenharia de Algoritmo
Sala 04 – Bloco 19.
O
que é engenharia?
É a ciência e a arte da aplicação
de princípios científico e matemático para
projetar coisas e resolver problemas em benefício da
sociedade.
O
que é algoritmo?
Trata-se de um conceito na área de
computação que significa uma seqüência
finita de passos lógicos e bem definidos para resolver um
problema. Esses passos posteriormente poderão ser escritos
numa linguagem de computador e transformados num programa.
O
que é Engenharia de Algoritmo?
É a ciência e a arte da aplicação
de princípios científicos e matemáticos para
projetar algoritmos que resolva problemas de maneira eficiente. O
conhecimento necessário para esta área resume-se em
matemática, programação matemática,
análise de algoritmos, teoria da computação,
teoria dos grafos, combinatória e estrutura de dados.
Esta é uma nova denominação
dentro da área de computação que reúne os
aspectos teóricos e científicos da computação
juntamente com aplicações em problemas reais. A ACM
(Association for Computing Machinery) tem considerado essa
nova área há mais de cinco anos, promovendo o evento
anual ALENEX (Workshop on Algorithm Engineering and Experiments).
Motivação:
Constantemente nos deparamos com algoritmos
concebidos a partir de formulações de programação
matemática. Na literatura encontramos alguns desses algoritmos
clássicos e muito importantes, tais como: algoritmo Húngaro
para o problema de atribuição, algoritmo de
Out-of-Kilter para Fluxo de Custo Mínimo, algoritmo de Edmond
para Emparelhamento de Grafo não Bipartido. Alguns desses
algoritmos baseiam-se em variáveis primais e/ou duais oriundas
de formulações de programação matemática,
como é o caso do Out-of-Kilter. Estes exemplos mostram a
importância da programação matemática na
concepção de algoritmos robustos e eficientes.
O
trinômio Problema-Modelo-Algoritmo tem sido o foco de trabalho
para a Engenharia de Algoritmo. Antes da resolução do
problema diretamente por um algoritmo, a formulação de
um modelo do problema deve ser uma fase imprescindível para a
obtenção de um bom algoritmo. Os exemplos de algoritmos
clássicos supracitados revelam essa necessidade.
Desenvolver um algoritmo para resolver um
problema não basta apenas encontrar uma seqüência
lógica de operações, mas sim, uma seqüência
lógica e eficiente. Para isso, há necessidade de um
amplo conhecimento dos aspectos teóricos, tais como: Análise
de Algoritmos, Matemática Discreta, Programação
Matemática, Combinatória, Teoria da Computação,
Teoria dos Grafos e Estrutura de Dados.
Projeto Atual: "Engenharia de Algoritmo: Otimização e Grafos".
Projeto financiado pelo CNPq com recursos do Edital Universal - MCT/CNPq - Nº 15/2007
Resumo:
Desenvolver algoritmos heurísticos eficientes para resolver problemas de otimização tem sido um desafio constante para os pesquisadores. A programação matemática tem a vantagem de fornecer a solução ótima para um problema, mas seu uso é muitas vezes desestimulado pelo consumo excessivo de tempo de processamento ou até mesmo pela dificuldade de se modelar determinados problemas. Por outro lado, os algoritmos heurísticos normalmente não garantem alcançar a solução ótima. Neste projeto são propostos alguns algoritmo híbridos baseados em programação matemática e heurísticas com o objetivo de explorar as vantagens de ambos na tentativa de solucionar alguns problemas de otimização combinatória. A presente investigação será fomentada a partir de três tipos de problemas de otimização combinatória: planarização de grafos, escalonamento e alocação. Estes serão os problemas fomentadores da investigação de algoritmos eficientes, com o objetivo de desenvolver novas técnicas/algoritmos que proporcionem avanços no projeto de algoritmos aplicados, também, para outros fins. Particularmente, os problemas de planarização de grafos são extremamente complexos de serem modelados por programação matemática. Nesse caso, será realizada uma investigação de algoritmos heurísticos baseados em st-numeração e árvores-PQ com o objetivo de encontrar subgrafos planares máximo, usando a invariante de apagamento de vértice. Além disso, investigar o uso da st-numeração na obtenção de grafos planares com o mínimo de cruzamentos em desenho linear. Dentro da linha de problemas de escalonamento, serão desenvolvidos e investigados alguns algoritmos heurísticos para solucionar problemas de emparelhamento em grafo multipartido com gargalo que surge em alguns problemas de escalonamento de pessoal. Nesta linha, será explorada a programação paralela/distribuída sobre um cluster de computadores através do uso de algoritmos populacionais. Além disso, investigar um problema ainda não explorado pela literatura que integra a programação de produção e escalonamento de pessoal de forma simultânea, envolvendo transporte de carga viva. Na linha de problemas de alocação serão investigados alguns algoritmos heurísticos, combinados com programação matemática, para um problema real de alocação de espaço físico em instituição de ensino. Para esse problema está sendo idealizado um novo modelo, denominado de Modelo Gravitacional, que também fará uso da resolução de emparelhamento num grafo multipartido com gargalo. Em suma, este projeto explorará algumas técnicas dentre as quais destacamos o uso de algoritmos bio-inspirados, algoritmo heurístico baseado em st-numeração e árvore PQ, algoritmos paralelos para cluster, além da modelagem por meio de grafos e programação matemática. A equipe que compõe este projeto é formada por três pesquisadores com experiência na área, sendo que os pesquisadores possuem dedicação exclusiva em suas instituições de origem, sendo elas, UEM, USP e UNESP. Além disso, estão envolvidos quatro alunos de mestrado, além de um aluno de iniciação científica e outros alunos de conclusão de curso. A meta central deste grupo de pesquisa é a produção científica de técnicas algorítmicas para problemas de otimização e em grafos. Como resultado final, esperamos contribuir para o conhecimento científico por meio de publicações em veículos de divulgação de impacto nacional e internacional. Os resultados preliminares e as experiências do grupo são indicadores para a conclusão do projeto.
|