24小时热门版块排行榜    

查看: 2853  |  回复: 7

xiaoxuan1111

铁杆木虫 (正式写手)

[求助] 用fortran程序遗传算法解非线性方程组 已有1人参与

一个复杂的六元非线性方程组,用牛顿迭代法因找不到好的初值,我就用fortran编了个遗传算法求解,可是该算法收敛速度太慢,解一次平均得花40秒才收敛,而求解方程组只是整个程序的一小部分,整个程序要解成千上万次方程组,该怎样才能提高收敛速度呢,哦,对了,我一开始用的是二进制编码,后来改为浮点数编码,速度仍然是那么慢,求问怎么办呢?
在找不到好的初始值情况下,fortran解非线性方程组还有其他方法么?谢谢各位……
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

你想要什么,如何得到想要的,现在应该怎么做?
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

SEEDEN

银虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
2楼2013-05-16 23:10:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

onesupeng

金虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
什么样子的方程贴出来瞄一眼嘛,应该有很多办法求解的吧。。。
长期招收博士生,参见http://fsl-unsw.com
3楼2013-05-17 03:02:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoxuan1111

铁杆木虫 (正式写手)

引用回帖:
2楼: Originally posted by SEEDEN at 2013-05-16 23:10:34
http://muchong.com/bbs/viewthread.php?tid=4595014
可以参考下这个帖子

牛顿下山法对初值依赖性强么?我这个找不到好的初值……
你想要什么,如何得到想要的,现在应该怎么做?
4楼2013-05-17 08:28:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaoxuan1111

铁杆木虫 (正式写手)

引用回帖:
3楼: Originally posted by onesupeng at 2013-05-17 03:02:35
什么样子的方程贴出来瞄一眼嘛,应该有很多办法求解的吧。。。

如图,方程是最后6个式子让y1到y6等于0即可,a12,a13,a23,n1,n2,n3,r,t已知,成千上万个方程就是由这些参数变化产生的,n11,n12,n13,n22,n23,n33是未知数,我现在倒是能解,但是速度太慢,改变a12,a13,a23,n1,n2,n3,t等可变参数,解出来快的可以7秒,慢的却需要40多秒,平均下来也得二三十秒一个

捕获1.JPG

你想要什么,如何得到想要的,现在应该怎么做?
5楼2013-05-17 08:39:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

★ ★
xiaoxuan1111: 金币+2, 有帮助, 两种算法相结合我倒也想过,不过没有尝试行不行,抽空试一下,谢谢了 2013-05-23 14:35:41
此事与Fortran无关。不错,Newton法是和初值选取有很大关系。不过,错不在Newton法。Newton法无非就是保证初值在解附近可以迅速收敛。但只要是非线性,就有初值选取问题。而且,没有一般的方法。一般说来,经验最好从应用里来。比如说,可以预选初值,事前检查函数变号,初步确定初值范围。即便这样,也很大程度依赖你对具体问题的经验。

如果是解很多方程,不知解之间是否有一定程度的关联性。我曾有过这样的例子,使用前一方程的解作为下一方程的迭代初值。

6元方程要解40s,这实在是太慢。比如,遗传算法是否可以做为初值选取。算几回不等到收敛就切换到Newton法。
6楼2013-05-23 12:57:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

supervb

铁杆木虫 (文坛精英)

【答案】应助回帖

用Matlab里面的模拟退化算法等优化算法来求近似解吧!这样至少理论上全局收敛。
咱是做非线性随机动力学的哟
7楼2014-03-10 08:05:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

supervb

铁杆木虫 (文坛精英)

引用回帖:
7楼: Originally posted by supervb at 2014-03-10 08:05:22
用Matlab里面的模拟退化算法等优化算法来求近似解吧!这样至少理论上全局收敛。

“模拟退火”(最近输入法总跳错词啊!)
咱是做非线性随机动力学的哟
8楼2014-03-10 08:06:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiaoxuan1111 的主题更新
信息提示
请填处理意见