采用MATLAB的最优化技术及其在过程控制中的应用_第1页
采用MATLAB的最优化技术及其在过程控制中的应用_第2页
采用MATLAB的最优化技术及其在过程控制中的应用_第3页
采用MATLAB的最优化技术及其在过程控制中的应用_第4页
采用MATLAB的最优化技术及其在过程控制中的应用_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、采用MATLAB的最优化技术及其在过程控制中的应用发表时间:2002-12-13作者:李平康摘要:1 引言 连续工业生产过程不仅包括了信息流、物质流和能源流,而且还伴随着物理化学反应、生化反应、相变过程及物质和能量的转换和传递过程,因而是一个十分复杂的工业大系统 。系统本身存在的复杂性、不确定性和非线性等因素决定了对它进行自动控制的困难程度。 而在实现了自动控制的基础上的优化,则更是一件困难的工作。目前对工业生产过程的优化正在逐步受到重视,因为借助优化可以获得更大的经济效益和社会效益。此处的过程控制的优化主要是针对与经济指标直接有关的目标函数而言的,如产品的质量和数量的提高 、原料和能量消耗的

2、降低等。尽管工业过程已经在进行生产过程的工艺设计时,就或多或少考虑了获得最佳指标的设备和工艺参数,但在运行时,工艺参数、设备性能、工作环境及原料都不可避免地会发生变化,这些变化的参数将使系统达不到最优。所以对运行的过程进行优化是十分重要的。市场竞争的需要给过程控制提出了新的要求,出现了对以模型为基础的先进控制、过程优化、过程参数的软测量方法研究等等优化的新应用。文1提出 要象六、七十年代华罗庚宣传“优化法”那样,投以极大热情普及优化技术;建议采用钱学森针对系统科学所提出的“大成智慧工程”方式,集工艺、自控、管理各专业互相学习,密切配合,打破界限,联合攻关,以信息技术为纽带,实现过程工业的技术创

3、新。 当前,过程的优化主要是寻找最佳的工艺参数设定值以获得最大的经济效益,这属于稳态优化。稳态优化采用静态参数模型。寻找并维持最佳的过程运行工况则属于动态优化 ,采用与时间相关的动态(微分方程)参数模型。优化可以离线进行,也可以在线进行。离线优化是指利用各种建模、优化方法求解最优的工艺生产参数,提供操作人员实施。这是目前用得最多的一类优化。在线优化则是利用计算机自动周期地完成模型计算、模型修正和参数寻优,并将最优参数值直接送到控制器作为设定值,对过程进行控制(约束)。显然 ,在线优化能以一种动态的方式处理稳态优化问题,使优化参数得到及时修正,取得更好的效益。稳态优化涉及的主要是约束条件下的优化

4、方法,从而要求所建立的模型应能正确反映工艺参数的经济指标的关系。 本文将在简要回顾最优化算法和计算机实现技术的基础上,结合电力工业过程应用实际,给出使用MATLAB的Simulink和NCD工具箱对控制系统进行PID控制系统参数优化、仿真和非线性优化的可视实现及应用实例。2 最优化理论与算法简介 最优化是一门实践性很强的学科。自20世纪中奠基以来,目前的应用领域非常广泛,实现算法也种类繁多,并且随着现代计算机技术和智能控制技术的发展而丰富。如在大量的各种线性优化、非线性优化及动态规划的常规算法之外,近来出现的神经网络优化、遗传算法(Generic Algorithm)2、进化算法(Evolut

5、ionary Algorithm)3等。虽然算 法多种多样,然而一般说来其进行优化的基础是一致的。下面对此作一简述。 设待优化问题的变量为X=(x1,x2,xn)稲n,优化问题的约束可用这些变量满足的不等式或等式表示为:gi(x1,,xn) 0,hj(x1,,xn) 0,i=1,2 ,,m,j=1,2,,p.优化的目的是在优化变量的约束限制范围内,使某实函数f(x)取 得极大或极小值。称f(x)为优化问题的目标函数。一般将优化问题表示为:min f(x)g(x)0s.t. (1)h(x)0对于线性规划问题,f(x)=CTx,约束条件:Axb bAx 相应于g(x)O对于非线性xOx规划,f(x

6、)(或)g(x)或h(x)可为任意非线性函数。优化问题进一步可 分为无约束、等式约束和不等式约束等特例。 求解优化问题,通常采用迭代方法。迭代的基本思想是:从一个选定的初始点x0Rn出发,按照某一特定的迭代规则产生一点列xk,使得当xk为有穷点列时,其最后一个点即是(1)式的解;而当xk为无穷点列且存在极限点时,则这极限点 为优化问题(1)的最优解。如设xk Rn是某一迭代方法的第k次迭代点,记xk xk1xk有xk1 xk xk。将xk视 为一个以xk为起点,而以xk1为终点的n维矢量,若设dk为xk方向的单位矢量,则必存在k0,使xkkdk一般称dk为第k次搜索方向,称k为第k次迭代步长。

