cplex的下载、安装、IDE编程及相关问题解决

一、下载

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

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

cplex的下载、安装、IDE编程及相关问题解决_第1张图片

搜索的结果:

cplex的下载、安装、IDE编程及相关问题解决_第2张图片

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

如果有需要可以关注我的公众号,输入关键字“cplex”,即可获得下载地址。

二、安装

获取软件包后:

cplex的下载、安装、IDE编程及相关问题解决_第3张图片

双击安装:

cplex的下载、安装、IDE编程及相关问题解决_第4张图片

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

cplex的下载、安装、IDE编程及相关问题解决_第5张图片

点击下一步:

cplex的下载、安装、IDE编程及相关问题解决_第6张图片

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

cplex的下载、安装、IDE编程及相关问题解决_第7张图片

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

cplex的下载、安装、IDE编程及相关问题解决_第8张图片

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

cplex的下载、安装、IDE编程及相关问题解决_第9张图片

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

cplex的下载、安装、IDE编程及相关问题解决_第10张图片

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

cplex的下载、安装、IDE编程及相关问题解决_第11张图片

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

cplex的下载、安装、IDE编程及相关问题解决_第12张图片

看到上面的界面基本就安装完成了。安装进度条提醒cplex依赖jre,所以需要提前在电脑上安装java环境,如果不会安装java环境请百度。

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

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

点击下一步:

cplex的下载、安装、IDE编程及相关问题解决_第13张图片

点击完成。

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

cplex的下载、安装、IDE编程及相关问题解决_第14张图片

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

cplex的下载、安装、IDE编程及相关问题解决_第15张图片

点击确定,即可打开下面的IED代码编辑器。

cplex的下载、安装、IDE编程及相关问题解决_第16张图片

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

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

cplex的下载、安装、IDE编程及相关问题解决_第17张图片

三、IDE的使用

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

cplex的下载、安装、IDE编程及相关问题解决_第18张图片

这里有相关的使用说明,前四个是说明,有需要的可以自己读(如下),第五个是IDE的启动按钮。

cplex的下载、安装、IDE编程及相关问题解决_第19张图片

四、编程测试

4.1.创建项目

  • 创建OPL项目

cplex的下载、安装、IDE编程及相关问题解决_第20张图片

  • 选择项目位置

cplex的下载、安装、IDE编程及相关问题解决_第21张图片

  • 编程窗口

    cplex的下载、安装、IDE编程及相关问题解决_第22张图片

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;
 }
  • 运行方式一:

cplex的下载、安装、IDE编程及相关问题解决_第23张图片

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

cplex的下载、安装、IDE编程及相关问题解决_第24张图片

  • 运行方式二

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

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

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

cplex的下载、安装、IDE编程及相关问题解决_第25张图片

4.3.使用集合语言编程

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

4.3.1.背包问题

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

cplex的下载、安装、IDE编程及相关问题解决_第26张图片

代码:

// 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;
}

运行结果:

cplex的下载、安装、IDE编程及相关问题解决_第27张图片

4.3.2.指派问题

模型:

cplex的下载、安装、IDE编程及相关问题解决_第28张图片

代码:

// 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;
}

运行结果:

cplex的下载、安装、IDE编程及相关问题解决_第29张图片

你可能感兴趣的:(cplex,深度学习,cplex)