每个软件都有自己的优缺点. Lingo是老牌的优化软件,知名度自然是远胜于1stOpt,虽如此, Lingo却也有诸多方面赶不上1stOpt:
1: 输入方便程度, 1stOpt比Lingo更直观,易懂
2: 非线性拟合,说穿了,也是一优化问题(最小二乘), 1stOpt更胜一筹.
3: 全局优化能力,1stOpt更强一些,看下面简单的例子:
Max (x1^2-10*x1)+(x2^2-10*x2)...+(x20^2-10*x20)
变量的取值范围均在(2,20)之间
此题很简单,最优值直接能看出来: 20个变量均为20时,得最大值4000
用Lingo算算,最大值为-304,变量值为(2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2),即使用选项"Use Global Solver",结果没任何改进,计算时间,超过5分钟也没停止得意思.
用1stOpt,选用差分进化或爬山,很容易得最大值4000
4: Lingo有自己的模型语言,但在描述复杂工程问题时,却是力不从心,既不直观,也不方便使用;而1stOpt可直接用Basic或Pascal语言直接来描述问题,易懂,直观,计算速度也快
5: 1stOpt的每一个代码本可混合写多个问题, Lingo则只能一个问题一个代码本,一句话的问题,也占一个文件,有时很不方便
6: 优化计算完毕后,在验证,预测及图形显示等方面,Lingo也不如1stOpt来的快捷方便. |