《基于vb的先进控制程序的研究与开发》由会员分享,可在线阅读,更多相关《基于vb的先进控制程序的研究与开发(59页珍藏版)》请在金锄头文库上搜索。
1、第一章 绪论1.1 课题研究对象PID控制是最早发展起来的控制策略之一,由于其算法简单,鲁棒性好及可靠性高,被广泛应用于过程控制与运动控制中,尤其适用于可建立精确数学模型的确定性系统。然而实际工业生产过程中往往具有非线性、时变不确定性,难以建立精确的数学模型,应用常规的PID控制器不能达到理想的控制效果,而且在实际生产现场中,由于受到参数整定方法的复杂的困扰,常规PID控制器参数往往整定不良、性能不佳,对运行工况的实用性很差1。现代中小规模的控制工程通常采用基于IPC的控制系统,系统具有数据采集、控制与管理功能。如能进一步采用先进控制算法,便可以设计出低成本的先进控制系统。在该课题中,被控对象
2、为电加热器,要对其实现高精度的恒温控制,且调节时间尽可能短。硬件采用ADVANTECH的IPC和PCL-1800多功能卡,用VB编写基于遗传算法整定的PID控制算法的控制程序,主要是采用实数编码。1.2 PID整定方法的发展在工程实际中,应用最为广泛的调节器控制规律为比例积分微分控制,简称PID控制,又称PID调节。PID控制器问世至今已有近60年的历史了,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制主要和可靠的技术工具。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它设计技术难以使用,系统的控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PI
3、D控制技术最为方便。即当我们不完全了解一个系统和被控对象或不能通过有效的测量手段来获得系统的参数的时候,便最适合用PID控制技术【2】。 随着计算机技术和最优控制理论的发展,PID参数的整定方法发生了很大的变化,出现了一些基于计算机的PID参数最优整定方法。最优控制理论的应用,加上计算机的高速运算能力,赋予了PID参数优化这样的多变量最优化问题新的生命力,PID控制器的最优化整定方法是针对特定的系统建立数学模型,运用各种数值解法按照一定的性能指标进行优化。常用的性能指标有各种积分型指标,如ISE、IAE、ISTE、ITAE等指标。近年来,随着智能控制理论的发展,专家系统、模糊控制以及神经网络日
4、益受到控制界的重视,出现了一些智能优化手段,主要有专家智能型PID参数自整定技术、基于模糊推理的PID自寻优技术、其他的如启发式搜索、霍普费尔德神经网络、模拟退火、遗传算法(GA)智能整定技术。1.3 VB主要功能和特点 Visual Basic 是Microsoft 公司开发的Windows 应用程序开发工具,Visual “可视化的”,是一种开发图形户界面(GUI)的方法。1991年推出 VB1.0,1992、1993、1995、1997、1998,2000相继推出:2.0, 3.0, 4.0, 5.0, 6.0,VB.Net(7.0)版本。5.0 ,6.0包含三种版本(学习版、专业版和企
5、业版)英文Visual的意思是“视觉的”,“可视的Baisc”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“可视”,你只要看到VB的界面就会明白,实际上你无需编程,就可以完成许多步骤。 在VB中引入了控件的概念,在Windows中控件的身影无处不在,如按钮、文本框等,VB把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法,能够响应用户操作(事件)。这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。VB的特点如下:1. 具有面向对象的可视化设计工具;2. 事件驱动的编程机制;3. 提供了易学易用的
6、应用程序集成开发环境;4. 结构化的程序设计语言;5. 支持多种数据库系统的访问;6. Active技术;7. VB 6.0在开发环境上、网络功能等的增强;8. 完备的help联机帮助功能。Visual Basic6.0的新特性 1.数据访问的新特性 2. Internet功能的增强 3.控件、语言和向导方面的新增特性4.高度可移植化的代码 5.创建ActiveX控件更加轻松方便 6.在线帮助更加完善。 我们知道现代中小规模的控制工程通常采用基于IPC的控制系统,系统具有数据采集、控制与管理功能。如能进一步采用先进控制算法如遗传算法,便可以设计出低成本的先进控制系统。但是目前,关于遗传算法的书
7、籍大部分都针对它的理论方面。主要是采用MATLAB进行编程仿真。虽然可以取得很好的仿真效果,但毕竟缺少使用性。而采用VB编程实现,可以提供一个很好的人机界面,并且需要时即可以与外接设备进行连接通讯,这样便可以投入到应用中。因此,鉴于实用性方面的考虑,最后以VB进行编制程序。图1-1 VB集成开发环境1.4 PID参数的遗传算法寻优遗传算法(GA)是一种建立在生物界自然选择原理和自然遗传机制的随机化搜索法,它模拟了生物界中的生命进化机制,在人工系统中实现特定目标的优化。遗传算法是一个迭代过程,遗传操作是在种群中进行的,产生初始种群,规模为N,即种群由N个个体组成,经GA操作,生成一代一代新种群(
8、每代N个个体)。从每一代种群中选出适应度f高的优质个体,在解空间中,直到满足要求的收敛指标,即得到问题最优解【2】。在运用遗传算法对PID参数寻优的个体评价过程中,许多个体所对应的参数都可能使实际过程系统失控,这在应用中是不能接受的,因此采用的是基于模型的PID控制器参数优化,对过程不产生任何影响;同时优化是基于模型,对模型响应的评价大大加快,可以在较短的时间得到最优化结果。 PID控制器参数的优化设计是一个组合优化问题。遗传算法求解组合优化问题所涉及的主要问题有参数编码方案、适应度函数设计、遗传算法参数选择等。在优化问题的实际应用中,合理处理以上问题,构造合适的遗传算法框架,是遗传算法的关键
9、所在。第二章 遗传算法概述2.1 什么是遗传算法 遗传算法(genetic algorithms)简称GA。我们知道达尔文的自然选择学说是一种被人们广泛接受的生物进化学说。这种学说认为,生物要生存下去,就必须进行生存斗争。生存斗争包括种内斗争、种间斗争以及生物跟无机环境之间的斗争三个方面。在生存斗争中,具有有利变异的个体容易存活下来,并且有更多的机会将有利变异传给后代;具有不利变异的个体就容易被淘汰,产生后代的机会也少的多。因此,凡是在生存斗争中获胜的个体都是对环境适应性比较强的。达尔文把这种在生存斗争中适者生存,不适者淘汰的过程叫做自然选择。它表明,遗传和变异是决定生物进化的内在因素。自然界
10、中的多种生物之所以能够适应环境而得以生存进化,是和遗传和变异生命现象分不开的。正是生物的这种遗传特性,使生物界的物种能够保持相对的稳定;而生物的变异特性,使生物个体产生新的性状,以致于形成新的物种,推动了生物的进化和发展。遗传算法是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型。它的思想源于生物遗传学和适者生存的自然规律,是具有“生存检测”的迭代过程的搜索算法。遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中,选择、交叉和变异构成了遗传算法的遗传操作;参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗
11、传算法的核心内容。 作为一种新的全局优化搜索算法,遗传算法以其简单通用、鲁棒性强、适于并行处理以及高效、实用等显著特点,在各个领域得到了广泛应用,取得了良好效果,并逐渐成为重要的智能算法之一【3】。2.2 遗传算法的发展早在20世纪50年代就有将进化原理应用于计算机科学的努力,但缺乏一种普遍的编码方法,只能依赖于变异而非交配产生新的基因结构。50年代末到60年代初,受一些生物学家用计算机对生物系统进行模拟的启发,Holland开始应用模拟遗传算子研究适应性。在Bagley1967年关于自适应下棋程序的论文中,他应用遗传算法搜索下棋游戏评价函数的参数集,并首次提出了遗传算法这一术语。1975年H
12、olland出版了遗传算法历史上的经典著作自然和人工系统中的适应性,系统阐述了遗传算法的基本理论和方法,并提出了模式定理(schemata theorem),证明在遗传算子选择、交叉和变异的作用下,具有低阶、短定义距以及平均适应度高于群体平均适应度的模式在子代中将以指数级增长,这里的模式是某一类字符串,其某些位置有相似性。同年,DeJong完成了他的博士论文遗传自适应系统的行为分析,将Holland的模式理论与他的计算试验结合起来,进一步完善了选择、交叉和变异操作,提出了一些新的遗传操作技术。进入80年代后,遗传算法得到了迅速发展,不仅理论研究十分活跃,而且在越来越多的应用领域中得到应用。19
13、83年,Holland的学生Goldberg将遗传算法应用于管道煤气系统的优化,很好地解决了这一非常复杂的问题。1989年,Goldberg出版了搜索、优化和机器学习中的遗传算法一书,这本可能是遗传算法领域被引用次数最多的书为这一领域奠定了坚实的科学基础。80年代中期,Axelrod和Forrest合作,采用遗传算法研究了博奕论中的一个经典问题-囚徒困境。在机器学习方面,Holland自提出遗传算法的基本理论后就致力于研究分类器系统(classifier system),Holland 希望系统能将外界刺激进行分类,然后送到需要的地方去,因此命名为分类器系统,这里的classifier是指一个
14、二进制串,代表一类情况。分类器系统将某一条件是否为真与串的某一位相对应,从而将产生式系统中的规则编码为二进制串,这样就可以应用遗传算法来进行演化,同时引入了基于经济学原理的信用分配机制-桶队(bucket brigade)算法来确定规则的相对强度4。Holland和Santa Fe的Arthur等人合作,用分类器系统模拟了一些经济现象,得到了满意的结果。遗传算法已有了许多发展,但一般来说,其基本过程是:首先采用某种编码方式将解空间映射到编码空间(可以是位串、实数、有序串、树或图,Holland最初的遗传算法是基于二进制串的,类似于生物染色体结构,易于用生物遗传理论解释,各种遗传操作也易于实现。
15、另外,可以证明,采用二进制编码式,算法处理的模式最多。但是,在具体问题中,直接采用解空间的形式进行编码,可以直接在解的表现型上进行遗传操作,从而易于引入特定领域的启发式信息,可以取得比二进制编码更高的效率。实数编码一般用于数值优化,有序串编码一般用于组合优化。),每个编码对应问题的一个解,称为染色体或个体。一般通过随机方法确定起始的一群个体,称为种群,在种群中根据适应值或某种竞争机制选择个体(适应值就是解的满意程度,可以由外部显式适应度函数计算,也可以由系统本身产生,如由协同演化时不同对策的博奕确定,或者由个体在群体中的存活量和繁殖量确定。),使用各种遗传操作算子(包括杂交,变异,倒位等等)产生下一代(下一代可以完全替代原种群,即非重叠种群;也可以部分替代原种群中一些较差的个体,即重叠种群),如此进化下去,直到满足期望的终止条件4。遗传算法发展的简要回顾1950s,将进化原理应用于计算机科学的初步努力。50年代末到60年代初,Holland应用模拟遗传算子研究适应性。1967年,Bagley的论文中首次提出了遗传算法这一术语。1975年,Holland的经典著作自然和人工系统中的适应性出版,系统阐述了遗传算法的基本理论和方法。1975年,DeJong的博士论文遗传自适应系统的行为分析,将Holland的模式理论与