trabalho 02 de otimização - renan gustavo

16
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. [email protected] 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.

Upload: renan-gustavo

Post on 16-Feb-2016

13 views

Category:

Documents


0 download

DESCRIPTION

jh

TRANSCRIPT

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.

[email protected]

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.

ANEXO A

ANEXO B

ANEXO C

ANEXO D