在 SCIP 中一次创建多个 variables/constraints

Creating several variables/constraints in one shot in SCIP

我有一个 C++ 应用程序可以模糊地使用(通过多态性和虚拟方法)CPLEXGUROBICOIN 来解决 LP,现在我正在添加支持SCIP.

在前三个求解器中,我可以使用以下调用一次添加多个 constraints/variables:

CPLEX  = CPXXaddrows
GUROBI = GRBXaddconstrs
COIN   = OsiSolverInterface::addRows
CPLEX  = CPXXaddcols
GUROBI = GRBXaddvars
COIN   = OsiSolverInterface::addCols

但是对于SCIP,我只是一一想出如何去做:

SCIPcreateConsBasicLinear -> SCIPaddCoefLinear-> SCIPaddCons -> SCIPreleaseCons
SCIPcreateVarBasic -> SCIPaddVar -> SCIPreleaseVar

我的问题是:在 SCIP 中有没有一种方法可以在一条指令中创建多个 variables/constraints?我问是因为,至少对于其他求解器来说,这样做比一个一个地做要快得多。

非常感谢。

在 SCIP 中,您必须一一创建变量和约束。