MATLAB版本:MATLAB2016a
YALMIP下载链接
https://github.com/yalmip/YALMIP
在IBM的官网上下载cplex的安装包
下载地址:https://www.ibm.com/analytics/cplex-optimizer
其中community-edition可以免费试用,但最多只能计算1000个变量或1000个约束条件的优化问题。而扩展版则需要购买
我使用的版本以及下载庐江:cplex_studio126.win-x86-64.exe
https://www.aliyundrive.com/s/S6tVz9T4BVc 提取码: 58lu
YALMIP工具箱的安装:
YALMIP工具箱解压后的文件

将上面全部文件复制到MATLAB2016a的安装目录的toolbox中
我的安装路径为:E:\ruanjian\matlab2016a\toolbox,MATLAB的安装路径因人而异,需要按照自己的路径调整
打开MATLAB,将该文件夹及子文件夹添加到MATLAB的路径中
MATLAB命令行窗口输入 yalmiptest 回车 查看是否安装成功
输出上述结果表示工具箱安装成功
cplex安装:
管理员运行cplex_studio126.win-x86-64.exe安装CPLEX软件,将其安装目录里面的matlab文件夹(包括子文件夹)添加到MATLAB2016a的路径中(set path),路径如:E:\ruanjian\CPLEX12.6.0.0\cplex\matlab;
MATLAB命令行窗口输入 yalmiptest 回车
查看 yalmip 中CPLEX12.6.0优化器是可以找到。
注:如果CPLEX12.6.0优化器没有找到,直接卸载(如果卸载不了,直接文件夹强制删除),然后右键,属性,选择兼容性,选择Windows 7兼容运行该软件,然后管理员身份运行。
测试:
clc
clear
%定义变量
x=sdpvar(2,1);
%目标函数
obj=x(1) + 3*x(2);
%约束条件
constraint=[];
constraint=[constraint,x(1)+x(2)>=10];
constraint=[constraint,x(1)>=0];
constraint=[constraint,2*x(1)+x(2)<=15];
constraint=[constraint,x(2)>=0];
%求解
ops = sdpsettings('solver','cplex','verbose',1);
disp('开始求解')
diagnostics=optimize(constraint,obj,ops);
结果
x=5;y=5
最小值为5+3*5=20。