Vous êtes sur la page 1sur 5

BOUSEBA BADREDDINE – 4EME AUTOMATIQUE – 2018/2019

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE


MINISTERE DE L’ENSEITGNEMNT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE
ECOLE NATIONALE POLYTECHNIQUE DE CONSTANTINE
DEPARTEMENT EEA

COMPTE RENDU
~ OPTIMISATION ET RECHERCHE OPERATIONNELLE ~

‘TP 05’
METHODE DES GRADIENT
CONJUGUES

Encadré par : Réalisé par :


Professeur Samir LADACI Badreddine BOUSEBA
samir_ladaci@yahoo.com badreddine.bouseba@gmail.com

2ème Année Cycle Ingénieur


Option Automatique
Semestre II

Année Universitaire : 2018/2019

Page | 1
BOUSEBA BADREDDINE – 4EME AUTOMATIQUE – 2018/2019

I/ Introduction :

En mathématiques, plus précisément en algèbre linéaire, l'élimination de Gauss, aussi appelée méthode
du pivot de Gauss, nommée en hommage à Carl Friedrich Gauss et Wilhelm Jordan, est un algorithme
pour déterminer les solutions d'un système d'équations linéaires, pour déterminer le rang d'une matrice
ou pour calculer l'inverse d'une matrice (carrée) inversible.

II/ Principe :

On veut trouvez le minimum d’une fonction à l’aide de la méthode du gradient à pas optimal.

Les méthodes de gradient sont définies par les relations :

𝑢(𝑘+1) = 𝑢(𝑘) − 𝜌𝑘 ∇J(𝑢(𝑘) )

Où les facteurs de descente ρk ∈ IR sont à choisir. Il y a plusieurs méthodes de gradient suivant le


choix que nous faisons pour ρ.

Pour la méthode du gradient à pas optimal on choisit 𝜌𝑘 ∈ ℝ tel que :

𝑢(𝑘+1) ∈ 𝑢(𝑘) + ℒ (𝛻𝐽(𝑢(𝑘) ))

Le minimiser est :

𝑢(𝑘) + ℒ (𝛻𝐽(𝑢(𝑘) ))

Sachant que :

𝐺𝑘 = ℒ (𝛻𝐽(𝑢(0) ), 𝛻𝐽(𝑢(0) ), … 𝛻𝐽(𝑢(𝑘) )) ∁ ℝ𝑛

La méthode des gradients conjugués consiste à chercher

𝑢(𝑘+1) ∈ 𝑢(𝑘) + 𝐺𝑘 :Tel que 𝐽(𝑢(𝑘+1) ) = min 𝐽(𝑣)


𝑣∈𝑢(𝑘)+𝐺𝑘

(En supposant qu’un tel minimum existe).

On minimise donc sur un espace plus “grand” que dans la méthode de gradient à pas optimal.
On s’attend alors à un “meilleur” minimum.

Étant donné 𝐴 ∈ 𝑀𝑛 (ℝ) matrice symétrique et définie positive, ∈ ℝ𝑛 , 𝑐 ∈ ℝ , On veut réaliser un


programme, basé sur la méthode du gradient à pas optimal permettant de retrouver u* qui minimise J

III/ But du TP :

Apprendre à comprendre la méthode, et suivre le bon raisonnement pour l’implémentation de cette


méthode sur ordinateur pour permettre à l’utilisateur de trouver directement la solution en insérant les
matrices nécessaires
Il est demandé également de faire un organigramme, et un code Matlab bien détaillé.

Page | 2
BOUSEBA BADREDDINE – 4EME AUTOMATIQUE – 2018/2019

IV/ Organigramme :

Début

Déclaration des matrices :

A, B, c, et u.

Déclaration de : Précision, Itérations

Calcule de la fonction à optimiser J et son


gradient ∇ J

Calcule de la valeur de ∇ J en utilisant la


valeur actuelle de u

∇ J(u)>Epsilon Non

Oui

Calcule de J de la dernière valeur de u

Afficher J, u et nombre d’itérations

Fin Page | 3
BOUSEBA BADREDDINE – 4EME AUTOMATIQUE – 2018/2019

V/ Programmation sous Matlab :

Voir les commentaires sous Matlab pour l’ explication de chaque étape utilisée.

clear all;
close all;
clc ;

% Saisie des matrices par l’utilisateur :

A=input('Entrez la matrice A symétrique définie positive\n');


b=input('Entrez le vecteur colonne b\n');
c=input('Entrez le scalaire c\n');
u=input('entrez le vecteur colonne initial\n');
epsilon=input('Entrez la précision\n');
itmax=input('Entrez le nobmre d''iteration maximal\n');
j=0; % intialisation de compteur d'itérations
d=A*u-b; % calcul du gradient initial
% calcul des itérations
while norm(A*u-b)>epsilon && j<itmax %critèe d’arrêt
p=-1*(dot(A*u-b,d)/dot(A*d,d));
ug=u;
u=u+p*d; % la nouvelle valeur de u
be=(norm(A*u-b)^2)/(norm(A*ug-b)^2);
d=(A*u-b)+be*d;
j=j+1;
end

min=0.5*dot(A*u,u)-dot(b,u)+c;

%Résultat d’éxecution :
disp('Le vecteur u* qui minimise la fontion J est');
disp(u)
disp('La valeur de minimum de la fonction J est');
disp(min)
disp('Nombre d''tération :');
disp(j)

Page | 4
BOUSEBA BADREDDINE – 4EME AUTOMATIQUE – 2018/2019

Affichage de l’exécution sous Matlab :

VI/ Conclusion :

Ce TP m’a permis de bien raisonner en ce qui concerne des algorithmes mathématiques de complexité
moyenne. La résolution mathématique est relativement facile mais l’implémentation sur ordinateur
nécessite un peu de réflexion. En termes d’optimisation, j’ai arrivé à programmer l’une des méthodes
très utilisées pour la résolution des systèmes linéaires, qui sera ensuite développée pour d’autres plus
complexes.

La méthode des gradients conjuguées converge toujours avec un nombre d’itération inférieure ou égale
à la dimension de l’espace du problème par rapport aux autres méthodes abordées elle est la meilleure.

Page | 5

Vous aimerez peut-être aussi