modification des tests d'arret
This commit is contained in:
parent
d60bd49a1b
commit
b81813328d
|
@ -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
|
* **x0** : (Array{Float,1}) première approximation de la solution cherchée
|
||||||
* **options** : (Array{Float,1})
|
* **options** : (Array{Float,1})
|
||||||
* **max_iter** : le nombre maximal d'iterations
|
* **max_iter** : le nombre maximal d'iterations
|
||||||
* **tolCN1** : la tolérence pour la condition nécessaire d'ordre 1
|
* **Tol_abs** : la tolérence absolue
|
||||||
* **tol** : la tolérence pour les autres critères d'arrêt
|
* **Tol_rel** : la tolérence relative
|
||||||
|
|
||||||
# Sorties:
|
# Sorties:
|
||||||
* **xmin** : (Array{Float,1}) une approximation de la solution du problème : ``\min_{x \in \mathbb{R}^{n}} f(x)``
|
* **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)
|
function Algorithme_De_Newton(f::Function,gradf::Function,hessf::Function,x0,options)
|
||||||
|
|
||||||
"# Si options == [] on prends les paramètres par défaut"
|
"# Si options == [] on prends les paramètres par défaut"
|
||||||
if options == []
|
if options == []
|
||||||
max_iter = 100
|
max_iter = 100
|
||||||
tolCN1 = 1e-15
|
Tol_abs = sqrt(eps())
|
||||||
tol = 1e-15
|
Tol_rel = 1e-15
|
||||||
else
|
else
|
||||||
max_iter = options[1]
|
max_iter = options[1]
|
||||||
tolCN1 = options[2]
|
Tol_abs = options[2]
|
||||||
tol = options[3]
|
Tol_rel = options[3]
|
||||||
end
|
end
|
||||||
eps = 1e-8
|
|
||||||
|
|
||||||
n = length(x0)
|
n = length(x0)
|
||||||
xmin = zeros(n)
|
xmin = zeros(n)
|
||||||
|
|
|
@ -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}``
|
* **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
|
* **delta0** : le rayon de départ de la région de confiance
|
||||||
* **max_iter** : le nombre maximale d'iterations
|
* **max_iter** : le nombre maximale d'iterations
|
||||||
* **tolCN1** : la tolérence pour la condition nécessaire d'ordre 1
|
* **Tol_abs** : la tolérence absolue
|
||||||
* **tol** : la tolérence pour les autres critères d'arrêt
|
* **Tol_rel** : la tolérence relative
|
||||||
|
|
||||||
# Sorties:
|
# Sorties:
|
||||||
|
|
||||||
|
@ -60,8 +60,8 @@ function Regions_De_Confiance(algo,f::Function,gradf::Function,hessf::Function,x
|
||||||
eta2 = 0.75
|
eta2 = 0.75
|
||||||
delta0 = 2
|
delta0 = 2
|
||||||
max_iter = 1000
|
max_iter = 1000
|
||||||
tolCN1 = 1e-15
|
Tol_abs = sqrt(eps())
|
||||||
tol = 1e-15
|
Tol_rel = 1e-15
|
||||||
else
|
else
|
||||||
deltaMax = options[1]
|
deltaMax = options[1]
|
||||||
gamma1 = options[2]
|
gamma1 = options[2]
|
||||||
|
@ -70,11 +70,10 @@ function Regions_De_Confiance(algo,f::Function,gradf::Function,hessf::Function,x
|
||||||
eta2 = options[5]
|
eta2 = options[5]
|
||||||
delta0 = options[6]
|
delta0 = options[6]
|
||||||
max_iter = options[7]
|
max_iter = options[7]
|
||||||
tolCN1 = options[8]
|
Tol_abs = options[8]
|
||||||
tol = options[9]
|
Tol_rel = options[9]
|
||||||
end
|
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)
|
n = length(x0)
|
||||||
xmin = zeros(n)
|
xmin = zeros(n)
|
||||||
fxmin = f(xmin)
|
fxmin = f(xmin)
|
||||||
|
|
Loading…
Reference in a new issue