lingo非线性优化问题,目标函数有点复杂
答案:1 悬赏:60 手机版
解决时间 2021-11-19 16:12
- 提问者网友:最爱你的唇
- 2021-11-19 01:06
lingo非线性优化问题,目标函数有点复杂
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-11-19 02:33
model:
sets:
wilson/r1..r7/:x,y;
pre/1/:G1,G2;
link(wilson,pre);
endsets
DATA:
x y= 0.2012 7.04
0.3013 9.19
0.3987 10.61
0.4993 11.11
0.5994 10.32
0.7023 9.51
0.7998 7.3;
V1= 159.53;
V2= 157.13;
T= 298.15;
enddata
min = @sum (link:(y-(1-x)*((x*(V1/V2)*@exp(-(G1/(8.314*T))))/(1-x+x*(V1/V2)*@exp(-(G1/(8.314*T)))))*G1
+x*((1-x)*(V2/V1)*@exp(-(G2/(8.314*T))))/(x+(1-x)*(V2/V1)*@exp(-(G2/(8.314*T))))*G2)^2);
@for(PRE:@free(G1);@free(G2));
@FOR(WILSON:@FREE(X);@FREE(Y));
end
不对那你用global solver解试试 你这种目标函数本来用lingo求最多也就是求个大概 要是什么函数lingo都能求准了那数学就不用做了追问其实我用1stopt算的比较准,但是再复杂点的函数1stopt就算不了了,毕竟用的是盗版。。。正确的是
G1 108.973017425358
G2 -62.8678190350054
在1stopt中,目标函数直接就是y=...就行了,用lingo改成了残差的平方和最小求最小二乘,我想知道是不是我的目标函数设定的问题?追答恐怕不是吧 你看看哪个结果小就知道哪个对了追问我算了下,用正确的答案算的y,和y算为
Y
7.049.1910.6111.1110.329.517.3 Y算
6.989786
9.2063633
10.540812
11.053347
10.675575
9.3485546
7.1984761
用lingo给的答案Y算差很多
0.469584
0.615217
0.700752
0.730897
0.702157
0.611504
0.468414追答你要求的是最小值好不 当然是越小越好了 你看哪个小追问我的目标是Y算和Y尽量相等,接近,1stopt算的非常接近,这么说是我的目标函数设定的问题了?追答没看出你哪写了尽量相等了 你的目标函数是这个吗
sets:
wilson/r1..r7/:x,y;
pre/1/:G1,G2;
link(wilson,pre);
endsets
DATA:
x y= 0.2012 7.04
0.3013 9.19
0.3987 10.61
0.4993 11.11
0.5994 10.32
0.7023 9.51
0.7998 7.3;
V1= 159.53;
V2= 157.13;
T= 298.15;
enddata
min = @sum (link:(y-(1-x)*((x*(V1/V2)*@exp(-(G1/(8.314*T))))/(1-x+x*(V1/V2)*@exp(-(G1/(8.314*T)))))*G1
+x*((1-x)*(V2/V1)*@exp(-(G2/(8.314*T))))/(x+(1-x)*(V2/V1)*@exp(-(G2/(8.314*T))))*G2)^2);
@for(PRE:@free(G1);@free(G2));
@FOR(WILSON:@FREE(X);@FREE(Y));
end
不对那你用global solver解试试 你这种目标函数本来用lingo求最多也就是求个大概 要是什么函数lingo都能求准了那数学就不用做了追问其实我用1stopt算的比较准,但是再复杂点的函数1stopt就算不了了,毕竟用的是盗版。。。正确的是
G1 108.973017425358
G2 -62.8678190350054
在1stopt中,目标函数直接就是y=...就行了,用lingo改成了残差的平方和最小求最小二乘,我想知道是不是我的目标函数设定的问题?追答恐怕不是吧 你看看哪个结果小就知道哪个对了追问我算了下,用正确的答案算的y,和y算为
Y
7.049.1910.6111.1110.329.517.3 Y算
6.989786
9.2063633
10.540812
11.053347
10.675575
9.3485546
7.1984761
用lingo给的答案Y算差很多
0.469584
0.615217
0.700752
0.730897
0.702157
0.611504
0.468414追答你要求的是最小值好不 当然是越小越好了 你看哪个小追问我的目标是Y算和Y尽量相等,接近,1stopt算的非常接近,这么说是我的目标函数设定的问题了?追答没看出你哪写了尽量相等了 你的目标函数是这个吗
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