基于GA的PID参数调整

更新时间:2024-02-27 19:49:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

上海大学毕业设计(论文)

目 录

摘要:------------------------------------------------------------------------------------------------------3 ABSTRACT--------------------------------------------------------------------------------------------------4 第一章 绪论-------------------------------------------------------------------------------------------- 5 1.1 课题研究背景-----------------------------------------------------------------------------------5 1.2 PID参数调整方法综述-----------------------------------------------------------------------6 1.3 本文主要研究内容--------------------------------------------------------------------------- 14 第二章 PID控制及其MATLAB仿真---------------------------------------------------------- 15 2.1 引言---------------------------------------------------------------------------------------------15 2.2 PID控制的基本原理------------------------------------------------------------------------ 15 2.3 模拟PID控制及其MATLAB仿真----------------------------------------------------- -16 2.4 数字PID控制及其MATLAB仿真------------------------------------------------------ 18 2.4.1 位置式PID控制算法------------------------------------------------------------------18 2.4.2 增量式PID控制算法------------------------------------------------------------------19 2.5 小结-------------------------------------------------------------------------------------------- 20 第三章 遗传算法------------------------------------------------------------------------------------22

3.1 引言-------------------------------------------------------------------------------------------- 22 3.2 遗传算法概述-------------------------------------------------------------------------------- 22

3.2.1 遗传算法的发展史-----------------------------------------------------------------------22 3.2.2 遗传算法的概念--------------------------------------------------------------------------24 3.2.3 遗传算法的特点--------------------------------------------------------------------------25 3.2.4 遗传算法的基本用语--------------------------------------------------------------------25 3.1.5 遗传算法的研究方向--------------------------------------------------------------------26 3.3 遗传算法的工作原理------------------------------------------------------------------------27 3.4 遗传算法的模式定理----------------------------------------------------------------------- 33 3.5 小结-------------------------------------------------------------------------------------------- 34 第四章 遗传算法工具箱-------------------------------------------------------------------------- -35 4.1 引言-------------------------------------------------------------------------------------------- 35 4.2 遗传算法工具箱结构------------------------------------------------------------------------35 4.3 遗传算法工具箱通用函数------------------------------------------------------------------37 4.4 小结---------------------------------------------------------------------------------------------43 第五章 基于GA算法参数调整的PID控制系统---------------------------------------------44 5.1 引言-------------------------------------------------------------------------------------------- 44 5.2 基于GA算法参数调整的PID控制系统的结构----------------------------------------44 5.3 基于GA算法参数调整的PID控制系统的仿真----------------------------------------46 5.3.1 基于GA算法参数调整的PID控制系统的具体实现---------------------------46 5.3.2 5.3.2 仿真研究与结果分析---------------------------------------------------------- 49 5.4 小结---------------------------------------------------------------------------------------------51 第六章 总结与展望----------------------------------------------------------------------------------52 6.1 总结---------------------------------------------------------------------------------------------52 6.2 展望---------------------------------------------------------------------------------------------53

1

上海大学毕业设计(论文)

致谢------------------------------------------------------------------------------------------------------54 参考文献------------------------------------------------------------------------------------------------55 附录------------------------------------------------------------------------------------------------------56

2

上海大学毕业设计(论文)

基于GA的PID参数调整

摘要

PID控制已有80余年历史,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。长期以来,PID的三个参数都是专业人员凭经验调整,往往寻不到最优,造成控制系统性能欠佳,以致生产资源的浪费,这迫切要求人们寻求PID参数的自动调整技术。遗传算法(GA)是一种借鉴生物界自然选择和自然遗传学机理上的迭代自适应概率性全局并行搜索算法,它是智能优化算法的重要内容。本文提出了一种基于GA的PID参数调整方法。遗传算法模仿生物进化的步骤,在优化过程中引入了选择,交叉,变异等算子,选择是从父代种群中将适应度较高的个体选择出来,以优化种群;交叉是从种群中随机地抽取一对个体,并随机地选择多位进行交叉,生成新样本,达到增大搜索空间的目的;变异是为了防止选择和交叉丢失重要的遗传信息,它对个体按位进行操作,以提高GA的搜索效率和全局搜索能力。通过适应度函数来确定寻优方向,与其他一些常规整定方法相比,遗传算法比较简便,整定精度较高。本文用GA对PID控制器的参数进行了优化调整,并选取典型的二阶系统模型进行了仿真,实验结果表明该方法的有效性,也表明遗传算法是一种简单高效的寻优算法,与传统的寻优方法相比明显地改善了控制系统的动态性能。

关键词:遗传算法,PID控制器,参数调整

3

上海大学毕业设计(论文)

ABSTRACT

PID control technology has developed for nearly eighty years.It played an important role in industrial production ,especially the positive system with exact mathematical model because it is highly simple,robust and reliable. For a long time,the three parameters of PID controller depend on professionals' experience, which can't help to obtain the best answer and lead to the wasting of resources. This is always urging people to search a technology that help PID controller get the best parameters automatically. genetic algorithm is a kind of natural selection from biological genetics and natural mechanism of the iterative adaptive probabilistic global search algorithm. In this paper, a method of tuning PID controller parameters based on genetic algorithm is introduced. Genetic algorithms imitate the steps of biological evolution, in the optimization process of the introduction of selection, crossover and mutation operators, etc., choose from the parent population will adapt to a higher degree of individual choice in order to optimize the population; cross randomly from the population to collect a pair of individuals, and a number of randomly selected cross, generate new samples, to achieve the purpose of increasing search space; variation is to prevent the loss of choice and cross-important genetic information, carried out by its individual operations, in order to enhance GA's search efficiency and global search ability. Through the fitness function to determine the optimal direction, and setting a number of other conventional methods, genetic algorithm is simple, accurate tuning. In this paper, genetic algorithm is used to tune the PID controller parameters, and a classic system model is selected to be simulated, experimental results show that the method to tune PID controller parameters is effective ,and also shows that the genetic algorithm is a simple and efficient optimization algorithm.Comparing to the traditional optimization methods,GA significantly improved the control system dynamic performance.

Keywords: genetic algorithm, PID controller, parameter tuning, GA

4

上海大学毕业设计(论文)

第一章 绪论

1.1课题研究背景

PID调节器是最早发展起来的控制策略之一,因为它所涉及的设计算法和控制结构都是简单的,并且十分适用于工程应用背景,此外PID控制方案并不要求精确的受控对象的数学模型,且采用PID控制的控制效果一般是比较令人满意的,所以在工业实际应用中,PID调节器是应用最为广泛的一种控制策略,也是历史最久、生命力最强的基本控制方式。调查结果表明在当今使用的控制方式中,PID型占84.5%,优化PID型占6.8%,现代控制型占有1.5%,手动控制型6.6%,人工智能(AI)型占0. 6%。如果把PID型和优化PID型二者加起来则占90%以上,这说明PID控制方式占绝大多数,如果把手动控制型再与上述两种加在一起,则占97. 5%,这说明古典控制占绝大多数。就连科学技术高度发达的日本,PID控制的使用率也高达84.%。这是由于理论分析及实际运行经验已经证明了PID调节器对于相当多的工业过程能够起到较为满足的控制效果。它结构简单、适用面广、鲁棒性强、参数易于调整、在实际中容易被理解和实现、在长期应用中已积累了丰富的经验。特别在工业过程中,由于控制对象的精确数学模型难以建立,系统的参数又经常发生变化,运用现代控制理论分析综合要耗费很大的代价进行模型辨识,但往往不能达到预期的效果,所以不论常规调节仪表还是数字智能仪表都广泛采用这种调节方式。正是PID控制算法具有以上多种优点,所以这种算法仍将在现场控制中居于主导地位。

随着现代控制理论的建立和不断发展完善,对过程控制提出了新的方法和思路,同日寸也由于生产工艺不断地改进提高,对过程控制也提出了高要求。科研人员在不断探索新方法的同时,也对传统的PID控制的改进做了大量的研究。因为PID控制有其固有的优点,使得PID控制在今后仍会大量使用,如何进一步提高PID控制算法的能力或者依据新的现代控制理论来设计PID控制算法是一个非常吸引人的课题。科研人员在这一领域做的工作主要有以下两方面:

①PID参数自整定。由于受控对象存在着大量不可知因素,如随机扰动、

5

上海大学毕业设计(论文)

系统时变、敏感误差等,这些不可知因素的作用常会导致受控对象参数的改变。在一个PID反馈控制回路中,受控对象参数的变化就会造成原来的PID参数控制性能的降低,为了克服这个问题人们提出了PID参数自整定,也就是随着受控对象的变化PID调节器自我调整和重新设定PID参数,科研人员根据古典控制理论和现代控制理论提出了许多种PID参数的在线自整定的方法。至今仍有人在这方面继续作研究。PID参数在线自整定方法比较典型的有改进型Ziegler-Nichols临界比例度法、基于过程模型辨识的参数自整定、基于经验的专家法参数自整定、模糊型PID调节器等。

②PID参数优化。PID参数优化是指依据一定的控制目标和给定的生产过程的模型通过理论计算得到最优的PID参数,PID参数优化在PID控制应用之初人们就开始作了大量研究工作,已经提出了许多种方法,如粒子群优化算法,免疫算法,单纯形法,差分进化算法,神经网络算法,遗传算法等。

本文就是应用遗传算法对柴油机调速系统统的PID参数进行优化,使系统具有更好的性能。

1.2 PID参数调整方法综述

为了更好的完成本论文,我查阅了一些其他调整PID参数的方法。下面我就对这些调整方法做一个简要的综述。

方法一:Ziegler-Nichols设定方法

Ziegler与Nichols(1942)提出了调节PID控制器的参数的经验公式[1],这一调节器可根据带有时滞环节的一阶近似模型的阶跃响应或频率响应数据来设定。假设对象模型为

G(s)?K1?Tse??s

其中一阶响应的特征参数K、T、和?可以由图1-1构成的示意图提取出来,或者已知频率响应数据,即从Nyquist图形上直接得出剪切频率?c和该点处的幅值A(或增益Kc?1/A),由表1-1中的经验公式求取控制器的参数。

6

上海大学毕业设计(论文)

图1-1用作图法确定参数

表1-1 Ziegler-Nichols参数整定算法

控制器 类 型 根据模型设定 根据频率响应设定 Tc?2??c Td ??K?T Kp Ti Kp 0.5Kc 0.4Kc 0.6Kc Ti Td P PI PID 1? 3? 2? 0.8Tc 0.5Tc 0.9? 1.2? ?2 0.12Tc 方法二:临界比例度法

当已知系统的临界比例增益KC和振荡周期TC时,也可以用经验整定公式来确定PID控制器的参数,例如:

?KP?0.6KC? ?TI?0.5TC?T?0.125TC?D特征参数TC和KC,一般由系统整定实验确定,或者用频率特性分析算法根据受控过程G(s)直接算得,即由增益裕量gm确定KC,由相位剪切频率?c确定TC。

2??T??C?C ??K?10(gm?C

20)以上两种传统方法都是根据大量的实验计算或实际工程经验所得到的数据整理汇总所得到的公式而得来的,在实际的工程应用中有很大的弊端。

7

上海大学毕业设计(论文)

方法三:单纯形法

单纯形[2,3]是美国数学家G.B.丹齐克于1947年首先提出来的。它的理论根据是:线性规划问题的可行域是n维向量空间Rn中的多面凸集,其最优值如果存在必在该凸集的某顶点处达到。顶点所对应的可行解称为基本可行解。单纯形法的基本思想是:先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进的基本可行解,再鉴别;若仍不是,则再转换,按此重复进行。因基本可行解的个数有限,故经有限次转换必能得出问题的最优解。如果问题无最优解也可用此法判别。

根据单纯形法的原理,在线性规划问题中,决策变量(控制变量)x1,x2,…xn的值称为一个解,满足所有的约束条件的解称为可行解。使目标函数达到最大值(或最小值)的可行解称为最优解。这样,一个最优解能在整个由约束条件所确定的可行区域内使目标函数达到最大值(或最小值)。求解线性规划问题的目的就是要找出最优解。

最优解可能出现下列情况之一: ① 存在着一个最优解; ② 存在着无穷多个最优解;

③ 不存在最优解,这只在两种情况下发生,即没有可行解或各项约束条件不阻止目标函数的值无限增大(或向负的方向无限增大)。

单纯形法的一般解题步骤可归纳如下:

① 把线性规划问题的约束方程组表达成典范型方程组,找出基本可行解作为初始基本可行解。

② 若基本可行解不存在,即约束条件有矛盾,则问题无解。 ③ 若基本可行解存在,从初始基本可行解作为起点,根据最优性条件和可行性条件,引入非基变量取代某一基变量,找出目标函数值更优的另一基本可行解。 ④ 按步骤3进行迭代,直到对应检验数满足最优性条件(这时目标函数值不能再改善),即得到问题的最优解。

⑤ 若迭代过程中发现问题的目标函数值无界,则终止迭代。

用单纯形法求解线性规划问题所需的迭代次数主要取决于约束条件的个

8

上海大学毕业设计(论文)

数。现在一般的线性规划问题都是应用单纯形法标准软件在计算机上求解,对于具有106个决策变量和104个约束条件的线性规划问题已能在计算机上解得。

方法四:粒子群优化算法

粒子群优化(Particle Swarm Optimization - PSO) 算法是近年来发展起来的一种新的进化算法( Evolutionary Algorithm - EA) 。PSO 算法属于进化算法的一种,和遗传算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质。但是它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover) 和“变异”(Mutation) 操作。 它通过追随当前搜索到的最优值来寻找全局最优。

PSO算法[4]和其它演化算法相似,也是基于群体的,根据对环境的适应度将群体中的个体移动到好的区域,然而它不象其它演化算法一样对个体使用演化算子,而是将每个个体看作是D维搜索空间中的一个没有体积的微粒,在搜索空间中以一定的速度飞行,这个速度根据它本身的飞行经验和同伴的飞行经验来动态调整。第i个微粒表示为Xi=(xi1,xi2,?,xiD),它经历过的最好位置(最好的适应值)记为Pi=(pi1,pi2,?,piD),记作Pbest。在群体所有微粒经历过的最好位置记作Gbest。微粒i的速度用Vi=(vi1,vi2,?,viD)表示。对每一代,它的第d维(1≤d≤D)根据如下方程进行变化:

Vk+1i=w·Vki+c1·rand1·(Pbesti-ski)+c2·rand2·(Gbest-ski)

其中,Vki为第i个粒子在第k迭代中的速度;w为权函数; c1、c2为权因子;

rand为随机数,取值0~1之间;

ski为第i个粒子在第k次迭代中的当前位置。 粒子i经过飞行将出现一个新的位置,如图1-2所示。

9

上海大学毕业设计(论文)

Y Sk+1 Vk Vk+1 Vgbest S kVpbest O X

图1-2 PSO算法方向示意图

sk+1i=ski+vk+1i

此外,微粒的速度Vi被一个最大速度Vmax所限制。如果当前微粒的速度Vi超过该维的最大速度Vmax,则该维的速度被限制为该维最大速度Vmax。PSO算法有些类似于人的思维方式:在寻求一致的认知过程中,个体往往记住它们自己的信念,同时考虑同事们的信念。当个体察觉同事的信念较好的时候,它将进行适应性地调整。

方法五:差分进化算法

差分进化(DE)算法是一种采用浮点矢量编码的在连续空间中进行随机搜索的优化算法[5]。在差分进化算法中,首先由父代个体间的差分矢量构成变异算子;接着按一定的概率,父代个体与变异个体之间进行交叉操作,生成一个试验个体;然后在父代个体和试验个体之间根据适应度的大小进行选择操作,适应度小的保存到下一代群体中去。DE算法的

实现步骤如下:

a.初始化。DE算法采用M个D维的浮点矢量作为初始种群,个体矢量表示为xi,G(i=1,2,?,M),其中i表示种群中个体的序数,G为当前种群进化代数,在整个寻优过程中种群规模M保持不变,初始种群通常在给定约束边界

10

上海大学毕业设计(论文)

内部进行随机初始化。

b.变异操作。变异操作用于产生新个体,设xr1,Gxr2,Gxr3,G为当前群体中随机选择的3个互不相同的个体矢量,且i≠r1≠r2≠r3;xbest,G为当前种群中最优个体,则对于当前群体中的每一个个体xi,G(i=1,2,?,M),基本的DE算法按照如下方法产生新个体为:

vi,G+1=xi,G+λ(xbest,G-xi,G)+F(xr2,G-xr3,G) (1) 收缩因子λ=F为(0,1)之间的常数。为了降低用户的参与程度,将λ,F均取为(0,1)之间的随机数。当新个体某一维参数超出边界时,直接用边界值进行替代。

c.交叉操作。为了增加群体的多样性,将新个体vi,G+1和父代个体xi,G进行交叉生成试验个体ui,G=(ui1,G, ui2,G,?,uiD,G)。设CR为交叉概率,为(0,1)之间的常数;rand为(0,1)之间的随机数;IG为[1,M]之间的随机整数,IG可以确保ui,G至少有一位是从vi,G+1中获得的,则可得:

uij,G?1??vij,G?1 if rand?CR or j?IG??

x otherwise??ij,G (2)

d.选择操作。比较ui,G和xi,G的适应值,选择适应度小的做为下一代个体xi,G+1,即

xi,G?1?ui,G if f(ui,G)?f(xi,G)???xi,G if f(ui,G)?f(xi,G)

(3)

基于DE算法多目标PID优化设计[5] 1,编码

PID控制器中,待优化的参数为KP,TI和TD,DE算法采用浮点数编码,可以直接将(KP,TI,TD)作为一个个体矢量。DE算法的搜索空间以ZN法获得的参数结果为中心,向两边进行延拓,这样既可以充分利用ZN法的合理内核,又缩小了实际参数的搜索空间。

设K*P,T*I,T*D为ZN法整定值;α,β为延拓系数,取α=0.3,β=5,则

11

上海大学毕业设计(论文)

可得:: αK*P≤KP≤βK*P

αT*I≤TI≤βT*I

αT*D≤TD≤βT*D

(4)

2,适应度函数设计

PID优化设计的目的是使系统某些性能指标最优,然而,单纯的误差性能指标很难同时满足系统对快速性、稳定性和鲁棒性的要求,因此在适应度函数中引入超调量、上升时间和累计绝对误差指标项。设σ=(|yp-yref|/yref)×100%为系统的超调量,yp和yref分别为输出峰值和输入参考值;t*r为上升时间,将其定义为输出从0第1次达到0.95yref的时间;ek=yk-yref为采样时刻k的输出误差;wj(j=1,2,3)为权重系数。则多目标适应度函数为:

f?w1??w2tr?w3?ek (5)

k?1*n通过对权重系数的调整,可以改变系统对快速性和稳定性的要求。如系统要求较小的超调,可以适当增大w1;若系统要求快速的动态响应,则可以适当增大w2。

3 算法流程

Step1:初始化,设置群体规模M,交叉概率CR,最大迭代次数Gmax,在搜索空间内随机初始化群体矢量。

Step2:根据式(1)对群体中的每个个体矢量进行变异操作。 Step3:根据式(2)对群体中的每个个体矢量进行交叉操作。

Step4:根据式(5)计算个体的适应度,根据式(3)对每个个体进行选择操作。 Step5:判断最大迭代次数是否达到,若达到,则停止;否则转到Step2。 方法六:神经网络法[6]

在常规的PID参数优化方法中,直接基于目标函数的单纯形法等优化方法是最常用的方法,这是因为在工业控制中很多被控对象的模型难以用精确的数学模型描述,即使在某一工况下,被控对象可以用数学模型描述,但在运行过程中,对象的特性一旦发生变化,这一确定的模型便不再适用。而神经网络的

12

上海大学毕业设计(论文)

引人则在一定程度上解决和改善了这一问题。在基于神经网络的PID参数优化方法中,神经网络一般与被控对象并列,作为一个神经网络的辨识器,其一般结构如图1-3所示。

r(t) + - u(t) PID 对象 y(t) NNI 优化算法 + - 学习算法

图1-3 神经网络智能PID控制系统方框图

在网络经过学习后,神经网络辨识器的输出便可以很好地跟踪被控对象的输出。由于神经网络辨识器具有确定的结构,学习之后,其连接权及各节点的闹值都有确定的数值。这时,该神经网络辨识器的结构就可以作为被控对象结构的一个近似。用神经网络辨识器输出与输人的传递函数模型来近似地代替被控对象的模型,进而用梯度下降法,拟牛顿法优化出PID参数。

基于上述思想的神经网络PID参数优化方法主要有两种:基于神经网络的单步预测PID参数优化方法和基于神经网络的多步预测PID参数优化方法。这两种方法在控制结构上基本相似,仅在优化目标函数的选取上有所不同。

基于单步预测优化方法的目标函数为

J?12?(t?1)]2[r(t?1)?y

?(t?1)为神经网络辨识器的输出。利用梯度其中,r(t十1)为期望输出值,y法,可得PID参数的修正值为

13

上海大学毕业设计(论文)

?Ki?(t?1)][r(t)?y(t)]??[r(t?1)?y?(t?1)?y?u(t)

式中,△K为PID控制器参数(比例,积分,微分参数)的修正量,r(t+1)为

?(t?1)期望值,?y可从神经网络辨识器的结构得到。正如文献[7]提到的,当对

?u(t)象响应较慢,即不能在短短几个周期内使输出达到给定值,K*将不断增大,以加快响应速度,其结果是不仅不能使被控对象很快达到给定值,而且会使调节过程的超调量增大,动态品质变差。基于多步预测优化方法的优化目标函数为

J(t)?12P?j?1[r(t??(t?j)?yj)]2

其中P为多步预测的步数。其思想是利用神经网络辨识器进行多步预测的结果来确定当前控制器参数的调节量。其公式为

p?Ki(t)???j?1?(t?j)][r(t?j)?y?(t?j)?y?Ki(t)

在进行多步预测时,为了得到后面j = 1,2,..,P步的神经网络辨识器

输出预测值,采用神经网络并联辨识算法,即将第j-1步神经网络的输出y(j一1)反馈给神经网络辨识器的输入端。文献[8]指出,神经网络并联辨识只在满足一定条件下才是收敛的。因而,在进行多步预测时,不能保证神经网络辨识器的第j = 2,3,..,P步预测输出值是收敛的,即神经网络辨识器的多步预测值不一定能可靠地反映被控对象在后面j= 1,2,..,P步的输出变化。

1.3 本文主要研究内容

本论文的主要工作是研究利用GA对PID控制系统的参数进行调整。 首先,PID控制的基本原理进行了介绍,并对PID控制进行分类,指出模拟PID控制和数字PID控制的不同,并分别对二者进行MATLAB仿真。此外,还将数字PID控制细分成了位置式PID控制和增量式PID控制,并指出了后者实用性好的理由。接着,分别介绍了遗传算法的基本原理、基本步骤以及遗传算法工具箱等内容。最后,做了利用 Matlab对二阶系统的PID参数进行调整的仿真实验,表明了基于GA的PID参数调整的有效性和优越性。

14

上海大学毕业设计(论文)

第二章 PID控制及其MATLAB仿真

2.1 引言

PID控制就是根据系统的偏差,利用PID调节规律计算出控制量来进行控制。其中,PID调节规律指控制器的输出分别与输入偏差的大小、偏差的积分和偏差的变化率成比例。PID控制问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便的优点而成为工业控制的主要技术之一。随着科技的发展,计算机进入了控制领域,用数字计算机代替模拟计算机控制器组成计算机控制系统,不仅可以用MATLAB等软件实现PID控制算法,而且可以利用计算机的逻辑功能,使PID控制焕发出新的活力。

2.2 PID控制的基本原理

在模拟控制系统中,控制器最常用的控制规律是PID控制。常规PID控制系统原理框图如图2.1所示。系统由模拟PID控制器和被控对象组成。

PID控制器是一种线性控制器,它根据给定值控制偏差

e?t??r?r?t?与实际输出值

c?t?构成

?t??c? t (2-1)

将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,将被控对象进行控制,故称PID控制器。其控制规律为

15

上海大学毕业设计(论文)

u?t??KP[e?t??1TI?t0e?t?dt?TDde(t)dt] (2-2)

或写成传递函数形式

G?s??U?s???1?KP?1??TDs?E?s?TIs?? 式中,KP——比例系数 TI——积分时间常数 TD——微分时间常数

(2-3)

简单说来,PID控制器各校正环节的作用如下: 1、比例环节

et即时成比例地反映控制系统的偏差信号??,偏差一旦发生,控制器立即

产生控制作用,以减少偏差。

2、积分环节

主要用于消除静差,提高系统的无差度。积分时间越大,积分作用越弱,积分时间越短,积分作用越强。

3、微分环节

通过偏差的变化趋势预测偏差信号的变化,并在偏差变大之前产生抑制偏差变大的控制信号,从而加快控制的响应速度,减小调节时间。

2.3 模拟PID控制及其MATLAB仿真

模拟PID就是利用在现场安装的DDZII或者DDZIII型表再加上其它气动仪表,对现场控制变量的模拟信号利用旋钮或拨盘对PID的三个参数值进行设定控制输出的系统,其信号均为模拟信号。??

本节以二阶线性传递函数为被控对象,进行模拟PID控制的仿真。在信号发生器中选择正弦信号,仿真时取

kp=60,i=1,

kkd=3,输入

r?t?=Asin(2πft),

其中A=1,f=0.2HZ。仿真时间为10秒。

仿真程序:pid.mdl,如图2.2所示。

16

上海大学毕业设计(论文)

其中,PID控制器的内部结构如下图2.3所示。

ki?kpTi 图中,积分增益,微分增益

kd?kpTd。仿真结果如图2.4所示。

17

上海大学毕业设计(论文)

2.4 数字PID控制及其MATLAB仿真

计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量。因此连续PID控制算法不能直接使用,需要采用离散化方法。在计算机PID控制中,使用的是数字PID控制器。数字PID控制算法通常分为位置式PID控制算法和增量式PID控制算法。

2.4.1 位置式PID控制算法

数字PID控制是采样控制,它根据采用思科的偏差来计算控制量,式(2-2)中的积分和微分项需要离散化处理。现用采样时刻点kT(T为采样周期)代表连续时间t,用求和代替积分,用差商代替微分,即做如下近似变换来离散化:

???t?kT?k??tej?et?T?0j?0??de(t)e(k)?e(k?1)???T?dt

??????

(2-4)

可得离散的PID表达式: (2-5)

式中,e(kT)简化表示为e(k),k为采样序号。 计算机输出的

u?k?ku(k)?k(e(k?)?pTij?0TTe(?j)dT(e?(k)?e(k

1 ) ) )

直接控制执行机构(如阀门),

u?k?的值和执行机构的

位置(如阀门开度)是相对应的,故式(2-5)常被称为位置式PID控制算法。图2.5给出了位置式PID控制系统示意图。

18

上海大学毕业设计(论文)

位置式PID控制算法每次的输出均与过去的状态有关,计算必须累加e(k),这造成了计算机运算工作量的负担。此外,由于计算机输出的u(k)与执行机构的实际位置相对应,一旦计算机发生故障,u(k)的大幅度变化会导致执行机构位置的大变动,这可能引起重大生产事故。位置式PID控制算法的这些不足,催生了增量式PID控制算法。

2.4.2 增量式PID控制算法

所谓增量式PID控制就是数字控制器的输出只是控制器的增量△u(k)。当执行机构需要的是控制量的增量时,应采用增量式PID控制。根据递推原理可得:

k?1 u(k?1)?pke(k?1?)?ikj?0e(k?1)?e(k?2) e(j)?TdkT (2-6)

式(2-5)减去式(2-6)即得增量式PID控制算法: (2-7)

进一步可改写为:

?u(k)?a0e(k)?(2-8) 式中,a0

?kp(1?TTiTi?TdT)

1?u(k)?kp(e(k)?e(?k1)?)e(k)?2e(k?kie(k?)TkdT1?)e(k?

2)a(e?k1)?2a(e? k 2 )

a1?kp(1?2Td ) a2?kpTdTi

19

上海大学毕业设计(论文)

增量式PID控制算法不需像位置式PID控制算法那样累加,控制增量△u(k)仅与最近3次得采样有关,所以误动作时的影响相对较小

现以增量式PID控制算法为例,介绍数字PID控制的MATLAB仿真。

G?s??400s?50s2设被控对象为,仿真程序见附录程序PID.m

kp经过多次调试,当PID参数取

=1.8,ki=0.001,kd=0.001时,增量式PID

阶跃跟踪响应效果良好,仿真结果如图2.6所示。

2.5 小结

本章详细阐述了PID控制的概念、工作原理、分类及其MATLAB仿真。首先,对常规的PID控制的基本原理做了详细介绍,指出了PID控制系统各个环节的作用。然后,分别介绍了模拟PID控制和数字PID控制,并对两种控制都做了MATLAB仿真,仿真结果都证明了PID控制的有效性。值得一提的是,数字PID

20

上海大学毕业设计(论文)

控制还可分为位置式PID控制和增量式PID控制,增量式PID控制不需要累加,误动作影响小,更适合工业生产。

21

上海大学毕业设计(论文)

第三章 遗传算法

3.1 引言

遗传算法(Genetic Algorithms,GA)是基于自然选择和基因遗传学原理的优化搜索方法。它最先是由John Holland于1975年提出的。遗传算法的创立过程有两个研究目的:一是抽象和严谨地解释自然界的适应过程;二是为了将自然生物系统的重要机理运用到工程系统、计算机系统或商业系统等人工系统的设计中。遗传算法在计算机上模拟生物的进化过程和基因的操作,并不需要对象的特定知识,也不需要对象的搜索空间是连续可微的,它具有全局寻优的能力。一些用常规的优化算法有效解决的问题,采用遗传算法寻优技术往往能得到较好的结果。人们常把它用于许多领域的实际问题,如函数优化、自动控制、图像识别、机器学习等。目前,遗传算法正在向其他学科和领域渗透,正在形成遗传算法、神经网络和模糊控制相结合,从而构成一种新型的智能控制系统整体优化的结构形式。本章讨论遗传算法的基本原理、操作流程,模式定理等问题。

3.2 遗传算法概述

3.2.1 遗传算法的发展史

Holland的早期工作主要集中于生物学,控制工程,人工智能等领域中的中一类动态系统的适应性问题,其中适应性概念在环境表现出较好行为和性能的系统结构的渐进改变过程,简称系统的适应过程。Holland认为:通过简单的模拟机制可以描述复杂的适应性现象。因此,Holland试图建立适应过程的一般描述模型,并在计算机上进行模拟试验研究,分析自然系统或者人工系统对环境变化的适应性现象,其中遗传算法仅仅是一种具体的算法形式。

Bremermann,De Jong等人则注重遗传算法应用于参数优化问题,极大的促进了遗传算法的应用。所以,遗传算法既是一种自然进化系统的计算模型,也是一种通用的求解优化问题的适应性搜索方法。

1962年,John Holland在“Outline for a Logic Theory Adaptive Systems”一

22

上海大学毕业设计(论文)

文中,提出了所谓的监控程序的概念,即利用群体进化模拟适应性系统的思想。在这篇文章中尽管它没有给出实现这些思想的具体技术,但却引进了群体,适应值,选择,交叉等基本概念。1966年,Fogel等人也提出了类似的思想,但是其重点是放在变异算子而不是采用交叉算子。1967年,Holland的学生J.D.Bagley通过对跳棋游戏参数的研究,其博士论文中首次提出了“遗传算法”一词。

在20世纪60年代中期至70年代末期,基于自然进化的思想遭到了怀疑和反对。Holland及其数位博士坚持了这一方向的研究。1975年,Holland出版了专著《自然与人工系统中的适应性行为》(Adaptation in Natural and Artificial Systems),该书系统的阐述了遗传算法的基本理论和方法,提出了对遗传算法和理论发展极为重要的模式理论,其中首次确认了选择,交叉,变异等遗传算子,以及遗传算法的隐并行性,并将遗传算法应用于适应性系统模拟,函数优化,机器学习,自动控制等领域。

1975年以后,遗传算法作为函数优化器不但在各个领域的得到了广泛应用,而且还丰富和发展了若干遗传算法的基本理论。1980年,Bethke对函数优化GA进行了研究,包括应用研究和数学分析。Smith在1980年首次提出使用变长位串的概念。这在某种程度上为以后的遗传规划奠定了基础。

1989年,David Goldberg出版了《Genetic Algorithms in Search Optimization and Machine Learning》一书,这是第一本遗传算法的教科书,它是对当时关于遗传算法领域研究工作的全面而系统的总结,因而也成为引用最多的参考书之一。

随着遗传算法研究和应用的不断深入与扩展,1985年,在美国召开了第一届遗传算法国际会议,即ICGA(International Conference on Genetic Algorithm)这次会议是遗传算法发展的重要里程碑,此会以后每隔一年举行一次。

随着Internet技术的发展和普及应用,遗传算法的有关研究单位建立了大量的专题网站,其中最为著名的是由美国海军人工智能应用研究中心建立的GA_Archives检索网站http://www.aic.nrl.navy.mil/galist/它包括了世界范围内的开展遗传算法和进化计算研究的大学和机构,历年来的公开发表的论文和报告,

23

上海大学毕业设计(论文)

有关国际会议消息,典型应用案例和程序的源代码等。

这众多的研究单位和频繁的国际学术活动集中反映了遗传算法的学术意义的应用价值。目前,遗传算法已经成为一个多学科、多领域的重要研究方向。

3.2.2 遗传算法的概念

遗传算法是模仿自然界生物进化机制发展起来的随机全局搜索和优化方法,它借鉴了达尔文的进化论和孟德尔的遗传学说。其本质上是一种高效、并行、全局搜索的方法,它能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最优解。遗传算法操作使用适者生存的原则,在潜在的解决方案种群中逐次产生一个近似最优的方案。在遗传算法的每一代中,根据个体在问题域中的适应度值和从自然遗传学中借鉴来的再造方法进行个体选择,产生一个新的近似解。在这个过程导致种群中个体的进化,得到的新个体比原个体更能适应环境,就像自然界中的改造一样。

个体或当前近似解被解码为由字母组成的串,即染色体(Chromosome),使基因(Gene,染色体值)能在表现域决策便利上被惟一地描述。尽管可以使用二进制、整数、实值等,但是在遗传算法表现型上最常见的仍是二进制字符串。

在决策变量域中的染色体表现型被编码后,可以估计种群的个体成员的特性或适应度。通过特征目标函数来估计个体在问题域中的特性。目标函数建立的基础就是在整个繁殖过程中选择成对的个体进行交配。

在复制期间,每个个体均被计算适应度值,它由目标函数给出。这个值用来在选择中偏向更加合适的个体。对整个种群,适应度高的个体具有高的被选中参加交配的概率,而适应度低的个体具有相对低的选中概率。一旦个体计算了适应度值,个体能根据它们的相对适应度从种群中被选中并重组,产生下一代。遗传算子直接操作染色体的基因,使用一般情况下个体的基因代码,产生更适合的个体。重组算子用在一对个体或一组个体中交换基因信息。最简单的重组算子是单点交叉。

交叉进一步的遗传算法称为变异。变异能根据一些概率准则引起个体基因表现型发生变化,在二进制表现型中,变异引起单个位的状态变化,即0变1,

24

上海大学毕业设计(论文)

或者1变0.变异具有阻止局部最优收敛的作用。

在重组和变异后,如果需要,这些个体串随后被解码,进行目标函数评估,计算每个个体的适应度值,个体根据适应度被选择参加交配,并且这个过程继续直到产生子代(Offspring)。在这种方法中,种群中个体的平均性能希望得到提高,好的个体被保存并且相互产生下一代,而低适应度的个体则消失。当一些判定条件满足后,遗传算法则终止,例如,一定的遗传代数、种群的均差或遇到搜索空间的特殊点。

3.2.3 遗传算法的特点

遗传算法通过对参数空间编码并用随机选择作为工具来引导搜索过程朝着更高效的方向发展。同常规优化算法相比,遗传算法有以下特点:

① 遗传算法是对参数的编码进行操作,而非对参数本身。

② 遗传算法从许多点开始并行操作,而非局限于一点,可有效防止搜索过程收敛于局部最优解。

③ 遗传算法通过目标函数来计算适配值,不需导数等其他信息,从而对问题依赖性小。

④ 遗传算法的寻优规则是由概率决定的,而非确定性的,即具有随机操作算子。

3.2.4 遗传算法的基本用语

遗传算法是自然遗传学和计算机科学相互结合渗透而形成的新的计算方法,它经常使用自然进化中的一些基本用语,以下表3.1是遗传学和遗传算法中基本用语对照表。

25

上海大学毕业设计(论文)

表3.1 遗传学和遗传算法中基本用语对照表

遗传学 染色体(Chromosome) 基因(Gene) 等位基因(Allele) 基因座(Locus) 基因型(Genptype) 表现型(Phenotype) 个体(Individual) 适者生存 适应性(Fitness) 群体(Population) 复制(Reproduction) 交配(Crossover) 变异(Mutation) 遗传算法 解的编码(算法的操作对象) 解中每一分量 特性值 二进制串中位置 结构 参数集、候选解 解 在算法停止时,最优目标值的解有最大可能被留住 适应度函数值 选定的一组解 根据适应度函数值选取的一组解 通过交配产生一组新解的过程 编码的某一个分量发生变化的过程 3.2.5 遗传算法的研究方向

遗传算法是多学科结合和渗透的产物,它已经发展成一种自组织、自适应的综合技术,其研究方向主要有下述几个方面:

1.基础理论

遗传算法的数学理论并不完善,模式定理和隐性并行性存在不足。群体规模和遗传算子的控制参数选取也非常困难。另外,遗传算法还有一个过早收敛的问题,如何阻止过早收敛也是人们正在研究的问题之一。

2.分布并行遗传算法

遗传算法具有高度的并行性,许多研究人员都在探索在并行机和分布式系上高效执行遗传算法的策略。对分布遗传算法的研究表明,只要通过保持多个群体和恰当控制群体间的相互作用来模拟并发执行过程,即使不使用并行计算机,也能提高算法的执行效率。遗传算法的并行性主要从三个方面考虑,即个体适应度评价的并行性、整个群体各个个体适应度评价的并行性及子代群体产

26

上海大学毕业设计(论文)

生过程的并行性。

3.分类系统

分类系统属于遗传算法的机器学习中的一类,包括一个简单的基于串规则的并行生成子系统、规则评价子系统和遗传算法子系统。分类系统被人们越来越多地应用在科学、工程和经济领域中,是目前遗传算法研究中一个十分活跃的方向。

4.遗传神经网络

遗传神经网络包括连接级、网络结构和学习规则的进化。遗传算法与神经网络相结合,成功地用于从分析时间序列来进行财政预算。在这些系统中,训练信号是模糊的,数据是有噪声的,一般很难正确给出每个执行的定量评价,如果采用GA学习,就能克服这些困难,显著提高系统性能。Muhlenbein分析了多层感知网络的局限性,并猜想下一代神经网络就是遗传神经网络。

5.进化算法

模拟自然进化过程可以产生鲁棒的计算机算法——进化算法。遗传算法是其三种典型的算法之一,其余两种算法是进化规划和进化策略,这三种算法是独立发展起来的。

6.人工生命与遗传算法

近几年来,通过计算机模拟再现种种生命现象,以达到对生命更深刻理解的人工生命的研究正在兴起。已有不少学者对生态系统的演变、食物链的维持以及免疫系统的进化等用遗传算法做了生动的模拟。但是实现人工生命的手段很多,遗传算法在实现人工生命中的基本地位和能力究竟如何,这是值得研究的课题。

3.3 遗传算法的工作原理

遗传算法是一种基于生物进化原理构想出来的搜索最优解的仿生算法,它

模拟基因重组与进化的自然过程,把待解决问题的参数编码成基因,若干基因组成一个染色体(个体),染色体组(种群)进行类似于自然选择、配对交叉和变异的遗传操作,从而不断生成新种群。在每次遗传操作中,算法都按照所选适应度函数和一定的规则,对种群中的个体进行筛选,从而使适应度值高的个

27

上海大学毕业设计(论文)

体以较大的概率遗传到下一代。这样经过若干次迭代,种群的适应度值不断提高,最终收敛到满足要求的最优解或近似最优解。遗传算法的工作示意图如图3.1所示。

由图3.1可知,遗传算法的实现涉及的基本要素包括:参数的编码、初始群体的设定、适应度函数的设计、遗传基本操作、算法控制参数的设定和约束条件的处理。

1、编码

编码是应用遗传算法时要解决的首要问题,也是设计遗传算法时的一个关键步骤,编码的好坏直接影响选择、交叉、变异等遗传运算。

编码就是把一个问题的可行解从解空间转换到遗传算法所能处理的搜索空间的转换,也就是解的遗传表示。迄今,人们总结出了三大类的编码方法:二

28

上海大学毕业设计(论文)

进制编码方法、符号编码方法和浮点数编码方法。其中,二进制编码方法是最主要且应用最广泛的一种编码方法。

二进制编码方法使用的编码符号集是由二进制符号0和1所组成的二值符号集{0,1},它所构成的个体基因型是一个二进制编码符号串。二进制编码符号串的长度与问题所要求的求解精度有关。

例如,一个问题具有两个变量X1和X2,它们的染色体结构能用图3.2所示的方法描述。

1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 0 1 0 1 | X1 | X2 | 图3.2个体的染色体结构

X1被编码为10位,X2被编码为15位。这就是表现值(个体决策变量)的染色体编码。

2、初始种群

遗传算法中初始种群中的个体是随机产生的。一般来讲,初始种群的设定可采取如下的策略:

1)根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始种群。

2)先随机生成一定数目的个体,然后从中挑出最好的个体加到初始种群中。这种过程不断迭代,直到初始种群中个体数达到了预先确定的规模。

在试验研究中,我们常运用第一种策略,先将参数编码,并设定范围矩阵,利用计算机在范围内随机产生Nind个初始串结构数据,每个串结构数据称为一个个体,Nind个个体构成一个种群。

3、适应度评价

在遗传算法中使用适应度(Fitness)这个概念来度量种群中各个个体在优化计算中能达到或接近于或有助于找到最优解的优良程度。适应度较高的个体 遗传到下一代的概率就较大;而适应度较低的个体遗传到下一代的概率就相对

29

上海大学毕业设计(论文)

小一些。评价个体适应度的函数称为适应度函数(Fitness Function)。适应度函数总是非负的,任何情况下都希望其值越大越好,而目标函数可能有正有负,即有时求最大值,有时求最小值,因此需要在目标函数与适应度函数之间进行变换。

由解空间中某一点的目标函数值f(x)到搜索空间中对应个体的适应度函数值Fit(f(x))的转换方法基本上有以下两种:

① 直接以待解的目标函数f(x)转化为适应度函数Fit(f(x)),令

?f(x)目标函数为最大化问题Fit(f(x))????f(x)目标函数为最小化问题

这种适应度函数简单直观,但存在两个问题:一是可能不满足常用的轮盘赌选择中概率非负的要求;二是某些待求解的函数在函数值分布上相差很大,由此得到的平均适应度可能不利于体现种群的平均性能,而影响算法的性能。

② 对于求最小值问题,做下列转换:

?cmax?f(x)Fit(f(x))??0?f(x)?cmax其他

cmax为一个适当的相对比较大的数,是f(x)的最大值估计,保证适应度非负。

对于求最小值问题,做下列转换:

?cmin?f(x)Fit(f(x))??0?f(x)?cmin其他

cmin 为f(x)的最小值估计,可以是一个合适的输入值。 评价个体适应度的一般过程为:

1)对个体编码串进行解码处理后,可得到个体的表现型。 2)由个体的表现型可计算出对应个体的目标函数值。

3)根据最优化问题的类型,由目标函数值按一定的转换规则求出个体的适应度。

4、遗传操作

30

上海大学毕业设计(论文)

Holland的遗产算法,通常称为简单遗传算法。操作的简单和作用的强大是遗传算法的两大主要特点。一般得遗传算法都包含选择(复制)、交叉和变异三种基本操作。

1)选择

选择就是根据每个个体的适应度值,按照一定的规则从当前种群中选出优良个体,使它们有机会作为父代为下一代繁殖子孙。

遗传算法的每一代都是从选择开始的。常用的选择方法有:轮盘赌选择法(适应度比例法)、精英选择法、稳态复制法、排序选择法、联赛选择法等。其中轮盘赌选择法较为简单且常用。

对轮盘赌选择,每个个体进入下一代的概率就等于它的适应度值与整个种群中个体适应度值和的比例,适应度值越高,被选中的可能性就越大,进入下一代的概率就越大。每个个体就像圆盘中的一个扇形部分,扇面的角度和个体的适应度值成正比,随机拨动圆盘,当圆盘停止转动时指针所在扇面对应的个体被选中,轮盘赌的选择方法由此得名。一个个体被选择的概率由下式给出:

F(xi)?f(xi)Nind?i?1f(xi)

式中,

f(xi)是个体i的适应度,

xF(xi)是这个个体被选择的概率。

图3.3所示为轮盘赌选择示意图。

31

上海大学毕业设计(论文)

2)交叉

交叉就是将两个互相配对的个体按照某种方法相互交换部分染色体位串,从而形成两个新的个体。交叉操作是产生新个体的主要方法,它使GA的搜索能力得以本质提高,所以它在GA中起着核心作用。

基本的交叉操作分两步实现。在由等待配对的位串构成的匹配池中,第一步是将新复制产生的位串个体随机两两配对;第二步是随机地选择交叉点,对匹配的位串进行交叉繁殖,产生一对新的位串。目前,交叉的方法有很多,对于二进制编码而言,交叉都需要第一步,根据交叉点的不同,交叉方法又可分为单点交叉、两点交叉、多点交叉等。

3)变异

变异操作就是根据变异概率随机改变被选择染色体上一个或几个基因,以保持群体的多样性。变异可以起到恢复位串字符多样性的作用,并能适当地提高遗传算法的搜索效率。常见的变异方法有:点变异、插入变异、均匀变异、边界变异、非均匀变异等。

5、运行参数

遗传算法中的运行参数选择非常关键,运行参数的不同选取会对遗传算法的性能产生较大的影响,影响到整个算法的收敛性。这些参数包括种群规模Nind、个体编码长度Lind、交叉概率Pc、变异概率Pm、终止条件等。

种群规模Nind的大小直接影响到遗传算法的收敛性或计算效率。规模过大,会造成计算速度降低;规模过小,容易收敛到局部最优解。种群规模可以根据实际情况在1~200之间选定。

二进制编码位串长度Lind反映解的精确度水平或者个体决策变量的范围。 交叉概率Pc始终控制着遗传算法中起主导地位的交叉算子。不适合的交叉概率Pc会导致意想不到的后果。交叉概率Pc控制着交叉操作被使用的频度。交叉概率Pc较大,可使各代充分交叉,但群体中的优良模式遭到破坏的可能性增大,以致产生较大的代沟,从而使搜索走向随机化;交叉概率Pc越低,产生的代沟就越小,这样将保持一个连续的解空间,使找到全局最优解的可能性增

32

上海大学毕业设计(论文)

大,但进化的速度就越慢;若交叉概率Pc太低,就会使得更多的个体直接复制到下一代,遗传搜索可能陷入停滞状态。一般建议Pc取值范围是0.4~0.99。

变异运算是对遗传算法的改进,对交叉过程中可能丢失的某种基因进行修复和补充,也可防止遗传算法尽快收敛到局部最优解。变异概率Pm控制着变异操作被使用的频率。变异概率Pm取值较大时,虽然能够产生较多的个体,增加了群体的多样性,但也可能破坏很多好的模式,使遗传算法的性能近似于随机搜索算法的性能;若变异概率Pm取值太小,则变异操作产生新个体和抑制早熟现象的能力就会较差。一般建议Pm取值范围是0.0001~0.1。

终止的常用方法是采用达到预先设定的代数和根据问题定义测试种群中最优个体的性能。

3.4 遗传算法的模式定理

从上一节遗传算法的原理中,我们可以知道问题的性能是朝着不断改进的方向发展的。但是我们怎么知道对某一问题使用遗传算法会得到优化或接近优化的解呢?或者说,在仅仅利用适配值进行的搜索过程中,遗传算法到底是利用了包括在种群中多数位串及其相应的目标函数中的什么信息来引导和改善它的搜索呢?本节将以二进制串作为编码方式来介绍遗传算法的理论基础——模式定理(Pattern Theorem)。正是模式定理保证了较优的模式(遗传算法的较优解)的样本呈指数级增长,从而满足了寻找最优解的必要性。

所谓模式(Schemata),就是一个描述种群中在位串的某些确定位置上具有相似性的位串子集的相似性模板。

为了描述一个模式,在用以表示位串的两个字符的字母表{0,1}中加入一个通配符“*”,就构成了一个表示模式用的三个字符的字母表{0,1,*}。用三元素字母表{0,1,*}可以构造出任意一种模式。模式和特定位串相匹配则是指:模式中的1与位串中的1相匹配,模式中的0与位串中的0相匹配,模式中的“*”可以匹配位串中的0或1。

引入模式后,我们看到一个串实际上隐含着多个模式(长度为n的串隐含着2个模式),一个模式可以隐含在多个串中,不同的串之间通过模式而相互联系。遗传算法中串的运算实质上是模式的运算。因此,通过分析模式在遗传操

n 33

上海大学毕业设计(论文)

作下的变化,就可以了解什么性质被延续,什么性质被丢弃,从而把握遗传算法的实质,这正是模式定理所揭示的内容。

在介绍模式定理前,我们先引入模式的阶数和定义距,它们描述了模式的基本性质。

所谓模式的阶数,就是一个模式中确定位置(0或1,*表示非确定性)的个数。模式的阶数越低,模式的样本数就越多,而确定性越低。

所谓模式的定义距,就是一个模式的第一个确定性位置和最后一个确定性位置之间的距离。模式的定义距表示模式的长短。

模式定理 在遗传算子选择、交叉和变异的作用下,具有阶数低、长度短、平均适应度高于群体平均适应度的模式在子代中将以指数级增长。

统计学的研究表明:在随机搜索中,要获得最优的可行解,则必须保证较优解的样本呈指数级增长,而模式定理保证了较优的模式(GA的较优解)的样本呈指数级增长,从而给出了遗传算法的理论基础。另外,由于遗传算法总能以一定的概率遍历到解空间的每一个部分,因此在选择算子的条件下总能得到问题的最优解。

3.5 小结

遗传算法是仿照生物进化自然选择过程中所表现出来的优化规律和方法,

解决高度复杂工程问题的一种计算方法。本章首先介绍了遗传算法的发展史、基本概念、研究方向等情况;接着,重点介绍了遗传算法的工作原理,并对其工作的各个步骤都做了简要论述;最后,阐明了遗传算法有效性的理论基础——模式定理。本章对遗传算法的详细阐述,将为后续章节提供重要的理论指导。

34

上海大学毕业设计(论文)

第四章 遗传算法工具箱

4.1 引言

根据前一章介绍的有关遗传算法的知识,可以知道遗传算法的核心在于初始群体的生成、操作算子的实现以及个体适配值与优化问题性能指标间的映射等,若要通过计算机实现遗传算法,这一个个核心步骤都需要繁琐的程序来支撑。对于遗传算法初学者,要做到遗传算法的计算机实现显得尤为困难。

MATLAB是国内最流行的科学计算软件,它对问题用M文件编码,其先进的数据分析、可视化工具、特殊目的的应用领域工具箱为使用者研究遗传算法提供了良好的环境。MATLAB遗传算法工具箱为遗传算法从业者和研究人员提供了广泛多样的有用函数,它为遗传算法的MATLAB实现带来了极大的便利。 遗憾的是,MATLAB环境没有自带的遗传算法工具箱,用户只能使用第三方的工具箱。虽然MATLAB第三方遗传算法工具箱并不是很多,但包含的函数并不统一,本节将详细介绍英国谢菲尔德大学开发的遗传算法工具箱。

4.2 遗传算法工具箱结构

遗传算法工具箱归纳了遗传算法及其各种改进算法的相同之处,建立了一个统一的遗传算法基本流程框架,并依据这个框架搭建了自身的结构,下图4.1即为遗传算法基本流程框架图。

35

上海大学毕业设计(论文)

格式:newchrix=sus(fitnv,nsel) 描述:

sus选择nsel中的个体为了根据它们的适应值重新产生,fitnv在当前种群中。

newchrix=rws(fitnv,nsel)从种群中使用随机全局采样来选择nsel个体。Fitnv是一个包含着种群中每一个个体的表示方法的列向量。用函数ranking或者scaling取给每一个个体分配适应值也可以达到上面的目的。返回值newchrix是一个用来繁殖而被选择的个体的索引。在它们被选择的规则下,被选择的个体可以通过评价chrom(newchrix,:)而被恢复。 7.recint

功能:中间重组。 格式:

newchrom=recint(oldchrom) 描述:

recint操作是对当前种群中的个体进行中间重组,oldchrom,之后在一个新的种群中返回newchrom,chrom中的每一行和newchrom与一个个体相对应。recint只适用于实值变量的种群。染色体成对进行交叉,奇数列和下一个偶数列进行交叉,如果旧的染色体矩阵中的列是奇数的话,那么最后一列将不进行交叉操作,而把旧的染色体中的最后一列加在新染色体中。 8.Xovdp 功能:双点交叉。 格式:

newchrom=xovsp(oldchrom,xovr) 描述:

xovdp操作是在当前种群中的一对个体上进行双点交叉,oldchrom,根据交叉的可能性,xovr返回一个变异之后的新的种群。Newchrom,oldchrom包含了当前种群中的染色体,每一行与一个个体相对应。染色体的各种表示方法都可以应用。

41

上海大学毕业设计(论文)

xovr是指定了交叉概率的参数。一般取0.7交配是由规则决定的:奇数行和下一个偶数行,如果矩阵是奇数行的话,最后一行就不能交配。因此种群组织成临近的需要交配的一对。

xovdp是一个低位交叉函数通常也把它叫做recombin。 9、mutate

功能:离散变异操作。 格式:

newchrom=mutate(mut_f,oldchrom,fielddr) newchrom=mutate(mut_f,oldchrom,fielddr,mutopt) newchrom=mutate(mut_f,oldchrom,fielddr,mutopt,subpop) 描述:

mutate是对当前种群的个体进行变异操作。之后返回一个新的个体。旧种群和新种 群的每一列都对应一个个体。

mut_f是低位变异函数的名称。 fielddr是变量的上下限。 mutopt是变异概率。

subpop是一个随机参数,表示的是旧染色体中子代的个数。 10、reins

功能:在种群中重新插入后代。 格式:

chrom=reins(chrom,selch) chrom=reins(chrom,selch,subpop)

chrom=reins(chrom,selch,subpop,insopt,objvch)

[chrom,objvch]=reins(chrom,selch,subpop,insopt,objvch,objvsel) 描述:

这个函数是往当前种群中重新插入后代,后代被包含在矩阵selch,父代被包含在矩阵chrom中。Selch和chrom中的每一行都对应了一个个体。

Subpop是在chrom和selch中指定后代数目的函数。如果subpop被忽略或

42

上海大学毕业设计(论文)

者nan,则subpop=1。chrom和selch中所有的后代必须由相同的大小。

insopt是一个任意的向量,两个参数中的最大值。 insopt(1):数值指定用后代代替父代的选择方法

0-统一选择,统一用任意的后代来替换父代

1-适应度为基础的选择,后代替换最小适应度的父代

如果忽略或者nan,则insopt(1)=0。

insopt(2):数值包含了在[0 1]之间当作一个片断的每一个子代后代的重新插入率。

objvch是一个包含了chrom中的个体目标函数值的行向量,objvch需要以适应度为基础重新插入。

objvsel是一个包含了selch中的个体目标函数值的行向量,objvsel是必须的如果后代的数目大于将要被重新插入的后代的数目,在这种情况下,将根据后代的适应度来选择将要被重新插入的后代。

如果objvch是一个输出参数,objvch和objvsel组要输入参数。目标函数值会根据插入的后代被复制,保留整个种群的经过验算的目标函数值。

基于Matlab的遗传算法工具箱提供了一个标准的、可扩展的、简单的算法,其利用Matlab的强大的函数运算能力,使使用者可以避免维护遗传算法种群和染色体的数据结构的繁重编程工作,将精力集中在遗传算法的改进和具体问题的应用中去。

4.4 小结

遗传算法工具箱使用MATLAB矩阵函数为实现广泛领域的遗传算法建立了一套通用工具,这个遗传算法工具是用M文件写成的命令行形式的函数,是完成遗传算法大部分重要功能的程序的集合。相关人员即使对遗传算法认知不深,也可通过这些命令行函数,根据实际分析的需要,编写出实现遗传算法的MATLAB程序,大大地拓展了遗传算法的应用。本章详细阐述了遗传算法工具箱结构及常用函数,为下章做仿真和编程做了充足的准备。

43

上海大学毕业设计(论文)

第五章 基于GA算法参数调整的PID控制系统

5.1引言

基于前几章的介绍,可以知道PID控制虽然应用广泛,但常规的PID却越来越不适应工业生产的需要。然而,智能控制与PID控制相结合的新型PID控制却有巨大的潜力。基于GA算法参数调整的PID控制是新型PID控制的重要内容。GA算法是基于自然选择和遗传变异等生物机制的全局并行随机搜索算法。与其他一些优化算法相比,它具有不需要辅助信息、并行概率搜索、简单易行、鲁棒性强以及高效等特点。运用GA算法对PID参数进行优化,具有很好的效果,本章将对这种新型的PID控制进行探讨。

5.2基于GA算法参数调整的PID控制系统的结构

基于GA算法参数调整的PID控制系统主要由三大模块构成:GA算法模块、PID控制器和被控对象模型。图5.1为基于GA算法参数调整的PID控制系统的结构图。

三大模块中,GA算法模块是关键,其作用有三点:

1)产生一个关于PID三参数的种群,其中包括多组参数;

44

上海大学毕业设计(论文)

2)根据期望输出与被控对象输出之间的偏差等特征量,计算每一组参数对应的适应度值;

3)若没有达到GA算法的终止条件,则通过遗传操作产生新种群,即更新PID控制器的参数。

由上可知,基于GA算法参数调整的PID控制系统结构并不复。,其实,它们的工作也很容易理解,下面给出此类系统的具体工作流程,如图5.2所示。

在参数调整过程中,首先,GA算法模块随机产生一个初始种群(初始种群

也可以由经验给出);随后,GA算法模块将种群中的每组参数依次送入PID控制器,从而得到每组参数的操纵输入;然后,操纵输入作用于被控对象模型,得到系统的输出;最后,GA算法模块根据系统期望输出与实际输出之间的关系

45

上海大学毕业设计(论文)

判断是否找到了最优参数或者次最优参数。如果系统输出不满足控制要求或者没有达到GA的终止条件,GA算法模块将通过GA算法的遗传操作产生新种群;反之,则系统找到一组最优参数。

5.3 基于GA算法参数调整的PID控制系统的仿真

基于GA算法参数调整的PID控制系统中的核心组成部分PID控制器和GA算法在前面的章节已经详细介绍过了,这里就不再重复。本节将沿用2.4.2节

G?s??400s?50s2增量PID控制算法中提到的作为被控对象模型,对基于GA算法

参数调整的PID控制系统进行仿真,以验证GA算法调整PID参数的有效性和优越性。

5.3.1 基于GA算法参数调整的PID控制系统的具体实现

1、PID控制器的设计

这里采用数字PID控制器,积分和微分项需要离散化处理,在仿真中,积

k分项由

T?e?j?j?0e(k)?e(k?1)替代,微分项由

T替代,采样时间取1ms。

下面图5.3给出了数字PID控制器的程序框图。

46

上海大学毕业设计(论文)

为了适应实际生产的需要,防止因控制量改变过大而引起难以预料的事故,在PID控制器中,还可以利用if函数将控制量限制在一定的范围内。

2、被控对象模型的设计

由于控制器是数字PID,连续的时间模型需要转换成离散的时间模型,这

4002一过程使用c2d函数可以轻易实现。s?50s经c2d函数转换成的离散传递函数

0.0001967z?0.0001935为

z?1.951z?0.95122。离散传递函数分子系数num、分母系数den的获取

4002可由tfdata函数实现。则被控对象s?50s离散化为:

yout(k)??den(2)*yout(k?1)?den(3)*yout(k?2)?num(2)*u(k?1)?num(3)*u(k?2)

3、GA算法模块的设计

47

上海大学毕业设计(论文)

1)确定算法的运行参数

根据第三章介绍的内容取算法的参数如下:种群规模为30,交叉概率为0.6,变异概率选为0.01,采用最大迭代次数G作为终止条件,取为100。 2)确定参数的取值范围和编码

kp参数的取值范围为[1,20],ki、kd参数的取值范围为[0,1]。

为方便起见,本节仿真采用二进制编码方式。设置参数的精度为0.0001,故每个参数对应的编码长度为14,个体的编码长度为14*11=154。 3)选取初始种群

采用遗传工具箱函数crtbp随机产生初始种群。 2) 确定遗传策略

对于遗传操作,分别选取轮盘赌选择法、单点交叉和点变异。 4)适应度函数的设计

为获取满意的过渡过程动态特性,采用误差绝对值时间积分性能指标作为参数选择的目标函数。为防止控制量过大,在目标函数中加入控制输入的平方项。选用下式作为参数选取的最优指标

J???0(0.999|e(t)|?0.001u(t))dt?2tu2

t e(t)为系统偏差,u(t)为PID控制器输出,u为上升时间。

为避免超调了,采用惩罚功能,一旦产生超调,将超调量作为最优指标的一项,此时最优指标为

ife(t)?0J???0(0.999|e(t)|?0.001u(t)?100|e(t)|)dt?2tu2

J值越小,对应的PID参数越优良。但是,由于GA算法用于求解最大值问题,所以需要对J做一个简单变形,从而得到算法的适应度函数:

GA算法的工作流程可由图5.4来表示。

f?1J 48

上海大学毕业设计(论文)

5.3.2 仿真研究与结果分析

为了充分验证GA算法调整的PID控制系统参数的有效性,本小节分别在基于经验法和GA法的PID控制器的作用进行了一系列仿真实验,并给出了相应的仿真结果和对比分析。

基于经验法时,选取在2.4.2 增量式PID控制算法中试凑得到的经验参数

kp=1.8,i=0.001,

kkd=0.001作为PID参数。而在基于GA算法时,GA算法模

kp块经迭代找到的最优参数为=19.9963,i=0.2531,

kkd=0.0320。

基于经验法的PID控制阶跃响应在第二章的图2.6已经给出。基于遗传算法的PID控制阶跃响应如图5.5所示。

49

上海大学毕业设计(论文)

基于经验法得到的PID参数对应的性能指标J=63.6509,而基于GA算法的最佳J=24.0144。下图5.6给出了基于GA的PID控制系统J的优化过程。

50

本文来源:https://www.bwwdw.com/article/l6qa.html

Top