当前课程知识点:自动化专业概论 > 第三章 自动控制理论基础 > 第七节 最优化理论及方法 > 最优化理论及方法
现在是第十一讲
最优化理论与方法
在上一讲里边
我们已经给出来
用经验公式的方法
来优化控制器的参数
但是经验公式
毕竟是经验公式
它不一定满足控制系统的
所有品质指标
在这一讲当中
我们会给出几种优化策略
每一种优化策略
都会使我们的目标函数
达到它的极值点
现在先来看一下
我们的寻优过程
假如一个盲人在爬山
他的起始点在这里
他要爬到山顶
因为他是盲人
他不知道方向
但是他可以试着往前爬
经过若干步以后
他就会走到终点
这个位置就是
我们所求的最优点
那么他的行进过程
是怎么样形成的呢
他的起始点在X(K)
要向前迈一步
这一步的方向
和步长称为ΔX(K)
那么X(K)加ΔX(K)
就是他迈出一步以后的点
在这一点上
他再继续往前迈一步
又在这个基础上
又加了一个ΔX(K)
最后
达到了终点
所以说
ΔX(K)里头含两个内容
一是他的步长
我们用η来表达
二就是他的方向
我们用P来表达
那么我们寻优的过程
就是通过计算机来求解
这个差分方程
使得目标函数达到极值
我们讲一种最简单的方法
叫做穷举法
我们还是拿盲人爬山来形容
盲人往山上爬的时候
步长我能控制
这个方向怎么办
假想你有足够的体力
你就把山上的
每一个点你都走一遍
然后比较哪一点是最高
那么这就是你的所求
前提条件
是你有足够的体力
对计算机来讲呢
那就是要有足够的计算能力
现在的计算机速度足够地快
在一个参数到三个参数
寻优过程当中
完全可以使用穷举法来做
比如说我们要寻找一个
变量的最优值
其实我们是在一维空间内搜索
也就是说在一个线段上
我们找一百个点
然后比较这一百个点
哪一个目标函数最大或者最小
我们就能找到它的极值
如果变成了
二维还是在一个方向上
找一百个点
那么两个方向相交点
那就是一百乘一百
就是一万点
同理
三维的话呢
那就是一百万点
四维就变成了一亿点
这种指数增长没有
计算机速度足够地快
是实现不了的
所以说呢在低维空间
我们是可以这样用穷举法的
看一个实例
它的差分方程
中间方程和输入方程
都列显在这
它的仿真程序在后面
如果我用穷举法
优化的时候
我怎么做呢
先写出穷举法优化主程序
在寻优主程序当中
无论哪一个变量
你都必须给出
它的一个优化区间
同时还要给出它优化的
步长是多少
当然你需要越精确
那么步长就应该越小
比如对于δ来讲
它的下限是0.5
上限是2
对Ti来讲
它的下限是20
上限是150
因为这两个变量
它的区间不一样
所以说步长也应该是不相通的
对于δ来讲
我的步长我取0.05
对于Ti来讲
步长我可以取1
那么你可能要问我
它的区间你是怎样选择的
我们最初可以利用
经验公式
给出一个初始的参数
然后再在这个参数两边
我去给出它们的一个优化区间
那么寻优的时候就好办了
用两个循环就可以
第一个循环可以是
δ这个循环
第二个循环可以是Ti的循环
然后找到了一个最小值
我就把它存起来
把这个参数也存起来
最后显示出来即可
这个程序非常简单
只要把区间一改变
照样可以使用
我们再来看子程序
刚才我们写的程序
他是一个独立运行的程序
现在我们要把它变成子程序
为什么要变成子程序
因为我多次要计算目标函数
所以说
每次都到这个子程序当中来
这样我就会把原来的这个程序
更换几行就可以了
第一个要更换的
把原来的clear all
那是清除变量的初始值
把它改成函数function
我们可以看一下Matlab书上
它里头所规定的格式
第二个我们要做的是
把δ和Ti的赋值语句
给它清掉
因为这个函数
每一次运行的时候
是不同的
它是子程序
由主程序带过来
我们再插入一个语句
把我们的目标函数写在这里
把最后的绘图语句给删除
这样的一个程序
一改造就可以作为寻优子程序
通过经验公式法
得到的结果
是这样一条曲线
用穷举法优化的结果是
这样一条曲线
如果对控制器的输出进行限幅
那么应该是这样一条曲线
我们再来看控制器的输出
这三种情况下它
控制器的输出有什么不同
由经验公式得到的控制器的输出最大
如果对控制器的输出不限幅
就进行寻优
得到的曲线
略微低于经验公式的
如果对控制器的输出
进行限幅
那么应该是这个曲线
它是最小的
那哪一个最好呢
如果不考虑调节速度的话
对控制器的输出进行限幅
这个曲线是最好的
我可以拿到现场当中去应用
但是如果你认为
这样的调节速度比较慢
你调节器的输出可以更大一些
那么这个时候
我就会选择第二条曲线
控制器的输出
不限幅时候的优化结果
经验公式好不好
相比之下
经验公式是最差的
因为它的超调量最大
不满足小于20%
上升时间和过渡过程时间
也不比另外两种情况下好
下面我们来讲
目前最流行的优化算法
我们称它为群体智能
所谓群体智能就是生物
单个个体表现不出来的智能
但是一旦形成一个群体
它就具有某种智慧
比如鸟群
但是从我们数学上
我们不能叫鸟群
我们叫做粒子
比如鸟群去寻找食物
我们来看这幅图
食物源在这个位置上
一群鸟从这边往这边飞
每一只鸟都有它自己的轨迹
它的向前飞的公式
和盲人爬山的公式
是一样的
就是这两个公式
但是这里边的方向和步长
我怎么来确定
经过多年的研究
这样一个公式
可以用于描述
鸟向前飞行的过程
我们看看这个公式的物理意义
当某一只鸟从X(K)的位置
向前飞一步的时候
这一步叫做ΔX
它含步长和方向
那么ΔX
又等于什么呢
它等于原来上一步我的步长
上一步的步长是
ΔX(K)
现在的步长是
ΔX(K+1)
但是我不能按照
我上一个步长
现在再往前飞
那样的话没有什么智能了
我呢把上一步的我忘却一些
我就乘以一个ω
这个ω叫做遗忘因子
它的目的是忘掉上次向前迈的一部分
我们还要和谁比
和它自己所行进的过程当中
哪一点离食物源最近
就向这一个点去靠拢
就是这个式子
Xibest这只鸟
它所经历的路线当中
最好的那一点
减去当前这一点
就向这一点靠拢
那么我们和这一点叫做
学习因子
它向谁学的
向自己学的
学习因子我们叫做C1
那C1肯定要选择大于1
可是这样做
合理不合理呢
就怕你选择的有错误
我再乘以一个随机数R1
R1是从0到1的随机数
光向自己学习不行
没有体现出来
群体智慧的这样的一种思想
所以说我要向我们团队的
其他人学习
在这个鸟群当中
谁过去离食物最近
我就找到那样一点
我向它去靠拢
所以说我们用Xgbest
来表达所有鸟
过去离食物最近的那一点
我让这只鸟
向这样一点靠近
然后乘以一个学习因子C2
也是为了怕我选择的
C2不大合适
所以说再乘以一个随机数
就构成这样一个式子
把这样一个差分方程
写出程序来
就叫做粒子群算法
同样的道理
还有一些生物
也可以表现出来群体智能
比如蚂蚁
假如有一群蚂蚁
从这个洞穴出发
去寻找食物
蚂蚁交换信息
是通过它的外激素
当蚂蚁走到食物源以后
它要回到洞穴的时候
它怎么办
回来的路
它要根据它所留到路上的
外激素的多少
来选择回来的路径
比如上面这条路径
是比较短的
下面这条路径是比较长的
一群蚂蚁同时出发
比如有10只蚂蚁从上面出发
下面也有10只蚂蚁从下面出发
上面的蚂蚁用了
10分钟跑到食物源
它返程的时候
因为下面还没有外激素
所以说它返回的路径
还是上面这条路径
而另外10只蚂蚁
用了20分钟才
找到了食物源
它返回的时候是
从上面走还是从下面走呢
我们看一下
上面那条路
蚂蚁过来
有10只
回去又有10只
所以说就有20只蚂蚁
留下了外激素
而下面这条路线
才有10只蚂蚁过来
它往回走的时候
它找这个外激素
最多的地方前进
所以说它也就顺着
上面这条路去行走
最终所有的蚂蚁
都从上面这条路来回地行走
这个就是蚁群
我们把它变成一个数学式子
进行求解
就是一种优化算法
还有一种群体就是人
我们知道生物进化三原因
就是遗传变异选择与淘汰
我们可以把人类优化的过程
把它变成数学式子
然后进行求解
就可以得到我们的自由解
这幅图描述了
生物进化的全过程
第一步是选择初始种群
初始种群的选择一定要有多样性
俩俩配对配对完了以后
进行交配
从数学上讲我们叫做
交叉操作
交叉操作完了以后形成新的个体
这些个体只是遗传了父代
这样没有进化
我们呢还必须得对他进行变异
完了以后形成了新的个体
至下一代
我们想象一下
我们人类走到了今天
共计走了多少代
可是近年的进化越来越快
人类越来越聪明
我们从我们的科技成果
就能看到这一点
过去好像进化比较慢
所以说这种进化算法
是不是符合实际情况
我们并不知道
并不能代表我们人类
就是这么过来的
所以说这只是一种
数学算法而已
-第一节 绪论
--绪论
--1.1 课件
--第一节 绪论--作业
-第一节 自动控制系统基本结构
--2.1课件
-第二节 闭环控制系统的稳定性概念
--2.2课件
-第三节 闭环控制系统的品质指标及自动控制系统设计任务
--2.3课件
-习题--作业
-第一节 控制系统的数学模型——差分方程模型
--差分方程模型
--3.1课件
-第二节 控制系统的数学模型——微分方程模型与传递函数模型
--3.2课件
-第三节 控制系统的数学模型——方框图模型及状态方程模型
--3.3课件
-第四节 PID控制策略
--PID控制策略
--3.4课件
-第五节 微分方程的数值解
--微分方程的数值解
--3.5课件
-第六节 目标函数设计
--目标函数设计
--3.6课件
-第七节 最优化理论及方法
--最优化理论及方法
--3.7课件
-习题--作业
-第一节 建立被控对象的数学模型
--4.1课件
-第二节 自动控制系统结构设计(1)
--4.2课件
-第三节 自动控制系统结构设计(2)
--4.3课件
-第四节 自动控制系统结构设计(3)
--4.4课件
-习题--作业
-第一节 先进控制策略
--先进控制策略
--5.1课件
-习题--作业
-第一节 自动化装备的技术支撑
--6.1课件
-第二节 检测理论及方法——检测仪表
--6.2课件
-第三节 控制装置与系统——模拟、数字控制仪表及PLC
--6.3课件
-第四节 控制装置与系统——DCS、FCS
--6.4课件
-习题--作业
-第一节 信息化技术
--信息化技术
-第二节 虚拟现实技术
--虚拟现实技术
-习题--作业
-期末考试--期末考试