全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
16501 7
2014-09-26
lingo 11 非线性求解器设置那里勾选第一个grash initial sol,其它几个选项不选,不管有没有选全局求解器,几乎所有的非线性规划都可以算出最优解,至少我遇到的非线性规划中还没有解不出最优解的,比如这两个模型(参考alexshawn的贴)

MAX=0.5-((@SIN(@SQRT(X1^2+X2^2)))^2-0.5)/(1+0.001*(X1^2+X2^2))^2;
@BND(-10,X1,10);@BND(-10,X2,10);     
全部解,x1=0,x2=0,max=1;


MAX=@SIN(R)/R+1;
R=@SQRT((X-50)^2+(Y-50)^2)+2.71828;
@BND(0,X,100);@BND(0,Y,100);    最优值应在X=50,Y=50处取得
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-9-26 20:32:35
    很好的分享!赞。着实感谢你当初对我就这个用法的启发。
    就该功能而言,其本质还是受限于LINDO API与CONOPT,如果模型高度非线性,或者遇到DLL本身存在的缺陷,问题似乎就要复杂一些了。
    如:
SETS:
P/1..5/;
ENDSETS
MIN=@COS(X1)*@COS(X2)-@SUM(P(J):(-1)^J*J*2*@EXP(-500*((X1-J*2)^2+(X2-J*2)^2)));
@BND(-50,X1,50);@BND(-50,X2,50);

最优解(至少更优解)应为:
ObjValue = -7.97883233;
X1 = 7.9999820;
X2 = 7.9999820;
以图为证:
GraphDescription

截止到当前最新的LINGO 15 Beta,使用其包含的LINDO API 9.0.1889.102以及对应的CONOPT 3.15P,我没有发现如何通过设置参数求得这个结果。一两个月前,我给官方反馈了此事,官方给出的解释是@EXP()函数出现了堆栈下溢(不知我有没有翻译错),看来目前还没有解决,至于具体什么情况,呃......不清楚。
附件列表
jackplot.png

原图尺寸 135.61 KB

GraphDescription

GraphDescription

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-26 20:38:06
   好吧,我错了,LINDO API 9.0.1899.102的Global Solver可以正确求解此题了........
   我就说嘛,怎么API版本号突然从9.0.1733.98跳到了9.0.1899.102,之前记得好像都不能求解。看来官方已经修复了。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-26 23:41:01
不过LINGO从11版起就没有破解版了,如果有的话,就更完美了,不过这个11的平时用也够用了,随机规划一般用不到
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-26 23:42:06
wujianjack2 发表于 2014-9-26 20:38
好吧,我错了,LINDO API 9.0.1899.102的Global Solver可以正确求解此题了........
   我就说嘛,怎么A ...
不过LINGO从11版起就没有破解版了,如果有的话,就更完美了,不过这个11的平时用也够用了,随机规划一般用不到
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-9-27 09:47:27
学习了。。。。。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群