0% ont trouvé ce document utile (0 vote)
246 vues3 pages

TP Optimisation 4DS

Ce document décrit un TP sur l'optimisation sans contrainte en dimension quelconque. Il présente différentes méthodes d'optimisation comme l'algorithme du gradient à pas fixe, l'algorithme du gradient à pas optimal et l'algorithme du gradient conjugué. Le but est d'appliquer ces algorithmes pour minimiser une fonction objective.

Transféré par

Wissal KHEMIRI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
246 vues3 pages

TP Optimisation 4DS

Ce document décrit un TP sur l'optimisation sans contrainte en dimension quelconque. Il présente différentes méthodes d'optimisation comme l'algorithme du gradient à pas fixe, l'algorithme du gradient à pas optimal et l'algorithme du gradient conjugué. Le but est d'appliquer ces algorithmes pour minimiser une fonction objective.

Transféré par

Wissal KHEMIRI
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

École Supérieure Privée d’Ingénierie et de Technologies

TP optimisation sans contrainte en di-


mension quelconque

Classes : 4DS Semestre : 1 Année universitaire: 2019/2020

L’objectif de ce TP est d’utiliser différentes méthodes d’optimisation afin d’approcher la


solution du problème:

(P) min J(X),


X∈Rn

où J : Rn → R fonction objective continue definie par:


1
∀X ∈ Rn , J(X) = < AX, X > − < b, X >,
2
où b ∈ Rn et A ∈ Mn (R) est une matrice symétrique définie positive.
 
2 −1 0 . . . ... 0
 −1 2 −1 . . . ... . 
 
 0 −1 2 −1 . . ... . 
   
 .
 0 −1 2 −1 . ... .  1
 .
 . 0 −1 2 −1 ... . 

 1 

A= . . . . . . ... .  , et b = 
 . .

 . . . . . . ... .   . 

 . . . . . . ... .  1

 . . . . . . ... . 
 
 . . . . . −1 2 −1 
0 . −. . . 0 −1 2

Remarque 1 Il est important d’exploiter le format creux de la matrice A afin de diminuer


les temps de calcul

1. Programmer en python la fonction J et la représenter dans le cas n = 2 sur le pavé


[−20, 20] × [−20, 20].

2. Programmer en python le gradient de J.

1
1 Partie 1: Algorithme de gradient à pas fixe
Le schéma général de l’algorithme de gradient à pas fixe est donné par la suite (Xk )k∈N
d’élément de Rn telle que:


X0 ∈ Rn quelconque
Xk+1 = Xk − ρ∇J(Xk ) ∀k ∈ N
où ρ est un réel positif.

1. Ecrire une fonction python prenant en argument ρ > 0 un pas fixe et X0 ∈ Rn , un


vecteur d’initialisation, et ε > 0 la précision afin de mettre en oeuvre l’algorithme du
gradient à pas fixe.

2. Tester l’algorithme sur la fonction J pour différentes valeurs de n, n = 2, 10, 15, 20, 30, 40, 50
pour un ρ = 0.5, ρ = 1 et ρ = 2.

3. Tracer la courbe représentant le nombre d’itération en fonction de la valeur de n.

4. Tester l’algorithme du gradient à pas fixe on changant le critère d’arrêt. Ces critère
sont:

(a) ||∇J(Xk )|| ≤ ε ⇒ Xk solution. (Condition nécessaire d’optimalité du premier


ordre).
(b) En pratique, le test d’optimalité n’est pas toujours satisfait et on devra faire
appel à d’autres critères.
• ||Xk+1 − Xk || ≤ ε||Xk || stagnation de la solution.
• |J(Xk+1 ) − J(Xk )| ≤ ε|J(Xk )| stagnation de la fonction.
• Nombre d’itération dépassont un seuil fixe à l’avance k < IterM ax.

Analyser les résultats et commenter.

2 Partie 2: Algorithme de gradient à pas optimal


Le schéma général de l’algorithme de gradient à pas optimal est donné par la suite (Xk )k∈N
d’élément de R3 telle que:


X0 ∈ Rn quelconque
Xk+1 = Xk − ρk ∇J(Xk ) ∀k ∈ N
où ρk est un réel positif.

2
1. Soit X ∈ Rn et d ∈ Rn , écrire une fonction python permettant de minimiser la
fonction ϕ(t) = J(X + td).
2. Programmer l’algorithme de gradient à pas optimal pour différentes valeurs de n,
n = 2, 10, 15, 20, 30, 40, 50, 100.
3. Tracer la courbe représentant le nombre d’itération en fonction de la valeur de n.
4. Analyser les résultats et commenter.

3 Partie 3: Méthode du gradient conjugué


Le schéma général de l’algorithme du gradient conjugué est donné par la suite (Xk )k∈N
d’élément de Rn telle que:


 X0 ∈ Rn quelconque, r0 = AX0 − b etd0 = −r0

 < rk , dk >
Xk+1 = Xk + ρk dk , ρk = −


< Adk , dk >

 rk+1 = AXk+1 − b
||rk+1 ||2



dk+1 = −rk+1 + βk dk , βk :=


||rk ||2

1. Faire une étude bibliographique sur l’algorithme du gradient conjugué.


2. Programmer l’algorithme du gradient conjugué pour différentes valeurs de n, n =
2, 10, 15, 20, 30, 40, 50, 100 pour un ρ = 0.5.
3. Tracer la courbe représentant le nombre d’itération en fonction de la valeur de n.
4. Analyser les résultats et commenter.

Comparer à l’aide d’un tableau ou d’une figure la rapidité de convergence de chacune des
deux algorithmes, ainsi le temps de calcul par python suivant les différentes valeurs prises
par n.

4 Partie 4: Régrassion linéaire


Dans cette partie la fonction J est définie par:
N
1X
J(a, b) = (yi − (axi + b))2
2 i=1

Avec (xi , yi ), i = 1, ..N un nuage de point donner par le fichier univariatel inearr egressiond [Link].
Appliquer les algorithmes de gradient à pas fixe , pas optimal et du gradient conjugué pour
déterminer le minimum de J.

Vous aimerez peut-être aussi