纪念我的第一篇CSDN博客-mac系统下cplex和yamip的配置以及在matlab中的调用

1.说起来并不算完全的原创,都是各处资料拼接成,加上自己的一些摸索,如有雷同,算我抄你的,我当是自己的日记本,顺便给需要的人,仅此目的。

2.起因是自己一个论文需要用到机组组合模型,一些MIP问题用到了cplex,安装cplex、yalmip到matlab中程序的完全运行花了几天时间,下文中大小写若有误差请自行调整。

3.本人MacBook Pro (Retina, 13-inch, Early 2015),安装过MATLAB_R2016a,所以此处不涉及MATLAB的安装。

4.首先cplex的下载,我实在官网下载的,一开始安装的是community edition,免费的,不超过1000个变量和1000个约束条件,算过几次,当变量超过以后没法计算。于是,因为学生的身份,以个人的学校邮箱在官网上注册确认后,以学校student身份获得academic版本。

5.说cplex安装,连接为http://dn.516878.com/2013a/1116/20995.html,(这里首先感谢作者,我其实对电脑基本小白)说我用到的一部分。下载文件为一个bin文件,将其放入你的/Users/目录下,打开terminal,运行/bin/bash ~/xxxxxx.bin即可

6.打开MATLAB,点击Set Path,选择Add with Subfolders,找到cplex安装文件中的matlab文件夹后确认(我这里是Users/Applications/IBM/ILOG/CPLEX_Studio1271/cplex/matlab),save。

7.yamip不用安装,下载的文件解压即可,同样的方式添加yamip到matlab路径中,百度之(有的说要将yamip文件放在matlab的toolbox下,我是直接放在其他地方Set Path的,也能运行,原因是我放在toolbox下以后,Set Path找不到文件,最后没办法)。

8.至此,cplex和yalmip安装完成,在matlab命令窗口下输入Cplex和yalmip都会有所回应,说明matlab能够发现这两个工具,但是输入yalmiptest却发现cplex状态not found(如果有那么恭喜你可以跳过9和10了),说明yalmip找不到你的cplex。

9.进一步,需要修改yalmip某文件,这里说个题外话,因为本人经常放东西没有章法,所以在matlab窗口which cplex和which yalmip两个命令很好用,显示两个工具的文件位置,回到正题,找到yalmip文件夹中的solvers/definesolvers.m文件,打开修改其中的一丢代码,你可以看到里面有各版本的cplex,却没有你这个版本,恩,改一个其中的即可,

比如我的将solver(i).subversion='12.6.4'改为solver(i).subversion='12.7.1’,同时将对应的下一行solver(i).checkfor={'cplexqcp.m','cplexlink1264'}改为solver(i).checkfor={'cplexqcp.m','cplexlink1271'},save。

10.再次yalmiptest,显示(CPLEX|       IBM 12.7.1|       found|),okay

11.So,你可以使用你的cplex求解问题了。

你可能感兴趣的:(纪念我的第一篇CSDN博客-mac系统下cplex和yamip的配置以及在matlab中的调用)