diff --git a/src/MIPVerify.jl b/src/MIPVerify.jl index 2c111bc..71cee07 100644 --- a/src/MIPVerify.jl +++ b/src/MIPVerify.jl @@ -98,6 +98,7 @@ function find_adversarial_example( tightening_algorithm::TighteningAlgorithm = DEFAULT_TIGHTENING_ALGORITHM, tightening_options::Dict = get_default_tightening_options(optimizer), solve_if_predicted_in_targeted = true, + silence_output = false, )::Dict total_time = @elapsed begin @@ -150,6 +151,9 @@ function find_adversarial_example( end set_optimizer(m, optimizer) set_optimizer_attributes(m, main_solve_options...) + if silence_output + set_silent(m) + end optimize!(m) d[:SolveStatus] = JuMP.termination_status(m) d[:SolveTime] = JuMP.solve_time(m) diff --git a/test/TestHelpers.jl b/test/TestHelpers.jl index 5b33060..a6495f2 100644 --- a/test/TestHelpers.jl +++ b/test/TestHelpers.jl @@ -27,14 +27,14 @@ const TEST_DEFAULT_TIGHTENING_ALGORITHM = lp if Base.find_package("Gurobi") === nothing using Cbc optimizer = Cbc.Optimizer - main_solve_options = Dict("logLevel" => 0) - tightening_options = Dict("logLevel" => 0, "seconds" => 20) + main_solve_options = Dict() + tightening_options = Dict("seconds" => 20) else using Gurobi env = Gurobi.Env() optimizer = () -> Gurobi.Optimizer(env) - main_solve_options = Dict("OutputFlag" => 0) - tightening_options = Dict("OutputFlag" => 0, "TimeLimit" => 20) + main_solve_options = Dict() + tightening_options = Dict("TimeLimit" => 20) end get_optimizer() = optimizer @@ -42,7 +42,9 @@ get_main_solve_options()::Dict = main_solve_options get_tightening_options()::Dict = tightening_options function get_new_model()::Model - return Model(optimizer_with_attributes(get_optimizer(), get_main_solve_options()...)) + m = Model(optimizer_with_attributes(get_optimizer(), get_main_solve_options()...)) + set_silent(m) + return m end """ @@ -75,6 +77,7 @@ function test_find_adversarial_example( tightening_options = get_tightening_options(), tightening_algorithm = TEST_DEFAULT_TIGHTENING_ALGORITHM, invert_target_selection = invert_target_selection, + silence_output = true, ) if isnan(expected_objective_value) @test d[:SolveStatus] == MathOptInterface.INFEASIBLE ||