Trabalho 02 de Otimização - Renan Gustavo
-
Upload
renan-gustavo -
Category
Documents
-
view
13 -
download
0
description
Transcript of Trabalho 02 de Otimização - Renan Gustavo
APLICAÇÃO DO MÉTODO DOS MULTIPLICADORES DE
LAGRANGE KKT EM PROBLEMAS DE OTIMIZAÇÃO COM
RESTRIÇÕES UTILIZANDO O SOFTWARE MATLAB
Renan Gustavo Pacheco Soares
Mestrando em Engenharia Civil e Ambiental, Área de Concentração Estruturas e Materiais,
Universidade Federal de Pernambuco-UFPE, Caruaru, Pernambuco, Brasil.
Resumo: Com tantos métodos, algumas perguntas podem surgir como: “Qual o método
devo utilizar no meu problema?”. Ou ainda: “Qual é o melhor método de otimização?”.
Como resposta, verifica-se que não existe o melhor método de otimização, existe o mais
adequado para uma situação em particular, a depender das características e variáveis da
situação. Cabe ao engenheiro fazer a escolha que mais se adeque ao seu projeto. Além
disso, há uma enorme gama de softwares que fazem a implementação dos métodos de
otimização como o Matlab, Octave, Scilab, dentre outros. Este trabalho tem como
objetivo proceder a busca das soluções ótimas de funções matemáticas por meio da
aplicação do método dos Multiplicadores de Lagrange fazendo uso das condições
necessárias de Karush-Kuhn-Tucker (KKT). Também serão utilizadas as técnicas de
solução gráfica e numérica para comparação dos resultados. Foi utilizado o software
MatLab para implementar a rotina de cálculo e plotagem dos gráficos. Os resultados
obtidos através da análise gráfica permitiu constatar os valores ótimos para as funções
estabelecidas nos problemas 01 e 02.
Palavras-chave: otimização, multiplicadores de lagrange, implementação numérica.
1 INTRODUÇÃO
É grande a busca pelo ponto ótimo de determinada função matemática. Dentre as
diferentes técnicas de otimização existentes, tem-se o método dos algoritmos de Busca
Direta (MASCHIO; SCHIOZER, 2004), os Algoritmos Genéticos
(SCHULZERIEGERT, 2001; ROMERO, 2000), o Simulated Annealing (QUENES,
1993), o Algoritmo de Levenberg-Marquardt (ARENAS, 2001), o método Gradzone
(BRUN, 2001), o método dos Multiplicadores de Lagrange, por Colônia de formigas (Ant
Colony Optimization) e por Enxame de Partículas (Particle Swarm Optimization) como
exemplos.
Com tantos métodos, algumas perguntas podem surgir como: “Qual o método
devo utilizar no meu problema?”. Ou ainda: “Qual é o melhor método de otimização?”.
Como resposta, verifica-se que não existe o melhor método de otimização, existe o mais
adequado para uma situação em particular, a depender das características e variáveis da
situação. Cabe ao engenheiro fazer a escolha que mais se adeque ao seu projeto. Além
disso, há uma enorme gama de softwares que fazem a implementação dos métodos aqui
apresentados como o Matlab, Octave, Scilab, etc.
Assim, este trabalho tem como objetivo proceder a busca das soluções ótimas de
funções matemáticas por meio da aplicação do método dos Multiplicadores de Lagrange
fazendo uso das condições necessárias Karush-Kuhn-Tucker (KKT). Também serão
utilizadas as técnicas de solução gráfica e numérica para comparação dos resultados. Foi
utilizado o software MatLab para implementar a rotina de cálculo e plotagem dos
gráficos. Os resultados obtidos através da análise gráfica permitiu constatar os valores
ótimos para as funções apresentadas nos problemas 01 e 02.
2 REFERENCIAL TEÓRICO
2.1 Multiplicadores de Lagrange
O método dos Multiplicadores de Lagrange é uma técnica de otimização que
consiste na determinação de pontos extremos de uma função com n variáveis, sejam eles
máximos ou mínimos, sujeitas a uma ou mais restrições.
Para Arora (2012), a Equação (1) que segue estabelece a relação entre a função
objetivo e as restrições na busca pelos possíveis pontos máximos/mínimos:
𝐿(𝒙, 𝒗, 𝒖, 𝒔) = 𝑓(𝒙) + ∑ 𝒗𝑖ℎ𝑖(𝒙)𝑝𝑖=1 + ∑ 𝒖𝒋(𝑔𝑗(𝒙) + 𝒔𝑗
𝟐)𝑚𝑗=1 (1)
Essa equação correlaciona a função f(x) em análise com o somatório do produto
das restrições (hi, e gi) pelos respectivos Multiplicadores de Lagrange (v, u e s), sejam
elas de igualdade (hi, v) e/ou desigualdade (gi, u e s).
2.2 Condições Necessárias Karush-Kuhn-Tucker (KKT)
São condições estabelecidas para restringir as possibilidades de análise e obter os
possíveis candidatos de solução ótima para cada função matemática. É a constatação de
que os resultados obtidos da análise de determinada função pelos Multiplicadores de
Lagrange são concorrentes à solução ótima, sendo conhecido como Condições
Necessárias dos critérios de otimalidade.
As Condições Necessárias KKT, conforme Arora (2012) são:
𝜕𝐿
𝜕𝒙𝑘= 0 (2)
𝜕𝐿
𝜕𝒗𝑖= 0 (3)
𝜕𝐿
𝜕𝒖𝑗= 0 (4)
𝜕𝐿
𝜕𝒔𝑗= 0 (5)
Onde são definidos diferenciais para cada variável do problema, sendo essencial
o atendimento às condições supracitadas para que determinado ponto da função objetivo
seja candidato a ponto ótimo.
2.3 Otimização Através da Análise Gráfica
Como definido no trabalho anterior, é um procedimento é bastante útil na
obtenção dos valores ótimos quando do processo de otimização. Tem como objetivo
definir os parâmetros de busca e análise, através do traçado de gráficos. Os problemas
analisados foram resolvidos à mão (em anexo ao trabalho) e implementados graficamente
para comparação com os resultados obtidos no Método de Lagrange e KKT.
Figura 02 – Problema 02
3 PROBLEMAS A SEREM ANALISADOS
3.1. Primeiro Problema: Proceder a otimização dos pontos que satisfazem a condição
necessária dos problemas, conforme Figura 01 que segue:
Obs.: Para verificar se os pontos são ótimos: (a) empregar o método gráfico e (b) usar
MATLAB para obter a solução numérica.
3.2. Segundo Problema: Achar os pontos que satisfazem a condição necessária de KKT
dos problemas apresentados na Figura 02:
Obs.: Para verificar se os pontos são ótimos: (a) empregar o método gráfico e (b) usar
MATLAB para obter a solução numérica.
3.3. Terceiro Problema: Achar numericamente no Matlab/Octave/Scilab os pontos que
satisfazem a condição necessária de KKT no "Problema 1" do "Trabalho 1".
Obs.: Como informado em sala de aula, este problema será analisado em outro
momento.
Figura 01 – Problema 01
4 RESULTADOS OBTIDOS
4.1 Problema 1.a
Após a análise de todos os parâmetros dados no problema 1.a, foi feita a coleta de
dados, resolvido à mão através dos Multiplicadores e Lagrange, implementada a rotina
de cálculo no software MatLab, estabelecendo os critérios de otimização com as restrições
de igualdade, onde se chegaram aos resultados numéricos e gráficos do problema. A
solução explícita do problema fazendo uso dos Multiplicadores de Lagrange e as
condições necessárias KKT seguem no Anexo A, obtendo o mínimo da função de 27.20.
A solução numérica para o problema implementada no MatLab através da função fmincon
apresentou os mesmos resultados da solução explícita (Figura 03).
Figura 03 – Solução numérica do problema 1.a através da função fmincon do MatLab.
De igual modo, a solução gráfica, também implementada no MatLab, segue
conforme a Figura 04 abaixo:
Figura 04 – Solução gráfica do problema 1.a.
Observa-se na Figura 04 que o ponto de mínimo está situado próximo ao centro
da figura, onde por interpretação gráfica verifica-se que o gradiente em azul apresenta os
menores valores da função 𝑓(𝑥) plotada. Assim, utilizando a ferramenta Zoom do
MatLab, consegue-se uma melhor visualização do mínimo local, conforme a Figura 05:
Figura 05 – Mínimo Local problema 1.a aproximado.
Dessa forma, com os valores das coordenadas x e y aplicadas na função objetivo,
chega-se ao mínimo local, ou seja, o mínimo da função para os pontos obtidos será
𝑓(−0.4, 0.86) = 27.20, corroborando com o resultado explícito (Anexo A) e numérico.
4.2 Problema 1.b
Com metodologia análoga ao problema 1.a, diferenciando apenas o quantitativo
de restrições que neste problema foi maior, os resultados explícitos por meio do uso dos
Multiplicadores de Lagrange e as condições necessárias KKT seguem no Anexo B,
obtendo o mínimo da função aproximadamente igual a 2.13. A solução numérica para o
problema implementada no MatLab através da função fmincon apresentou
aproximadamente os mesmos resultados da solução explícita (Figura 06).
Figura 06 – Solução numérica do problema 1.b através da função fmincon do MatLab.
Vale salientar que o quantil de iterações com este método é pequeno, onde neste
problema foram necessárias apenas três iterações para atingir o critério de parada
(Figura 07).
Figura 07 – Dados de saída do problema 1.b.
A análise gráfica deste problema não foi possível realizar, visto que não foi
possível implementar no MatLab devido a possuir mais que duas variaveis/dimensões, o
que limita a metodologia de análise gráfica para análise de funções dessa tipologia
(Figura 08).
Figura 08 – Erro na plotagem da solução gráfica para o problema 1.b.
4.3 Problema 2.a
Este problema necessita da maximização de uma função, de modo que para ser
realizado esse procedimento, houve a necessidade de se trabalhar o mesmo de forma
minimizada. Foram seguidos todos os procedimentos de determinação de gradientes,
restrições de desigualdade, montado o sistema de equações, verificadas as condições
KKT para todos os casos, chegando-se a uma solução viável.
Foi implementada a rotina de cálculo no software MatLab, estabelecendo os
critérios de otimização com as restrições de igualdade, onde se chegaram aos resultados
numéricos e gráficos do problema. A solução explícita do problema fazendo uso dos
Multiplicadores de Lagrange e as condições necessárias KKT seguem no Anexo C,
obtendo o mínimo da função de −8.33. A solução numérica para o problema
implementada no MatLab através da função fmincon apresentou os mesmos resultados da
solução explícita (Figura 09).
Figura 09 – Solução numérica do problema 2.a através da função fmincon do MatLab.
A solução gráfica do problema 2.a segue conforme a Figura 10 abaixo:
Figura 10 – Solução gráfica do problema 2.a.
Aplicando os valores das coordenadas da Figura 10 acima na função objetivo,
chega-se ao mínimo local, ou seja, 𝑓(1.8, 2.2) = −8.33, corroborando com o resultado
explícito (Anexo C) e numérico.
4.4 Problema 2.b
Neste problema foram seguidos todos os procedimentos de modo análogo ao
problema 2.a, com a distinção que neste problema tem-se duas restrições, uma de
igualdade e outra de desigualdade.
A solução explícita do problema fazendo uso dos Multiplicadores de Lagrange e
as condições necessárias KKT seguem no Anexo D, obtendo o mínimo da função igual a
quatro. A solução numérica para o problema implementada no MatLab através da função
fmincon apresentou os mesmos resultados da solução explícita (Figura 11). Foi
considerado neste exemplo o 𝑣 da solução explícita igual ao parâmetro 𝑙𝑎𝑚𝑏𝑑𝑎.
Figura 11 – Solução numérica do problema 2.b através da função fmincon do MatLab.
O quantil de iterações com este método é mais elevado que no problema 1.b,
porém ainda é considerado pequeno para atingir o critério de parada (Figura 12).
Figura 12 – Dados de saída do problema 2.b (considera-se para este exemplo 𝒗 = 𝒍𝒂𝒎𝒃𝒅𝒂).
A solução gráfica do problema 2.b segue conforme a Figura 13 que segue:
Figura 13 – Solução gráfica do problema 2.b.
Para finalizar, os valores das coordenadas da figura acima sendo aplicados na
função objetivo, chega-se ao mínimo local, ou seja, 𝑓(3,1) = 4, corroborando com o
resultado explícito (Anexo D) e numérico.
5 CONCLUSÃO
As funções matemáticas analisadas podem ser obtidas quando, por exemplo, da
modelagem de situações práticas de engenharia, onde as técnicas de otimização aqui
apresentadas podem contribuir na resolução dos problemas, apresentando bons resultados
para análise de funções objetivo com restrições de igualdade e/ou desigualdade.
A utilização do Método dos Multiplicadores de Lagrange foi satisfatória para a
obtenção dos mínimos pontos das funções analisadas. As condições KKT foram
essenciais pois contribuíram para a o direcionamento e definição dos mínimos pontos.
As soluções gráficas além de obter os mínimos das funções também foi referência
para a comparação dos resultados encontrados com o Método de Lagrange, onde
corroboraram os resultados. No entanto, para problemas com mais de duas variáveis a
análise gráfica não é satisfatória.
6 REFERÊNCIAS
Arenas, E.; Van Kruijsdijk, C.; Oldenziel, T.. Semi-Automatic History Matching Using
the Pilot Point Method Including Time-Lapse Seismic Data. SPE 71634 SPE Annual
Technical Conference and Exhibition, 30SEP-03OCT, New Orleans, Louisiana, 2001.
Arora, J.S. Introduction to optimum design. 3ª Ed., Elsevier, 2012.
Bono, G.. Notas de aula da pós-graduação em Engenharia Civil e Ambiental da UFPE-
CAA do professor Gustavo Bono, semestre 2015.2, disciplina: Indrodução à Otimização
Estrutural. Caruaru, 2015.
Brun, B.; Gosselin, O; Barker, J. W.. Use of Prior Information in Gradient-Based
History-Matching. SPE 66353 SPE Reservoir Simulation Symposium, 11-14 FEB,
Houston, Texas, 2001.
Maschio, C.; Schiozer, D. J. Ajuste de Histórico Assistido Usando Métodos de
Otimização de Busca Direta. IBP06204, Anais do Rio Oil & Gas Conference, Rio de
Janeiro, 4-7 de Outubro, 2004.
Quenes, A; SAAD, N.. A New Fast Parallel Simulated Annealing Algorithm for Reservoir
Characterization. SPE Annual Technical Conference and Exhibition, 3-6 OCT, Houston,
Texas, 1993.
Romero, C. E.; Carter, J. N.; Zimmerman, R. W.; Gringarten, A. C.. Improved Reservoir
Characterization through Evolutionary Computation. SPE Annual Technical Conference
and Exhibition, 1-4 OCT, Dallas, Texas, 2000.
Schulze-Riegert, R. W.; Axmann, J. K.; HAASE, O.; RIAN, D. T.; Y. L.. Optimization
Methods for History Matching of Complex Reservoirs. SPE 66393 SPE Reservoir
Simulation Symposium, Houston, Texas, 11-14FEB., 2001.