@@ -1623,6 +1623,40 @@ function test_jump_cubic_direct_model_ppp()
16231623 return
16241624end
16251625
1626+ function test_parametric_objective_type_cubic ()
1627+ model = Model (() -> POI. Optimizer (HiGHS. Optimizer ()))
1628+ set_silent (model)
1629+ @variable (model, x)
1630+ @variable (model, p in MOI. Parameter (2.0 ))
1631+ @variable (model, q in MOI. Parameter (3.0 ))
1632+ @constraint (model, x >= 1 )
1633+ @objective (model, Min, x + p * q^ 2 )
1634+ optimize! (model)
1635+ inner = unsafe_backend (model)
1636+ @test MOI. get (inner, POI. ParametricObjectiveType ()) ==
1637+ POI. ParametricCubicFunction{Float64}
1638+ pf = MOI. get (
1639+ inner,
1640+ POI. ParametricObjectiveFunction {POI.ParametricCubicFunction{Float64}} (),
1641+ )
1642+ @test pf isa POI. ParametricCubicFunction{Float64}
1643+ return
1644+ end
1645+
1646+ function test_parametric_objective_type_cubic_error ()
1647+ model = Model (() -> POI. Optimizer (HiGHS. Optimizer ()))
1648+ set_silent (model)
1649+ @variable (model, x >= 1 )
1650+ @objective (model, Min, x)
1651+ optimize! (model)
1652+ inner = unsafe_backend (model)
1653+ @test_throws ErrorException MOI. get (
1654+ inner,
1655+ POI. ParametricObjectiveFunction {POI.ParametricCubicFunction{Float64}} (),
1656+ )
1657+ return
1658+ end
1659+
16261660# ============================================================================
16271661# Contribution of objective parameters in duals
16281662# ============================================================================
0 commit comments