一、首先需要在IBM的官网上下载cplex的安装包
下载地址:http://www-01.ibm.com/software/websphere/products/optimization/cplex-studio-community-edition/.
其中community-edition可以免费试用,但最多只能计算1000个变量或1000个约束条件的优化问题。而扩展版则需
要购买,价格特别昂贵,貌似不含税也要将近一万美元一年,个人根本负担不起。
二、在matlab菜单栏中找到设置路径(set path)的选项,选择“添加并包含子文件夹”,将cplex安装路径的cplex\matlab这一个文件夹添加进去,如图所示:
验证是否成功,命令窗口输入: doc cplex,若出现帮助文档,则表示路径添加成功。
三、找到CPLEX安装路径中cplex\examles\src文件夹里面的matlab例子
四、在例子基础上修改成自己的问题,运行即可。
Yalimp
在 Matlab 里面编辑 CPLEX 文档,必须使用 matlab 的语法,把模型的系数矩阵用 A, b, f 表示出来。但有时候非常麻烦,并且耗时,这时候可以用一位牛人开发的 yalmip 工具箱,就可以像书写数学模型那样输入方便。
一、首先下载 Yalmip 工具箱。
网址:https://yalmip.github.io/,download 即可。
二、将文件解压,并放到 matlab 程序安装路径中的 toolbox 文件夹下。
三、设置路径。选择“添加并包含子文件夹”,将 yalmip 的路径添加进去,如图所示:
四、测试是否成功: doc yalmip
五、然后就可以用 yalmip的语法编译了。
教程在yalmip官网上有:https://yalmip.github.io/tutorials/
比较好的命令:
sdpvar:实数变量,intvar:整数变量,binvar:0-1变量
check:可以检查约束条件是否被满足(检查约束条件的余值)
value:可以查看变量或表达式的值
assign: 可以给变量赋值,这个命令调试时很重要
options=sdpsettings('solver','cplex'); 设置求解方法为调用 CPLEX
optimize(constraints,f,options); Yalmip求解的命令。