Вы находитесь на странице: 1из 12

UNIVERSIDADE FEDERAL DE MINAS GERAIS

ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Otimização em Engenharia Elétrica

Trabalho III: Programação Não Linear Restrita – Algoritmo do Gradiente Projetado


Aluno: Arthur Araújo Maia Farah

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:

𝒙∗ = arg min𝒙 𝑓(𝒙)

Sujeito a:
(1)
𝑛

𝑔𝑗 (𝒙) = (∑ 𝑎𝑖𝑗 𝑥𝑖 ) − 𝑏𝑗 ≤ 0, 𝑗 = 1,2, … , 𝑚


𝑖=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]:

1 – Encontre um ponto de partida inicial factível 𝐗1 . Ou seja, o ponto 𝐗1 é tal que,


𝑔𝑗 (𝐗1 ) ≤ 0, 𝑗 = 1,2, … , 𝑚
2 – Defina a iteração inicial como i = 1;
3 – Se 𝐗 𝑖 é um ponto interior factível, defina a direção de busca e a normalize como abaixo:
−∇f(𝐗 𝑖 )
𝐒𝑖 =
‖∇f(𝐗 𝑖 )‖
Pule posteriormente para o passo 5.
Caso 𝐗 𝑖 esteja sob um ponto infactível, vá ao passo 4 para projetar a solução sob a hípersuperfície
das restrições que delimitam o espaço viável.
4 – Calcule a matriz de projeção como: 𝑷𝑖 = 𝑰 − 𝑵𝑝 (𝑵𝑇𝑝 𝑵𝑝 )−𝟏 𝑵𝑇𝑝
Onde: 𝑵𝑝 = [∇𝑔𝑗1 (𝐗 𝑖 ) ∇𝑔𝑗2 (𝐗 𝑖 ) … ∇𝑔𝑗𝑝 (𝐗 𝑖 )]
E encontre a direção de busca normalizada:
−𝑷𝑖 ∇f(𝐗 𝑖 )
𝐒𝑖 =
‖𝑷𝑖 ∇f(𝐗 𝑖 )‖
−𝟏
5 – Se 𝐒𝑖 = 0, calcula o vetor 𝝀 em 𝐗 𝑖 como: 𝝀 = −(𝑵𝑇𝑝 𝑵𝑝 ) 𝑵𝑇𝑝 ∇f(𝐗 𝑖 );
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Otimização em Engenharia Elétrica

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.

Figura 1 – Método do Gradiente Projetado

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

Otimização em Engenharia Elétrica

Figura 2 – Método do Gradiente Projetado com restrições não lineares

Neste trabalho o comportamento do algoritmo do Gradiente Projetado será estudado quando na


otimização de diferentes problemas, envolvendo a consideração tanto de restrições lineares quanto de
restrições não lineares. Os resultados de convergência, precisão e esforço computacional serão avaliados para
a solução de cada ocasião tratada, com conclusões mais gerais da aplicabilidade e limitações desta técnica.

Resultados

A seguir estão dispostos os principais resultados obtidos através da aplicação do algoritmo


disponibilizado, com discussões a respeito das soluções. Todas as simulações são realizadas no Matlab versão
R2013a, em um computador Intel i7-2670QM, 2.2GHz, 8GB RAM, rodando em um sistema operacional
Windows 7 Home. É aqui também esclarecido que todos os resultados de tempo de execução são obtidos
através dos comandos ‘tic’ e ‘toc’, providos pelo Matlab. Para cada resultado exposto, foram realizadas cerca
de dez execuções da simulação partindo do mesmo ponto inicial de busca, através das quais foram calculadas
as médias de tempo disposto, minimizando a variabilidade observada por processos rodando em “background”
no computador.

Teste 1 - Funções Quadráticas com Restrições Lineares


Primeiramente, o algoritmo do Gradiente Projetado é utilizado na otimização de funções quadráticas,
na presença de restrições lineares. A função minimizada é descrita abaixo juntamente das duas restrições
consideradas:
𝑓(𝑥) = 6𝑥1 2 + 4𝑥1 𝑥2 + 3𝑥2 2

𝑔1 (𝑥) = 𝑥1 + 𝑥2 − 5 ≤ 0

5
𝑔2 (𝑥) = 𝑥 − 𝑥2 + 4 ≤ 0
3 1

A minimização desta função é realizada através do algoritmo disponibilizado, partindo de diversos


