最新最易上手IntelliJ IDEA配置CPLEX详细步骤

article/2025/4/12 19:59:34

目录

一、CPLEX安装

1.CPLEX安装包下载

2.CPLEX安装

 二、IDEA配置CPLEX

1.将CPLEX安装目录的cplex.jar包添加到项目文件中:

 2.将CPLEX的x64_win64文件夹添加到IDEA的VM options中

 三、在IDEA中检验是否安装成功


一、CPLEX安装

1.CPLEX安装包下载

由于IBM公司的ILOG CPLEX Optimization Studio是收费的,即使在官网上下载免费的学术版也需要使用你单位(或学校)的邮箱,而且你的单位必须在IBM上注册过域名,否则也无法下载,所以这里给出笔者千辛万苦下好的12.6.3版本的CPLEX Studio软件安装包,希望能帮到大家:

前往百度网盘下载:链接:https://pan.baidu.com/s/17-wPu4v7eOV7eHMNOp9C-Q 提取码:ali0

2.CPLEX安装

(1)下载安装包后双击exe文件,得到如下弹窗:

(2)选择简体中文,并点击确定:

(3)点击下一步:

 (4)选择接受协议后,点击下一步:

 建议先在你想要安装的位置新建一个文件夹,在其中再新建三个子文件夹分别存放安装目录、副本目录和工作空间,自定义安装目录(建议不要放在系统C盘,选择上面新建的文件夹),点击下一步,选择副本目录,选择下一步:

 (5)选择关联相关文件(一定要选),选择下一步:

 (6)选择更新PATH变量(一定要选),选择下一步:

 (7)这里展示了安装的目录(要记住自己安装的这两个目录,后续相关的文件需要到这两个目录里找),选择安装:

 

 看到上面的界面基本就安装完成了。安装进度条提醒cplex依赖jre,所以需要提前在电脑上安装java环境,如果不会安装java环境请百度。(安装完成后可能会显示让你安装Microsoft Visual C++ Redistributable,不用安装,忽略即可)。

上面勾选了“Readme file”时,点击下一步会自动在浏览器中显示readme文件内容,建议勾选,简单读一下readme文件。

上面勾选了“CPLEX Opeimization Studio IDE”时,点击下一步会自动打开编程窗口,建议勾选。

(8)点击下一步:

 (9)点击完成。

点击完成后,由于之前选择了“CPLEX Opeimization Studio IDE”,所以这里会自动打开上面IDE编辑器,并且弹框询问工作空间放在哪里,所谓的工作空间就是后续我们使用ide编辑器写代码时,我们的代码文件保存的目录,这个目录很重要,后续可以在这里找到自己之前写过的代码。建议定义好这个目录(可以按照上面第(4)步建议的目录设置方式)。工作目录设置弹窗左下角有个选项“将此值作为缺省值并且不再询问”,建议勾选,如果不勾选,以后每次打开IDE编辑器时都会弹框询问。

 

 (10)点击确定,即可打开下面的IED代码编辑器:

上面的欢迎窗口中间有四个功能:概述、教程、样本、新增内容,可以学习一下相关使用。

关闭欢迎页面,现在就可以在编辑器中建模求解了。

 二、IDEA配置CPLEX

1.将CPLEX安装目录的cplex.jar包添加到项目文件中:

在IDEA页面中新建项目后,依次点击左上角File->Project Structure->Libraries,点击窗口中间菜单栏左上角的“+”号,将上面CPLEX安装目录下cplex文件夹中的lib文件夹下的cplex.jar添加到项目中,点击Apply。

 

 

 2.将CPLEX的x64_win64文件夹添加到IDEA的VM options中

(1)点击Run->Edit Configuration...

 (2)在弹出窗口的VM options中输入下面的命令(CPLEX安装文件夹取决你自己安装的位置):

-Djava.library.path=CPLEX安装文件夹\cplex\bin\x64_win64

例如:直接在文件管理器中找到CPLEX安装路径下对应的x64_win64文件夹,然后复制下面红色方框中的地址

在VM options方框中输入如下命令(每个人的文件夹可能不一样,所以不要直接复制我的命令内容,而是到你自己的CPLEX安装目录中找到x64_win64文件夹路径,然后把我命令中等号后面的内容替换掉就可以了):

