Skip to content

Commit f063735

Browse files
add step entry in RegularizedExecutionStats (#179)
add :sigma and :radius solver specific entries to LM,LMTR,R2DH,R2N,TR,TRDH
1 parent b057a7c commit f063735

File tree

8 files changed

+12
-0
lines changed

8 files changed

+12
-0
lines changed

src/LMTR_alg.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ function LMTR(
296296
set_residuals!(stats, zero(eltype(xk)), ξ1 0 ? sqrt(ξ1) : ξ1)
297297
set_iter!(stats, k)
298298
set_time!(stats, elapsed_time)
299+
set_solver_specific!(stats, :radius, Δk)
299300
set_solver_specific!(stats, :Fhist, Fobj_hist[1:k])
300301
set_solver_specific!(stats, :Hhist, Hobj_hist[1:k])
301302
set_solver_specific!(stats, :NonSmooth, h)

src/LM_alg.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,7 @@ function LM(
290290
set_residuals!(stats, zero(eltype(xk)), ξ1 0 ? sqrt_ξ1_νInv : ξ1)
291291
set_iter!(stats, k)
292292
set_time!(stats, elapsed_time)
293+
set_solver_specific!(stats, :sigma, σk)
293294
set_solver_specific!(stats, :Fhist, Fobj_hist[1:k])
294295
set_solver_specific!(stats, :Hhist, Hobj_hist[1:k])
295296
set_solver_specific!(stats, :NonSmooth, h)

src/R2DH.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ function R2DH(
6161
set_residuals!(stats, zero(eltype(xk)), sqrt_ξ_νInv)
6262
set_iter!(stats, k)
6363
set_time!(stats, outdict[:elapsed_time])
64+
set_solver_specific!(stats, :sigma, outdict[:sigma])
6465
set_solver_specific!(stats, :Fhist, outdict[:Fhist])
6566
set_solver_specific!(stats, :Hhist, outdict[:Hhist])
6667
set_solver_specific!(stats, :Time_hist, outdict[:Time_hist])
@@ -313,6 +314,7 @@ function R2DH(
313314
:hk => hk,
314315
:sqrt_ξ_νInv => sqrt_ξ_νInv,
315316
:elapsed_time => elapsed_time,
317+
:sigma => σk
316318
)
317319

318320
return xk, k, outdict

src/R2N.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ function R2N(
288288
set_residuals!(stats, zero(eltype(xk)), sqrt_ξ1_νInv)
289289
set_iter!(stats, k)
290290
set_time!(stats, elapsed_time)
291+
set_solver_specific!(stats, :sigma, σk)
291292
set_solver_specific!(stats, :Fhist, Fobj_hist[1:k])
292293
set_solver_specific!(stats, :Hhist, Hobj_hist[1:k])
293294
set_solver_specific!(stats, :NonSmooth, h)

src/R2_alg.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -410,6 +410,7 @@ function SolverCore.solve!(
410410
set_objective!(stats, fk + hk)
411411
set_solver_specific!(stats, :smooth_obj, fk)
412412
set_solver_specific!(stats, :nonsmooth_obj, hk)
413+
set_solver_specific!(stats, :sigma, σk)
413414

414415
φk(d) = dot(∇fk, d)
415416
mk(d)::T = φk(d) + ψ(d)::T
@@ -498,6 +499,7 @@ function SolverCore.solve!(
498499
set_objective!(stats, fk + hk)
499500
set_solver_specific!(stats, :smooth_obj, fk)
500501
set_solver_specific!(stats, :nonsmooth_obj, hk)
502+
set_solver_specific!(stats, :sigma, σk)
501503
set_iter!(stats, stats.iter + 1)
502504
set_time!(stats, time() - start_time)
503505

src/TRDH_alg.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ function TRDH(
7575
set_residuals!(stats, zero(eltype(xk)), sqrt_ξ_νInv)
7676
set_iter!(stats, k)
7777
set_time!(stats, outdict[:elapsed_time])
78+
set_solver_specific!(stats, :radius, outdict[:radius])
7879
set_solver_specific!(stats, :Fhist, outdict[:Fhist])
7980
set_solver_specific!(stats, :Hhist, outdict[:Hhist])
8081
set_solver_specific!(stats, :NonSmooth, outdict[:NonSmooth])
@@ -362,6 +363,7 @@ function TRDH(
362363
:hk => hk,
363364
:sqrt_ξ_νInv => sqrt_ξ_νInv,
364365
:elapsed_time => elapsed_time,
366+
:radius => Δk,
365367
)
366368

367369
return xk, k, outdict

src/TR_alg.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ function TR(
285285
set_residuals!(stats, zero(eltype(xk)), sqrt_ξ1_νInv)
286286
set_iter!(stats, k)
287287
set_time!(stats, elapsed_time)
288+
set_solver_specific!(stats, :radius, Δk)
288289
set_solver_specific!(stats, :Fhist, Fobj_hist[1:k])
289290
set_solver_specific!(stats, :Hhist, Hobj_hist[1:k])
290291
set_solver_specific!(stats, :NonSmooth, h)

src/utils.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,5 +111,7 @@ function RegularizedExecutionStats(reg_nlp::AbstractRegularizedNLPModel{T, V}) w
111111
stats = GenericExecutionStats(reg_nlp.model, solver_specific = Dict{Symbol, T}())
112112
set_solver_specific!(stats, :smooth_obj, T(Inf))
113113
set_solver_specific!(stats, :nonsmooth_obj, T(Inf))
114+
set_solver_specific!(stats, :sigma, T(Inf))
115+
set_solver_specific!(stats, :radius, T(Inf))
114116
return stats
115117
end

0 commit comments

Comments
 (0)