Cplex是一种数学优化技术。主要用于提高效率、快速实现策略并提高收益率。Cplex提供灵活的高性能优化程序,解决线性规划 (Linear Programming)、二次方程规划 (Quadratic Programming)、二次方程约束规划 (Quadratically Constrained Programming) 和混合整型规划 (Mixed Integer Programming) 问题。
在Ecplise下调用Cplex环境配置
1. 安装Cplex包
Cplex12.8学术版安装地址:https://pan.baidu.com/s/1dDhnb46_A05k7tmuPvU1NA#list/path=%2F
提取码:7gw1
2. 配置cplex.jar包
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:\IBM\ILOG\CPLEX_Studio128\cplex\lib\cplex.jar
- 单击Apply添加
3. 配置dll文件
在上一步的基础上打开 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
4. 测试
下面用一个简单的线性规划模型测试一下环境是否配置成功。
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);
}
}
}
运行后出现如下结果,说明环境配置成功:
5. 导入其他.jar包
1. 新建文件夹,命名为lib
2. 将想要导入的.jar文件放在lib文件夹下
3. 右键.jar文件->Build Path->Add to Build Path
可以看到在Referenced Libraries文件夹中出现了对应的.jar文件。