-Djava.library.path=D:\LeStoreDownload\IBM_ILOG_CPLEX_Location\CPLEX1263_Install\cplex\bin\x64_win64

点击Apply即可。

 三、在IDEA中检验是否安装成功

新建一个java类文件,并输入如下代码:

import ilog.concert.IloException;
import ilog.concert.IloNumVar;
import ilog.cplex.IloCplex;public class MyDemos {public static void main(String[] args){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);}}
}

上面的代码要解决的线性规划问题是:

运行程序如果输出如下结果说明安装完成:

 至此,你的电脑已经可以使用IDEA调用CPLEX,并编写java代码求解大型线性规划问题了。

参考文献:

https://blog.csdn.net/wuxiaolongah/article/details/120339847


http://chatgpt.dhexx.cn/article/moCuWaZf.shtml

相关文章

Cplex安装与环境配置步骤(C++与Python)

一、Cplex简介 Cplex是IBM公司的一个优化问题求解器。主要用于求解线性规划&#xff0c;混合整数规划、二次规划等问题。 Cplex求解速度快&#xff0c;使用简单易上手。除了自带的语言外&#xff0c;cplex可以利用C、Java、Python等语言使用。对于运筹优化方向的问题求解事半功…

形状-自适应椭圆

自适应椭圆 根据内容自适应宽高&#xff0c;如果宽高相等&#xff0c;显示为一个圆&#xff0c;宽高不等显示为椭圆&#xff0c;如下图所示&#xff1a; 自适应椭圆实现 想要达到上图所示的效果&#xff0c;我们必须先了解border-radius 的两个特性 border-radius可以单独…

112.(leaflet篇)leaflet椭圆修改

地图之家总目录(订阅之前请先查看该博客) 地图之家:cesium+leaflet+echart+地图数据+地图工具等相关内容的介绍 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <!DOCTYPE html> …

java panel画椭圆_如何在Java 2D中绘制椭圆?

在Ellipse2D类定义由成帧矩形定义的椭圆。您可以使用double或float值创建椭圆。使用双精度值创建椭圆时&#xff0c;请使用Ellipse2D.Double类。对于浮点值&#xff0c;您可以使用Ellipse2D.Float该类。package org.nhooo.example.geom; import javax.swing.*; import java.awt…

AEJoy —— 随机运动表达式之球面上的随机运动(四)

效果图 原理与代码 现在我们已经掌握了产生随机运动的技巧,让我们做一些有趣的事情。 我们的目标是看看我们是否能在球面上创造随机运动。我们会看到,通过一些几何学,一些三角学和我们的随机运动算法,我们可以解决一些看似不可能的问题。 首先让我们看一看几何学和涉及的…

椭圆伸缩之思考

我们讨论的椭圆缩放基于二维空间&#xff0c;首先给出以下定义及性质&#xff1a; 1 基点&#xff1a;如果选择一个能控制图形比例&#xff08;缩放&#xff09;变换的点&#xff0c;使该点再变换后仍保持不变&#xff0c;则称其为基点&#xff08;不动点&#xff09;。 2 比例…

自由落体java编程_java模拟自由落体运动源代码

简单做了一个 import java.awt.borderlayout; import java.awt.button; import java.awt.color; import java.awt.frame; import java.awt.graphics; import java.awt.panel; import java.awt.point; import java.awt.event.actionevent; import java.awt.event.actionlistener…

点旋转的java算法_点和椭圆(旋转)位置测试:算法

另一种选择是将所有内容都放入2D旋转椭圆的等式中&#xff0c;并查看结果是否小于1 . 因此&#xff0c;如果以下不等式为真&#xff0c;则在椭圆内部有一个点 其中(xp&#xff0c;yp)是点坐标&#xff0c;(x0&#xff0c;y0)是椭圆的中心 . 我实施了一个小的Mathematica程序&am…

(转载)在Eclipse中使用JUnit4进行单元测试(中级篇)

<原文地址如下&#xff1a;http://blog.csdn.net/andycpp/archive/2006/10/09/1327147.aspx> 我们继续对初级篇中的例子进行分析。初级篇中我们使用Eclipse自动生成了一个测试框架&#xff0c;在这篇文章中&#xff0c;我们来仔细分析一下这个测试框架中的每一个细节&…

