forked from JuliaSmoothOptimizers/RegularizedOptimization.jl
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdemo-cutest.jl
More file actions
46 lines (35 loc) · 1.09 KB
/
demo-cutest.jl
File metadata and controls
46 lines (35 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using NLPModels, CUTEst
using ProximalOperators
using RegularizedOptimization
problem_name = "HS8"
nlp = CUTEstModel(problem_name)
@assert !has_bounds(nlp)
@assert equality_constrained(nlp)
h = NormL1(1.0)
stats = AL(nlp, h, atol = 1e-6, verbose = 1)
print(stats)
using RegularizedProblems
regnlp = RegularizedNLPModel(nlp, h)
stats = AL(regnlp, atol = 1e-6, verbose = 1)
print(stats)
solver = ALSolver(regnlp)
stats = solve!(solver, regnlp, atol = 1e-6, verbose = 1)
print(stats)
using SolverCore
stats = GenericExecutionStats(nlp)
solver = ALSolver(regnlp)
stats = solve!(solver, regnlp, stats, atol = 1e-6, verbose = 1)
print(stats)
callback =
(regnlp, solver, stats) -> begin
@info "iter $(stats.iter), obj $(stats.objective), status $(stats.status)"
end
stats = AL(nlp, h, atol = 1e-6, verbose = 1, callback = callback)
print(stats)
callback =
(regnlp, solver, stats) -> begin
@info "iter $(stats.iter), f $(stats.solver_specific[:smooth_obj]), h $(stats.solver_specific[:nonsmooth_obj])"
end
stats = AL(nlp, h, atol = 1e-6, verbose = 1, callback = callback)
print(stats)
finalize(nlp)