非线性系统的神经网络辨识
- 格式:doc
- 大小:300.00 KB
- 文档页数:17
神经网络在系统辨识中的应用摘要应用于自动控制系统的神经网络算法很多,特点不一,对于非线性系统辨识的研究有一定影响。
本文就BP网络算法进行了着重介绍,并点明了其收敛较慢等缺点,进而给出了改进算法,说明了建立在BP算法基础上的其他算法用于非线性系统辨识的可行性与有效性。
关键词神经网络BP算法;辨识;非线性系统前言神经网络是一门新兴的多学科研究领域,它是在对人脑的探索中形成的。
神经网络在系统建模、辨识与控制中的应用,大致以1985年Rumelhart的突破性研究为界。
在极短的时间内,神经网络就以其独特的非传统表达方式和固有的学习能力,引起了控制界的普遍重视,并取得了一系列重要结果。
本文以神经网络在系统辨识中的应用作一综述,而后着重介绍BP网络算法,并给出了若干改进的BP算法。
通过比较,说明改进算法具有诸多优点及用于非线性系统辨识[1]的可行性与有效性。
1 神经网絡用于系统辨识的原理及现状神经网络在自动控制系统中的应用已有多年。
目前,利用神经网络建立动态系统的输入/输出模型的理论及技术,在许多具体领域的应用得到成功,如化工过程、水轮机、机器入手臂、涡轮柴油发动机等。
运用神经网络的建模适用于相当于非线性特性的复杂系统[2]。
目前系统辨识中用得最多的是多层前馈神经网络[1]。
我们知道,自动控制系统中,一个单隐层或双隐层的具有任意数目神经元的神经网络,可以产生逼近任意函数的输入/输出映射。
但网络的输入节点数目及种类(延迟输入和输出)、隐层节点的个数以及训练所用的算法对辨识精度和收敛时间均有影响。
一般根据系统阶数取延迟输入信号,根据经验确定隐层节点数,然后对若干个神经网络进行比较,确定网络中神经元的合理数目。
现在用得较多的多层前馈神经网络的学习算法是反向传播算法(Back Propagation),即BP算法。
但BP算法收敛速度较慢,后面将会进一步讨论。
1.1 神经网络的结构感知器是最简单的前馈网络,它主要用于模式分类。
试论述神经网络系统建模的几种基本方法。
利用BP 网络对以下非线性系统进行辨识。
非线性系统22()(2(1)1)(1)()1()(1)y k y k y k u k y k y k -++=+++-1)首先利用u(k)=sin(2*pi*k/3)+1/3*sin(2*pi*k/6),产生样本点500,输入到上述系统,产生y(k), 用于训练BP 网络;2)网络测试,利用u(k)=sin(2*pi*k/4)+1/5*sin(2*pi*k/7), 产生测试点200,输入到上述系统,产生y(k), 检验BP/RBF 网络建模效果。
3)利用模型参考自适应方法,设计NNMARC 控制器,并对周期为50,幅值为+/- 的方波给定,进行闭环系统跟踪控制仿真,检验控制效果(要求超调<5%)。
要求给出源程序和神经网络结构示意图,计算结果(权值矩阵),动态过程仿真图。
1、系统辨识题目中的非线性系统可以写成下式:22()(2(1)1)(1)()();()1()(1)y k y k y k f u k f y k y k -++=•+•=++- 使用BP 网络对非线性部分()f •进行辨识,网络结构如图所示,各层神经元个数分别为2-8-1,输入数据为y(k-1)和y(k-2),输出数据为y(k)。
图 辨识非线性系统的BP 网络结构使用500组样本进行训练,最终达到设定的的误差,训练过程如图所示图网络训练过程使用200个新的测试点进行测试,得到测试网络输出和误差结果分别如下图,所示。
从图中可以看出,相对训练数据而言,测试数据的辨识误差稍微变大,在±0.06范围内,拟合效果还算不错。
图使用BP网络辨识的测试结果图使用BP网络辨识的测试误差情况clear all;close all;%% 产生训练数据和测试数据U=0; Y=0; T=0;u_1(1)=0; y_1(1)=0; y_2(1)=0;for k=1:1:500 %使用500个样本点训练数据U(k)=sin(2*pi/3*k) + 1/3*sin(2*pi/6*k);T(k)= y_1(k) * (2*y_2(k) + 1) / (1+ y_1(k)^2 + y_2(k)^2); %对应目标值Y(k) = u_1(k) + T(k); %非线性系统输出,用于更新y_1if k<500u_1(k+1) = U(k); y_2(k+1) = y_1(k); y_1(k+1) = Y(k); endendy_1(1)=; y_1(2)=0;y_2(1)=0; y_2(2)=; y_2(3)=0; %为避免组合后出现零向量,加上一个很小的数X=[y_1;y_2];save('traindata','X','T');clearvars -except X T ; %清除其余变量U=0; Y=0; Tc=0;u_1(1)=0; y_1(1)=0; y_2(1)=0;for k=1:1:200 %使用500个样本点训练数据U(k)=sin(2*pi/4*k) + 1/5*sin(2*pi/7*k); %新的测试函数Y(k) = u_1(k) + y_1(k) * (2*y_2(k) + 1) / (1+ y_1(k)^2 + y_2(k)^2); if k<200u_1(k+1) = U(k); y_2(k+1) = y_1(k); y_1(k+1) = Y(k); endendTc=Y; Uc=u_1;y_1(1)=; y_1(2)=0;y_2(1)=0; y_2(2)=; y_2(3)=0; %为避免组合后出现零向量,加上一个很小的数Xc=[y_1;y_2];save('testdata','Xc','Tc','Uc'); %保存测试数据clearvars -except Xc Tc Uc ; %清除其余变量,load traindata; load testdata; %加载训练数据和测试数据%% 网络建立与训练[R,Q]= size(X); [S,~]= size(T); [Sc,Qc]= size(Tc);Hid_num = 8; %隐含层选取8个神经元较合适val_iw =rands(Hid_num,R); %隐含层神经元的初始权值val_b1 =rands(Hid_num,1); %隐含层神经元的初始偏置val_lw =rands(S,Hid_num); %输出层神经元的初始权值val_b2 =rands(S,1); %输出层神经元的初始偏置net=newff(X,T,Hid_num); %建立BP神经网络,使用默认参数 %设置训练次数= 50;%设置mean square error,均方误差,%设置学习速率{1,1}=val_iw; %初始权值和偏置{2,1}=val_lw;{1}=val_b1;{2}=val_b2;[net,tr]=train(net,X,T); %训练网络save('aaa', 'net'); %将训练好的网络保存下来%% 网络测试A=sim(net,X); %测试网络E=T-A; %测试误差error = sumsqr(E)/(S*Q) %测试结果的的MSEA1=sim(net,Xc); %测试网络Yc= A1 + Uc;E1=Tc-Yc; %测试误差error_c = sumsqr(E1)/(Sc*Qc) %测试结果的的MSEfigure(1);plot(Tc,'r');hold on;plot(Yc,'b'); legend('exp','act'); xlabel('test smaple'); ylabel('output') figure(2); plot(E1);xlabel('test sample'); ylabel('error')2、MRAC 控制器被控对象为非线性系统:22()(2(1)1)(1)()();()1()(1)y k y k y k f u k f y k y k -++=•+•=++- 由第一部分对()f •的辨识结果,可知该非线性系统的辨识模型为:(1)[(),(1)]()I p y k N y k y k u k +=-+可知u(k)可以表示为(1)p y k +和(),(1)y k y k -的函数,因此可使用系统的逆模型进行控制器设计。
非线性系统系统辨识与控制研究引言:非线性系统是指系统在其输入与输出之间的关系不符合线性关系的系统。
这种系统具有复杂的动态行为和非线性特性,使得其辨识与控制变得非常具有挑战性。
然而,非线性系统在现实生活中的应用非常广泛,例如电力系统、机械系统和生物系统等。
因此,对非线性系统的系统辨识与控制研究具有重要意义。
一、非线性系统辨识方法研究1. 仿射变换法仿射变换法是一种常用的非线性系统辨识方法之一。
它通过将非线性系统进行仿射变换,将其转化为线性系统的形式,从而利用线性系统辨识的方法进行处理。
该方法适用于具有输入输出非线性关系的系统,但对于参数模型的选择和计算量较大的问题需要进一步研究。
2. 基于神经网络的方法神经网络作为一种强大的表达非线性关系的工具,被广泛应用于非线性系统辨识。
基于神经网络的方法可以通过训练神经网络模型,从大量的输入输出数据中学习非线性系统的映射关系。
该方法的优点是可以逼近任意非线性函数,但对于网络结构的选择和训练过程中的收敛性等问题还需深入研究。
3. 基于系统辨识方法的非线性系统辨识传统的系统辨识方法主要适用于线性系统的辨识,但其在非线性系统辨识中也有应用的价值。
通过对非线性系统进行线性化处理,可以将其转化为线性系统的辨识问题。
同时,利用最小二乘法、频域法等常用的系统辨识方法对线性化后的系统进行辨识。
这种方法的优势在于利用了线性系统辨识的经验和技术,但对于线性化的准确性和辨识结果的合理性需要进行评估。
二、非线性系统控制方法研究1. 反馈线性化控制反馈线性化是一种常用的非线性系统控制方法。
该方法通过在非线性系统中引入反馈控制器,将非线性系统转化为可控性的线性系统。
然后,利用线性系统控制方法设计控制器,并通过反馈线性化控制策略实现对非线性系统的控制。
该方法的优点在于简化了非线性系统控制的设计和分析过程,但对于系统的稳定性和性能等问题还需要进行进一步的研究。
2. 自适应控制自适应控制是一种针对非线性系统的适应性控制方法。
使用Matlab进行非线性系统辨识与控制的技巧在控制系统领域,非线性系统一直是研究的重点和难点之一。
与线性系统不同,非线性系统具有复杂的动力学特性和响应行为,给系统的建模、辨识和控制带来了挑战。
然而,随着计算机技术的快速发展,现在可以利用强大的软件工具如Matlab来进行非线性系统辨识与控制的研究。
本文将分享一些使用Matlab进行非线性系统辨识与控制的技巧,希望对相关研究人员有所帮助。
一、非线性系统辨识非线性系统辨识是指通过实验数据来确定系统的数学模型,以描述系统的动态行为。
在非线性系统辨识中,最常用的方法是基于系统响应的模型辨识技术。
这种方法通常包括以下几个步骤:1. 数据采集和预处理:首先,需要采集实验数据以用于系统辨识。
在数据采集过程中,应尽量减小噪声的影响,并确保数据的可靠性。
然后,对采集到的数据进行预处理,如滤波、采样等,以消除噪声和干扰。
2. 模型结构选择:在进行非线性系统辨识时,应选择合适的模型结构来描述系统的动态特性。
常见的模型结构包括非线性自回归移动平均模型(NARMA),广义回归神经网络(GRNN)等。
选择合适的模型结构对于准确地描述系统非线性特性至关重要。
3. 参数估计:根据选定的模型结构,使用最小二乘法或其他参数估计算法来估计模型的参数。
MATLAB提供了多种估计算法和工具箱,如系统辨识工具箱(System Identification Toolbox)等,可方便地进行参数估计。
4. 模型验证与评估:在参数估计完成后,应对辨识的模型进行验证和评估。
常用的方法是计算模型的均方根误差(RMSE)和决定系数(R-squared),进一步提高模型的准确性和可靠性。
二、非线性系统控制非线性系统控制是指通过设计控制策略来实现对非线性系统的稳定和性能要求。
与非线性系统辨识类似,非线性系统控制也可以利用Matlab进行研究和设计。
以下是一些常用的非线性系统控制技巧:1.反馈线性化控制:线性化是将非线性系统近似为线性系统的一种方法。
非线性系统辨识与控制算法研究第一章:引言非线性系统广泛存在于现实生活中,从大气环境、机械系统到经济系统,都涉及到非线性问题。
非线性系统辨识与控制是研究非线性系统的一个重要方向,它关注如何识别非线性系统的参数和结构,并开发出针对这些系统的控制策略。
在这篇文章中,我们将探讨非线性系统辨识与控制的算法研究。
第二章:非线性系统辨识非线性系统的辨识是指通过实验或仿真来确定非线性系统的参数和结构。
传统的线性系统辨识方法,如最小二乘法和系统辨识工具箱,只适用于线性系统。
非线性系统辨识则需要使用更为复杂的方法。
2.1 基于神经网络的非线性系统辨识算法神经网络是一种模拟大脑神经元的计算模型,具有强大的非线性映射能力。
因此,基于神经网络的非线性系统辨识算法已经成为了较为成熟的算法之一。
该算法通过构建一个神经网络模型,利用实验数据进行训练,从而识别出非线性系统的参数和结构。
2.2 基于遗传算法的非线性系统辨识算法遗传算法是模拟生物进化过程的一种优化方法,它可以在搜索非线性系统参数空间时获得更好的结果。
基于遗传算法的非线性系统辨识算法通过构建一个优化模型,将非线性系统的参数作为待优化变量,利用遗传算法进行求解,从而获得非线性系统的参数和结构。
第三章:非线性系统控制非线性系统控制是指控制非线性系统的输出以达到一定的目标。
与线性系统控制不同,非线性系统控制需要考虑非线性系统的特征,如不确定性、耦合、时变性等等。
因此,非线性系统控制需要更为复杂的算法。
3.1 基于模糊逻辑的非线性系统控制算法模糊逻辑是一种能够应对不确定性问题的数学工具,它适用于非线性系统控制中的决策和规划问题。
基于模糊逻辑的非线性系统控制算法通过建立一组模糊规则,并利用这些规则对输入输出进行映射,生成控制规则集。
这种算法在处理非线性系统控制问题时具有较强的实用性。
3.2 基于自适应控制的非线性系统控制算法自适应控制是一种利用反馈信息来调节控制器参数的方法,适用于非线性系统控制中的时变性和不确定性问题。
非线性系统辨识方法综述系统辨识属于现代控制工程范畴,是以研究建立一个系统的数学模型的技术方法。
分析法和实验法是主要的数学模型建立方法。
系统辨是一种实验建立数学模型的方法,可实时建模,满足不同模型建立的需求。
L.A.Zadeh于1962年提出系统辨识的定义:在输入、输出的基础上,确定一个在一定条件下与所观测系统相等的系统。
系统辨识技术主要由系统的结构辨识和系统的参数估计两部分组成。
系统的数学表达式的形式称之为系统的结构。
对SISO系统而言,系统的阶次为系统的机构;对多变量线性系统而言,模型结构就是系统的能控性结构指数或能观性结构指数。
但实际应用中难以找到与现有系统等价的模型。
因此,系统辨识从实际的角度看是选择一个最好的能拟合实际系统输入输出特性的模型。
本文介绍一些新型的系统辨识方法,体现新型方法的优势,最后得出结论。
二、基于神经网络的非线性系统辨识方法近年来,人工神经网络得到了广泛的应用,尤其是在模式识别、机器学习、智能计算和数据挖掘方面。
人工神经网络具有较好的非线性计算能力、并行计算处理能力和自适应能力,这为非线性系统的辨识提供了新的解决方法。
结合神经网络的系统辨识法被用于各领域的研究,并不断提出改进型方法,取得了较好的进展。
如刘通等人使用了径向基函数神经网络对伺服电机进行了辨识,使用了梯度下降方法进行训练,确定系统参数;张济民等人对摆式列车倾摆控制系统进行了改进,使用BP神经对倾摆控制系统进行辨识;崔文峰等人将最小二乘法与传统人工神经网络结合,改善了移动机器人CyCab的运行系统。
与传统的系统识别方法相比较,人工神经网络具有较多优点:(一)使用神经元之间相连接的权值使得系统的输出可以逐渐进行调整;(二)可以辨识非线性系统,这种辨识方法是络自身来进行,无需编程;(三)无需对系统建行数模,因为神经网络的参数已都反映在内部;(四)神经网络的独立性强,它采用的学习算法是它收敛速度的唯一影响因素;(五)神经网络也适用于在线计算机控制。
《热动力系统动态学》课程论文题目:基于BP神经网络对电力系统负荷的预测控制学院:动力工程学院专业:动力工程及工程热物理姓名:赵乾学号:20091002055指导教师:杨晨(教授)成绩:2010年7月30日基于BP神经网络对电力系统负荷的预测控制摘要:电力系统的负荷曲线受很多因素的影响是一个非线性的函数,该文文献提出应用BP神经网络对电力负荷系统的预测控制,来抽取和逼近这种非线性函数。
通过MATLAB仿真实验得到,对电力系统的短期负荷预测与实际负荷之间的误差很小,具有很好的应用前途。
关键词:BP神经网络,预测控制,电力负荷引言随着智能控制理论研究的不断深入及其在控制领域的广泛应用,神经网络[1]、遗传算法[2-3]模糊理论[4]等方法被应用于系统模型预测和辨识。
其中,由于BP神经网络 (Back Propagation,BP)由于具有非线性逼近能力强,网络结构简单,学习速度快等优点已被广泛应用于对非线性系统的建立和预测。
电力系统负荷的预测对电力系统和电厂设备的控制、运行和计划都有着重要的意义。
电力系统负荷的变化一方面有未知不确定因素引起的随机波动,另一方面又具有周期变化的规律,使得负荷曲线具有相似性,而神经网络具有较强的非线性映射能力,能对负荷的变化具有很好预测性。
1.BP神经网络辨识理论基础BP (Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成。
输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。
当实际输出与期望输出不符时,进入误差的反向传播阶段。
误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。
周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。
1.1BP算法内容基本BP 算法包括两个方面:信号的前向传播和误差的反向传播。
即计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向进行[6]。
图1 BP 网络结构图中:j x 表示输入层第j 个节点的输入,j =1,…,M ;ij w 表示隐含层第i 个节点到输入层第j 个节点之间的权值;i θ表示隐含层第i 个节点的阈值;()x φ表示隐含层的激励函数;ki w 表示输出层第k 个节点到隐含层第i 个节点之间的权值,i =1,…,q ; k a 表示输出层第k 个节点的阈值,k =1,…,L ;()x ψ表示输出层的激励函数;k o 表示输出层第k 个节点的输出。
根据信号的前向和反向的过程传播式的最后推导出最后式子为下面四个式子1.输出层权值调整公式:()11()'P Lp p ki k k k i p k w T o net y ηψ==∆=-⋅⋅∑∑ (1-1)2.输出层阈值调整公式:()11()'P Lp p k k k k p k a T o net ηψ==∆=-⋅∑∑ (1-2)3.隐含层权值调整公式:()11()'()P L p p ij k k k ki i j p k w To net w net x ηψφ=='∆=-⋅⋅⋅⋅∑∑ (1-3)4.隐含层阈值调整公式:()11()'()P L p p i k k k ki i p k To net w net θηψφ=='∆=-⋅⋅⋅∑∑ (1-4)算法的流出图为如下图二所示:图2 BP 算法程序流程图1.2 BP 算法的不足BP 算法因其简单、易行、计算量小、并行性强等优点,目前是神经网络训练采用最多也是最成熟的训练算法之一。
其算法的实质是求解误差函数的最小值问题,由于它采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权值,因而通常存在以下问题[5]:(1)学习效率低,收敛速度慢首先,BP 算法是利用误差函数对权值的一阶导数信息来指导权值调整,以求最终误差达到最小。
在执行过程中,网络参数每次调整的幅度,均以一个与网络误差函数或其对权值的导数大小成正比的项乘以固定的因子进行。
这样,在误差曲面曲率较高处,这一偏导数值较大,网络参数调整的幅度也大,以至于在误差函数最小点附近会发生过调整现象,使权值调节路径变为严重的锯齿形,难以收敛到最小点.为保证算法的收敛性,学习速率必须很小。
这样在误差曲面较平坦处,由于偏导数值本身已很小,网络参数调节的幅度就更小,以至于需要经过多次调整才能将误差函数曲面降低。
这是BP 算法学习速度慢的一个重要原因.(2)易陷入局部极小状态BP 算法是以梯度下降法为基础的非线性优化方法,不可避免地存在局部极小问题。
且实际问题的求解空间往往是极其复杂的多维曲面,存在着许多局部极小点,更使这种陷于局部极小点的可能性大大增加。
通常,在BP 算法中随机设置初始权值时,网络的训练一般较难达到全局最优。
1.3算法的改进针对BP 算法学习效率低,收敛速度慢的缺陷,目前已有许多学者对其进行改进[55][56],如采用增量可调法,原有BP 算法中网络调整参数学习速率为一固定值是使其收敛速度慢的主要原因。
采用改进的自适应学习速率方法,可以得到更快的收敛速度,在反向传播修正权值和阈值的过程中,针对某个特定的权值或阈值进行具体的调整。
以ki w 为例,若误差E 对隐含层权值的一阶导数为()ki K E w ∂∂与其上一步的一阶导数(1)ki K E w ∂∂-符号相同,说明根据此参数变化的方向在误差曲面上是可以继续按照这个趋势调整的。
也就是说可以进一步增大学习速率,以使其可以以更快的速度按照此方向调整相应的权值或与阈值。
反之如果异号,则表示在此权值或阈值方向越过一个局部极小点,为避免振荡,需要适当减小学习速率,减小修改幅度。
在一步修改完成后,如果全局误差变化较大,表明调整量过大,跨过了误差变化激烈区域某些较窄的坑凹处,这时应该减小所有的学习速率,同时放弃本次对所有参数的修正,以确保不会跨过该坑凹处,同时避免振荡。
具体调整方法如下:(1) 当()(1)K K E E <-时:① 0()(1)ki ki K K E E w w ∂∂⨯≥∂∂-时,()(1)ki ki w w K K im ηη=-⨯,dx c =; (1-5) ②0()(1)ki ki K K E E w w ∂∂⨯<∂∂-时,()(1)ki ki w w K K dm ηη=-⨯,dx c =; (1-6)(2) 当()(1)K K E er E >⋅-时:()(1)ki kiw w K K dm ηη=-⨯, 0dx =; (1-7) 同时权值和阈值保持不变,不做修改。
(3) 当 (1)()(1)K K K E E er E -≤≤⋅- 时:()(1)k i k iw w K K ηη=-, dx c =; (1-8) 网络中其它参数的修正方法与ki w 的修正方法相同。
2. 神经网络预测控制预测是借助于对已知、过去和现在的分析得到对未来的了解。
以状态空间法为基础的现代控制理论是20世纪60年代初期发展起来的,它对自动控制技术的发展起到了积极的推动作用,但存在着理论与实际应用不协调的现象。
人们试图寻找模型要求低、在线计算方便、控制效果好的算法,在这种背景下,预测控制相应而生。
2.1预测控制的基本特征预测控制发展至今已经有很多种具体算法,虽然有不同的表示形式,但其基本思想和机理在本质上是相同的。
预测控制可由预测模型、滚动优化和反馈校正三大特征所概括(1)预测模型预测控制需要一个描述动态行为的基础模型,称预测模型。
它有预测功能,即能根据系统现时刻和未来时刻的控制输入及历史信息,预测过程输出的未来值。
因此,预测控制算法改变了现代控制理论对模型结构较严格的要求,更着眼于根据功能要求,按最方便的途径建立多样化的模型。
对于线性稳定对象,阶跃响应、脉冲响应这类非参数模型可以直接作为预测模型,非线性系统、分布参数系统的模型只要具有预测功能,也可以作为预测模型;甚至在对象的动态变化规律高度复杂,难以给出定量模型时,还允许表格模型、模糊模型、神经网络模型、模糊神经网络模型以及规则作为预测模型[7]。
这种模型对结构约束的突破,为系统的建模提供了很大的自由度,不但可以采用常规手段建模,而且可以引入人工智能,建立非常规启发模型,为多层控制提供合适不同类型的模型。
用于描述过程动态行为的预测模型可以通过简单试验得到,无需系统辨识这类建模过程的复杂运算。
此外,由于采用了非最小化形式描述的离散卷积和模型,信息冗余量大,有利于提高系统的鲁棒性[8]。
(2)反馈校正由于实际过程存在非线性时变、模型失配和干扰等不确定性因素,使得基于模型的预测不可能与实际完全相符。
因此必须通过输出的实际值与模型的预测值进行比较,得出模型的预测误差,再利用这个误差来校正模型的预测值,从而得到更为准确的预测值。
正是这种模型预测加反馈校正的过程,使预测控制具有很强的抗干扰和克服系统不准确性的能力。
(3)滚动优化即采用滚动式的有限时域优化策略。
也就是说优化策略不是离线完成的,而是反复在线进行的,即在每一采样时刻,优化性能指标只涉及从该时刻起到未来的有限时间段,而到下一个采样时刻,这一优化时段会同时向前推移。
因此预测控制不是用一个对全局相同的优化指标,而是在每一个时刻有一个相对于该时刻的局部优化性能指标。
不同时刻优化性能指标的形式是相同的,但其包含的时间区域是不同的,这就是滚动优化的含义。
虽然预测控制采用这种有限时段优化具有一定的局限性,滚动优化可能无法得到全局的最优解,但优化的滚动实施却能顾及由于模型失配、时变、干扰等引起的不确定性,及时弥补这些因素造成的影响,并始终把新的优化建立在实际过程的基础上。
因此,建立在有限时段上的滚动优化策略更加符合过程控制的特点[9]。
2.2 预测控制的基本类型预测控制有很多不同的类型,根据不同的划分标准,可以得到不同的分类。
按照预测模型划分,可以将预测控制分为以下三类:(1)以参数模型为预测模型的预测控制算法:参数模型分为差分方程模型和离散状态空间模型[9]。
差分方程模型是一种离散时间动态模型,它分为确定性差分方程和随机性差分方程。
通常,预测控制采用随机差分方程,如受控自回归滑动平均模型(Controlled Auto-Regressive Moving简称CARMA)和受控自回归积分滑动平均模型(Controlled Auto-regressive Integrated Moving Average Model简称CARIMA)等。