SCIP 如何在我使用 SCIP 时通过使用 c++ 在我的源代码中添加 objective 函数

SCIP how to add objective function in my source code by using c++ when I use SCIP

我想使用 SCIP 作为 MIP 求解器,但我不知道如何在我的源代码中添加 objective 函数。我在SCIP C++示例代码中没有找到相关代码。

SCIP 只理解线性 objective 函数,即每个变量都有一个 objective 系数,可以作为 SCIP_Real obj 传递给

SCIP 的所有示例项目都以一种或另一种形式创建变量并设置 objective 系数。请注意,默认情况下 SCIP 最小化 给定的 objective 函数。如何设置简单 MIP 的一个很好的例子是 SCIP 示例目录中的 n-queens example。这个例子设置了一个最大化问题!

非线性 objective 函数可以作为约束添加,使用人工 objective 变量,其值受约束约束,系数为 objective 1。很好的例子设置非线性问题可以在 Callable Library example.

中浏览

每个变量的 objective 系数必须在创建期间指定,即在 SCIPcreateVar 调用中指定。您还可以通过调用 SCIPchgVarObj 来更改 objective 系数。请注意,SCIP 仅支持线性 objective 函数。