控制算法的划分(自适应控制、预测控制、模糊控制等,PID等;蚁群算法、神经网络,还有机器学习、人工智能中的很多方法)
一般来说,控制器的设计,分为控制框架的选取,跟参数的优化。自适应控制、预测控制、模糊控制等,跟PID一样,是控制算法(我习惯称为控制框架)。
而粒子群、遗传算法(类似的还有蚁群算法、神经网络,还有机器学习、人工智能中的很多方法)是优化方法,本来跟控制没关系,只不过有时被拿来参数优化,本来就不是为控制器设计而发明的,只不过是在确定了控制框架之后,控制器的设计问题,转为一个优化问题。于是就用优化算法来解,问题是物理意义不明确,很难调出好效果,很多时候只是组合组合发论文,即使能用,也对模型的精度,以及优化指标的选取,要求很高。
这些所谓智能算法,其实只是优化算法,原本跟控制无关,只不过用来优化参数。在很多基于模型的控制器设计优化中,关键在于模型的精度跟优化指标,优化方法反而不那么重要。遗传、遗群、模拟退火、粒子群,都是为了发论文而组合的。话说回来,调不好,到底是方法本身的限制,不能用在这个问题上,还是自己没调好,谁都不知道。但一般很少听说这些优化算法,或者最近兴起的机器学习方法如神经网络等,在实际控制中有较典型的应用的。
其次,这些控制算法,都有实际的应用,但都不是用之天下而皆准。
- 像模糊控制、预测控制一般用于过程控制中的温度控制啥的。模型不太准确,噪声大,不能model的不确定性大;而控制要求更注重于稳态性能,比如variance较小。模糊控制在比如电饭煲、洗衣机什么的中有很多应用。
- 相比之下,预测控制(模型预测控制)的应用更广,特别是多入多出、有约束的,比如很多化工厂、发电厂什么的。很多国际上的大企业如壳牌都在用。更详细的说,一般底层用PID,处理单个plant动态的性能。PID上面用预测控制,把所有plants连起来考虑,同时考虑约束。预测控制更注重于整个系统的稳态性能。
- 而自适应控制、最优控制什么的,更多的用于模型较精确的比如航天、卫星、机器人、无人机的运动控制,跟电机马达挂钩的。控制要求更注重于动态性能,比如给你一个指令,你跟上的速度怎么样啥的。自适应控制则在一些航天飞船等要求更高的场合中有应用。
至于控制算法在电网中的应用,接触的不多,不敢说什么样的能用,什么样的不能用。企业用电侧优化控制,我也是一窍不通。但我刚开始学控制算法,也是看着这么多算法,理不清头绪。但我常寻找一些前辈,首先要在实际中摸爬滚打过的,同时有一定理论深度的,向他们取经。单纯懂理论的,往往钻入数学,控制的最多不过是matlab中的所谓plant。只懂工程的,则往往对理论中的一些好东西熟视无睹,而好的理论是磨刀不费砍柴工的。
但如果你能提供更详细的背景资料,也许我能回答得有针对性。现在我只能泛泛回答,因为怕做出错误引导。
链接:https://www.zhihu.com/question/22020678/answer/24399118
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
控制算法的划分(自适应控制、预测控制、模糊控制等,PID等;蚁群算法、神经网络,还有机器学习、人工智能中的很多方法)的更多相关文章
- PID控制算法的C语言实现十 专家PID与模糊PID的C语言实现
本节是PID控制算法的C语言实现系列的最后一节,前面8节中,已经分别从PID的实现到深入的过程进行了一个简要的讲解,从前面的讲解中不难看出,PID的控制思想非常简单,其主要问题点和难点在于比例.积分. ...
- PID控制及整定算法
一.PID控制算法 PID是比例.积分.微分的简称,PID控制的难点不是编程,而是控制器的参数整定.参数整定的关键是正确地理解各参数的物理意义,PID 控制的原理可以用人对炉温的手动控制来理解.阅读本 ...
- 怎样加快master数据库的写操作?分表原则!将表水平划分!或者添加写数据库的集群
1.怎样加快master数据库的写操作?分表原则!将表水平划分!减少表的锁定时间!!! 或者或者添加写数据库的集群!!!或者添加写数据库的集群!!! 2.既然分表了,就一定要注意分表的规则!要在代码层 ...
- 蚁群算法和简要matlab来源
1 蚁群算法原理 从1991由意大利学者 M. Dorigo,V. Maniezzo 和 A. Colorni 通过模拟蚁群觅食行为提出了一种基于群体的模拟进化算法--蚁群优化.极大关注,蚁群算法的特 ...
- PID应用详解
PID应用详解 阅读目录 1.PID介绍及原理2.常用四轴的两种PID算法讲解(单环PID.串级PID)3.常用PID算法的C语言实现5.常用的四轴飞行器PID算法 PID介绍及原理 PID介绍 在工 ...
- 基于改进人工蜂群算法的K均值聚类算法(附MATLAB版源代码)
其实一直以来也没有准备在园子里发这样的文章,相对来说,算法改进放在园子里还是会稍稍显得格格不入.但是最近邮箱收到的几封邮件让我觉得有必要通过我的博客把过去做过的东西分享出去更给更多需要的人.从论文刊登 ...
- NLP&数据挖掘基础知识
Basis(基础): SSE(Sum of Squared Error, 平方误差和) SAE(Sum of Absolute Error, 绝对误差和) SRE(Sum of Relative Er ...
- 十一个行为模式之模板方法模式(Template Method Pattern)
定义: 定义一个操作中算法的框架,并且将一部分操作延迟到子类当中.使得子类可以不改变一个算法的结构即可重新定义算法步骤. 结构图: AbstractClass:抽象方法类,定义了一些基本操作,这些操作 ...
- C语言实现粒子群算法(PSO)一
最近在温习C语言,看的书是<C primer Plus>,忽然想起来以前在参加数学建模的时候,用过的一些智能算法,比如遗传算法.粒子群算法.蚁群算法等等.当时是使用MATLAB来实现的,而 ...
随机推荐
- Linux Shell脚本_关闭防火墙
转至:https://blog.csdn.net/weixin_40816738/article/details/105244851 ① 脚本编写创建脚本 vim closeFirewall.sh 添 ...
- Qt:QDir
0.说明 QDir提供了访问目录及目录下内容的类. QDir既可以用于访问文件系统,也可以用于访问Qt 资源系统(Qt's resource system.). Qt用 "/" 作 ...
- Qt:QNetworkAccessManager
0.说明 QNetworkAccessManager允许应用发送Request并接受回应. 网络访问API是围绕一个QNetworkAccessManager对象构建的,该对象保留了所有它发送的请求的 ...
- 进程&线程(二):Thread相关方法与属性
学习自:python进程.线程.协程 - 张岩林 - 博客园 1.threading.Thread Thread方法 方法(使用方法为Thread.xxx) 说明 start() 激活线程 getNa ...
- c/c++ 常见字符串处理函数总结 strlen/sizeof strcpy/memcpy/strncpy strcat/strncat strcmp/strncmp sprintf/sscanf strtok/split/getline atoi/atof/atol
这里总结工作中经常用到的一些c/c++的字符串处理方法,标黑的是使用频率较高的 1.strlen函数:计算目标字符串长度, 格式:strlen(字符指针指向区域) 注意1:①不包含字符串结束 ...
- Thymeleaf将字符串转换为数字
Thymeleaf将字符串转换为数字 Thymeleaf将字符串转换为数字!近期努力敲代码的时候遇到一个问题,某个字段在后端使用的是String存储,但是前端thymeleaf模板需要使用这个字段做数 ...
- 四、Java基础
Java基础 在开始学习Java基础之前,我们先来学习一下IDEA 打开IDEA,新建一个项目(New Project),选择空项目(Empty Project),填写项目名(Project name ...
- Linux-本地日志服务管理(rsyslog基础)
目录 系统环境 1.常见的两种日志管理服务 1.1 RSYSLOG系统日志服务 1.2 ELK 2.RSYSLOG日志服务的相关知识 2.1 RSYSLOG日志消息级别 2.2 RSYSLOG日志服务 ...
- vue3-组件中使用setup函数获取vuex中的数据的新方式
传统方式 setup() { const store = useStore() //传统方式 const aName = computed(() => store.state.name) ret ...
- 说说如何安装 Openfire
Openfire 是一个基于 XMPP 协议的 IM 服务框架.这里我们来说一说如何安装它. 1 下载 zip 安装包 首先下载 Openfire 安装包,下载路径为:http://www.ignit ...