Make tests completely silent; remove set_gap warnings on Cbc

This commit is contained in:
2022-04-16 10:11:33 -05:00
parent cda1e368fe
commit 16b0fec6cd
6 changed files with 20 additions and 39 deletions

View File

@@ -3,13 +3,12 @@
# Released under the modified BSD license. See COPYING.md for more details.
function optimize!(model::JuMP.Model, method::XavQiuWanThi2019.Method)::Nothing
if !occursin("Gurobi", JuMP.solver_name(model))
method.two_phase_gap = false
end
function set_gap(gap)
try
JuMP.set_optimizer_attribute(model, "MIPGap", gap)
@info @sprintf("MIP gap tolerance set to %f", gap)
catch
@warn "Could not change MIP gap tolerance"
end
JuMP.set_optimizer_attribute(model, "MIPGap", gap)
@info @sprintf("MIP gap tolerance set to %f", gap)
end
initial_time = time()
large_gap = false
@@ -17,8 +16,6 @@ function optimize!(model::JuMP.Model, method::XavQiuWanThi2019.Method)::Nothing
if has_transmission && method.two_phase_gap
set_gap(1e-2)
large_gap = true
else
set_gap(method.gap_limit)
end
while true
time_elapsed = time() - initial_time

View File

@@ -13,7 +13,7 @@ Lazy constraint solution method described in:
module XavQiuWanThi2019
import ..SolutionMethod
"""
struct Method
mutable struct Method
time_limit::Float64
gap_limit::Float64
two_phase_gap::Bool
@@ -27,7 +27,7 @@ Fields
- `time_limit`:
the time limit over the entire optimization procedure.
- `gap_limit`:
the desired relative optimality gap.
the desired relative optimality gap. Only used when `two_phase_gap=true`.
- `two_phase_gap`:
if true, solve the problem with large gap tolerance first, then reduce
the gap tolerance when no further violated constraints are found.
@@ -39,7 +39,7 @@ Fields
formulation per time period.
"""
struct Method <: SolutionMethod
mutable struct Method <: SolutionMethod
time_limit::Float64
gap_limit::Float64
two_phase_gap::Bool