windows下cplex20.1.0的下载、安装、IDE编程及相关问题解决

其他文章:

通过0-1背包问题看穷举法、贪心算法、启发式算法(JAVA)

模拟退火(SA)算法实例介绍(JAVA)

遗传算法(GA)实例介绍(JAVA)

CPLEX求解器入门案例

java集成Cplex:Cplex下载、IDEA环境搭建、docker部署

windows下cplex12.6.3的下载、安装、IDE编程及相关问题解决

windows下cplex20.1.0启动报错: ilog.odms.ide.opllang.IloOplLangPlugin

Cplex20.1版本bin包Linux安装过程


参考B站视频:cplex入门到精通

一、下载

进入官网:https://www.ibm.com/cn-zh/analytics/cplex-optimizer

在右上角搜索框中输入“cplex”,并点击搜索。

搜索的结果:

image-20210915003212033

找到下载页面,其中学术版可以免费使用,但是需要使用学校邮箱注册。学术版的cplex的求解规模和约束变量是有限的。也可以花钱买,功能更强大。白瞟学术版即可。这里就不详细说了

如果有需要可以关注我的公众号[诸葛小猿],输入关键字“cplex”(注意:前后不能有空格),即可获得下载地址。

二、安装

获取软件包后:

image-20230525174516670

双击安装:

image-20230525180944634 image-20230525181141429

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

image-20230525181218860

点击下一步:

image-20230525181257247

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

image-20230525181621905

自定义安装目录(建议不要放在系统C盘),点击下一步:

image-20230525181754914

选择副本目录,选择下一步:

image-20230525181835881

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

image-20230525181907243

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

image-20230525182011131

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

image-20230525182057786

安装进度条提醒cplex依赖jre,所以需要提前在电脑上安装java环境,参考JDK安装。

image-20230525182455843

这里提醒了重要信息:Cplex依赖Microsoft Visual C++ 2015 Redistributable Package (x64)。 暂时先忽略,下面继续遇到问题再处理这个问题。

image-20230525182741807

看到上面的界面基本就安装完成了。

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

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

点击下一步:

image-20230525182901301

如果你愿意让IBM收集你使用cplex过程的相关信息,就选是,这里我选择否。点击下一步:

image-20230525192229205

这里可以看到,如果使用Python编程调用CPLEX,请执行一下上面的python安装命令。点击下一步:

image-20230525192411018

点击完成,即完成整个安装过程。

点击完成后,由于勾选了“Readme file”,这里可以看到相关内容。注意浏览器中readme文件的位置,就是我们的安装位置。

image-20230525192529013

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

image-20230525192745189

点击启动后报错了

image-20230525192832595

查看详细信息:

image-20230525192958647

启动报错:Error: “Prepare OPL runtime.” ilog.odms.ide.opllang.IloOplLangPlugin

“准备 OPL 运行时”期间发生了内部错误。“

这个错误的原因就是上面安装时提示的重要信息:Cplex依赖Microsoft Visual C++ 2015 Redistributable Package (x64)。我们的电脑没有安装这个C++的环境。

下载后,双击安装一下64位的软件就好了:

image-20230525193440903

查看安装结果:

image-20230525193606868

这里需要注意的是,不同版本的cplex依赖不同版本的Microsoft Visual C++ ,一般可以向下兼容。

关闭cplex后,从window左下角“开始”中再次重启CPLEX Studio IDE 20.1.0:

image-20230525194005777

即可打开下面的IED代码编辑器:

image-20230525194154658

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

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

image-20210915002138085

三、IDE的使用

安装完成后,在电脑的左下角开始按钮中可以看到:

image-20230525194502062

这里有相关的使用说明,前两个是说明,有需要的可以自己读(如下);第三个是IDE的启动按钮;第四个是交互式的约束规划引擎启动按钮;第五个是交互式的数学规划启动按钮。

image-20230525195004668

四、编程测试

4.1.创建项目

  • 创建OPL项目

image-20210915231444895

  • 选择项目位置

image-20210915231729367

  • 编程窗口

    image-20230525195326318

4.2.不使用集合语言编程(简单编程)

模型比较简单、变量约束比较少的情况,可以直接编程,比较简单。

  • 模型:
 min z = 2x + 3y
 s.t.    2x + 3y >= 20 
         x + y >= 10
         x,y>=0且为整数
  • 代码:
 // 1.定义决策变量          x,y>=0且为整数
 dvar int+ x;
 dvar int+ y;
 
 // 2.定义目标函数  min z = 2x + 3y
 minimize 2*x + 3*y;
 
 // 3.定义约束条件
 subject to {
 	 2*x + 3*y >= 20;
 	  x + y >= 10;
 }
  • 运行方式一:

image-20230525195528481

