00 前言

因为小编一般用的C++和Java比较多,而且现在开发大型算法用这类面向对象的编程语言也方便得多。基于上面的种种考虑,加上时间和精力有限,所以就暂时只做C++和Java的详细教程辣。关于matlab和python的也许后续会补上的吧。

然后在开始之前,照例先把环境给配置好。那么就先配置java的环境吧。

CPLEX系列教程可以关注我们的公众号哦!获取更多精彩消息!

01 添加环境变量

前面已经说了怎么下载和安装cplex了,如图:

首先要确保cplex的相关路径已经添加进path这个环境变量了,具体是\bin\x64_win64这个文件夹。cplex在安装的时候添加的环境变量好像并没有起到作用,所以最好手动添加一下。

打开cmd,运行cplex,如果出现下面的界面,则添加成功:

02 将CPLEX库导入ECIPLSE

java小编一般用的ide是eclipse,就配置一下关于eclipse的。其他的开发环境请大家自行设置哈。

新建一个工程,添加一个package,添加一个带main函数的类。代码先别写。

在项目右键,选择build path -> Configure Build Path……

找到Libraries->Add External JARs……,然后定位到\lib这个文件夹,把cplex.jar给添加进去。

03 求解一个简单的模型

一个简单的线性规划问题:

把下面代码复制进main函数里面:

try {IloCplex cplex = new IloCplex(); // creat a modeldouble[] 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);}

点击运行,出现下面的结果就成功啦:

最后,如果提示找不到build path ,share libraries什么的,请确保第一步配置正确!至此,我们已经能愉快使用cplex啦。

04 API说明[1]

cplex的java程序整体框架一般如下:

try {} catch (IloException e) {System.err.println("Concert exception caught: " + e);}
  1. 使用 IloCplex 类新建一个 cplex 类。
  2. 使用 IloNumVar 定义求解变量。
  3. 使用 addMaximize 或addMinimize 定义求解目标。
  4. 使用 addLe 添加约束条件.
  5. 使用 solve() 方法求解。
  6. 使用 IloNumExpr 定义中间变量。

cplex 的 java api 不支持加减乘除符号,加必须用 sum 方法, 减必须用 diff 方法, 乘除必须用 prod 方法。

05 reference

[1] https://blog.csdn.net/robert_chen1988/article/details/78678289

【CPLEX教程02】配置Cplex的Java环境以及API说明相关推荐

  1. 卸载CentOS 5.4自带的OpenJDK,配置新的Java环境

    本文CentOS版本为5.4 final,使用图形界面与命令结合的操作方式 由于CentOS 5.4在默认情况下,会安装OpenOffice之类的软件,而这些软件需要Java支持,因此系统会默认安装一 ...

  2. linux php和java环境变量配置_Linux下Java环境变量的安装与配置

    安装 以JDK1.6.0_43为例 增加可执行权限 chmod +x jdk-6u43-linux-x64.bin, 执行 ./jdk-6u43-linux-x64.bin 生成目录jdk1.6.0_ ...

  3. ubuntu中java环境配置_Ubuntu下java环境的搭建

    喜欢捣鼓计算机相关的,然后大二的时候就想着用linux,于是当时就装了个ubuntu,还想着把java环境搭建进去,但当时由于"意志不坚定"后来就没用linux了,知道最近突然想在 ...

  4. display环境变量如何配置_JDK 安装 Java环境变量配置

    你的关注是我们最大的动力 JDK 安装 Java环境变量配置 JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAV ...

  5. Win11安装VScode详细教程、配置Anaconda与python环境

    1. Anaconda与VSCode的下载与安装 首先参考该教程进行 Anaconda与VSCode的基础安装:Anaconda + VSCode 最详细教程 注意: 1) 上方教程中下载32位.64 ...

  6. java环境变量设置 win2003,2021-03-09Win10的Java环境配置Win10下Java环境变量配置

    接下来主要讲怎么配置 Java 的环境变量,也是为了以后哪天自己忘记了做个备份 (注:win10的Java环境变量配置和其他的windows版本稍有不同) 在电脑桌面 右键点击 "此电脑&q ...

  7. java环境变量配置linux_14行脚本配置Linux下Java环境变量

    对于Java初学者而言,可能在Java开发环境的配置上要花一番功夫,而在Linux下,配置Java的环境变量,这个功夫可能又会增加.为此,我编了一个bash脚本来实现自动配置Java的环境变量.你只需 ...

  8. macbook配置java环境变量_配置mac上Java环境变量

    从ubuntu上转到mac上来做开发,一切配置都要重新开始 1. 下载jre http://www.oracle.com/technetwork/java/javase/downloads/index ...

  9. java写脸萌_Linux环境下配置JDK,java环境

    1.查看Linux自带的JDK是否已安装 # java -version 2. 查看JDK信息 # rpm -qa | grep java 显示: java-x.x.x-gcj-compat-x.x. ...

最新文章

  1. 剑指Offer(Java实现)删除链表中重复的结点
  2. 敏捷转型历程 - Sprint3 回顾会
  3. 这或许是实现重试最优雅的姿势了!
  4. 如何使用 SAP API Portal Policy Editor 给 SAP API 调用自动添加认证信息
  5. ubuntu修改默认系统启动项
  6. 魅族16s Pro最新预热海报公布:将配备双扬声器
  7. python入门第六章 信息安全策略-文件备份 用户账户管理
  8. 地址栏引用PHP中变量,PHP 读取地址栏 参数
  9. 等级考试(三):三级网络---似曾相识(续)
  10. 蓝桥杯 PREV-54 历届试题 合根植物
  11. 机器学习--聚类分析(划分方法,层次方法、密度方法)
  12. 仅对 LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”
  13. java 调用tomcat api,tomcat处理http请求-下
  14. 谷歌、领英、汇丰、桥水、联合航空、联合利华、雷克萨斯、Expedia、OYO等公司高管变动情况...
  15. spider_study 1
  16. 新手剪辑师秒变大神 高级感视频剪辑的几种常用技巧
  17. 设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法
  18. 考研英语二计算机词汇,考研英语词汇84分的一些经验
  19. Connor学Android - Android动画
  20. Android键盘监听事件

热门文章

  1. nnUNet保姆级使用教程!从环境配置到训练与推理(新手必看)
  2. 录屏怎么录声音苹果_苹果手机自带录屏功能,自己的声音也能录进去?还真没想到...
  3. 巨杉数据库—错误码40006,Failed to begin transaction, RR is isolation is only supported when mvccon is true.
  4. 利用C程序绘制一个正方形的矢量图形,不借助其他类库
  5. 安卓苹果通用超强兼容性蓝牙耳机,连接稳定音质卓越,双11必备
  6. 罗马神话缪斯_缪斯游戏专访
  7. 探索C#之微型MapReduce
  8. SSH服务器支持的算法漏洞
  9. win10 移动热点自动关闭
  10. 电脑插上耳机但听不到声音的问题解决