Projetos para alunos de Iniciação Científica, Mestrado e Doutorado

A primeira versão desta página foi feita em 1999. Ela continha vários projetos de Iniciação Científica e Mestrado nos quais eu estava interessado. Esses projetos serviram para atrair alunos que me procuraram falando "gostei disto ou daquilo" e provavelmente serviram também para afujentar alunos que nunca me procuraram. De fato, a página cumpriu seu objetivo: dar aos alunos interessados em IC, mestrado ou doutorado, uma ideia mais ou menos concreta dos projetos que poderiam desenvolver sob a minha orientação.

Atualmente estou envolvido em diversos projetos, com colegas do IME-USP, tanto do grupo de otimização contínua como do grupo de combinatória e grafos, e com colegas de outros centros de pesquisa nacionais (UNICAMP, IMPA, etc) e internacionais. Esses projetos envolvem aspectos teóricos, práticos (computacionais) e aplicações.

Dentro desses projetos há espaço para desenvolver um espectro bem amplo de subprojetos, que podem ser mais teóricos ou mais aplicados, dependendo dos interesses do aluno. Porêm, como pode se dizer que todos os subprojetos estão relacionados com Métodos Computacionais de Otimização, todos eles envolvem a implementação de alguma coisa.

Para dar uma idêia dos diferentes tipos de projetos nos quais você poderia trabalhar, eis uma explicação um pouco mais detalhada de projetos mais teóricos, mais práticos e aplicações:

Paralelização de ALGENCAN:

ALGENCAN é um algoritmo que resolve o problema de minimizar uma função contínua sujeita a restrições gerais. Como quase todo método de otimização, usa bastantes subrotinas de Álgebra Linear, como produto interno de vetores, soma de vetores, produto de uma matriz por um vetor, etc. Essas operações básicas podem ser facilmente paralelizaveis. De fato, já existe a versão paralela, chamada PBLAS (Parallel Basic Linear Algebra Subprograms), de uma biblioteca clássica de rotinas de Álgebra Linear chamada BLAS (Basic Linear Algebra Subprograms). PBLAS está baseada no MPI (Message Passing Interface). O objetivo deste projeto e implementar uma versão paralela de ALGENCAN utilizando as rotinas da biblioteca PBLAS. Tanto BLAS, como PBLAS e MPICH (uma implementação do MPI) são softwares livres. Criar uma versão livre de ALGENCAN, con licensa GPL e, por que não, um pacote instalável numa distribuição Debbian do Linux, seria também bem interessante.

Aplicações:

Ao longo do tempo, trabalhamos também com diversas aplicações a problemas provenientes de áreas diversas, como Física, Química e Engenharia. Exemplos dessas aplicaçoes são o software PUMA para estimação de constantes óticas de filmes finos e várias aplicações a problemas de empacotamento 2D e 3D. Veja, por exemplo, PACKMOL. Neste momento ainda há várias aplicações a problemas de empacotamento em 2D que poderiam ser desenvolvidas. Para ter uma idéia mais concreta do que é um problema de empacotamento e das coisas que poderiam ser feitas veja, por exemplo, PACKING.

Desenvolvimento de métodos de otimização:

Finalmente, trabalhamos constantemente no desenvolvimento e aprimoramento de métodos de otimização contínua. Atualmente, estamos trabalhando no Projeto TANGO (Trustable Algorithms for Nonlinear General Optimization). O número de possibilidades nesta área é bem grande. Os trabalhos deste tipo quase sempre consistem em estudar e implementar algum método de otimização. Estudar e implementar quer dizer o seguinte: sempre há que implementar alguma coisa, mas para chegar lá, precisa estudar bastante.

Para ver exemplos mais concretos de projetos, veja a versão antiga desta página. Alguns dos projetos nela descritos já foram realizados, mas outros ainda aguardam por interessados.