IntelliJ IDEA配置Cplex12.6.3详细步骤

Cplex12.6.3版IntelliJ IDEA配置详细步骤

一、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就行。

python 复制代码
-Djava.library.path="CPLEX安装文件夹\cplex\bin\x64_win64"

四、检查IDEA中Cplex是否安装成功

新建一个类,将一下代码复制到类中。如能运行成功,即cplex配置好了。

java 复制代码
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小于等于b
            cplex.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

控制面板卸载即可,环境变量会自动删除。

相关推荐
NGINX开源社区16 小时前
NGINX Ingress Controller 5.5:安全性与性能提升,迁移更轻松
java·服务器·nginx
云烟成雨TD16 小时前
Micrometer 系列【25】Spring Boot Actuator | Spring MVC、Spring WebFlux 指标
java·spring boot·micrometer
liudashuang201716 小时前
Kafka Producer 隐藏深坑:Sender 线程自阻塞(自死锁)导致 BufferExhaustedException 完整复盘
java·分布式·kafka·linq
风筱16 小时前
Idea的CC GUI插件安装Claude Code SDK失败
java·ide·ai编程
m0_5270343316 小时前
异步任务审核系统设计:消息队列、超时重试与失败补偿
java·大数据·开发语言
xbgRS16 小时前
springBoot项目配置加载优先级
java·spring boot
zzzll111116 小时前
Loop Engineering:循环工程的原理、实践与应用
java·数据库·python
假客套16 小时前
记一次若依 Excel 导出踩坑:Permission denied、401 报错完整排查记录
java·若依·linux服务器
岁岁养乐多17 小时前
深入解析 Spring @Cacheable 注解:从声明式缓存 到多维替代方案
java
开发者联盟league17 小时前
maven核心插件介绍
java·maven