控制算法的划分(自适应控制、预测控制、模糊控制等,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来实现的,而 ...
随机推荐
- idea教程--使用mave创建普通java项目
1.点击箭头所示的"Create New Project"选项 2.勾选图示所示的"Create From Archetype"复选框,在下面的下拉选项中我们选 ...
- Vue 源码解读(11)—— render helper
前言 上一篇文章 Vue 源码解读(10)-- 编译器 之 生成渲染函数 最后讲到组件更新时,需要先执行编译器生成的渲染函数得到组件的 vnode. 渲染函数之所以能生成 vnode 是通过其中的 _ ...
- Comparator.comparing排序使用示例
Comparator.comparing排序使用示例 目录 Comparator.comparing排序使用示例 背景 实体类 示例一 示例二 背景 以前常用的排序方式是通过实现Comparator接 ...
- LeetCode-046-全排列
全排列 题目描述:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例说明请见LeetCode官网. 来源:力扣(LeetCode) 链接:http ...
- 服务端&客户端注册进Eureka
目录 服务端(接口提供方) 创建项目 导入Eureka客户端POM 启动类添加注解 配置YML 暴漏接口 启动服务 集群 配置成功后页面如下 客户端(接口调用方) 修改Yml文件 配置类 启动类添加注 ...
- laravel json封装
目录文件下新建一个BaseConttoller控制器 <?php namespace App\Http\Controllers\Task\Task13; use App\Http\Control ...
- laravel 框架资源路由
- Goland 时间转换的那些事
Goland 时间转换的那些事 在项目的开发过程中遇到的一个很有意思的时间转换问题 例子 假设有一个需求,是从数据库获取到了一个时间,然后需要把时间延后一天,再返回时间戳 得到伪代码 t := &qu ...
- Swagger 接口文档
目录 Swagger 介绍 Swagger 依赖 SpringBoot 集成 Swagger 配置类 常用注解 效果示例 Swagger 介绍 Swagger UI 允许任何人(无论是开发团队还是最终 ...
- SP2940题解
啃论文的时候论文里面的题. 题意: 区间加 询问区间前缀和之和的最值. 我们先弱化一下问题:将"区间"二字去掉. 我们思考一下一个点可能成为答案的条件.假设现在总共进行的区间加操作 ...