24小时热门版块排行榜    

查看: 1774  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

CarrieQh

银虫 (正式写手)

[求助] 用MATLAB遗传算法GA函数的拟合问题 已有1人参与

问题描述很简单,就是用一个多项式的比值形式来拟合已知的曲线,利用最小二乘法,即(拟合值-真值)^2越小越好。
如果没有任何条件限制,用matlab的很多优化函数都能够求到误差比较小的拟合参数。
但是,由于该问题有限制条件,就是分母多项式等于0时的根的实部要小于0(该问题是复数域的),因此在利用ga计算的时候加入了限制条件,即前面说的分母多项式的根的实部小于0.
这样,问题就来了。
(1)首先,如果要求一定满足以上限制条件,ga函数并不能很快找到误差比较小的拟合参数,也就说,就算算完了,误差也很大。我个人理解是因为它并没有找到全局最优解,而是可能找到了一个极值点而已。本来以为如果增加进化代数可以改善这个问题,可是会导致超过连续代数而使算法终止。我理解这个应该算早熟问题。所以想请假各位大神如何改善这个问题。
(2)通过查阅一些文献,知道遗传-单纯形这种混合算法可以改善遗传算法的早熟问题,所以我尝试了在遗传算法之后对其得到的结果再进行单纯形法的进一步优化,结果有所改善,但是也不理想。
(3)我曾经尝试不管限制条件,直接计算,再从计算出来的结果中选择满足条件的,即不满足条件则一直循环,直到找到符合条件的结果为止。这样,可以得到误差很小的拟合参数,但是计算很慢,因为不知道什么时候才能找到,我上次找到了也是碰巧吧,之后再没有了。。。

不知道贴吧里各位大神遇到我这个问题该如何解决呢?
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

CarrieQh

银虫 (正式写手)

引用回帖:
4楼: Originally posted by dingd at 2015-10-13 21:10:25
优化拟合目前还没有比这个更好的,百度下...

还有,我看了1stOpt的使用手册,但是目前还没想出来我这么复杂的限制条件要怎么表示,在1stOpt一般通过什么方式表达复杂的限制条件呢?
6楼2015-10-14 10:46:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
CarrieQh: 金币+10, ★★★★★最佳答案 2015-10-14 09:22:21
直接换1stOpt,拟合比Matlab好用强大的多
2楼2015-10-13 19:35:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

CarrieQh

银虫 (正式写手)

引用回帖:
2楼: Originally posted by dingd at 2015-10-13 19:35:25
直接换1stOpt,拟合比Matlab好用强大的多

这是什么软件?可以解决我这个问题吗?
3楼2015-10-13 19:43:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

引用回帖:
3楼: Originally posted by CarrieQh at 2015-10-13 19:43:45
这是什么软件?可以解决我这个问题吗?...

优化拟合目前还没有比这个更好的,百度下
4楼2015-10-13 21:10:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见