跳转到主要内容

gurobi环境、模型和c++头文件的问题

评论

2的评论

  • 托拜厄斯Achterberg
    Gurobi员工Gurobi员工

    你的代码是什么暗中做的是创建一个“模型”对象使用默认构造函数。然后,要创建另一个GRBModel对象传递“env”和分配使用赋值运算符“=”现有的“模型”。但GRBModel对象的赋值运算符是没有实现(Gurobi不支持此操作有充分的理由)。

    你需要做的是使用指针。声明你的“模型”变量指向GRBModel对象的指针,也就是,

    GRBModel *模型;

    然后,在你的“印锑”功能,使用“新”运算符:

    模型= new GRBModel (env);

    最后,您需要确保您自毁“模型”指针再次使用“删除”操作符,当你不使用它了。

    但可能会有一个更简单的解决方案。如果你需要解决Gurobi模型内切分离程序,您可以使用局部变量。是这样的:

    空白separatecuts (GRBEnv env)
    {
    GRBModel模型= GRBModel (env);

    …使用模型……
    }

    我最后一次写c++已经很长一段时间以前,对我来说,但我仍然希望我说的话是正确的。

    问候,

    托拜厄斯

    0
  • Quanmeng王
    Gurobi-versary
    第一个评论
    第一个问题

    谢谢!现在一些小实例的代码能够工作。

    只有一个小问题. .当excuted下面的代码时,

    模型= new GRBModel (env);

    每次系统分配一些新位置的指针模型之前,但我们不知道那个位置存储(我们动态地分配和删除模型)。

    安全只是使用新的位置或者我们应该清楚一切最初存储在新的位置?

    我没有找到任何gurobi功能,清除在某些变量和约束GRBModel…我应该做什么?

    0

登录留下你的评论。