我想使用 SCIP 作为 MIP 求解器,但我不知道如何在我的源代码中添加目标函数。我在SCIP C++示例代码中没有找到相关代码。
最佳答案
SCIP 只理解线性目标函数,即每个变量都有一个目标系数,可以作为 SCIP_Real obj
传递给
- SCIPCreateVar()或
- SCIPcreateVarBasic()在创建变量时,或者
- 调用SCIPchgVarObj()对于已经创建的变量。
SCIP的所有示例项目都以一种或另一种形式创建变量并设置目标系数。请注意,默认情况下,SCIP 最小化给定的目标函数。如何设置简单 MIP 的一个很好的例子是 n-queens example在 SCIP 的示例目录中。这个例子设置了一个最大化问题!
非线性目标函数可以作为约束添加,使用人工目标变量,其值受约束限制,目标系数为 1。可以在 Callable Library example 中浏览设置非线性问题的良好示例。 .
关于c++ - SCIP 如何在我使用 SCIP 时使用 C++ 在我的源代码中添加目标函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54087826/