@@ -99,10 +99,21 @@ function MOI.supports(model::LinQuadOptimizer, ::MOI.ObjectiveFunction{F}) where
9999 return F in supported_objectives (model)
100100end
101101
102+ function MOI. get (model:: LinQuadOptimizer , :: MOI.ObjectiveFunctionType )
103+ if model. obj_type == SingleVariableObjective
104+ return MOI. SingleVariable
105+ elseif model. obj_type == AffineObjective
106+ return MOI. ScalarAffineFunction{Float64}
107+ else
108+ @assert model. obj_type == QuadraticObjective
109+ return MOI. ScalarQuadraticFunction{Float64}
110+ end
111+ end
112+
102113function MOI. get (model:: LinQuadOptimizer , :: MOI.ObjectiveFunction{MOI.SingleVariable} )
103114 if model. obj_type != SingleVariableObjective
104115 if VERSION >= v " 0.7-"
105- throw (InexactError (:convert , SingleVariableObjective, model. obj_type))
116+ throw (InexactError (:convert , SingleVariableObjective, model. obj_type))
106117 else
107118 throw (InexactError ())
108119 end
@@ -140,7 +151,7 @@ function MOI.get(model::LinQuadOptimizer, ::MOI.ObjectiveFunction{Quad})
140151 if model. obj_type == QuadraticObjective
141152 Q = get_quadratic_terms_objective (model)
142153 rows = rowvals (Q)
143- coefficients = nonzeros (Q)
154+ coefficients = nonzeros (Q)
144155 sizehint! (quadratic_terms, length (coefficients))
145156 for (column, variable) in enumerate (model. variable_references)
146157 for j in nzrange (Q, column)
0 commit comments