Título: Introdução a Engenharia de Algoritmos e Otimização Combinatória

Resumo:

Engenharia de algoritmos é uma abordagem para pesquisa e desenvolvimento de algoritmos eficientes baseada no ciclo: projeto, análise teórica, implementação e avaliação experimental.

Otimização combinatória é uma área da computação focada na resolução de problemas de maximização de lucro ou minimização de custos, cujas variáveis estão em um espaço de decisão discreto. Estes problemas encontram aplicações nas mais diversas áreas, como logística, processos industriais, internet, etc. Além disso, a maioria dos problemas de interesse da otimização combinatória são NP-difíceis, o que significa que não existem algoritmos eficientes e exatos para eles a menos que P = NP. Note que, P versus NP é a maior questão em aberto da ciência da computação, sendo um dos 7 problemas matemáticos da lista Millennium Prize e correspondendo a um mistério fundamental do universo. (Para entender melhor, recomendo o excelente vídeo P vs. NP and the Computational Complexity Zoo - www.youtube.com/watch?v=YX40hbAHx3s)

Dada a relevância prática e a dificuldade teórica dos problemas de otimização combinatória, a abordagem da engenharia de algoritmos, que combina análises matemáticas com implementação e testes empíricos, se mostra bastante interessante para auxiliar na busca de novas e melhores soluções para estes problemas.