@@ -290,12 +290,21 @@ function MOI.supports(
290
290
MOI. ObjectiveSense,
291
291
MOI. ObjectiveFunction{MOI. VariableIndex},
292
292
MOI. ObjectiveFunction{MOI. ScalarAffineFunction{T}},
293
- MOI. ObjectiveFunction{MOI. ScalarQuadraticFunction{T}},
294
293
},
295
294
) where {T}
296
295
return MOI. supports (model. optimizer, attr)
297
296
end
298
297
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
+
299
308
function MOI. supports_incremental_interface (model:: Optimizer )
300
309
return MOI. supports_incremental_interface (model. optimizer)
301
310
end
@@ -1265,13 +1274,12 @@ function MOI.set(
1265
1274
1266
1275
aff_terms = vcat (aff_terms, aff_vars)
1267
1276
const_term = f. constant + aff_param_constant + quad_param_constant
1268
- quad_terms = quad_vars
1269
1277
1270
1278
if ! isempty (quad_vars)
1271
1279
MOI. set (
1272
1280
model. optimizer,
1273
1281
attr,
1274
- MOI. ScalarQuadraticFunction (quad_terms , aff_terms, const_term),
1282
+ MOI. ScalarQuadraticFunction (quad_vars , aff_terms, const_term),
1275
1283
)
1276
1284
else
1277
1285
MOI. set (
@@ -1281,18 +1289,6 @@ function MOI.set(
1281
1289
)
1282
1290
end
1283
1291
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
-
1296
1292
model. original_objective_function = f
1297
1293
model. quadratic_objective_cache_pv = quad_aff_vars
1298
1294
model. quadratic_objective_cache_pp = quad_params
0 commit comments