首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >已解决模型的CPLEX状态代码,Java-API

已解决模型的CPLEX状态代码,Java-API
EN

Stack Overflow用户
提问于 2013-06-22 06:40:32
回答 2查看 502关注 0票数 0

如果当前模型尚未优化(包括其所有组件),我只想重新优化模型。

它尝试使用以下代码:

代码语言:javascript
复制
if (masterProblem.getStatus() == IloCplex.Status.Optimal) {
  // do something
} else {
  // re-optimize
}

这似乎是错误的,因为

代码语言:javascript
复制
masterProblem.getStatus() == IloCplex.Status.Optimal

在我向模型中添加新列之后,结果为true。我想要一个声明,这是真的,如果问题是用它的所有元素优化的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-07 02:29:23

这里的问题是我用了

代码语言:javascript
复制
getStatus()

而不是

代码语言:javascript
复制
getCplexStatus()
票数 0
EN

Stack Overflow用户

发布于 2013-09-01 06:20:56

尽管在手册中对许多函数的描述(例如,IloObjective::setLinearCoef、IloRange::setExpr等)声明:

...并创建未记录的类IloChange的适当实例,以通知算法模型中可提取对象的此更改。

注意:成员函数...通知协调技术算法有关此调用对象的此更改。

由于IloChange是未记录的(并且头文件没有提供任何线索),似乎没有可行的方法,只能保留一个布尔变量来声明模型在最后一次优化后是否被修改(例如bool isThereAnyChangeOnModel = true;)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17245340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档