@@ -160,9 +160,13 @@ MOI.instantiate(optimizer_factory; with_cache_type = Float64)
160160## Example
161161
162162```julia
163- import MultiObjectiveAlgorithms as MOA
164- import HiGHS
165- optimizer = () -> MOA.Optimizer(HiGHS.Optimizer)
163+ julia> using JuMP
164+
165+ julia> import MultiObjectiveAlgorithms as MOA
166+
167+ julia> import HiGHS
168+
169+ julia> model = Model(() -> MOA.Optimizer(HiGHS.Optimizer))
166170```
167171"""
168172mutable struct Optimizer <: MOI.AbstractOptimizer
@@ -184,6 +188,7 @@ mutable struct Optimizer <: MOI.AbstractOptimizer
184188 function Optimizer (optimizer_factory)
185189 inner = MOI. instantiate (optimizer_factory; with_cache_type = Float64)
186190 if MOI. supports (inner, MOI. Silent ())
191+ # Make the default for `SilentInner` true.
187192 MOI. set (inner, MOI. Silent (), true )
188193 end
189194 return new (
@@ -243,6 +248,33 @@ function MOI.set(model::Optimizer, ::MOI.Silent, value::Bool)
243248 return
244249end
245250
251+ # ## SilentInner
252+
253+ """
254+ SilentInner() <: MOI.AbstractOptimizerAttribute
255+
256+ An optimizer attribute that controls whether the inner optimizer's `MOI.Silent`
257+ attribute.
258+
259+ By default, this attribute is set to `false`. Set it to `true` to enable logging
260+ of the inner solver. In most cases, this will result in a large amount of output
261+ that is hard to interpret, but it may be helpful when debugging failed solves.
262+ """
263+ struct SilentInner <: MOI.AbstractOptimizerAttribute end
264+
265+ function MOI. supports (model:: Optimizer , :: SilentInner )
266+ return MOI. supports (model. inner, MOI. Silent ())
267+ end
268+
269+ function MOI. get (model:: Optimizer , :: SilentInner )
270+ return MOI. get (model. inner, MOI. Silent ())
271+ end
272+
273+ function MOI. set (model:: Optimizer , :: SilentInner , value:: Bool )
274+ MOI. set (model. inner, MOI. Silent (), value)
275+ return
276+ end
277+
246278# ## TimeLimitSec
247279
248280function MOI. supports (model:: Optimizer , attr:: MOI.TimeLimitSec )
0 commit comments