Vous êtes sur la page 1sur 19

Algoritmo do Gradiente utilizando a ferramenta MATLAB

Diego Oliveira Froes1


1

Instituto de Ci encias Exatas e Aplicadas Campus Jo ao Monlevade Universidade Federal de Ouro Preto (UFOP) CEP 35.400-000 Jo ao Monlevade MG Brasil
diegooliveirafroes@gmail.com

Abstract. This article will show the application of the gradient algorithm, implemented in MATLAB tool for the objective of minimizing functions in a given search space. This algorithm uses the calculation of the gradient to indicate the growth of the function and know the value of the gradient at a certain point, he also uses the method of golden section, which indicates what the next point to be calculated gradient, this method has a section that caters to a stopping criterion. Finally, at the end of the execution, we obtained results that describes the trajectories of some points, randomly generated, showing their behavior in certain function on a contour map. Resumo. Este artigo ir a mostrar a aplicac a o do Algoritmo do Gradiente, implementado na ferramenta MATLAB, para o objetivo de minimizac a o o de func es em um determinado espac o de busca. Esse algoritmo utiliza o c alculo do gradiente para indicar o crescimento da func a o e saber o valor do gradiente em um determinado ponto, ele utiliza tamb em, o m etodo da sec a o a urea, que indica qual ser a o pr oximo ponto a ser calculado o gradiente, esse m etodo possui um lanc o que atende a um crit erio de parada. Por m, no nal da execuc a o, obtivemos resultados que descreve as trajet orias de alguns pontos, gerados aleatoriamente, demonstrando o seu comportamento em determinada func a o sobre um mapa de curvas de n vel.

o 1. Introduc a
o do Algoritmo do Gradiente para Este trabalho ir a apresentar resultados da implementac a o de func es em um determinado espac o foi modelada na minimizac a o o, essa implementac a ` um modelo demostraferramenta MATLAB. Houve um processo de desenvolvimento a tivo f acil e ex vel, pois, de uma forma simples, permite realizar mudanc as nos crit erios adotados, visando exibilizar o funcionamento do algoritmo. o assume num deterNa pr atica desejamos encontrar o valor m nimo que a func a es para dois exemplos minado intervalo. Ao decorrer do artigo, ser a apresentado simulac o es j de func o a pr e-denidas.

2. Conceitos B asicos
um dos m o mais primitivos, tendo sido O m etodo do gradiente e etodos de otimizac a o, estando hoje obsoleto. Esse m , proposto nos prim ordios da teoria de otimizac a etodo e entretanto, o prot otipo mais simples de toda uma fam lia de m etodos [Takahashi 2007].

2.1. Algoritmo do Gradiente O Algoritmo do Gradiente, vers ao mais primitiva, dentre os m etodos existentes, funciona da seguinte maneira: dado um ponto inicial do espac o de busca, obt em-se um novo ponto o objetivo. Essa e a situado sobre a reta denida por esse ponto e pelo gradiente da func a o para a qual, localmente, a func o mais rapidamente decresce (no sentido contr direc a a ario o objetivo ao do gradiente). Determina-se o novo ponto como sendo aquele em que a func a um problema de minimizac o de uma atinge o m nimo sobre essa reta (note-se que este e a o de uma u nica vari func a avel). A partir desse novo ponto, repete-se o processo, at e que seja satisfeito um crit erio de converg encia [Takahashi 2007].

Figura 1. Algoritmo do Gradiente

2.2. C alculo do Gradiente um algoritmo que, recebe como entrada o vetor de vari O c alculo do Gradiente e avel de o, fornece o valor da func o-objetivo para tal vetor. O algoritmo mais simples otimizac a a o que se pode imaginar para o c alculo num erico (aproximado) do gradiente de uma func a apresenta na gura abaixo [Takahashi 2007].

Figura 2. Calculo do Gradiente

o Aurea 2.3. Sec a o a urea consiste em criar uma sequ O m etodo da sec a encia que converge para o m nimo de o. Na sec o Aurea, uma func a a contem o fator 0.618 (N umero de Ouro) que corresponde

urea, utilizada pelos antigos gregos para denir a raz a raz ao a ao dos lados adjacentes de um ret angulo que seria perfeita sob o ponto de vista est etico, essa raz ao foi utilizada em es, pinturas e aparece espalhada na natureza [Bergamaschi 2006]. edicac o

Aurea Figura 3. Sec ao

3. MATLAB
um sistema interativo e uma linguagem de O MATLAB (Matrix Laboratory) e o para a computac o t baseado em matrizes. programac a a ecnica e cient ca em geral, ele e o com o usu Permite a interac a ario atrav es de uma janela de Comando, onde os usu arios devem fornecer os comandos para que os c alculos e resultados sejam exibidos [Curso de MATLAB]. bem adequado a ` queles que desejam implementar e testar soluc es com faE o cilidade e precis ao, sem perder tempo com detalhes espec cos de linguagem de o. Para isso, possui facilidades de computac o, visualizac o e programac o, programac a a a a dentro de um ambiente amig avel e de f acil aprendizado [Curso de MATLAB].