运行后看到“问题”窗口报错了,具体错误原因出现了乱码,问题类型:OPL标记问题。原因出在项目中“运行配置”文件夹下的文件是中文的原因。右键这个“配置1(缺省值)”,重命名为config1,修改英文名后右键运行。最终的结果在“解”这个对话框中。

image-20230525195702947

  • 运行方式二

或者直接使用命令运行:oplrun -p <路径\项目名>

这里我这个项目的路径是D:\IBM\workspace\firstModelTest

打开命令行窗口运行命令:

image-20210915234702097

4.3.使用集合语言编程

模型比较复杂时可以使用这个方式。

4.3.1.背包问题

比如一个背包问题的模型如下(假如n、p、w、C是三个已知量):

image-20210916221953261

代码:

// 1.定义已知量
int n=4;
int C=13;
int p[1..4]=[12,11,9,8];
int w[1..4]=[8,6,4,3];

// 2.定义决策变量
dvar boolean x[1..n];

// 3.目标函数
maximize sum(j in 1..n) p[j] * x[j];

// 4.约束条件
subject to{
	sum(j in 1..n) w[j] *x[j] <= C;
}

运行结果:

image-20230525200142521

4.3.2.指派问题

模型:

image-20210916225708810

代码:

// 1.定义已知量
int n = 5;
int c[1..5][1..5] = 
[
[3,8,2,10,3],
[8,7,2,9,7],
[6,4,2,7,5],
[8,4,2,3,5],
[9,10,6,9,10]
];

// 2.定义决策变量
dvar boolean x[1..n][1..n];

// 3.目标函数
minimize sum(i in 1..n) sum(j in 1..n) c[i][j] * x[i][j];

// 4.约束条件
subject to {
  forall(j in 1..n) sum(i in 1..n) x[i][j] == 1;
  forall(i in 1..n) sum(j in 1..n) x[i][j] == 1;
}

运行结果:

image-20230525200342526

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/22801.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

20230522-win11删除文件失败-需要SYSTEM提供的权限

20230522-win11删除文件失败-需要SYSTEM提供的权限 一、软件环境 标签&#xff1a;win11 SYSTEM权限分栏&#xff1a;windows编译器&#xff1a;VS2019 二、问题描述 删除D:\WindowsApps\36186RuoFan.USB_5.8.1.0_x64__q3e6crc0w375t目录下的文件时&#xff0c;提示【文件访…

聊聊我在阿里第一年375晋升的心得

前言 思来想去&#xff0c;觉得这个事情除了领导赏识大佬抬爱之外&#xff0c;还是挺不容易的&#xff0c;主观认为有一定的参考价值&#xff0c;然后也是复盘一下&#xff0c;继续完善自己。 绩效 首先晋升的条件就是要有个好绩效&#xff0c;那么我们就先基于绩效这个维度…

视频理解学习笔记(一):双流卷积神经网络

视频理解学习笔记&#xff08;一&#xff09;&#xff1a;双流卷积神经网络 两句话总结双流卷积神经网络论文概览方法详解Spatial stream ConvNetTemporal stream ConvNet测试方法 光流什么是光流怎么预处理光流 数据集UCF101&#xff08;已被刷爆&#xff09;HMDB51 Experimen…

JavaScript 中如何计算代码段运行时间

&#x1f468;&#x1f3fb;‍&#x1f4bb; 热爱摄影的程序员 &#x1f468;&#x1f3fb;‍&#x1f3a8; 喜欢编码的设计师 &#x1f9d5;&#x1f3fb; 擅长设计的剪辑师 &#x1f9d1;&#x1f3fb;‍&#x1f3eb; 一位高冷无情的编码爱好者 大家好&#xff0c;我是全栈 …

为什么C++这么复杂还不被淘汰?

C是一门广泛使用的编程语言&#xff0c;主要用于系统和应用程序的开发。尽管C具有一些复杂的语法和概念&#xff0c;但它仍然是编程界的重量级选手&#xff0c;在编程语言排行榜中一直位居前列。为什么C这么复杂还不被淘汰呢&#xff1f; C有以下优势 1、C具有高性能 C是一门编…

【多线程】线程的可见性

目录 一、什么是线程的可见性二、可见性问题示例2.1 代码2.2 截图 三、解决可见性问题3.1 volatile关键字3.2 synchronized关键字 四、用volatile关键字解决可见性问题示例4.1 代码4.2 截图 五、用synchronized关键字解决可见性问题示例5.1 代码5.2 截图 六、可见性与原子性 一…

iTOP-RK3568开发板编译瑞芯微原厂源码

1 输入以下命令设置 java 版本为 1.8 版本&#xff0c;确认 java 版本是 1.8 版本之后&#xff0c;才可以进行下一步编译&#xff0c;如下图所示&#xff1a; source javaenv.sh java -version 2 输入命令配置 Android 分支 source build/envsetup.sh lunch rk3568_r-user…