pontos aleatoriamente escolhidos. Foi requerida uma precisão de “10-6“, usada para avaliar os critérios de
convergência. Ainda, é frisado que uma vez estando os pontos ‘xk’ dentro da região factível, o método BFGS é
utilizado para aproximação da Hessiana e encaminhamento das soluções. Os resultados obtidos para dois
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Otimização em Engenharia Elétrica

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

Xinicial Xfinal Iterações Tmédio (ms) Erro Xsol. (%)

[-4.15, 3.82] [-1.42, 1.63] 18 31,2 0,11


[-4,05, -2,16] [-1.38, 1.61] 26 39,8 0,13

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

Otimizaçã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.

Teste 2 - Funções Quadráticas com Restrições Não Lineares


O algoritmo do Gradiente Projetado é novamente utilizado na otimização de funções quadráticas, mas
agora considerando a presença de restrições não lineares. A função minimizada é descrita abaixo juntamente
da restrição considerada:
𝑓(𝑥) = (𝑥1 − 2)2 + (𝑥2 − 2)2

𝑔1 (𝑥) = (𝑥1 − 2)2 + 4𝑥2 2 − 4 ≤ 0

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

Otimização em Engenharia Elétrica

TABELA II
RESULTADOS: FUNÇÃO QUADRÁTICA COM RESTRIÇÃO NÃO LINEAR – ESFORÇO COMPUTACIONAL E PRECISÃO

Xinicial Xfinal Iterações Tmédio (ms) Erro Xsol. (%)

[3.45, -4.65] [1.79, 1.01] 24 39,2 0,07


[4,05, -4,16] [1.81 0.99] 28 41,8 0,07

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

Otimizaçã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.

Teste 3 - Funções Não Quadráticas com Restrições Não Lineares


O próximo teste realizado analisou o algoritmo do gradiente projetado em uma função não quadrática
de maior complexidade, considerando ainda a presença de restrições não lineares. A função minimizada é
pertinente a um problema de treliças de duas barras (problema de engenharia estrutural), o qual é descrito por
Svanberg [5].
A figura 3, juntamente das equações abaixo compõem o problema de otimização a ser solucionado.
Nesta figura “X1” e “X2” representam as variáveis de designe, e equivalem respectivamente à área da seção
cruzada de ambas as barras e a metade da distância de apoio (nós 1 e 2). A coordenada vertical é fixada
(Y=1m). A função objetivo representa o peso da estrutura e as restrições são definidas em função do estresse
sofrido pelas barras, que não devem ser superiores à 100N/mm 2.

𝑓(𝑥) = 𝑥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

Otimização em Engenharia Elétrica

Figura 3 – Otimização de Treliças de Duas Barras (Svanberg [5])

A minimização desta função é realizada através do algoritmo do Gradiente Projetado, partindo de


diversos pontos aleatoriamente escolhidos dentro do espaço viável. Para prover uma equiparação, a solução
do problema foi também realizada através do método das Assíntotas Móveis. A figura 3 abaixo a evolução
das soluções através dos dois métodos, para uma situação em que ambas as soluções partem da solução inicial
‘𝑥0 = [0.51, 1,45]’. Os resultados de eficiência e eficácia destas soluções são dispostos ainda através da tabela
III. A solução ótima analítica do problema é dada por: 𝑥 ∗ = [1.41 , 0.38].

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. (%)

[0.51, 1.45] [1.35, 0.45] 301 441,2 6,3

ASSÍNTOTAS MÓVEIS
Xinicial Xfinal Iterações Tmédio (ms) Erro Xsol. (%)

[0.51, 1.45] [1.38, 0.39] 49 765,9 2,2

Gradiente Projetado
1.6

Região 1.4 g2 Região


Infactível 1.2 Factível
1
g1
X2

0.8

0.6

0.4

0.2

0.5 1 1.5 2 2.5 3 3.5 4


X1

(a)
UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Otimização em Engenharia Elétrica

Gradiente Projetado Assíntotas Móveis


1.6 1.6

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

0.5 1 1.5 2 2.5 3 3.5 4 0.5 1 1.5 2 2.5 3 3.5 4


X1 x
1

