Skip to content

Commit f1c5a4e

Browse files
mtk doesn't have lagh
1 parent 6654e4b commit f1c5a4e

File tree

4 files changed

+16
-7
lines changed

4 files changed

+16
-7
lines changed

lib/OptimizationMOI/src/nlp.jl

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,16 @@ function MOIOptimizationNLPCache(prob::OptimizationProblem,
113113
reinit_cache = OptimizationBase.ReInitCache(prob.u0, prob.p) # everything that can be changed via `reinit`
114114

115115
num_cons = prob.ucons === nothing ? 0 : length(prob.ucons)
116-
f = Optimization.instantiate_function(prob.f, reinit_cache, prob.f.adtype, num_cons;
117-
g = true, h = true, cons_j = true, cons_vjp = true, lag_h = true)
116+
if prob.f.adtype isa ADTypes.AutoSymbolics || (prob.f.adtype isa ADTypes.AutoSparse &&
117+
prob.f.adtype.dense_ad isa ADTypes.AutoSymbolics)
118+
f = Optimization.instantiate_function(
119+
prob.f, reinit_cache, prob.f.adtype, num_cons;
120+
g = true, h = true, cons_j = true, cons_h = true)
121+
else
122+
f = Optimization.instantiate_function(
123+
prob.f, reinit_cache, prob.f.adtype, num_cons;
124+
g = true, h = true, cons_j = true, cons_vjp = true, lag_h = true)
125+
end
118126
T = eltype(prob.u0)
119127
n = length(prob.u0)
120128

@@ -290,7 +298,8 @@ function MOI.eval_constraint_jacobian(evaluator::MOIOptimizationNLPEvaluator, j,
290298
return
291299
end
292300

293-
function MOI.eval_constraint_jacobian_product(evaluator::MOIOptimizationNLPEvaluator, y, x, w)
301+
function MOI.eval_constraint_jacobian_product(
302+
evaluator::MOIOptimizationNLPEvaluator, y, x, w)
294303
if evaluator.f.cons_jvp !== nothing
295304
evaluator.f.cons_jvp(y, x, w)
296305

lib/OptimizationMOI/test/runtests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using OptimizationMOI, Optimization, Ipopt, NLopt, Zygote, ModelingToolkit
1+
using OptimizationMOI, Optimization, Ipopt, NLopt, Zygote, ModelingToolkit, ReverseDiff
22
using AmplNLWriter, Ipopt_jll, Juniper, HiGHS
33
using Test, SparseArrays
44

lib/OptimizationMultistartOptimization/test/runtests.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
using Pkg;
22
Pkg.develop(path = joinpath(@__DIR__, "../../", "OptimizationNLopt"));
33
using OptimizationMultistartOptimization, Optimization, ForwardDiff, OptimizationNLopt
4-
using Test
4+
using Test, ReverseDiff
55

66
@testset "OptimizationMultistartOptimization.jl" begin
77
rosenbrock(x, p) = (p[1] - x[1])^2 + p[2] * (x[2] - x[1]^2)^2

test/diffeqfluxtests.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,12 @@ prob = Optimization.OptimizationProblem(optprob, pp)
9999
result_neuralode = Optimization.solve(prob,
100100
OptimizationOptimisers.ADAM(), callback = callback,
101101
maxiters = 300)
102-
@test result_neuralode.objective loss_neuralode(result_neuralode.u)[1] rtol = 1e-2
102+
@test result_neuralode.objectiveloss_neuralode(result_neuralode.u)[1] rtol=1e-2
103103

104104
prob2 = remake(prob, u0 = result_neuralode.u)
105105
result_neuralode2 = Optimization.solve(prob2,
106106
BFGS(initial_stepnorm = 0.0001),
107107
callback = callback,
108108
maxiters = 100)
109-
@test result_neuralode2.objective loss_neuralode(result_neuralode2.u)[1] rtol = 1e-2
109+
@test result_neuralode2.objectiveloss_neuralode(result_neuralode2.u)[1] rtol=1e-2
110110
@test result_neuralode2.objective < 10

0 commit comments

Comments
 (0)