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

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

相关推荐
她的男孩2 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码4 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
plainGeekDev5 小时前
Gson → kotlinx.serialization
android·java·kotlin
小bo波14 小时前
Java Swing 图形用户界面实验 —— 从算术练习到游戏开发的完整实践
java·课程设计·gui·游戏开发·扫雷·swing
咖啡八杯15 小时前
GoF设计模式——备忘录模式
java·后端·spring·设计模式
SamDeepThinking1 天前
裁掉那个差程序员后,给你看团队里高手的代码:这个习惯,希望你有
java·后端·程序员
朕瞧着你甚好1 天前
技术雷达 & Java 集成评估报告 — Apache Tika 3.3.1
java·ai编程
MacroZheng1 天前
短短几天,暴涨2.8万Star!又一款编程神器开源!
java·人工智能·后端