(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.

Através dos resultados obtidos é possível perceber que:


- ambos os métodos foram razoavelmente eficazes na solução do problema de otimização, embora o
método de assíntotas móveis demonstre uma maior robustez no tratamento das soluções, sem apresentação
de oscilações bruscas entorno do ponto ótimo e com um erro de solução final cerca de três vezes mais baixo
que aquele dado pelo método do Gradiente Projetado.
- embora o algoritmo do gradiente projetado tenha necessitado de um maior número de iterações
(cerca de seis vezes maior), sua performace foi melhor que aquela apresentada pelo método das assíntotas
móveis, uma vez que o tempo médio de processamento foi menor. Isto pode estar relacionado ao fato das
operações algébricas do primeiro método serem mais simples e computacionalmente menos custosas do que
as do segundo método (principalemnte quando as soluções são unicamente encaminhadas pelo BFGS).
- na verdade, o algoritmo do gradiente projetado parou por atingir o número máximo de iterações
permitido, uma vez que a oscilação entorno do ponto ótimo observada foi muito grande, impossibilitando a
convergência da solução ótima.

Teste 4 – Sensibilidade aos Pontos Iniciais de Solução


O próximo teste executado analisou a minimização da função de Rosen-Suzuki, primeiramente
considerando o seu formato tradicional, cuja função objetivo é quadrática e tem quatro variáveis, condicionada
a três restrições não lineares, conforme abaixo:

𝑓(𝑥) = 𝑥1 2 + 𝑥2 2 + 2𝑥3 2 + 𝑥4 2 − 5𝑥1 − 5𝑥2 − 21𝑥3 + 7𝑥4

𝑔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

Otimizaçã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)

95 13 193 125,9 36,3 186,1

PRECISÃO
Erro Médio de Solução (%) Erro Mínimo de Solução (%) Erro Máximo de Solução (%)

1,2 0.00007 6,4

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.

Teste 5 – Aumento do Número de Variáveis (Dimensão do Problema)


Para finalizar as análises acerca de aderência do método do Gradiente Projetado em diferentes classes
de problema de programação não linear com restrições, foi realizada uma última análise ainda tomando o
problema de Rozen-Suzuki, mas agora aumentando progressivamente o número de variáveis (dimensões do
problema). Para isso foram consideradas a resolução do problema com 5, 10, 15, 20 e 25 variáveis de
otimização, testados para cada diferente número de entradas por dez vezes consecutivas, partindo de pontos
iniciais aleatoriamente tomados. O valor teórico do mínimo global deste problema é localizado no ponto 𝑥 ∗ =
[−1 , 1 , −1 , … , 1 , −1 , 1], através do qual foi possível calcular os erros médios das soluções A tabela V resume
estes resultados, os quais também são graficamente ilustrados através da figura 5.

TABELA V
RESULTADOS: FUNÇÃO QUADRÁTICA COM RESTRIÇÃO NÃO LINEAR – MAIOR DIMENSÃO

ESFORÇO COMPUTACIONAL – NÚMERO MÉDIO DE ITERAÇÕES


N=5 N=10 N=15 N=20 N=25

114 222 285 328 412

ESFORÇO COMPUTACIONAL –TEMPO MÉDIO DE SOLUÇÃO


N=5 N=10 N=15 N=20 N=25

221,9ms 747,8ms 1,55s 2,35s 4,18s

PRECISÃO – ERRO PERCENTUAL DA SOLUÇÃO FINAL


N=5 N=10 N=15 N=20 N=25

0,6% 1,8% 0,5% 2,4% 0.9%


UNIVERSIDADE FEDERAL DE MINAS GERAIS
ESCOLA DE ENGENHARIA
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Otimização em Engenharia Elétrica

500

4500
450
4000

Tempo de Processamento (ms)


400
3500
350
3000
Iterações

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)

Figura 5 – Avaliação de Resultados Com Aumento de Dimensão do Problema


a – Número Médio de Iterações; b –Tempo Médio de Processamento; c – Erro Médio de Solução

Conforme demonstram os resultados obtidos, o algoritmo do Gradiente Projetado apresentou uma


dependência linear entre o número de iterações e o número de variáveis do problema. Todavia, mesmo que
o número de iterações aumente de modo proporcional com a dimensão do problema, o tempo de
processamento varia de modo aproximadamente quadrático quando aumentando o número de variáveis.
Parte disso se deve ao fato do método utilizar inversões de matrizes para projetar o gradiente sobre a
superfície das restrições, quando na presença de restrições ativas, encarecendo a solução computacional do
problema. Por fim, independentemente da dimensão tratada, é possível perceber que o erro médio das
soluções foi bastante baixo, mantendo-se praticamente constante (há na verdade um leve aumento linear,
quase imperceptível, do erro de solução com o aumento das dimensões).

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

Otimizaçã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.

Вам также может понравиться