Você é Ligador ou Recebedor? Antecipa ou Espera? Resolve ou Transfere? Empurra ou Planeja? Só Copia ou também Cria? Você está ocupado ou preocupado com a qualidade dos processos de Recursos Humanos?

segunda-feira, 5 de setembro de 2011

Curhtas e Rhápidas: O que é otimizar

Fonte: Jocelyn Freitas Bennaton* 

Otimizar é melhorar até onde pudermos. No ideal, melhorar até o máximo. Até aquela situação ideal na qual, como vulgarmente se diz, "se mexer mais, piora". 
Melhorar só é possível se temos escolha. Escolher uma dentre várias alternativas. Se uma alternativa houver, capaz de introduzir alguma melhoria, ficamos com ela. Caso contrário, o que temos em mãos já é a escolha ótima. 
"Vale mais um pássaro na mão do que dois voando?" O ditado poderia ser uma epígrafe de um livro de otimização escrito por um jogador de pôquer… 
Há escolhas que, se fossem exequíveis, tirariam-nos do aperto. Poderiam até ser ótimas, mas não são escolhas possíveis. Otimizar é selecionar algo melhor. Mas, quase sempre, ficamos restritos a escolhê-lo dentre um conjunto limitado de alternativas. 
Obviamente, o desejo de otimizar não basta. Sem critério de escolha, por exemplo, nem adianta conhecer o universo de alternativas. Por outro lado, desconhecendo-se este, não adianta ter critério. Informação, portanto, é fundamental. Quanto mais, melhor; mais depressa chegamos às alternativas ótimas. 
Otimização acabou se constituindo numa vasta e sólida área do conhecimento. Uma área híbrida, eclética e pragmática. Com um pé na matemática e outro pé na computação. Que se nutre das ciências exatas, das biológicas, das tecnológicas. Que se dedica a solucionar problemas independentemente do contexto onde surgem. Problemas práticos e efetivos. Problemas relativos ao como determinar uma alternativa melhor que outra, dentro de um universo dado. 
Sabemos dizer se uma alternativa é melhor que outra quando temos um critério. Torna-se conveniente traduzir em números este critério. Como se fosse uma nota. Como se as alternativas fossem provas; cada uma com uma, e apenas uma, nota. Com isto, o critério vira uma função matemática. A alternativa ótima seria aquela na qual o valor desta função atinge um valor extremo; ou seja, um máximo ou um mínimo. 
Otimização liga-se à matemática através da investigação dos máximos e mínimos locais de funções. Isto é, dos "valores estacionários da função" (que ocorrem quando a derivada se anula) se quisermos utilizar a linguagem apropriada. Tais funções podem ser de uma ou várias variáveis reais. Como as funções quadráticas, representadas por arcos de parábola no plano cartesiano. Com um único ponto de máximo, ou de mínimo, quando o domínio é todo o conjunto dos números reais. 
Ou, as funções podem ser funcionais. Ou seja, funções cujas variáveis não são redutíveis a um número finito de escalares. Por exemplo, variáveis que são curvas. Como aquele funcional que associa o tempo de percurso a cada uma das trajetórias possíveis entre dois pontos. Se ambos os pontos estiverem numa esfera, se as trajetórias estiverem sobre a superfície esférica, se o percurso for a velocidade constante, a trajetória de tempo mínimo coincidirá com o arco de circunferência que, centrado no centro da esfera, liga os tais dois pontos. 
Contudo, é bom ter sempre em mente que a área de otimização costuma se distanciar deste contexto. Para ilustrar: no plano cartesiano uma reta inclinada não possui pontos estacionários. Certo. Consideremos agora um segmento desta reta. Ele pode representar o gráfico de uma função cujo domínio é um intervalo fechado e limitado. A função não possui pontos estacionários. Mas admite um máximo e um mínimo localizados nos extremos do seu intervalo de definição.  
A investigação dos pontos estacionários de uma função encontra abrigo na "análise matemática". Porém, quando as funções são funcionais, costuma-se inserir a questão dentro de um capítulo especial da matemática denominado "cálculo variacional". 
Esta ligação da otimização com a matemática é a umbilical. Mas, está longe de ser o único ponto de contacto entre ambas. 
Há, de fato, inúmeros problemas de máximos e mínimos que não se enquadram na perspectiva anterior. Por conta disto, embora possam ser transformados em objetos matemáticos, fica dificil classificá-los como pertinentes a algum capítulo da matemática. Não obstante, são problemas típicos da área de otimização. 
Por exemplo: como cortar placas de vidro de forma a atender aos pedidos que nos chegam, com um mínimo de desperdício possível de material? Como distribuir mascates na Praia Grande de modo que eles terminem suas vendas o mais perto possível dos pontos de resgate? Quais ações devo selecionar para compor uma carteira dirigida a um grupo de investidores com características bem definidas? Como controlar injeção de combustível num motor a explosão de modo a maximizar rendimento minimizando vibrações? E controlar a temperatura de um reator de modo a estabilizar a produção dentro de valores pré-selecionados? 
Na matemática é costume se concentrar na existência de máximos e mínimos locais. Condições necessárias, condições suficientes. Na otimização não basta isto. "Mata-se a cobra mas tem que se mostrar o pau". Tem que se dizer como determinar, efetivamente, os extremos procurados. Na verdade, este "como" acaba se impondo. Na otimização, a metodologia de cálculo é que acaba virando o prato principal.  
Acontece que nem sempre o "ótimo" sai de pronto, num único cálculo. É necessário um processo sistemático de busca. Um procedimento iterativo de cálculos que, passo a passo, de candidato a candidato, permita-nos ir melhorando a seleção. Até que o ótimo seja encontrado, ou até que estejamos satisfeitos.
Estamos, portanto, falando de algoritmos. A construção de bons algoritimos é a principal vocação da otimização. Algoritmos gerais e confiáveis. Que, se possível, resolvam classes de problemas de otimização independentemente da dimensão e dos parâmetros envolvidos. 
Hoje em dia, temos os computadores digitais. São máquinas capazes de processar um grande número de cálculos em tempos muito exíguos. A existência deste recurso impulsionou a área de otimização. Moldou-a. Fez com que a área de otimização encontrasse na ciência da computação seu outro pé de apôio. Como construir algoritmos que, atendendo a uma vasta classe de problemas, sejam seguros e exijam um mínimo de trabalho das máquinas computacionais? 
Pois é. É quase que admitir que, na busca de algoritmos cada vez mais eficientes, otimização é uma área aberta, que acabou contendo-se a si mesma…
Jocelyn Freitas Bennaton
Professor Titular do Departamento de Eng. de Sistemas Eletrônicos
 Ph.D. em Engenharia (Imperial College)
 Mestre em Engenharia de Sistemas
(POLI-USP)
 

Nenhum comentário:

Postar um comentário

Comentem, da discussão nasce a sabedoria!