Ansys Speos 2023 R1新功能 | Texture可视化纹理提升视觉感知

Ansys Speos 2023 R1 新功能介绍 Ansys Speos 持续推动创新&#xff0c;为光学设计人员提供精确、高性能的仿真功能。2023 R1 新版本提供强大的功能&#xff0c;可加快结果生成速度、提高仿真精度并扩展与其他 Ansys 产品的互操作性。 更新Texture映射预览&#xff0c;为textur…

Emacs之高效切换窗口(九十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

AI数字人盛行,如何选择合适的AI数字人制作平台?

2023万象大会已然开启了直播&#xff0c;当AI照进生活、照亮你我&#xff0c;为我们的想象力插上翅膀&#xff0c;世界变得更加便捷、更加智能。可以说近年来&#xff0c;AI帮助人们解决了各种问题&#xff0c;在提高生产效率、改善生活质量等方面做出来很大的贡献&#xff0c;…

代码随想录训练营Day48|● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

目录 学习目标 学习内容 198.打家劫舍 213.打家劫舍II 337.打家劫舍III 学习目标 198.打家劫舍 213.打家劫舍II 337.打家劫舍III 学习内容 198.打家劫舍 198. 打家劫舍 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/house-robber/ class Soluti…

为了流量,何同学做了个“假B站”?

何同学是B站知名数码博主&#xff0c;凭借优秀的视频制作能力&#xff0c;内容创新获得广大年轻用户的喜欢。 2021年的时候&#xff0c;UP主老师好我叫何同学就发布了一条制作AirDesk的视频&#xff0c;随后迅速在社交媒体中引发了大量关注。 当时&#xff0c;该视频为B站全站…

【c++】类和对象(中)

【c】类和对象&#xff08;中&#xff09; 默认成员函数初始化和清理构造函数重载分类使用场景 析构函数使用场景 拷贝赋值拷贝构造函数使用场景浅拷贝与深拷贝 赋值重载赋值重载和拷贝构造函数的区别使用场景 取地址重载 本篇博客主要讲&#xff1a;六个默认成员函数 默认成员…

SpringBoot配置文件 | 多环境配置 | 读取配置的4种方式

文章目录 一、写配置文件的位置读取的优先级&#xff1a;1.文件位置&#xff1a;2.文件名和文件后缀&#xff1a;3.配置文件中的profile-specific文件&#xff1a;4.命令行参数 二、多环境配置1. properties&#xff1a;2. yaml 三、yaml配置文件yaml、properties、xml对比&…

Gateway服务网关入门

Gateway服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。…

OpenAI ChatGPT Unity接入

OpenAI ChatGPT Unity接入 OpenAI ChatGPT Unity接入OpenAi-API-Unity 方法OpenAi-API-Unity 下载本地配置Unity 模块URL接入gz 接入json 接入Open AIOpenAi-Api-Unity 插件文档 OpenAi 本地化接入 Unity 方法Unity 关键字识别语音合成 & 文字转语音音频记录 & 实时音频…

C语言_数据类型[详细分析]

接上一篇&#xff1a;C语言_关键字_标识符简介 本次来分享C语言的数据类型&#xff0c;是博主的一些学习笔记的和心得的总结&#xff0c;话不多说&#xff0c;开始上菜&#xff1a; 此博主在CSDN发布的文章目录&#xff1a;我的CSDN目录&#xff0c;作为博主在CSDN上发布的文章…

四个PCB工程师最头痛的Allegro问题及解答,你一定要看

Allegro是一款功能强大的PCB设计软件&#xff0c;广泛应用在电子设计行业&#xff0c;在使用Allegro过程中&#xff0c;工程师会遇见到多种复杂的技术问题&#xff0c;本文将针对工程师最头痛的Allegro问题进行回答&#xff0c;希望对小伙伴们有所帮助。 1、如何创建新的Allegr…

线上问题处理案例:出乎意料的数据库连接池 | 京东云技术团队

导读 本文是线上问题处理案例系列之一&#xff0c;旨在通过真实案例向读者介绍发现问题、定位问题、解决问题的方法。本文讲述了从垃圾回收耗时过长的表象&#xff0c;逐步定位到数据库连接池保活问题的全过程&#xff0c;并对其中用到的一些知识点进行了总结。 一、问题描述…

高丰度铈磁体

随着烧结钕铁硼应用领域的不断拓展和产量的快速增长&#xff0c;相应的稀土资源也被大量开采。稀土矿中各种稀土元素是共生的&#xff0c;但在钕铁硼的制备过程中&#xff0c;利用的主要是在轻稀土中质量分数为25%的镨Pr和钕Nd元素&#xff0c;这样对轻稀土中占比为质量分数49%…