7、应用该优化问题的基本迭代格式求 最优解的关键在于:如何构造每一次的搜索方向和确定合适的迭代步长。常用的有梯度法(最速下降法)、共轭梯度法、DFP变尺度法或BFGS公式(拟牛顿法)、罚函数(乘子)法等4。由于各种优化计算公式十分复杂,实现算法种类繁多,并且需要用到梯度、下降方向、矩阵计算等,给现场过程工程师应用优化技术带来不便。近年来MATLAB等计算工具的普及使优化技术不再局限于研究工作而可以十分方便的应用于工程实际。下面将在给出MATLAB优化算法的基础上,结合电力生产过程实际实现进行讨论。3 优化算法的MATLAB实现 MATLAB中针对优化问题开发了专用的优化工具箱,以提供对各种优化问题

8、的一个完整的解决方案。优化工具箱的内容涵盖了线性规划、非线性规划、二次规划、最小二乘问题、非线性方程求解、多目标决策、极大极小问题、半无限规划等。优化函数的表达简洁,提供了多种可选择的优化算法,对算法的参数可以自由设置,使用非常方便。主要的优化函数有:1)优化参数设置:foptions2)线性规划求解:1p3)无约束非线性优化:fminu,ffnins4)约束非线性优化:constr5)标量非线性优化:fmin6)多目标优化:attgoal7)线性约束最小二乘;conls8)非线性约束最小二乘:leastsq4 火电厂工程应用 大型火力发电机组是由发电机、汽轮机和锅炉三大主机以及辅助设备组成的

9、庞大的 设备群,其工艺流程复杂,设备众多,管道纵横交错,有数千个参数需要监测、操作或控制 ,同时多种运行方式和切换关系使对象特性多变,构成一类典型的多变量、非线性、时变的复杂被控对象。目前这类大系统的运行优化已成为十分关注的课题。如某大型发电厂2X300MW火电机组,采用西门子T-XP微机分散控制系统(DCS)实现协调控制及其各子系统(含ACC,自动发电控制)的自动控制。安装投运后需要进行系统优化,其中对参数优化要求是:在现有控制系统结构下,优化各控制器中的PID参数和前馈系数,使得负荷指令为9MWMIN变化率时,实际负荷变化率达到75MWMIN以上,主汽压偏差在 04Mpa以内,燃料量可加速

