matlab中调用cplex 以及使用 Yalmip 工具箱

一、首先需要在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求解的命令。 

你可能感兴趣的:(Matlab,最优化理论,Cplex/Gurobi)