在 CPLEX 中设置二次 objective 的性能问题

Performance issue with setting quadratic objective in CPLEX

我正在解决一个大型稀疏二次问题。我的 objective 函数只有二次项,所有项的系数都相同且等于 1,它包括所有变量。

我在 python 中使用 objective.set_quadratic_coefficients 函数来创建我的 objective 函数。对于小问题(10000 个变量),objective 函数生成速度很快,但对于较大的问题(100000 个变量)它会变得慢得多,并且 return 对我有 1000000 个变量的主要问题做任何事情。

是否有 objective.set_quadratic_coefficients 的替代方法来加快创建问题的速度?

IBM developerworks 论坛中的相同问题

https://www.ibm.com/developerworks/community/forums/html/topic?id=98d723a4-6f9f-4180-b9c4-7ad987466901&ps=25

在 IBM 论坛上提出我的问题后,我收到并回答了它,它有效。创建二次 objective 函数的最快方法是使用 objective.set_quadratic() 仅包含一个包含系数值的列表(它们可以变化并且不需要都等于 1.0)