@@ -467,20 +467,11 @@ function _dual_status(term::MOI.TerminationStatusCode)
467467 return term
468468end
469469
470- function MOI. get (optimizer:: DualOptimizer , :: MOI.ObjectiveValue )
471- return MOI. get (optimizer. dual_problem. dual_model, MOI. DualObjectiveValue ())
472- end
473-
474- function MOI. get (optimizer:: DualOptimizer , :: MOI.DualObjectiveValue )
475- return MOI. get (optimizer. dual_problem. dual_model, MOI. ObjectiveValue ())
476- end
477-
478- function MOI. get (optimizer:: DualOptimizer , :: MOI.PrimalStatus )
479- return MOI. get (optimizer. dual_problem. dual_model, MOI. DualStatus ())
480- end
481-
482- function MOI. get (optimizer:: DualOptimizer , :: MOI.DualStatus )
483- return MOI. get (optimizer. dual_problem. dual_model, MOI. PrimalStatus ())
470+ function MOI. supports (
471+ optimizer:: DualOptimizer ,
472+ attr:: MOI.AbstractOptimizerAttribute ,
473+ )
474+ return MOI. supports (optimizer. dual_problem. dual_model, attr)
484475end
485476
486477function MOI. set (
@@ -491,9 +482,14 @@ function MOI.set(
491482 return MOI. set (optimizer. dual_problem. dual_model, attr, value)
492483end
493484
494- function MOI. get (
495- optimizer:: DualOptimizer ,
496- attr:: Union{MOI.AbstractModelAttribute,MOI.AbstractOptimizerAttribute} ,
497- )
485+ function MOI. get (optimizer:: DualOptimizer , attr:: MOI.AbstractOptimizerAttribute )
486+ return MOI. get (optimizer. dual_problem. dual_model, attr)
487+ end
488+
489+ # For now we don't support setting arbitrary AbstractModelAttribute because
490+ # we don't know if they need to be modified via the dualization. One example
491+ # would be `MOI.set(model, MOI.ObjectiveFunction{F}(), f)`. We currently
492+ # don't support the incremental interface.
493+ function MOI. get (optimizer:: DualOptimizer , attr:: MOI.AbstractModelAttribute )
498494 return MOI. get (optimizer. dual_problem. dual_model, attr)
499495end
0 commit comments