首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Cplex中的最优解

Java Cplex中的最优解
EN

Stack Overflow用户
提问于 2019-06-16 03:05:06
回答 1查看 172关注 0票数 0

我正在使用Cplex库在Java中编写一个数学模型,我想知道是否有预定义的函数来确定使用Cplex获得的解是可行的还是最优的。

非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 00:11:47

IloCplex.solve()方法返回:

一个布尔值,报告是否找到了可行的解决方案。这个解决方案不一定是最优的。如果返回false,则可能仍然存在可行解,但IloCplex无法证明其可行性。

您可以检查IloCplex.getStatus()以确定求解是否可行、最优等。

CPLEX附带了许多示例,展示了如何检查这些模型。例如,考虑LPex1.java中的以下代码片段:

代码语言:javascript
复制
 // solve the model and display the solution if one was found
 if ( cplex.solve() ) {
    double[] x     = cplex.getValues(var[0]);
    double[] dj    = cplex.getReducedCosts(var[0]);
    double[] pi    = cplex.getDuals(rng[0]);
    double[] slack = cplex.getSlacks(rng[0]);

    cplex.output().println("Solution status = " + cplex.getStatus());
    cplex.output().println("Solution value  = " + cplex.getObjValue());

    int nvars = x.length;
    for (int j = 0; j < nvars; ++j) {
       cplex.output().println("Variable " + j +
                              ": Value = " + x[j] +
                              " Reduced cost = " + dj[j]);
    }

    int ncons = slack.length;
    for (int i = 0; i < ncons; ++i) {
       cplex.output().println("Constraint " + i +
                             ": Slack = " + slack[i] +
                             " Pi = " + pi[i]);
    }
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56613368

复制
相关文章

相似问题

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