软件下载站,为您提供安全的软件下载!

当前位置:首页 > 电脑专区 > 其他软件 > 编程开发 > YALMIP工具箱

YALMIP工具箱

分享到:
YALMIP是一款针对MATLAB开发的求解规划问题的工具包,让用户能够用MATLAB语法优雅地解决各种规划问题,而且安装也非常简单,只需要在软件中添加路径即可使用这款强大的工具箱,集成在软件中让用户使用起来更加方便。
规划问题一直是数模竞赛中常见的问题,许多使用MATLAB用户都知道,自带的规划工具箱并不好用,一些用户会下载Lingo等软件解决遇到的规划问题,不过更多的用户是选择YALMIP作为自己解决规划问题的关键。有了这款软件用户再也不需要担心使用MATLAB的时候遇到规划问题了,而且简单的操作方法以及和MATLAB一样的语法,使得YALMIP更加容易被用户所接受,有需要的用户不要错过哦。

安装方法

1、确保MATLAB版本在2015a及以上.解压到MATLAB目录下,如果你的MATLAB安装在默认目录下,那么结果如下:

2、将YALMIP的目录加入到MATLAB的PATH中,其中包括:

3、验证YALMIP的安装工作,
在MATLAB中输入 yalmiptest ,若出现

那么恭喜你,YALMIP安装成功!
4、安装基础的解析器
细心的朋友应该发现了,当我们执行 yalmiptest 时,实际上是检查可使用的解析器.下面就介绍一些常用的解析器以及安装
Gurobi/CPLEX:Gurobi和CPLEX适用的范围差不多,所以上只要装一个就行.性能的话还是CPLEX会好一点(毕竟IBM,但差别不大),两者都有针对学术的免费版本,CPLEX学术版本的获取需要以教师身份注册,而Gurobi是需要教育网IP验证.同时Gurobi还有免费的社区版本(半年).各版本的区别都在于支持的变量数上,然而Gurobi的社区版本个人以为完全可以满足国赛的需要了(超了那个数量自己想想思路有没有问题).

基本使用

1、设未知量
x = sdpvar(n,m); %生成a行b列的未知量
之前也说过YALMIP的未知量有3中类型.分别为
sdpvar %实型
intvar %整型
binvar %0-1型
需要混合规划多设几个变量就行了
2、约束条件
e.g.F = [-2 <= x <= 2];
3、写目标函数
obj = x(1)^2+x(2)^2;
4、求解
optimize(F,obj[,options]);
F为约束,obj为目标函数(默认求最小值),options可选择求解器,改变输出方式,如:
optimize(F,obj,sdpsettings('solver','gurobi','verbose',2));
指定solver为Gurobi,不打印解析过程
5、获取结果
opt=value(x); %x的值

具体案例

求 x^2+y^2在x,y∈[-2,2]上的最小值.
%生成2*1的矩阵变量
x = sdpvar(2,1);
%限制条件
F = [-2 <= x <= 2];
%目标函数
obj = x(1)^2+x(2)^2;
%求解
optimize(F,obj);
%取得值以及对应的x的值
optobj = value(obj)
optx = value(x)
结果如下(我的gurobi过期了,以下为MATLAB自带求解器结果)
optobj =
   1.5449e-43
optx =
   1.0e-21 *
    0.2779    0.2779
展开更多

软件截图

扫描二维码,手机下载APP

软件下载站本地下载

相关文章