java - 在 JAVA 中为数学模型添加非线性约束
问题描述
我正在尝试使用 CPLEX 库在 JAVA 中编写数学模型,除了一个非线性约束,其余约束和目标函数都是线性表达式。在编写目标和线性约束时,我使用了代码“cplex.linearNumExpr()”,但在编写非线性约束时,我编写了“cplex.quadNumExpr();”。代码。我的代码中没有任何语法错误,但是当我运行它时,我遇到的错误是指非凸的非线性约束。有人知道我该如何解决吗?有没有办法在不线性化约束的情况下解决它?相关约束如下:
IloQuadNumExpr[][] seventh_cons= new IloQuadNumExpr[dataRead.N][dataRead.N];
for (int i = 0; i < dataRead.N; i++) {
for (int j = 0; j < dataRead.N; j++) {
if (j!=i) {
seventh_cons[i][j] = cplex.quadNumExpr();
for (int k = 0; k < dataRead.N; k++) {
if (k!=i) {
seventh_cons[i][j].addTerm(dataRead.A[i][k]/dataRead.cust_distance[i][k], y[k], dem[i][j]);
}
}
seventh_cons[i][j].addTerm(-dataRead.q[i]/dataRead.cust_distance[i][j], y[j],quaDy[j]);
cplex.addEq(seventh_cons[i][j], 0,"c7_" + i + "_"+ j);
}
}
}
解决方案
推荐阅读
- python - Slicing dataframe by comparing all values of one column to all values of column of another dataframe
- c - malloc a struct in kernel header file error :invalid application of 'sizeof' to incomplete type
- hadoop - Hadoop 3.1.1 等和 sbin 文件
- java - Java Elastic Search Api: Unable to run simple example: org.elasticsearch.transport.NodeDisconnectedException:
- java - Spring数据jpa方法查询findWith
- python - 用于特定模板并兼容 ec2 AWS 的 PDF 生成器 Python
- acumatica - 通过soap API检索项目列表时的空值
- php - IBM Watson Text To Speech PHP API 问题:无法解码 JSON 对象
- c# - 如何将导入的数据用作数据库?
- macos - Mac OS X Mojave 上的 XAMPP 错误