0% ont trouvé ce document utile (0 vote)
36 vues2 pages

Optimisation : Descente de Gradient et Aléatoire

Ce document présente deux méthodes d'optimisation : la descente de gradient et la recherche aléatoire. La descente de gradient est utilisée pour minimiser la fonction quadratique f(x) = x² + 4x + 4, tandis que la recherche aléatoire est appliquée à la fonction sin(x) pour trouver son maximum sur l'intervalle [0, 2π]. Les résultats montrent que la descente de gradient converge efficacement vers le minimum, alors que la recherche aléatoire permet d'approximer le maximum d'une fonction non linéaire.

Transféré par

khaledxcv45
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)
36 vues2 pages

Optimisation : Descente de Gradient et Aléatoire

Ce document présente deux méthodes d'optimisation : la descente de gradient et la recherche aléatoire. La descente de gradient est utilisée pour minimiser la fonction quadratique f(x) = x² + 4x + 4, tandis que la recherche aléatoire est appliquée à la fonction sin(x) pour trouver son maximum sur l'intervalle [0, 2π]. Les résultats montrent que la descente de gradient converge efficacement vers le minimum, alors que la recherche aléatoire permet d'approximer le maximum d'une fonction non linéaire.

Transféré par

khaledxcv45
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

PW4 – Méthodes d’Optimisation

1. Introduction
Ce travail pratique présente deux méthodes d’optimisation : la descente de gradient (méthode
déterministe) et la recherche aléatoire (méthode stochastique).

2. Descente de Gradient
La fonction étudiée est : f(x) = x² + 4x + 4. Le minimum théorique est atteint pour x = −2.

Code Python – Descente de Gradient


import numpy as np
import [Link] as plt

def f(x):
return x**2 + 4*x + 4

def grad_f(x):
return 2*x + 4

alpha = 0.1
x = 5.0
epsilon = 1e-6
max_iter = 50

x_values = []
f_values = []

for i in range(max_iter):
x_values.append(x)
f_values.append(f(x))
x_new = x - alpha * grad_f(x)
if abs(x_new - x) < epsilon:
break
x = x_new

print("Minimum atteint en x =", x)


print("Valeur minimale f(x) =", f(x))

3. Recherche Aléatoire
La fonction étudiée est : f(x) = sin(x) sur l’intervalle [0, 2π]. Le maximum théorique est atteint pour x
= π/2.

Code Python – Recherche Aléatoire


import numpy as np
import [Link] as plt

N = 10000

x_random = [Link](0, 2*[Link], N)


f_random = [Link](x_random)

max_index = [Link](f_random)
x_max = x_random[max_index]
f_max = f_random[max_index]

print("Maximum atteint en x =", x_max)


print("Valeur maximale f(x) =", f_max)

Conclusion
Les résultats obtenus et les graphiques montrent que la descente de gradient converge
efficacement vers le minimum, tandis que la recherche aléatoire permet d’approximer le maximum
d’une fonction non linéaire.

Vous aimerez peut-être aussi