用Python模拟小球的平抛运动,及其在落地后的运动轨迹

废话不多说&#xff0c;先上效果演示&#xff08;doge&#xff09;: 1、需求分析 给定一个小球&#xff0c;在离地某高度处给予一初始速度&#xff0c;当其撞击到地面后&#xff0c;速度衰减为原来的α倍&#xff0c;当其速度衰减为初始速度的1%后&#xff0c;运动结束。 2、运…

【达内课程】Eclipse中的junit测试

文章目录 简介使用测试1测试2生成测试报告 简介 使用 下载junit 新建一个java项目&#xff0c;把junit jar包放入项目&#xff0c;右键项目&#xff0c;选择properties&#xff0c;把jar包加进来 测试1 创建如下文件 在这里插入代码片如果出错 如果成功 测试2 新建H…

java斜椭圆_JAVA 任意椭圆方向画法

展开全部 使用32313133353236313431303231363533e4b893e5b19e31333332636266 AffineTransform 把Ellipse2D 旋转一下就可以了。 import java.awt.image.BufferedImage; import java.awt.geom.AffineTransform; import java.awt.geom.Ellipse2D; import java.awt.Color; import …

从STL的视角,了解下Map、Set、Tuple和Initializer_List的区别

&#x1f4d6;作者介绍&#xff1a;22级树莓人&#xff08;计算机专业&#xff09;&#xff0c;热爱编程&#xff1c;目前在c&#xff0b;&#xff0b;阶段>——目标Windows&#xff0c;MySQL&#xff0c;Qt&#xff0c;数据结构与算法&#xff0c;Linux&#xff0c;多线程&…

用Java模拟行星的运动

这段时间都在寝室里自学Java,就想自己写个小程序玩一玩。同时&#xff0c;我也是个三体迷&#xff0c;就想着能不能用学的Java来模拟一下三体运动。这个程序算是我正式写模拟三体运动前的一个尝试。 一、程序分析 首先来百度一番查一下太阳、水星、金星和地球的各种参数(非精确…

java课程设计旋转的行星_Java编程实现的模拟行星运动示例

本文实例讲述了Java编程实现的模拟行星运动。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 期待了很久的Java语言程序设计也拉下了帷幕&#xff0c;在几个月的时间里基本掌握了java的简单用法&#xff0c;学习了java的主要基础知识&#xff0c;面向对象思想&#xff…

JS-圆,椭圆等轨迹相关算法

圆 公式 (x0, y0) 圆心坐标 r&#xff1a;半径 x x0 cos(angle) * r y y0 sin(angle) * r 1、轨迹 <div id"div" style"position:relative; width: 20px; height: 20px; background: cadetblue;"></div><script>/*** 圆心 (x0, y0…

精确绘制椭圆

本文首发于微信公众号「3D视觉工坊」。 前言 圆特征在测量领域中应用广泛&#xff0c;比如&#xff1a;相机标定、位姿估计、目标跟踪等方面。圆经过透视投影&#xff0c;当成像平面与圆平面不平行时&#xff0c;圆经过透视投影为椭圆&#xff0c;圆心的透视投影点与椭圆的中…

cesium椭圆编辑椭圆修改(cesium篇.78)

听老人家说:多看美女会长寿 地图之家总目录(订阅之前必须先查看该博客) 完整代码工程包下载 运行如有问题,可“私信”博主。效果如下所示: 下面献上完整代码,代码重要位置会做相应解释 <html lang="en

JS小球绕着椭圆形的轨迹旋转并且近大远小

在ivx中案例如下&#xff1a; VxEditor 效果如下&#xff0c;近大远小 主要代码如下&#xff1a; const centerX 360 / 2; // 椭圆中心的X坐标 const centerY 120 / 2; // 椭圆中心的Y坐标 const a 100; // 长半轴 const b 60; // 短半轴const elementsWithClassName d…

知识图谱实战应用2-知识图谱的知识融合与知识消歧

大家好,我是微学AI,今天给大家带来知识图谱实战应用2-知识图谱的知识融合与知识消歧。 知识图谱是用于表示语义化信息的一种图形化知识表示形式,其中包含了大量的实体、属性和关系。由于知识图谱是由不同来源的知识组成的,因此可能存在同一实体在不同知识源中有不同的表达…