Idea java 调用 cplex

本文介绍了如何在IntelliJ IDEA (Idea) 中配置和使用CPLEX库进行Java开发。首先,需要下载并安装CPLEX软件。接着,在Idea中新建Java项目,通过Project Structure添加cplex.jar到依赖项。然后,创建Java文件,运行提供的小规模demo,这些示例来源于java调用CPLEX的资源,包括example 01和example 02。最后,参考Java-CPLEX官方文档了解更多的常用方法。

参考文章:java 调用 cplex

  1. 下载cplex软件,安装。

  2. 打开Idea,新建空白Java项目,新建好后打开Project Structure
    在这里插入图片描述

  3. 在modules里面找到dependencies,点击+号,选择第一个jars在这里插入图片描述

  4. 在我们的安装目录下找到\IBM\ILOG\CPLEX_Studio128\cplex\lib\cplex.jar jar包,点击ok即可。
    在这里插入图片描述

  5. 创建一个自己的Java文件,运行
    在这里插入图片描述

  6. 运行一个小的demo,demo来自java 调用 cplex
    在这里插入图片描述

import ilog.concert.IloException;
import ilog.concert.IloNumVar;
import ilog.cplex.IloCplex;

public class Cplex1 {
    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);
        }
    }
}

运行结果:
在这里插入图片描述



可供参考的一些小例子:

  1. java 调用 cplex 求解 LP example 01

  2. java 调用 cplex 案例 example02


Java-cplex官方文档
包含一些常用方法,可供参考使用

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值