【问题标题】:SCIP how to add objective function in my source code by using c++ when I use SCIPSCIP 如何在我使用 SCIP 时使用 c++ 在我的源代码中添加目标函数
【发布时间】:2019-01-08 08:26:00
【问题描述】:

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

【问题讨论】:

    标签: c++ scip


    【解决方案1】:

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

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

    非线性目标函数可以作为约束添加,使用人工目标变量,其值受约束限制,目标系数为 1。可以在Callable Library example 中浏览设置非线性问题的良好示例。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多