nicolef 发表于 2008-4-27 21:36

请教:神经网络、遗传算法matlab实现

最近在做先进控制方法的研究,主要是用神经网络、遗传算法优化模糊控制,进而优化PID控制系统。看了能够很多相关文献,理论基本弄明白了,可是对如何用matlab的工具箱和相关函数实现,感觉不是很明确,希望有做过这个方面的前辈给予指点,不胜感激

yf2002043227 发表于 2008-4-29 09:17

为什么要先优化模糊控制,再进而优化PID参数??
这样不是很麻烦啊,直接优化PID参数不就行了吗,比如遗传算法优化PID是可以得到最有参数的,这样不是很好吗。你那样做的效果肯定不会比我说的直接优化得到的效果好
现在工业实际中要求算法简单,这样复杂的算法在实际中没有用处的

[ 本帖最后由 eight 于 2008-4-29 10:18 编辑 ]

nicolef 发表于 2008-4-29 12:06

回复 2楼 的帖子

模糊控制的规则通常为经验所得,所以想到用这些学习性的算法来优化,实现自适应控制,这样复杂的算法在实际中可能没有太大用处,但是理论上感觉应该还是可行的吧
另外,你提到的了直接用遗传算法优化PID,我这里有一篇文章显示的控制效果确实很好,可是我不太明白他具体是怎么实现的?直接把优化得到的PID参数代入模型吗?好像不是文中的效果啊。本想把文章放在附件中,可是不支持caj和pdf格式,没法上传,方便的话,留下个邮箱,我发给你,非常感谢

yf2002043227 发表于 2008-4-29 13:03

yf2002043227@163.com
遗传算法优化PID,包括混沌寻优算法等,这些算法的原理基本上都是类似的
首先应该定义一个目标函数,这个目标函数如何定义最好很多文献上都有
然后将PID的三个参数作为寻优的对象,当上述目标函数值达到要求时(小于某个数值)就可以停止寻优

nicolef 发表于 2008-4-29 13:46

回复 4楼 的帖子

我已经把文章发过去了,麻烦你查收:@)

yf2002043227 发表于 2008-4-29 16:40

那篇文章我看过了,很多人都写过这种文章,具体实现的过程可以参考相关文献,这里我只是简单介绍一下,不知道说得对不对:
首先应该设定PID三个参数的初值。
利用遗传算法进行迭代寻优,这个过程中要用到那个系统,适应度函数的选取肯定和系统的某个量有关(比如系统的偏差的和+超调量),这样就是向着系统偏差和+超调减小的方向寻优(只是打个比方)
最后系统仿真的图像确实就是你说的将最后优化的PID参数带入系统,进行仿真

[ 本帖最后由 yf2002043227 于 2008-4-29 16:42 编辑 ]

nicolef 发表于 2008-4-29 20:11

谢谢!适应度函数我已经编好了,现在的问题是优化的参数跟文中不一致,可能是因为演化函数的选择,我用的是单一的,而文中说“演化函数均取组合型函数,具体如下:交叉函数arithXover,heuristicXover,simpleXover;变异函数为boundaryMutation,multiNonUnifMutation, nonUnifMutation, unifMutation”,我不知道怎么在程序中怎么实现组合型函数? 顺便把我的程序传上来

wth181897853 发表于 2011-8-15 11:03

我也是研究这个的,希望能与你交流交流。邮箱181897853@qq.com
页: [1]
查看完整版本: 请教:神经网络、遗传算法matlab实现