10、变化,但不应超调或超调很小(超调控制在3TH煤以内)10。4. 1 PID控制器参数优化 火电厂热控系统采用微机分散控制系统(DCS)时,系统的结构和控制器的类型是确定的,控制系统的优化就是整定控制器参数。由于系统存在大量的非线性和纯迟延,控制器参数解析分析计算较困难,多年来工程实际中采用了许多近似方法(如图解曲线法等)。直接采用MATLAB优化将为工程技术人员提供方便。 对图1所示的控制系统,其开环传递函数由控制器Gc(s)和控制对象Gp(s)构成,在辨识得到了控制对象模型后,系统的优化问题成为确定控制器中PID参数7。简单起见设优化的目标函数取为误差平方和(也可以取为时间乘误差平方ITE等

11、型式):而过程辨识的模型为: NumemsGp(s)-Den (5)其中Num和Den分别为模型传函的分子和分母。控制器的控制规律为PID(比例积分微分):Gc(s)kpki/s kds (6)过程优化要求在式(5)和(6)的约束条件下,寻求最优参数X=kpkikd使目标函数(2)取得最优值。为采用计算机进行优化,(5)、(6)需转换为时间域,或将指标(2)转换为频域。如(5)的模型可以用更一般的表示:y(i)f(kn,Tm,m,g(u(i) (7)而控制规律(6)的更一般形式为:u(i)h (kp,ki,kd) (8)详细的转换方法(算法)可以参考如文献7,此处略。42无约束非线性优化 简单

12、设g(x)x,且h函数为线性,系统输入r(i)为常数(或分段线性函数),则优化问题可以归结为标准无约束非线性优化形式,可以采用fminu或finins进行优化。 fminu和fmins的用法相同。第k次的搜索方向都可以通过选择采用DFP变尺度法或BFGS公式来逼近Hessian矩阵的拟牛顿方向,也可以采用最速下降方向。第k次迭代步长k采用线性搜索算法,即可以选择使用一种二次和三次多项式插值的混合算法,或 只用三次多项式的插值算法。两个函数的区别为fminu使用解析方法而fmins使用单纯型搜索算法。当目标函数为2阶以上连续可微时,fminu优于fmins,而对于非常不连续函数,则fminu不如

13、fmins更具鲁棒性。并且fminu要求目标函数连续。MATLAB使用格式为:x=fnlinu(fun,xO)或x=fminu(fun,xO,options)其中x为函数的极小值,fun函数定义在MATLAB工作空间中的M文件fun.m中,初值为x0。如当控制器参数可用表示时,优化函数fun在MATLAB中可以定义为:J(x)Sum(r(i)y(i).2)。调用x=fminu(fun,x0)进行优化即可得到 优化的参数值。43 约束非线性优化 控制器参数不能用e(i)r(i)y(i)显式表示时,需要采用有约束非线性优化函数constr,多目标优化函数attgoal等来设计控制器。对于非线性和纯

14、迟延等特性,利用动 态系统仿真Simulink工具箱,配合MATLAB的优化函数,可以实现对于DCS系统的控制器参数优化。也可以采用神经网络优化、遗传算法GA等实现控制器参数寻优。44 非线性可视优化 MATLAB不但有用于优化和动态系统仿真的Simulink工具箱,而且还开发了一个专用于非线性优化设计的工具箱NCD(NonlinearControlDesign)。借助于NCD工具箱,不但可以利用Simulink进行系统的动态仿真与分析,而且可以利用Simulink进行系统参数的可视优化设计。采用NCD人机交互的可视优化的步骤如下6:步骤1:初始化(ncdinit)得到系统工况平衡初始点和NC

15、D优化的参数初值;步骤2:进行对象仿真,检查输出结果,调整仿真参数使仿真的输出与过程实际输出一致;步骤3:运行NCD,进行变量的优化;步骤4:将优化结果与实际的控制过程比较,假如优化不合理或不可接受,则返回检查对象摸型(5)或ARX模型,然后从第一步开始重做。运行MATLAB的NCD进行优化需要为优化参数提供初值。注意如初始参数不合适,则(0将不能收敛到全局的最优值。NCD的详细使用可参见文献5。5 仿真实例为说明MATLAB优化技术及其应用,举例如下:例1线性规划设目标函数为:minf(x)=-5x1-4x2-6x3约束条件如下:x1x2x320;3x12x24x342;3x12x230;x

16、10;x20;x30MATLAB求解方法为:在MATLAB命令窗口,输入C=-5,-4,-6,A=1-11;324;320; B=20;42;30;然后应用线性规划求解函数1p:即x,lambda=lp(C,A,B,zeros(3,1);立即得到最优解为:X=0 15 3,并得到lambda即拉格郎日乘子的值(0,15,05,1 0,0,0)。例2多目标优化对于非线性耦合动力系统,采用极点配置算法确定最优状态反馈阵参数K时,可应用attgoal多目标优化函数9。设耦合动力系统及其极点配置方程为:XAXKX(AK)X (9)取系统矩阵A=0-1-1;1 0.2 0;0 0-5;状态反馈阵初值K=

17、zeros(3,3);优化目标(极点配置值)goal=-0.1-1-1;设运行参数w=abs(goal);vlb=-4*ones(si ze(K); vub=4*ones(si ze(K);opti ons(15)=3。定义MATLAB函数:f uncti on F=f unc(K,A)F=sort(ei g(A+K);则在MATLAB中运行K,opti ons=at t goal(f unc,K,goal,w,opti ons,vl b,vub,A)可得到优化后的K值为:K=0.03220.6377 -0.8142-1.3776 0.3361 0.32350.6254 0.2668 2.9252该系统详细分析设计见9。53PID控制系统参数优化 对图1所示的控制系统,设控制器Gc(s)初参数为X0=001 001 30,控制对象Gp(s)为Num=18,Den=1 2 0 0,纯迟延为01。输入:a0=18*x1;a1=18* 2;a2=2;a3=1;b0=00;b1=2:b2=1;采用频域目标函数:JPID=(b2*b2*a0*a1+(b1*b1-2*bO*b2)*a0*a3+b0*bO*a2*a3)(2*a0*a3 (a1*a2-a0*a3);调用x=fmin(fun,X0)优化后,得到优化后的P1D参数为X=0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论