4. Relat orio de Resultados


Ap os a modelagem do Algoritmo do Gradiente, foram realizados 100 (Cem) testes com o proposta diferentes pontos iniciais, tais entradas criadas aleat oriamente, para cada func a no trabalho. Cada teste foi realizado com pontos nos eixos X e Y entre um intervalo de (-50 a 50), com precis ao de 0,618034 para a diferenc a de um ponto para outro. o, ser Para cada func a a apresentado o Gr aco 3D, Gr aco de Curvas de N vel, o Objetivo em cada ponto, Desvio Padr M edia da func a ao, Vari ancia e o Gr aco de todos os Pontos (para um exemplo qualquer). o, ser Para cada ponto, executado em uma determinada func a a apresntando: Ponto o Objetivo, Quantidade de Interac es Inicial e Final com seus respectivos valores da Func a o que levou para chegar ao ponto otimoe seu Gr aco da Trajet oria do Ponto. o Objetivo 1 4.1. Func a o: f1(x) = xQ1x; Func a Sendo: Q1(x) = [1 0; 0 1,2]; Gr aco: Tridimensional (3D);

da Func f1(x) - 3D. Figura 4. Projec ao ao

Gr aco: Contorno (Curvas de N vel);

da Func f1(x) - Curvas de N Figura 5. Projec ao ao vel.

4.1.1. M edia, Desvio Padr ao e Vari ancia o Objetivo: 2.9977e-009; M edia da Func a Desvio Padr ao: 1.1196e-009; Vari ancia: 1.2535e-018;

dos Pontos da Func f1(x). Figura 6. Projec ao ao

relativamente baixo, a maioria desses pontos encontra-se perto O Desvio Padr ao e da m edia, indicando uma homogeneidade nos dados obtidos. A Vari ancia, que indica o qu ao longe os valores se encontram do valor esperado, relativamente baixo, ou seja, os valores caram bem pr e oximos do valor esperado. 4.1.2. Trajet oria dos Pontos 1. Ponto 1 Ponto Inicial: [49.6135; -42.1824]; o Objetivo Inicial: 4.5967e+003; Func a Ponto Final: 1.0e-004 *[-0.3226; -0.3604]; o Objetivo Final: 2.5992e-009; Func a es: Houve 8 interac es para chegar na soluc o nal; Interac o o a Gr aco: Curvas de N vel:

Figura 7. Trajetoria do Ponto 1

Close da trajet oria:

Figura 8. Close 1 da trajetoria do Ponto 1

Figura 9. Close 2 da trajetoria do Ponto 1

2. Ponto 2 Ponto Inicial: [30.0068; -6.8586]; o Objetivo Inicial: 956.8597; Func a Ponto Final: 1.0e-004 *[-0.3243; -0.3616]; o Objetivo Final: 2.6210e-009; Func a es: Houve 7 interac es para chegar na soluc o nal; Interac o o a Gr aco: Curvas de N vel:

Figura 10. Trajetoria do Ponto 2

Close da trajet oria:

Figura 11. Close 1 da trajetoria do Ponto 2

Figura 12. Close 2 da trajetoria do Ponto 2

o F1 4.1.3. Conclus ao para Func a o Objetivo F1 tem caracter vel e de n A func a sticas de ser Uni-modal, diferenc a ao possuir es. O processo de execuc o partiu de um ponto qualquer, superf cies com pequenas variac o a timo global sem precisar de gerando aleatoriamente, deslocou para pontos pr oximos ao o es para isso. Notam-se saltos enormes inicialmente, depois, saltos cada muitas interac o timo da soluc o. vez menores por estar pr oximo ao o a o Objetivo 2 4.2. Func a o: f2(x) = xQ2x; Func a Sendo: Q2(x) = [1 0; 0 1000]; Gr aco: Tridimensional (3D);

da Func f2(x) - 3D. Figura 13. Projec ao ao

Gr aco: Contorno (Curvas de N vel);

da Func f2(x) - Curvas de N Figura 14. Projec ao ao vel.

4.2.1. M edia, Desvio Padr ao e Vari ancia o Objetivo: 3.4667; M edia da Func a Desvio Padr ao: 22.7839; Vari ancia: 519.1058;

dos Pontos da Func f2(x). Figura 15. Projec ao ao

