@@ -740,41 +740,6 @@ function test_ObjectiveSensitivity_model2()
740740 @test isapprox (dp, - 1.5 ; atol = 1e-4 )
741741end
742742
743- function test_ObjectiveSensitivity_direct_param_contrib ()
744- model = DiffOpt. nonlinear_diff_model (Ipopt. Optimizer)
745- set_silent (model)
746-
747- p_val = 3.0
748- @variable (model, p ∈ MOI. Parameter (p_val))
749- @variable (model, x ≥ 1 )
750- @objective (model, Min, p^ 2 * x^ 2 )
751-
752- optimize! (model)
753- @assert is_solved_and_feasible (model)
754-
755- Δp = 0.1
756- DiffOpt. set_forward_parameter (model, p, Δp)
757- DiffOpt. forward_differentiate! (model)
758-
759- df_dp = MOI. get (model, DiffOpt. ForwardObjectiveSensitivity ())
760- @test isapprox (df_dp, 2 * p_val * Δp, atol = 1e-8 ) # ≈ 0.6 for p=3
761-
762- ε = 1e-6
763- df_dp_fd =
764- (
765- begin
766- set_parameter_value (p, p_val + ε)
767- optimize! (model)
768- Δp * objective_value (model)
769- end - begin
770- set_parameter_value (p, p_val - ε)
771- optimize! (model)
772- Δp * objective_value (model)
773- end
774- ) / (2 ε)
775-
776- @test isapprox (df_dp, df_dp_fd, atol = 1e-4 )
777- end
778743function test_ObjectiveSensitivity_subset_parameters ()
779744 # Model with 10 parameters, differentiate only w.r.t. 3rd and 7th
780745 model = Model (() -> DiffOpt. diff_optimizer (Ipopt. Optimizer))
0 commit comments