栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

在Ecplise下调用Cplex环境配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Ecplise下调用Cplex环境配置

Cplex是一种数学优化技术。主要用于提高效率、快速实现策略并提高收益率。Cplex提供灵活的高性能优化程序,解决线性规划 (Linear Programming)、二次方程规划 (Quadratic Programming)、二次方程约束规划 (Quadratically Constrained Programming) 和混合整型规划 (Mixed Integer Programming) 问题。

在Ecplise下调用Cplex环境配置
  • 1. 安装Cplex包
  • 2. 配置cplex.jar包
  • 3. 配置dll文件
  • 4. 测试

1. 安装Cplex包

Cplex12.8学术版安装地址:https://pan.baidu.com/s/1dDhnb46_A05k7tmuPvU1NA#list/path=%2F
提取码:7gw1

2. 配置cplex.jar包

1. 打开eclipse,新建一个Java项目。File --> New --> Java Project,输入项目名称,这里定义为Cplex。建好如下图:

2. 新建Java类。右键项目名 --> New --> Class,出现下图,填图中红框中的内容:


3. 添加cplex.jar。右击项目名–>Build Path–>Configure Build Path:

  • 找到Libraries并点击Classpath,再点击右边的Add External JARS
  • 找到cplex.jar所在的路径并打开,根据自己Cplex的安装路径寻找,我的是D:IBMILOGCPLEX_Studio128cplexlibcplex.jar
  • 单击Apply添加
3. 配置dll文件

在上一步的基础上打开 Moudulepath下的 JRE System Library[JavaSE-17],双击Native library location:(None)。

  • 单击External Folder…
  • 找到并选择x64_win64文件夹,我的是在D:/IBM/ILOG/CPLEX_Studio128/cplex/bin/x64_win64
  • 点击OK并且Apply and Close
4. 测试

下面用一个简单的线性规划模型测试一下环境是否配置成功。

import ilog.concert.*;
import ilog.cplex.*;

public class Cplex{ //类的名字必须跟.java的名字一样
 
	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);
		}
	}
}

运行后出现如下结果,说明环境配置成功:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/979093.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号