lingo与matlab用哪个?matlab能代替lingo吗?非线性规划求解器Lingo,Matlab使用心得

对于非线性规划,Cplex 与Gurobi只支持二次规划(包括凸规划,二阶锥规划,目标函数或约束条件中可以包含二次函数)。若更高次数,或者非凸规划,非二阶锥规划,则需要用其他求解器了。matlab 自带的fmincon可以得到一些可行解,比较专 业常用的求解器有lingo,Mosek 等。

首先说一下这两款~

lingo是专门]处理优化问题的软件,比matlab自带的优化工具箱强大,但功能单一,无法处理别的问题.

lingo与matlab用哪个?matlab能代替lingo吗?非线性规划求解器Lingo,Matlab使用心得_第1张图片

matlab是综合类的工程数学软件,利用其语言和自带命令可以方便地编写处理各种问题的程序包,自带的工具箱涵盖的范围也很丰富.

lingo与matlab用哪个?matlab能代替lingo吗?非线性规划求解器Lingo,Matlab使用心得_第2张图片

两者的关系可以说一个是小而精,一 个是大而全.

 有需要的可以自取:lingo汉化版, matlab汉化版

1. matlab中的fmincon
MATLAB求解非线性规划的算法包括:内点法(interior point algorithm)、信赖域法(trust-region method)、序列二次规划法
(sequential quadratic method)。
这几种方法的核心思想基本都是:将原问题近似为-个凸规划问题求解。

2. lingo
Lingo使用的非线性规划的算法是:广义既约梯度法(general reduced gradient method),顺序线性规划法(sucessive linear
programming method)。
Lingo号称有时能够得到全局最优解。
还有一个类似的软件叫lindo,跟lingo是一家公司, 貌似只能求解线性问题,不过lingo支持python调用,而lingo目前还不支持。


3. lingo的优缺点
对lingo初步使用的心得包括以下几个方面,


优点
●语法简单,容易上手
●通过solver中的options可以方便对求解进行设置
●支持非线性,非凸问题的求解
●国内网上很多学习资料
●对于非线性问题的求解,确实比matlab好(有时候也不一-定)


缺点:
.不能直接定义二维求解变量,需要通过link间接定义
●对大规模问题的支持显然不如cplex,gurobi 等
●对求解过程的调试或控制,没有支持java调用的cplex,或者支持python调用的gurobi方便
 


有需要的可以自取:lingo汉化版, matlab汉化版

你可能感兴趣的:(matlab,动态规划,线性代数,统一建模语言)