We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent f6a7301 commit c1c19fdCopy full SHA for c1c19fd
lib/OptimizationNLPModels/src/OptimizationNLPModels.jl
@@ -1,6 +1,6 @@
1
module OptimizationNLPModels
2
3
-using Reexport
+using Reexport, SparseArrays
4
@reexport using NLPModels, Optimization, ADTypes
5
6
"""
@@ -21,9 +21,20 @@ function SciMLBase.OptimizationFunction(nlpmodel::AbstractNLPModel,
21
cons(res, x, p) = NLPModels.cons!(nlpmodel, x, res)
22
cons_j(J, x, p) = (J .= NLPModels.jac(nlpmodel, x))
23
cons_jvp(Jv, v, x, p) = NLPModels.jprod!(nlpmodel, x, v, Jv)
24
+ function lag_h(h, θ, σ, λ)
25
+ H = NLPModels.hess(nlpmodel, θ, λ; obj_weight = σ)
26
+ k = 0
27
+ rows, cols, _ = findnz(H)
28
+ for (i, j) in zip(rows, cols)
29
+ if i <= j
30
+ k += 1
31
+ h[k] = H[i, j]
32
+ end
33
34
35
36
return OptimizationFunction(
- f, adtype; grad, hess, hv, cons, cons_j, cons_jvp, kwargs...)
37
+ f, adtype; grad, hess, hv, cons, cons_j, cons_jvp, lag_h, kwargs...)
38
end
39
40
return OptimizationFunction(f, adtype; grad, hess, hv, kwargs...)
0 commit comments