• Nenhum resultado encontrado

2.4 Métodos de Optimização

2.4.3 Algoritmos Alternativos

Enquanto um problema de optimização com variáveis contínuas, de domínio não-vazio, tem uma infinidade de pontos admissíveis, os problemas de variáveis discretas têm apenas um universo

5A designação de Lagrangiano Aumentado surge a partir da adição do termo de penalidade ao problema lagran- giano inicial [Belegundu e Chandrupatla 1999].

Métodos de Optimização

finito de potenciais soluções. No entanto, o processo de optimização pode tornar-se mais oneroso devido à ausência de condições de óptimo para orientar o processo [Arora 2004]. Nestes casos, é comum testar a definição de ponto óptimo recorrendo aos pontos disponíveis e à equação 2.4. Diversos métodos melhoram a eficiência deste processo recorrendo a abordagens estocásticas ou regras heurísticas.

Existem também diversas abordagens a problemas mistos, de variáveis discretas e contínuas. As metodologias adoptadas dependem naturalmente das características das variáveis, das funções utilizadas e do tipo de problema em análise. Note-se ainda que alguns destes métodos são utilizados em versões relaxadas de problemas de variáveis discretas (e.g. optimização topológica estrutural). Os métodos de resolução de problemas envolvendo variáveis discretas podem dividir-se em dois grupos [Arora 2007a]: (i) métodos de enumeração, implícita ou explícita (e.g. branch and bound algorithms), e (ii) métodos estocásticos ou evolucionários (e.g. algoritmos genéticos e recozimento simulado) [Ramos e Leal 2002, Foley 2007, Vasan e Raju 2009]. A título de exemplo destacam-se os algoritmos evolucionários como um conjunto de metodologias que se têm revelado ferramentas de elevada utilidade em diversas aplicações de engenharia. Estes métodos enquadram-se nas metodo- logias de procura estocástica e simulam fenómenos presentes na natureza, como o comportamento de animais (e.g. ant colony ou particle swarm) ou princípios de selecção natural (e.g. algoritmos genéticos). Esta aproximação ao tipo de resposta apresentado por sistemas naturais procura ob- ter níveis semelhantes de robustez e adaptabilidade, dando a este tipo de métodos uma grande variedade de aplicações. Os algoritmos evolucionários funcionam pela geração de populações de potenciais soluções, em detrimento de soluções individuais, orientando a seu processo de evolução no sentido do óptimo. Actualmente, a metodologia mais comum na corresponde aos algoritmos genéticos [Costa et al. 1999, Ramos e Leal 2002]. Neste caso, em cada iteração é gerada uma nova população (geração) por combinação das características (genes) mais favoráveis da geração anterior. Estas características, para cada indivíduo, traduzem-se na codificação (e.g. codificação binária) de um array de parâmetros (cromossoma) a serem avaliados pela função-objectivo de modo a traduzir a robustez do indivíduo. A robustez média da população é melhorada em cada geração. Uma vantagem desta metodologia é o facto de não necessitar do cálculo de derivadas das funções envolvidas. O processo é normalmente iniciado com um conjunto de pontos gerados aleatoriamente, correspondentes a uma população de indivíduos com diferentes códigos genéticos (i.e. arrays de parâmetros). Estes são avaliados de acordo com a sua robustez, escolhendo-se os indivíduos cuja qualidade genética deve influenciar a geração seguinte. A nova geração nasce pela manutenção de indivíduos de robustez elevada e da actuação de operadores específicos do método. Qualquer implementação de algoritmos genéticos tem pelo menos os operadores de (i) cruzamento ou reprodução e (ii) mutação [Ramos e Leal 2002]. No cruzamento ou reprodução, os indivíduos seleccionados trocam parte do seu código genético, com uma probabilidade variável de acordo com a imposição de alguma aleatoriedade e a robustez de cada indivíduo envolvido. Note-se que esta troca pode ser efectuada de diversas formas, dependendo da implementação e do problema em análise. A mutação, por sua vez, consiste na alteração aleatória de um ou mais genes de um cromossoma, e é utilizada com probabilidades normalmente baixas. A evolução do processo geral leva à progressiva eliminação dos indivíduos mais fracos. A mutação, contudo, permite for- çar o surgimento de pontos diferentes no domínio admissível, levando à exploração de diferentes alternativas. O algoritmo tem um critério de paragem associado, de modo a que seja considerada como última geração aquela a partir da qual já não se conseguem melhorias de robustez ou o cujo número corresponda a um limite predefinido. Considera-se como óptimo o indivíduo mais robusto desta última geração. Refira-se que uma das principais complexidades deste método assenta no equilíbrio entre o número de indivíduos da população, o número e a complexidade das variáveis cuja codificação conduz ao código genético analisado, e o esforço computacional exigido pela avaliação de cada indivíduo.

Salienta-se ainda o facto de, em algumas aplicações, ser necessário encontrar a solução global de um problema de optimização em detrimento de soluções locais. Exceptuando-se o caso de proble- mas convexos, não existem condições matemáticas que permitam determinar se um óptimo local

Métodos de Optimização

é também um óptimo global. Definir um correcto critério de paragem para um algoritmo de op- timização global torna-se assim uma tarefa complexa. Normalmente aceita-se como óptimo global a melhor solução obtida depois de se executar um algoritmo um número de iterações suficiente. Note-se que o esforço computacional associado a esta estratégia aumenta de forma evidente com o o número de variáveis, pelo que a eficiência de um processo de optimização global é um factor de extrema importância. Refira-se de antemão que, em problemas não-diferenciáveis e problemas com variáveis discretas ou mistas, os métodos estocásticos ou evolucionários referidos anteriormente podem ser utilizados com sucesso numa grande variedade de problemas. Uma das suas vantagens assenta na possibilidade de procura por todo o domínio admissível [Alba et al. 2009]. Em termos gerais, os métodos de optimização global são tipicamente métodos determinísticos, de busca exaus- tiva do domínio admissível ou métodos estocásticos, que, por definição, dependem essencialmente de processos aleatórios para a procura de óptimos globais [Arora 2007a].