在Ecplise下调用Cplex环境配置Cplex是一种数学优化技术。主要用于提高效率、快速实现策略并提高收益率。Cplex提供灵活的高性能优化程序,解决线性规划 (Linear Programming)、二次方程规划 (Quadratic Programming)、二次方程约束规划 (Quadratically Constrained Programming) 和混合整型规划 (Mixed Integer Programming) 问题。
- 1. 安装Cplex包
- 2. 配置cplex.jar包
- 3. 配置dll文件
- 4. 测试
Cplex12.8学术版安装地址:https://pan.baidu.com/s/1dDhnb46_A05k7tmuPvU1NA#list/path=%2F
提取码:7gw1
1. 打开eclipse,新建一个Java项目。File --> New --> Java Project,输入项目名称,这里定义为Cplex。建好如下图:
2. 新建Java类。右键项目名 --> New --> Class,出现下图,填图中红框中的内容:
3. 添加cplex.jar。右击项目名–>Build Path–>Configure Build Path:
- 找到Libraries并点击Classpath,再点击右边的Add External JARS
- 找到cplex.jar所在的路径并打开,根据自己Cplex的安装路径寻找,我的是D:IBMILOGCPLEX_Studio128cplexlibcplex.jar
- 单击Apply添加
在上一步的基础上打开 Moudulepath下的 JRE System Library[JavaSE-17],双击Native library location:(None)。
- 单击External Folder…
- 找到并选择x64_win64文件夹,我的是在D:/IBM/ILOG/CPLEX_Studio128/cplex/bin/x64_win64
- 点击OK并且Apply and Close
下面用一个简单的线性规划模型测试一下环境是否配置成功。
import ilog.concert.*;
import ilog.cplex.*;
public class Cplex{ //类的名字必须跟.java的名字一样
public static void main(String[] args) {
try {
IloCplex cplex = new IloCplex(); // creat a model
double[] lb = {0.0, 0.0, 0.0};
double[] ub = {40.0, Double.MAX_VALUE, Double.MAX_VALUE};
IloNumVar[] x = cplex.numVarArray(3, lb, ub);
double[] objvals = {1.0, 2.0, 3.0};
cplex.addMaximize(cplex.scalProd(x, objvals));
double[] coeff1 = {-1.0, 1.0, 1.0};
double[] coeff2 = {1.0, -3.0, 1.0};
cplex.addLe(cplex.scalProd(x, coeff1), 20.0);
cplex.addLe(cplex.scalProd(x, coeff2), 30.0);
if (cplex.solve()) {
cplex.output().println("Solution status = " + cplex.getStatus());
cplex.output().println("Solution value = " + cplex.getObjValue());
double[] val = cplex.getValues(x);
for (int j = 0; j < val.length; j++)
cplex.output().println("x" + (j+1) + " = " + val[j]);
}
cplex.end();
} catch (IloException e) {
System.err.println("Concert exception caught: " + e);
}
}
}
运行后出现如下结果,说明环境配置成功:



