当前课程知识点:自动化专业概论 >  第三章 自动控制理论基础 >  第七节 最优化理论及方法 >  最优化理论及方法

返回《自动化专业概论》慕课在线视频课程列表

最优化理论及方法在线视频

最优化理论及方法

下一节:3.7课件

返回《自动化专业概论》慕课在线视频列表

最优化理论及方法课程教案、知识点、字幕

现在是第十一讲

最优化理论与方法

在上一讲里边

我们已经给出来

用经验公式的方法

来优化控制器的参数

但是经验公式

毕竟是经验公式

它不一定满足控制系统的

所有品质指标

在这一讲当中

我们会给出几种优化策略

每一种优化策略

都会使我们的目标函数

达到它的极值点

现在先来看一下

我们的寻优过程

假如一个盲人在爬山

他的起始点在这里

他要爬到山顶

因为他是盲人

他不知道方向

但是他可以试着往前爬

经过若干步以后

他就会走到终点

这个位置就是

我们所求的最优点

那么他的行进过程

是怎么样形成的呢

他的起始点在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)

--自动控制系统结构设计(1)

--4.2课件

-第三节 自动控制系统结构设计(2)

--自动控制系统结构设计(2)

--4.3课件

-第四节 自动控制系统结构设计(3)

--自动控制系统结构设计(3)

--4.4课件

-习题--作业

第五章 先进控制策略

-第一节 先进控制策略

--先进控制策略

--5.1课件

-习题--作业

第六章 自动控制设备与装置

-第一节 自动化装备的技术支撑

--自动化装备的技术支撑

--6.1课件

-第二节 检测理论及方法——检测仪表

--检测理论及方法——检测仪表

--6.2课件

-第三节 控制装置与系统——模拟、数字控制仪表及PLC

--控制装置与系统——模拟、数字控制仪表及PLC

--6.3课件

-第四节 控制装置与系统——DCS、FCS

--控制装置与系统——DCS、FCS

--6.4课件

-习题--作业

第七章 自动化技术的新发展

-第一节 信息化技术

--信息化技术

-第二节 虚拟现实技术

--虚拟现实技术

-习题--作业

期末考试

-期末考试--期末考试

最优化理论及方法笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。