@@ -40,9 +40,9 @@ function R2Solver(
40
40
l_bound_m_x = similar (xk, 0 )
41
41
u_bound_m_x = similar (xk, 0 )
42
42
end
43
- Fobj_hist = zeros (R, maxIter)
44
- Hobj_hist = zeros (R, maxIter)
45
- Complex_hist = zeros (Int, maxIter)
43
+ Fobj_hist = zeros (R, maxIter+ 2 )
44
+ Hobj_hist = zeros (R, maxIter+ 2 )
45
+ Complex_hist = zeros (Int, maxIter+ 2 )
46
46
return R2Solver (
47
47
xk,
48
48
∇fk,
@@ -84,9 +84,9 @@ function R2Solver(
84
84
l_bound_m_x = similar (xk, 0 )
85
85
u_bound_m_x = similar (xk, 0 )
86
86
end
87
- Fobj_hist = zeros (T, max_iter)
88
- Hobj_hist = zeros (T, max_iter)
89
- Complex_hist = zeros (Int, max_iter)
87
+ Fobj_hist = zeros (T, max_iter+ 2 )
88
+ Hobj_hist = zeros (T, max_iter+ 2 )
89
+ Complex_hist = zeros (Int, max_iter+ 2 )
90
90
91
91
ψ = has_bnds ? shifted (reg_nlp. h, x0, l_bound_m_x, u_bound_m_x, reg_nlp. selected) : shifted (reg_nlp. h, x0)
92
92
return R2Solver (
285
285
286
286
287
287
function R2 (reg_nlp:: AbstractRegularizedNLPModel ; kwargs... )
288
- solver = R2Solver (reg_nlp)
288
+ kwargs_dict = Dict (kwargs... )
289
+ max_iter = pop! (kwargs_dict, :max_iter , 10000 )
290
+ solver = R2Solver (reg_nlp,max_iter = max_iter)
289
291
stats = GenericExecutionStats (reg_nlp. model)
290
292
cb = (nlp, solver, stats) -> begin
291
293
solver. Fobj_hist[stats. iter+ 1 ] = stats. solver_specific[:smooth_obj ]
@@ -297,6 +299,7 @@ function R2(reg_nlp::AbstractRegularizedNLPModel; kwargs...)
297
299
reg_nlp,
298
300
stats;
299
301
callback = cb,
302
+ max_iter = max_iter,
300
303
kwargs...
301
304
)
302
305
set_solver_specific! (stats, :Fhist , solver. Fobj_hist[1 : stats. iter+ 1 ])
0 commit comments