modification des tests d'arret

This commit is contained in:
gergaud 2020-11-07 09:42:19 +01:00
parent d60bd49a1b
commit b81813328d
2 changed files with 21 additions and 23 deletions

View file

@ -13,8 +13,8 @@ xk,f_min,flag,nb_iters = Algorithme_de_Newton(f,gradf,hessf,x0,option)
* **x0** : (Array{Float,1}) première approximation de la solution cherchée
* **options** : (Array{Float,1})
* **max_iter** : le nombre maximal d'iterations
* **tolCN1** : la tolérence pour la condition nécessaire d'ordre 1
* **tol** : la tolérence pour les autres critères d'arrêt
* **Tol_abs** : la tolérence absolue
* **Tol_rel** : la tolérence relative
# Sorties:
* **xmin** : (Array{Float,1}) une approximation de la solution du problème : ``\min_{x \in \mathbb{R}^{n}} f(x)``
@ -39,17 +39,16 @@ xmin,f_min,flag,nb_iters = Algorithme_De_Newton(f,gradf,hessf,x0,options)
"""
function Algorithme_De_Newton(f::Function,gradf::Function,hessf::Function,x0,options)
"# Si options == [] on prends les paramètres par défaut"
if options == []
max_iter = 100
tolCN1 = 1e-15
tol = 1e-15
else
max_iter = options[1]
tolCN1 = options[2]
tol = options[3]
end
eps = 1e-8
"# Si options == [] on prends les paramètres par défaut"
if options == []
max_iter = 100
Tol_abs = sqrt(eps())
Tol_rel = 1e-15
else
max_iter = options[1]
Tol_abs = options[2]
Tol_rel = options[3]
end
n = length(x0)
xmin = zeros(n)

View file

@ -25,8 +25,8 @@ xk, nb_iters, f(xk), flag = Regions_De_Confiance(algo,f,gradf,hessf,x0,option)
* **eta1,eta2** : ``0 < \eta_{1} < \eta_{2} < 1`` pour les m-à-j de ``R_{k}``
* **delta0** : le rayon de départ de la région de confiance
* **max_iter** : le nombre maximale d'iterations
* **tolCN1** : la tolérence pour la condition nécessaire d'ordre 1
* **tol** : la tolérence pour les autres critères d'arrêt
* **Tol_abs** : la tolérence absolue
* **Tol_rel** : la tolérence relative
# Sorties:
@ -60,8 +60,8 @@ function Regions_De_Confiance(algo,f::Function,gradf::Function,hessf::Function,x
eta2 = 0.75
delta0 = 2
max_iter = 1000
tolCN1 = 1e-15
tol = 1e-15
Tol_abs = sqrt(eps())
Tol_rel = 1e-15
else
deltaMax = options[1]
gamma1 = options[2]
@ -70,16 +70,15 @@ function Regions_De_Confiance(algo,f::Function,gradf::Function,hessf::Function,x
eta2 = options[5]
delta0 = options[6]
max_iter = options[7]
tolCN1 = options[8]
tol = options[9]
Tol_abs = options[8]
Tol_rel = options[9]
end
# eps = sqrt(epsilon_machine) à utiliser pour compenser les éventuelles erreurs de la machine lors de l'évaluation des critères d'arrêt
eps = 1e-8
n = length(x0)
xmin = zeros(n)
fxmin = f(xmin)
flag = 0
nb_iters = 0
return xmin, fxmin, flag, nb_iters
end
end