Skip to content

Commit 46aaebb

Browse files
Merge pull request jump-dev#102 from jump-dev/gb/fix_support
fix supports for SQF objective
2 parents 7292338 + 9bd215e commit 46aaebb

File tree

1 file changed

+11
-15
lines changed

1 file changed

+11
-15
lines changed

src/ParametricOptInterface.jl

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -290,12 +290,21 @@ function MOI.supports(
290290
MOI.ObjectiveSense,
291291
MOI.ObjectiveFunction{MOI.VariableIndex},
292292
MOI.ObjectiveFunction{MOI.ScalarAffineFunction{T}},
293-
MOI.ObjectiveFunction{MOI.ScalarQuadraticFunction{T}},
294293
},
295294
) where {T}
296295
return MOI.supports(model.optimizer, attr)
297296
end
298297

298+
function MOI.supports(
299+
model::Optimizer,
300+
::MOI.ObjectiveFunction{MOI.ScalarQuadraticFunction{T}},
301+
) where {T}
302+
return MOI.supports(
303+
model.optimizer,
304+
MOI.ObjectiveFunction{MOI.ScalarAffineFunction{T}}(),
305+
)
306+
end
307+
299308
function MOI.supports_incremental_interface(model::Optimizer)
300309
return MOI.supports_incremental_interface(model.optimizer)
301310
end
@@ -1265,13 +1274,12 @@ function MOI.set(
12651274

12661275
aff_terms = vcat(aff_terms, aff_vars)
12671276
const_term = f.constant + aff_param_constant + quad_param_constant
1268-
quad_terms = quad_vars
12691277

12701278
if !isempty(quad_vars)
12711279
MOI.set(
12721280
model.optimizer,
12731281
attr,
1274-
MOI.ScalarQuadraticFunction(quad_terms, aff_terms, const_term),
1282+
MOI.ScalarQuadraticFunction(quad_vars, aff_terms, const_term),
12751283
)
12761284
else
12771285
MOI.set(
@@ -1281,18 +1289,6 @@ function MOI.set(
12811289
)
12821290
end
12831291

1284-
if !isempty(quad_terms)
1285-
f_quad = MOI.ScalarQuadraticFunction(quad_terms, aff_terms, const_term)
1286-
MOI.set(model.optimizer, attr, f_quad)
1287-
else
1288-
f_quad = MOI.ScalarAffineFunction(aff_terms, const_term)
1289-
MOI.set(
1290-
model.optimizer,
1291-
MOI.ObjectiveFunction{MOI.ScalarAffineFunction{T}}(),
1292-
f_quad,
1293-
)
1294-
end
1295-
12961292
model.original_objective_function = f
12971293
model.quadratic_objective_cache_pv = quad_aff_vars
12981294
model.quadratic_objective_cache_pp = quad_params

0 commit comments

Comments
 (0)