Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 20 additions & 6 deletions test/test_JuMP.jl
Original file line number Diff line number Diff line change
Expand Up @@ -909,6 +909,9 @@ end
function test_jump_dual_delete_constraint_3()
model = direct_model(POI.Optimizer(SCS.Optimizer))
set_silent(model)
# the default tolerances of SCS (1e-4) are looser than the checks below
set_attribute(model, "eps_abs", 1e-9)
set_attribute(model, "eps_rel", 1e-9)
list = []
@variable(model, α in Parameter(1.0))
@variable(model, β in Parameter(0.0))
Expand Down Expand Up @@ -1360,6 +1363,9 @@ end
function test_jump_psd_cone_with_parameter_pv_v_pv()
model = Model(() -> POI.Optimizer(SCS.Optimizer))
set_silent(model)
# the default tolerances of SCS (1e-4) are looser than the checks below
set_attribute(model, "eps_abs", 1e-9)
set_attribute(model, "eps_rel", 1e-9)
@variable(model, x)
@variable(model, p in Parameter(1.0))
@constraint(
Expand All @@ -1376,11 +1382,9 @@ function test_jump_psd_cone_with_parameter_pv_v_pv()
@objective(model, Min, x)
@test is_valid(model, con)
optimize!(model)
@test value(x) ≈ 0.803845 atol = 1e-5
@test value(x) ≈ 6 - 3 * sqrt(3) atol = 1e-5
set_parameter_value(p, 3.0)
optimize!(model)
@test value(x) ≈ 0.416888 atol = 1e-5
@test value(x) ≈ (9 * sqrt(3) - 6) / 23 atol = 1e-5
delete(model, con)
return
Expand All @@ -1389,6 +1393,9 @@ end
function test_jump_psd_cone_with_parameter_pp_v_pv()
model = Model(() -> POI.Optimizer(SCS.Optimizer))
set_silent(model)
# the default tolerances of SCS (1e-4) are looser than the checks below
set_attribute(model, "eps_abs", 1e-9)
set_attribute(model, "eps_rel", 1e-9)
@variable(model, x)
@variable(model, p in Parameter(1.0))
@constraint(
Expand All @@ -1400,10 +1407,12 @@ function test_jump_psd_cone_with_parameter_pp_v_pv()
@objective(model, Min, x)
@test is_valid(model, con)
optimize!(model)
@test value(x) ≈ 0.7499854 atol = 1e-5
# for p == 1: 3 * x - (2 * x - 3)^2 >= 0, so x >= 3 / 4
@test value(x) ≈ 0.75 atol = 1e-5
set_parameter_value(p, 3.0)
optimize!(model)
@test value(x) ≈ 0.0971795 atol = 1e-5
# for p == 3: 81 * x - (2 * x - 3)^2 >= 0
@test value(x) ≈ (93 - sqrt(8505)) / 8 atol = 1e-5
delete(model, con)
return
end
Expand Down Expand Up @@ -1432,6 +1441,9 @@ end
function test_jump_psd_cone_with_parameter_p_v_pp()
model = Model(() -> POI.Optimizer(SCS.Optimizer))
set_silent(model)
# the default tolerances of SCS (1e-4) are looser than the checks below
set_attribute(model, "eps_abs", 1e-9)
set_attribute(model, "eps_rel", 1e-9)
@variable(model, x)
@variable(model, p in Parameter(1.0))
@constraint(
Expand All @@ -1442,10 +1454,12 @@ function test_jump_psd_cone_with_parameter_p_v_pp()
@objective(model, Min, x - p)
@test is_valid(model, con)
optimize!(model)
@test value(x) ≈ 0.633969 atol = 1e-5
# for p == 1: 3 - (2 * x - 3)^2 >= 0, so x >= (3 - sqrt(3)) / 2
@test value(x) ≈ (3 - sqrt(3)) / 2 atol = 1e-5
set_parameter_value(p, Float32(3.0))
optimize!(model)
@test value(x) ≈ -2.9999734 atol = 1e-5
# for p == 3: 81 - (2 * x - 3)^2 >= 0, so x >= -3
@test value(x) ≈ -3.0 atol = 1e-5
delete(model, con)
return
end
Expand Down
Loading