cplex java_线性最优解java实现+Cplex java调用
一:cplex的使用:
1.1 导入cplex.jar,包的地址:https://pan.baidu.com/s/1Q0Bv24EQdelV2rY-IrLoZQ 提取码:xn14
1.2 将cplex1290.dll (地址:https://pan.baidu.com/s/1sQXqYTSJWywwaZt5AHVkZQ 提取码:nm0l)添加到VM option中,这里以IDEA为例,
同样eclipse
**二、求解问题。
一个简单的线性规划问题:**
maxs.t.x1+2×2+3×3
−x1+x2+x3≤20
x1−3×2+x3≤30
0≤x1≤40
java 中的 cplex 代码如下:
import ilog.concert.IloException;
import ilog.concert.IloNumVar;
import ilog.cplex.IloCplex;
public class LP1 {
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);
}
}
}
输出结果:
Tried aggregator 1 time.
N
o LP presolve or aggregator reductions.
Presolve time = 0.00 sec. (0.00 ticks)
Iteration log . . .
Iteration: 1 Dual infeasibility = 0.000000
Iteration: 2 Dual objective = 202.500000
Solution status = Optimal
Solution value = 202.5
x1 = 40.0
x2 = 17.5
x3 = 42.5
这里注意一下,求的是线性公式的最大值,而在MATLAB中利用x=linprog(f,[],[],Aeq,beq,lb);求解的是最小值(我怎么调试都不一致的原因),这里的参数就不在赘述了。
还有就是设置cplex API在https://wenku.baidu.com/view/7095dd76777f5acfa1c7aa00b52acfc789eb9fed.html有介绍(虽然是c#的,但是java可以借鉴。
cplex java_线性最优解java实现+Cplex java调用相关推荐
- 补充1 设计区域网络配置的优化模型(工厂选址模型)——基于java和cplex的实现
这一部分是第二部分的供应链网络的设计(二)供应链的网络设计第四部分设计区域网络配置的优化模型. 目录 一.所需输入 二.有能力约束的工厂选址模型 1.利用excel进行规划求解 2.利用java和cp ...
- 补充3 需求分配和工厂选址模型(工厂和仓库同时选址)——基于java和cplex的实现
这一部分是第二部分的供应链网络的设计(二)供应链的网络设计第六部分在区域内识别潜在地点的模型. 目录 一.所需输入 二.将需求分配给现有生产设施的需求分配模型 三.生产设施选址模型 四.更复杂的.有能 ...
- 蚁群算法画图java_[转载]简单蚁群算法 + JAVA实现蚁群算法
一 引言 蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术.它由Marco Dorigo于1992年在他的博士论文中引入,其灵 ...
- [JAVA_开课吧资源]第一周 Java语言概述、Java语言基础
主题一 Java语言概述 » JDK介绍及其基本组件 Sun公司利用Java开发工具箱(Java Development Toolkit ,JDK)发布Java的各个版本.JDK由开发和测试Java程 ...
- stringbuilder寻找字符串位置可能存在多个 java_【面试题系列】——Java基础
本文主要包括Java基础及面向对象相关面试题. 1,Java科普1.1 为什么安装包要分JDK和JRE?1.2 为什么Java语言是跨平台的?1.3 为什么安装完JDK后要设置环境变量?1.4 Jav ...
- w3c java_无法从W3C加载Java类
我尝试使用提供的gui运行群集,但是随后出现此异常: Error in starting visualizer window. java.lang.NoClassDefFoundError: org/ ...
- 定义入栈java_小师妹学JVM之:java的字节码byte code简介
简介 Byte Code也叫做字节码,是连接java源代码和JVM的桥梁,源代码编译成为字节码,而字节码又被加载进JVM中运行.字节码怎么生成,怎么查看字节码,隐藏在Byte Code背后的秘密是什么 ...
- as3调用java_关于openamf我用as3链接java程序,并调用相关的方法,但是能够连上,却不能够调用是怎么回事...
我用的openamf做flashremoting服务器是没问题的!这是as的代码!package{importflash.display.Sprite;importflash.net.ObjectEn ...
- 容器安装java_在docker容器中安装Java(从宿主机向docker容器中拷贝文件)
操作系统 [root@Optimus /]# uname -a Linux Optimus 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2 ...
- 怎么样才能学好java_论新手该如何学习java?
由于我国高等教育制度教材陈旧,加上java自身发展不过十年左右的时间,还有一个很重要的原因就是java这门语言更适合商业应用,所以高校里大部分博士老师们对此语言的了解甚至不比本科生多. 在这种环境下, ...
最新文章
- 传感器融合带来多重好处
- 2、已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列; * 	 他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直
- STL容器之优先队列
- 一个数独引发的惨案:零知识证明(Zero-Knowledge Proof)
- Windows下卸载Oracle
- html table导出到Excel中,不走后台,js完成
- [HDOJ5542]The Battle of Chibi(DP,树状数组)
- Error -Cannot add direct child without default aggregation defined for control
- 综合场景搞清楚同步 异步 阻塞 非阻塞
- android高级资料
- 文件夹缩写(文件夹空格问题解决)
- C++ std:: 的坑
- Electron —— Cannot find module ‘jquery.min.js’(II)
- 制作Linux系统安装程序,制作自己的rpm包
- 毕设题目:Matlab瑕疵检测
- 【转参考】MySQL利用frm和ibd文件进行数据恢复
- Java中Math类的随机数公式
- 01背包问题解法及优化
- HTML5 之 Link 标签
- Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件(学习笔记)
热门文章
- 【Qt】arm-none-eabi-gdb-py.exe由于找不到python27.dll 无法继续执行代码
- 一款好用的取色工具TakeColor
- 44款最适合海报设计的英文字体
- 企业微服务架构转型-关键诉求
- mysql成绩是什么数据类型_mysql数据类型
- 通达信版弘历软件指标_弘历指标源码:弘历软件主要功能是什么?选股精不精准?...
- 【高质量分享】Axure组件库_含大厂和个人博主
- 基于C++的人机对弈的五子棋AI程序
- pip install -r requirements.txt 报错。
- win10c语言乱码修复方法,“字体库异常、电脑乱码的解决方案”的解决方案