ulu 发表于 2008-4-16 12:41

用fsolve解较大型非线性方程组的可行性讨论

我有一个非线性方程组,维数是1000,也不算大,计算时调用fsolve,使用Levenberg-Marquard算法、Gauss-Newton算法,自编Jacobian矩阵并使用大规模算法(信赖域映射牛顿法),再加上随机初值技巧,均不收敛。这个方程组是一定有解的,肯定是算法的问题,如果维数1000的非线性方程组都解决不了,数值算法在工程方面的应用确实有问题,各位高手还有没有高招,不限于这个函数,不限于这个工具。用现代智能优化算法求解之类的建议就不要提了,本人做了10年的现代智能优化算法,这类算法优点和缺点一样明显。

[ 本帖最后由 eight 于 2008-4-16 12:51 编辑 ]

sigma665 发表于 2008-4-16 14:43

1stopt

huqingwan 发表于 2008-4-16 18:13

别说1000维的,就是几百维,如果你对于解一点了解都没有,想随便给初值就收敛,也是异常困难的事情。初值的有效选取一直就是很困难的问题。

dingd 发表于 2008-4-17 08:44

就是几维的有时也很困难啊,看看这个例子:
失之毫厘谬以千里的优化测试题(http://forum.vibunion.com/forum/thread-61983-1-1.html)

虽然是最小优化问题,但等同于一个三维非线性方程组。

huqingwan 发表于 2008-4-17 09:08

请问 dingd 你有没有istopt的手册? 网上下载不到。我的信箱 249864489@qq.com 能给我发一份么?谢谢

ulu 发表于 2008-4-21 19:47

初值问题

如何确定初值确实很困难,看起来也没什么好的办法,不过,对于初值还有一个疑问,请大家帮忙解释。我们知道非线性优化问题大都会使用各种乘子,这些乘子如何取初值?如果使用工具软件,基本上都只需要优化变量的初值,不需要乘子初值。乘子的初值对优化又无影响?如果有影响,工具软件是怎么取的,会不会工具软件自作主张取的乘子初值不当造成不收敛?
页: [1]
查看完整版本: 用fsolve解较大型非线性方程组的可行性讨论