signicativamente alto, a maioria desses pontos encontra-se O Desvio Padr ao e afastado da m edia, indicando uma hetereogeniedade nos dados obtidos. A Vari ancia, que indica o qu ao longe os valores se encontram do valor esperado, relativamente alto, ou seja, os valores caram mais afastado do valor esperado. e 4.2.2. Trajet oria dos Pontos 1. Ponto 1 Ponto Inicial: [-36.3931; 36.9292]; o Objetivo Inicial: 1.3651e+006; Func a Ponto Final: [-0.1235; -0.0001]; o Objetivo Final: 0.0153; Func a es: Houve 63 interac es para chegar na soluc o nal; Interac o o a Gr aco: Curvas de N vel:

Figura 16. Trajetoria do Ponto 1

Close da trajet oria:

Figura 17. Close 1 da trajetoria do Ponto 1

Figura 18. Close 2 da trajetoria do Ponto 1

2. Ponto 2 Ponto Inicial: [-38.8797; 28.0252]; o Objetivo Inicial: 7.8692e+005; Func a Ponto Final: [-0.0423; 0.0000]; o Objetivo Final: 0.0018; Func a es: Houve 290 interac es para chegar na soluc o nal; Interac o o a Gr aco: Curvas de N vel:

Figura 19. Trajetoria do Ponto 2

Close da trajet oria:

Figura 20. Close 1 da trajetoria do Ponto 2

Figura 21. Close 2 da trajetoria do Ponto 2

o F2 4.2.3. Conclus ao para Func a o Objetivo F2 tem caracter vel, no entanto, A func a sticas de ser Uni-modal e Diferenc a es. Diante disso, o algoritmo possui a caracter stica de superf cies com pequenas variac o ltima caracter tornasse pouco eciente devido essa u stica, pois haver a pouca diferenc a es at ` regi entre as soluc o e chegar a ao pr oxima ao m nimo global. o partiu de um ponto qualquer, gerando aleatoriamente, O processo de execuc a timo global, necessitando de muitas deslocou para pontos pouco mais distantes do o es para isso. Notam-se saltos enormes inicialmente, depois, saltos cada vez meinterac o timo da soluc o, o comportamento dos pontos tende a ser nores por estar pr oximo ao o a Zig-Zag por estarem em uma superf cie mais plana.

5. Conclus oes Gerais


Por m, com base nos resultados apresentados nesse trabalho, conclui-se que o uso do mais ecaz para func es simples, cujo comportamento n Algoritmo do Gradiente e o ao apresenta uma superf cie muita plana, ou seja, uma superf cie que n ao contenha muitas es. Para func es que possuem pouca variac o de superf pequenas oscilac o o a cie, ou melhor, ter diferenc as muito pequenas entre os pontos, o algoritmo tende h a levar um maior tempo para convergir, ou seja, levando um maior tempo para atingir um resultado mais satisfat orio, pois, o deslocamento ser a muito pequeno, resultando, assim, em uma quanti es, consequentemente, uma maior quantidade de interac es. dade maior de oscilac o o Ao comparar as matrizes Q1(1 0; 0 1.2) e Q2(1 0; 0 1000), nota-se que a diferenc a nica posic o, Q1 com 1.2 e Q2 com 1000. Essa entre elas estar no valor contido em uma u a o do gr o, [xQ1x] e [xQ2x], respectidiferenc a inuencia na criac a aco de cada func a o no quesito variac o da vamente, F1 e F2, pois est a ligado ao comportamento da func a a superf cie. Como supracitado, quanto menor for a variac oes da superf cie maior ser aa es para chegar em um resultado satisfat quantidade de interac o orio. es, a que apresentou melhores resultaAnalisando o resultado de ambas as func o o ao n es, foi a func o F1 que contem a matriz Q1(1 0; dos, em relac a umero de interac o a a que se enquadra em um perl n o 0 1.2), pois e ao plano, ou seja, possui maior variac a es para alcanc da superf cie, consequentemente, ter a menor quantidade de interac o ar um resultado satisfat orio. es multimodais (que possui v Vale mencionar que, para func o arias bacias de o), se o ponto inicial incidir em outra bacia de atrac o na qual n atrac a a ao esteja localizado o m nimo global, o Algoritmo do Gradiente ir a trac ar sua trajet oria de acordo com o m nimo dessa bacia e n ao da bacia que consta o m nimo global.

6. Refer encias
o Escalar e Vetorial. Belo Horizonte: UFMG Takahashi, Ricardo H. C. Otimizac a Departamento de Matem atica. Notas de Aula, Vol.: 2, 2007. Bergamaschi, Flaulles B. M etodos Numericos para encontrar M nimo e o. Vit M aximo de uma Func a oria da Conquista: UESB - Universidade Estadual do Sudoeste da Bahia. Mini-Curso, 2006. http://www.uesb.br/professor/ flaulles/download/cursos/MiniMetodosMaximos.pdf

Curso de MATLAB. Rio Grande do Sul: UFRGS - Departamento de Engenharia Eletrica. http://www.mecanica.ufrgs.br/promec/alunos/download/ matlab1.pdf