Cplex12.6.3版IntelliJ IDEA配置详细步骤
- 一、Cplex12.6.3版下载地址
- 二、Cplex安装步骤
- 三、IDEA配置CPLEX
- 3.1 添加CPLEX安装目录的cplex.jar包到项目文件中
- 3.2 将CPLEX的x64_win64文件夹添加到IDEA的VM options中
- 四、检查IDEA中Cplex是否安装成功
- 卸载Cplex
一、Cplex12.6.3版下载地址
免费试用有求解规模限制,学术版需要学校邮箱,很难办
因此推荐12.6.3版本的CPLEX Studio软件安装包(源自华中科技秦虎教授团队数据魔术师公众号): cplex12.6 链接: https://pan.baidu.com/s/1E9x1RtY9pqoJM62qeG4PAQ 提取码: 131i
二、Cplex安装步骤
全部默认,一直next即可
三、IDEA配置CPLEX
3.1 添加CPLEX安装目录的cplex.jar包到项目文件中
打开IDEA,快捷键ctrl+alt+shift+s调出Project Structure选项卡,将CPLEX安装目录的cplex.jar包添加到项目文件中:
3.2 将CPLEX的x64_win64文件夹添加到IDEA的VM options中
点击IDEA菜单栏Run——Edit Configuration选项卡——Modify options——Add VM oiptions,在弹出的VM options中输入下面的命令,注意这里和你自己的cplex安装位置有关,不要直接复制,玩了点apply就行。
-Djava.library.path="CPLEX安装文件夹\cplex\bin\x64_win64"
四、检查IDEA中Cplex是否安装成功
新建一个类,将一下代码复制到类中。如能运行成功,即cplex配置好了。
public static void main(String[] args) {// cplex求解,一般都使用try...catch...try {// 声明cplex优化模型IloCplex cplex = new IloCplex();System.out.println(cplex);// 设定变量上下限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); // 定义优化变量:IloNumVar,3维,以及对应的边界// 设定目标函数double[] objvals = {1.0, 2.0, 3.0}; // 目标函数系数cplex.addMaximize(cplex.scalProd(x, objvals)); // 定义目标函数:addMaximize最大化,scalProd,连乘// 设定约束条件double[] coeff1 = {-1.0, 1.0, 1.0}; // 第一组约束条件的系数double[] coeff2 = {1.0, -3.0, 1.0}; // 第二组约束条件的系数cplex.addLe(cplex.scalProd(x, coeff1), 20.0); // 定义第一组约束条件的系数,addLe(a,b):a小于等于bcplex.addLe(cplex.scalProd(x, coeff2), 30.0); // 定义第二组约束条件的系数// cplex.solve():模型求解if (cplex.solve()) {// cplex.output(),数据输出,功能类似System.out.println();cplex.output().println("Solution status = " + cplex.getStatus()); // cplex.getStatus:求解状态,成功则为Optimal// cplex.getObjValue():目标函数的最优值cplex.output().println("Solution value = " + cplex.getObjValue());// cplex.getValues(x):变量x的最优值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);}}
卸载Cplex
控制面板卸载即可,环境变量会自动删除。