Академический Документы
Профессиональный Документы
Культура Документы
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
Introdução
Os principais métodos de otimização para problemas de programação não linear partem do princípio
de progredirem as soluções através das direções nas quais a função objetivo decresça em relação ao ponto
corrente. Independentemente da técnica utilizada para tomar estas direções de busca, quando na presença de
restrições, tal procedimento pode, no entanto, levar as soluções para pontos infactíveis do espaço de busca.
Dentro dos possíveis tratamentos para esta questão, um dos artifícios mais simples (e antigos)
consiste em projetar o oposto do gradiente da função objetivo sob o conjunto de restrições ativas e, assim,
orientar o encaminhamento das soluções em direções nas quais a factibilidade das soluções seja mantida. Tal
procedimento é conhecido como método do Gradiente Projetado, sendo iniciado por Rosen [1] em 1960,
baseado nos princípios do teorema de projeção de conjuntos convexos.
Embora este método tenha sido originalmente descrito para o tratamento de problemas gerais de
programação não linear [2], sua efetividade fica assegurada primeiramente aos problemas em que as restrições
(igualdade e/ou desigualdade) sejam lineares [3], como na forma do problema abaixo:
Sujeito a:
(1)
𝑛
O procedimento geral envolvendo a aplicação do método da projeção do gradiente pode ser descrito
pelos seguintes passos abaixo enumerados [4]:
Se todos os componentes do vetor de multiplicadores de lagrange 𝝀 são não negativos, então tome
𝐗 𝑖 como a solução ótima 𝒙∗ e interrompa o procedimento iterativo (𝐗 𝑖 satisfaz as condições de Karush-Kuhn-
Tucker). Se algum dos componentes de 𝝀 são negativos, encontre o componente 𝝀𝑞 que tem o valor mais
negativo e forme a nova matriz de projeção 𝑵𝑝 como:
𝑵𝑝 = [∇𝑔𝑗1 ∇𝑔𝑗2 … ∇𝑔𝑗 𝑞−1 ∇𝑔𝑗 𝑞+1 … ∇𝑔𝑗𝑝 ]
Retorne ao passo 3.
6 – Se 𝐒𝑖 ≠ 0, encontre o máximo passo 𝜆𝑀 que é permitido sem violar qualquer uma das restrições:
′𝜆𝑀 = min(𝜆𝑘 )’, em que ′𝜆𝑘 > 0′ e ′𝑘′ é qualquer inteiro entre 1 e ′𝑚′, com exceção de 𝑗1 , 𝑗2 , … , 𝑗𝑝 .
Calcule também o valor de:
𝜕𝑓
(𝜆𝑀 ) = 𝑺𝑇𝑖 ∇f(𝐗 𝑖 + 𝜆𝑀 )𝐒𝑖
𝜕𝜆
Caso o mesmo seja zero ou negativo, toma o passo como 𝜆𝑖 = 𝜆𝑀 . Por outro lado, caso o mesmo
seja positivo, encontre o passo ótimo através de uma busca unidimensional (seção áurea, por exemplo) e tome
𝜆𝑖 = 𝜆𝑖 ∗ .
7 – Encontre a nova aproximação para o mínimo como: 𝐗 𝑖+1 = 𝐗 𝑖 + 𝜆𝑖 𝐒𝑖
Se 𝜆𝑖 = 𝜆𝑀 ou se 𝜆𝑖 ≤ 𝜆𝑖 ∗ , alguma das restrições (uma ou mais) se tornam ativas em 𝐗 𝑖+1 ,
devendo-se gerar, consequentemente, uma nova matriz 𝑵𝑝 para incluir os gradientes de todas as restrições
ativas. Defina a iteração atual como i = i + 1 e retorne ao passo 4.
Se 𝜆𝑖 = 𝜆𝑖 ∗ e Se 𝜆𝑖 ∗ < 𝜆𝑀 , nenhuma nova restrição será ativada em 𝐗 𝑖+1 e a matriz 𝑵𝑝 se mantém
inalterada. Defina a iteração atual como i = i + 1 e retorne ao passo 3.
A figura 1 a seguir ilustra os procedimentos do algoritmo, demonstrando que, ao invés das soluções
adotarem as direções dadas pelo gradiente da função, as mesmas projetam o gradiente no espaço nulo das
restrições ativas, de forma a caminhar sob estas superfícies, e conduzir a solução para regiões factíveis.
A figura 2, por sua vez, ilustra a aplicação do método considerando uma restrição não linear. Nestes
casos, as projeções são dadas sobre hiperplanos tangentes às superfícies de restrição. Como passos nestes
hiperplanos podem conduzir as soluções para fora da região viável, são necessários procedimentos (primeira
condição do passo 7, nos procedimentos anteriormente descritos) para reconduzir as soluções para a região
viável novamente. Em alguns problemas isto acarreta em perda de eficiência, uma vez que resulta em oscilação
demasiada das soluções entorno de uma mesma região de busca.
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
Resultados
𝑔1 (𝑥) = 𝑥1 + 𝑥2 − 5 ≤ 0
5
𝑔2 (𝑥) = 𝑥 − 𝑥2 + 4 ≤ 0
3 1
pontos iniciais diferentes, inicializados dentro da região factível, estão sumarizados através da tabela I. São
apresentados dados sobre o esforço computacional (iterações, e tempo de processamento), além da precisão
(erro percentual com a solução ótima) atingida pelo método em cada solução final.
TABELA I
RESULTADOS: FUNÇÃO QUADRÁTICA COM RESTRIÇÕES LINEARES– ESFORÇO COMPUTACIONAL E PRECISÃO
Para complementar estes resultados, são dispostos gráficos através da figura 1, os quais demonstram
as características da função objetivo avaliada, com demonstração das regiões viáveis do espaço de busca.
Também é disposta a evolução das soluções “xk” e da função objetivo ao longo das iterações. Somente é
apresentado o caso cuja evolução parte da solução inicial ‘ 𝑥0 = [−4,15, 3,82] ‘. Através desses gráficos é
possível perceber o comportamento do método utilizado para tratamento das restrições. Quando dentro da
região factível, o algoritmo fornecido utiliza o BFGS para encaminhar as soluções. Todavia, quando a solução
atinge um ponto infactível, a solução é projetada conforme a superfície de separação entre as regiões viável-
inviável, sendo as soluções encaminhadas conforme esta superfície. Os resultados demonstram também que o
algoritmo do gradiente projetado obteve grande êxito para encontrar a solução ótima, em um número finito (e
bastante reduzido) de iterações, com pequeno esforço computacional e boa precisão numérica (baixo erro),
independentemente do ponto de partida (desde que o mesmo tenha partido dentro da região factível).
3 Região
2 Factível Ótimo
1
Restrito
g1
0 Ótimo
Irrestrito
-1
-2
g2 Região
-3
Infactível
-4
-5
-5 -4 -3 -2 -1 0 1 2 3 4 5
(a)
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
function obj
Soluções Xk
5
4
400
3
300 2
1
200
X2
0
100 -1
-2
0
5 -3
5 -4
0
0 -5
-5 0 5
-5 -5 X1
(b) (c)
5
-1
Função Objetivo
4
-1.5 3
X1
2
-2
1
0
2 4 6 8 10 12 14 16 2 4 6 8 10 12 14
Iteração Iteração
Fator de Convergência
50
2 40
1.5 30
X2
20
1
10
0.5
2 4 6 8 10 12 14 16 2 4 6 8 10 12 14 16
Iteração Iteração
(d) (e)
Figura 1 – Avaliação do Algoritmo do Gradiente Projetado em Funções Quadráticas com Restrições Lineares
a- Natureza das Restrições do Problema; b- Função Objetivo; c- Conjunto de Soluções; d- Evolução das Soluções
Xk; e- Evolução da Função Objetivo e Fator de Convergência de Powell.
A minimização desta função é feita através do algoritmo disponibilizado, partindo de diversos pontos
aleatoriamente escolhidos dentro do espaço viável. Os resultados obtidos para dois pontos iniciais diferentes
estão sumarizados através da tabela II. São ainda dispostos gráficos através da figura 2, os quais demonstram
as características da função objetivo avaliada e da restrição de desigualdade imposta. A evolução das soluções
“xk” e da função objetivo ao longo das iterações também é evidenciada para o caso cuja evolução parte da
solução inicial ‘ 𝑥0 = [3.45, −4,65] ‘.
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
TABELA II
RESULTADOS: FUNÇÃO QUADRÁTICA COM RESTRIÇÃO NÃO LINEAR – ESFORÇO COMPUTACIONAL E PRECISÃO
Soluções Xk
5
3 Região Ótimo
Irrestrito
2
Infactível
1
Ótimo
g1
X2
0
Restrito
-1
-2
-3 Região
-4
Factível
-5
-5 0 5
X1
(a)
function obj
Soluções Xk
4
100 3
80 2
60 1
40 0
X2
20 -1
0 -2
5
-3
5
0 -4
0
-3 -2 -1 0 1 2 3 4
-5 -5
X1
(b) (c)
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
2
40
Função Objetivo
30
X1
1.5
20
10
1
0
5 10 15 20 2 4 6 8 10 12 14 16 18 20
Iteração Iteração
2
Fator de Convergência
0 100
X2
-2
50
-4
0
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20
Iteração Iteração
(d) (e)
Figura 2 – Avaliação do Algoritmo do Gradiente Projetado em Funções Quadráticas com Restrição Não Linear
a- Natureza das Restrições do Problema; b- Função Objetivo; c- Conjunto de Soluções; d- Evolução das Soluções
Xk; e- Evolução da Função Objetivo e Fator de Convergência de Powell.
Através dos resultados obtidos é possível perceber o comportamento do método utilizado quando
tratando restrições não lineares. Quando dentro da região factível, o algoritmo utiliza o BFGS para encaminhar
as soluções, progridem as mesmas em direção ao mínimo local irrestrito. Todavia, quando a solução atinge um
ponto infactível, a solução é projetada sobre uma superfície tangente à curva de separação das regiões viável-
inviável. Assim é possível ver uma maior oscilação das soluções entre as regiões entre estas regiões, até
haver uma convergência do algortimo, já que é mais difícil conduzir as soluções sobre a superfície da curva
de restrição. Os resultados, porém, continuam a demonstrar que o algoritmo do gradiente projetado obteve
boa performance (iterações e tempo de processamento) e eficácia (baixo erro) para encontrar a solução ótima
do problema, independentemente do ponto de partida, e desde que o mesmo se inicie dentro da região
factível. Em problemas mais complexos, porém, a oscilação entorno das superfícies de restrição pode ser
pior, deteriorando a qualidade do algoritmo devido ao grande “zig-zag” das soluções.
𝑓(𝑥) = 𝑥1 √(1 + 𝑥2 2 )
8 1 8 1
𝑔1 (𝑥) = 0.124√(1 + 𝑥2 2 ) ( + )− 1≤ 0 𝑒 𝑔2 (𝑥) = 0.124√(1 + 𝑥2 2 ) ( − )− 1≤0
𝑥1 𝑥1 𝑥2 𝑥1 𝑥1 𝑥2
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
TABELA III
RESULTADOS: FUNÇÃO NÃO QUADRÁTICA COM RESTRIÇÃO NÃO LINEAR – ESFORÇO COMPUTACIONAL E PRECISÃO
GRADIENTE PROJETADO
Xinicial Xfinal Iterações Tmédio (ms) Erro Xsol. (%)
ASSÍNTOTAS MÓVEIS
Xinicial Xfinal Iterações Tmédio (ms) Erro Xsol. (%)
Gradiente Projetado
1.6
0.8
0.6
0.4
0.2
(a)
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
1.4 1.4
1.2 1.2
1 1
X2
x2
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
(b) (c)
Figura 4 – Avaliação do Problema de Svanberg (Funções Não Quadráticas com Restrições Não Lineares) -
Gradiente Projetado Versus Assíntotas Móveis
a- Natureza das Restrições do Problema; b- Evolução das Soluções Xk pelo Método do Gradiente Projetado; c-
Evolução das Soluções Xk pelo Método das Assíntotas Móveis.
𝑔1 (𝑥) = 𝑥1 2 + 𝑥2 2 + 𝑥3 2 + 𝑥4 2 + 𝑥1 − 𝑥2 + 𝑥3 − 𝑥4 − 8 ≤ 0
𝑔2 (𝑥) = 𝑥1 2 + 2𝑥2 2 + 𝑥3 2 + 2𝑥4 2 − 𝑥1 − 𝑥4 − 10 ≤ 0
𝑔3 (𝑥) = 2𝑥1 2 + 𝑥2 2 + 𝑥3 2 + 2𝑥1 − 𝑥2 − 𝑥4 − 5 ≤ 0
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
A solução deste problema é realizada através do algoritmo do Gradiente Projetado partindo de 100
diferentes pontos aleatoriamente escolhidos dentro do espaço viável. Os resultados médios de eficiência e
eficácia destas soluções são dispostos através da tabela IV. O valor teórico do mínimo global deste problema é
localizado no ponto 𝑥 ∗ = [0 , 1 , 2 , −1], através do qual foi possível calcular os erros médios das soluções
(obtidos a partir da distância euclidiana entre a solução obtida e a solução exata).
TABELA IV
RESULTADOS: FUNÇÃO QUADRÁTICA COM RESTRIÇÃO NÃO LINEAR – MAIOR DIMENSÃO
ESFORÇO COMPUTACIONAL
Média de Iterações Mínimo de Iterações Máximo de Iterações Tempo Médio (ms) Tempo Mínimo (ms) Tempo Máximo (ms)
PRECISÃO
Erro Médio de Solução (%) Erro Mínimo de Solução (%) Erro Máximo de Solução (%)
Mais uma vez é possível constatar bons resultados para a performance e eficácia das soluções obtidas.
Todavia, fica agora constatado que estes fatores sofrem influência do ponto inicial de pesquisa, uma vez
havendo uma alta variabilidade entre os mínimos e máximos encontrados, tanto para a precisão das soluções
quanto para o número de iterações e tempo de processamento para a convergência pelo método.
TABELA V
RESULTADOS: FUNÇÃO QUADRÁTICA COM RESTRIÇÃO NÃO LINEAR – MAIOR DIMENSÃO
500
4500
450
4000
300
2500
250
2000
200
1500
150
1000
100
500
50
0 5 10 15 20 25 30 5 10 15 20 25
Dimensão Dimensão
(a) (b)
6
Erro Médio (%)
0
5 10 15 20 25
Dimensão
(c)
Conclusão
A maioria dos problemas práticos do mundo real envolvem funções não lineares condicionadas pela
presença de restrições. De modo geral, estes problemas têm limites claros impostos, seja por limitação de
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA
recursos, tempo, energia ou geometria (dentre outros...), uma vez que o espaço das variáveis de decisão
possuem uma característica finita. Logo, métodos de otimização restrita eficazes e eficientes são amplamente
demandados para emprego de solução ótima nestes problemas.
O algoritmo do Gradiente Projetado, tratado neste trabalho, além de ser um dos mais antigos,
servindo de base para diversos novos desenvolvimentos, é também um dos principais métodos para a solução
de problemas de programação não linear irrestrita. Assim, foram executadas diversas análises em diferentes
problemas com funções objetivo e restrições de características diversas, variando-se também a quantidade de
restrições e a dimensão dos problemas, para avaliação de desempenho do método em condições extremas.
Nos casos analisados, observou-se que todas as funções convergiram em um número finito de
iterações. No entanto, algumas características ruins puderam também ser observadas quando as restrições se
tornam mais complexas, devido à presença de oscilações (zig-zag) das soluções sobre as superfícies de
separação entre as regiões factíveis e infactíveis. Isto ocorre quando uma restrição se torna ativa, ocasionando
uma mudança brusca na direção de caminhada das soluções. Devido a este fato, foi possível perceber também
que, no trato de problemas mais complexos, o erro das soluções foi pouco maior do que aquele encontrado
pela utilização de outro método mais robusto (método das assíntotas móveis, no caso observado). Todavia,
mesmo assim a solução final foi relativamente próxima ao ótimo global restrito do problema. Desta forma,
considera-se que os resultados de performance (tempo de processamento) e eficácia (erro numérico) foram
satisfatórios para a aplicação do método em todos os problemas tratados (dos mais simples aos mais
complexos).
Uma última conclusão, considerada importante, é aqui destacada. Foi observado que, embora o
número de iterações aumente linearmente com a dimensão do problema, devido ao fato do processo de
projeção do gradiente envolver a inversão de matrizes, o esforço computacional exigido pode ser grande.
Assim, é ressaltada a importância de usar procedimentos mais eficientes para obter e inverter a matriz de
projeção ((𝑵𝑻𝒑 𝑵𝒑 )−𝟏 ), sobretudo quando são analisados problemas de maior porte, com grande número de
variáveis e/ou com muitas restrições.
Referências
[1] J.B. Rosen, The Gradient Projection Method for Nonlinear Programming, Part 1: Linear Constraints, SIAM J. Appl. Math.
8, 1960, pp. 181-217.
[2] J.B. Rosen, The Gradient Projection Method for Nonlinear Programming, Part 2: Nonlinear Constraints, SIAM J. Appl.
Math. 9, 1961, pp. 514-553.
[3] David G. Luenberger, Linear and Nonlinear Programming, Stanford: Springer Science Business Media, 3ª Ed, 2008.
[4] Singiresu S. Rao, Engineering Optimization - Theory and Practice, New Jewrsey: John Wiley & Sons, 4ª Ed., 2009.
[5] K. Svanberg, The Method of Moving Asymptotes – a new method for structural optimization, Int. J. Numer. Eng. 24, pp.
359-373.