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

本文详细介绍了如何在Mac环境下安装并配置Cplex与Yalmip,使其能在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求解问题了。

在开始构建微网优化调度模型之前,确保你的Matlab环境已经安装了YALMIPCplex。接下来,你可以通过以下步骤来配置环境并编写代码: 参考资源链接:[微网优化调度模型:光伏+风电+蓄电池+微电网+柴油机](https://wenku.csdn.net/doc/5muzqs5efi?spm=1055.2569.3001.10343) 1. 安装配置YALMIPCplex: 确保你的Matlab安装了最新版本的YALMIP工具箱,以及兼容的Cplex版本的MEX接口。可以通过Matlab的Add-On Explorer搜索并安装YALMIP。对于Cplex,你需要从官方网站下载并安装相应的求解器,并确保Matlab能够找到其路径。 2. 定义优化问题目标函数: 在Matlab中,首先定义你的决策变量,例如发电量、储能状态等。然后,使用YALMIP定义目标函数,这可能是最小化运营成本、减少碳排放等多目标函数。YALMIP允许你以非常直观的方式编写优化问题的数学表达式。 3. 添加约束条件: 在微网优化调度模型中,你将需要添加各种约束条件,比如发电设备的功率输出限制、储能设备的充放电限制、负荷需求的满足等。YALMIP提供了丰富的函数来表达线性、非线性、整数等约束。 4. 调用求解器: 使用YALMIP内置的求解器调用函数,如`sdpsettings`来配置Cplex求解器,然后使用`solve`函数求解优化问题。Cplex将利用YALMIP提供的模型信息进行求解。 5. 分析处理结果: 求解完成后,YALMIP会返回优化结果。你可以通过结果来分析各个发电设备储能设备的最优运行状态,以及对微网系统性能的影响。 通过上述步骤,你可以在Matlab中使用YALMIPCplex构建微网的优化调度模型。关键的技术点包括目标函数约束条件的准确表达,以及调用正确的求解器接口。你可以参考《微网优化调度模型:光伏+风电+蓄电池+微电网+柴油机》教程中提供的实际代码,深入学习如何在Matlab中实现这样的模型。 为了更加深入地理解这一过程,建议除了参考提供的教程外,还可以查阅YALMIPCplex的官方文档,以便获得最新的功能信息最佳实践。此外,通过在Matlab中模拟不同的微网运行场景,你可以更好地掌握微网优化调度模型的构建分析方法。 参考资源链接:[微网优化调度模型:光伏+风电+蓄电池+微电网+柴油机](https://wenku.csdn.net/doc/5muzqs5efi?spm=1055.2569.3001.10343)
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值