Idea 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官方文档
包含一些常用方法,可供参考使用

在这里插入图片描述


版权声明:本文为g_curry原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。