文档库 最新最全的文档下载
当前位置:文档库 › 基于自适应果蝇优化算法的PID参数优化

基于自适应果蝇优化算法的PID参数优化

基于自适应果蝇优化算法的PID参数优化
基于自适应果蝇优化算法的PID参数优化

2018年10月

第46卷第20期

机床与液压

MACHINETOOL&HYDRAULICS

Oct 2018

Vol 46No 20

DOI:10.3969/j issn 1001-3881 2018 20 033

收稿日期:2017-05-09

基金项目:陕西省重点研发计划资助项目(2018GY?042);咸阳市科技局资助项目(2017K02?05)

作者简介:李明辉(1972 ),男,博士,教授,主要从事智能及高级过程控制的研究三E-mail:60334@sust edu cn三

基于自适应果蝇优化算法的PID参数优化

李明辉1,曹泽1,王玉洁2

(1 陕西科技大学机电工程学院,陕西西安710021;2 上海亚太计算机信息系统有限公司,上海200040)

摘要:针对基本果蝇优化算法(FOA)控制精度不高且易陷入局部最优的缺陷,提出一种自适应果蝇优化算法

(IFOA)的PID参数优化方案三该算法以控制偏差绝对值和输入平方项的时间积分作为适应度函数,经过迭代寻优得到最优的PID参数值三通过二阶时滞系统测试并与基本果蝇优化算法比较,结果表明:该算法控制精度高二响应速度快二鲁棒性好,为PID参数优化提供了参考三

关键词:自适应果蝇优化算法(IFOA);适应度函数;PID;参数优化

中图分类号:TP273一一文献标志码:A一一文章编号:1001-3881(2018)20-144-4

OptimizationofPIDParametersBasedonImprovedFruit?flyOptimizationAlgorithm

LIMinghui1,CAOZe1,WANGYujie2

(1 CollegeofMechanicalandElectricalEngineering,ShaanxiUniversityofScience&Technology,Xi anShaanxi710021,China;2 ShanghaiAsia&PacificComputerInformationSystemCo.,Ltd.,Shanghai200040,China)

Abstract:Aimingatthedefectsofthebasicfruit?flyoptimizationalgorithm(FOA),thecontrolaccuracywasnothighandeasy

tofallintolocaloptimum,amethodforparameteroptimizationofPIDcontrollerbasedonimprovedfruit?flyoptimizationalgorithm(IFOA)wasproposed,inwhichabsoluteerrorandthesquareofcontrolinputwereusedasfitnessfunctionandtheoptimalPIDparametervaluewasobtainedthroughiterativeoptimization.Comparedwiththebasicfruit?flyoptimizationalgorithm,thesimulationresultsshowthatthealgorithmhashighcontrolprecision,fastresponseandrobustnessthroughtwoorderdelaysystemtest.ItprovidesareferenceforPIDparameteroptimization.

Keywords:Improvedfruit?flyoptimizationalgorithm(IFOA);Fitnessfunction;PID;Parameteroptimization

0一前言

PID控制器由于其算法简单二鲁棒性好二可靠性

高,被广泛应用于工业过程控制中[1]三传统的PID

控制器参数整定采用人工经验,很难得到理想的最优值三目前,随着人工智能技术的发展,不少学者针对PID参数整定提出新的算法,如遗传算法二粒子群算法等得到了一定的效果[2]三这些算法灵活二简单二易理解,在解决工业过程控制的实际问题中具有非常广阔的应用前景[3]三然而,遗传算法编程复杂,参数较多;粒子群算法在进化后期收敛速度减慢,同时陷入局部最优的可能性加大三

果蝇优化算法(Fruit?flyOptimizationAlgorithm,FOA)是2011年台湾学者潘文超提出的一种新的全局优化进化算法[4]三该算法由于程序代码简单二易于

理解二参数较少,且全局寻优能力强二收敛速度快等优点,在近几年来引起广泛关注[5]三JHAN等[6]采用果蝇优化算法进行PID参数整定,得到FOA避免早熟的结论;YLIU等[7

-8]

采用混沌搜索的FOA算法整

定PID参数,减少了适应度波动;宋娟[9]采用FOA与PSO相结合的混合寻优来优化PID整定参数,使得控制器有较好的控制效果和收敛特性三

作者针对基本果蝇优化算法(FOA)寻优精度不高二容易陷入局部最优的缺陷,提出一种自适应果蝇优化算法[10]的PID参数优化方案三通过在果蝇搜索过程中引入半径调节系数以及选择合适的适应度函数,对PID的3个参数进行了优化三结果表明该算法能够快速高效地寻找到最优参数,有效提高了PID控制器的控制精度三

1一PID控制器基本原理

PID控制器是通过对偏差信号进行比例二积分二微分3个参数的控制,使得系统表现较好性能三PID控制原理如图1所示

图1一PID控制系统框图

基于果蝇优化算法的多元质量控制故障模式诊断_杨明顺

文章编号:1006-4710(2015)02-0138- 06基于果蝇优化算法的多元质量控制故障模式诊断 杨明顺,梁艳杰,雷丰丹,刘永,杜少博 (西安理工大学机械与精密仪器工程学院,陕西西安710048 )摘要:针对目前以神经网络为代表的主流智能故障模式诊断方法存在训练时间长、收敛速度慢、容易陷入局部最优等缺陷, 本文将果蝇优化算法用于多变量生成过程故障模式诊断,重点分析了果蝇优化算法(FOA)的原理及其搜索优势,设计了一种基于FOA的多变量生产过程故障模式诊断算法。将所设计的果蝇优化算法应用于汽车曲轴生产过程控制,并与神经网络模型处理结果进行对比。对比结果表明,果蝇优化算法训练时间短,收敛速度快且诊断结果更加准确。关键词:多变量生产过程;果蝇优化算法;过程控制;故障诊断;BP神经网络;质量控制中图分类号:TH122,TP391 文献标志码:A A fault diag nosis for multivariate production processbased on Fruit Fly  Optimization AlgorithmYANG Mingshun,LIANG Yanjie,LEI Fengdan,LIU Yong ,DU Shaobo(Faculty of Mechanical and Precision Instrument Engineering,Xi’an University  of Technology,Xi’an 710048,China)Abstract:Neural network served as a representative of the mainstream intelligent fault mode diag -nosis method,has had such defects as long learning time,difficulty  of convergence and easilyplunging into a local optimal solution.Thus,a Fruit Fly  Optimization Algorithm for multivari-able process fault diagnosis model is established in this paper,the princip le and search advantageof Fruit Fly Optimization Algorithm(FOA)is emphatically  analyzed and a multivariable processfault diagnosis model based on FOA algorithm is designed.The Fruit Fly  Optimization Algorithmis used for analyzing  control sample data in the automobile crankshaft production,and a contrastis made with the results obtained from the neural network model.And contrast results show  thatFruit Fly Optimization Algorithm has a short training  time,fast convergence rate and more accu-rate diag nosis result.Key  words:multivariate production process;Fruit Fly Optimization Algorithm(FOA);processcontrol;fault diagnosis;BP artificial neural network;quality control收稿日期:2014-09- 06基金项目:国家自然科学基金资助项目(60903124);陕西省教育厅科学研究计划资助项目(14JK1521 );西安理工大学青年科技创新团队建设计划资助项目(102- 211408)。作者简介:杨明顺,男,副教授,博士,主要研究方向为制造系统优化与控制、集成产品开发决策、集成质量管理。 E-mail:yangming shun@xaut.edu.cn。 在生产过程质量控制当中, 为了避免单个质量特性控制可能引起的“过控”或者“欠控”现象,必须同时考虑多个相互关联的多质量特性的相互影响以及其共同对产品质量的影响,因此多元质量控制故 障模式诊断成为保证产品质量的一个重要方面[ 1- 2]。多元质量控制诊断的研究对象是多变量正态过程,且变量间往往不是独立而是相关的,一个或几个变量的均值(或/和方差)或/和变量间的相关关系偏离总体,过程都会失控,监控该过程的控制图都会发出警告信号。国内外许多学者对此进行了广泛研 究。针对多元质量控制图不能准确确定导致失控信号产生的变量或变量集这一缺陷,Mojtabsa Sale-hi[3] 提出了一种基于混合学习的模型, 从而实现在多变量制造过程中失控信号在线分析;Zhang Jiu-j iu[4]针对使用单一控制图对多变量过程中数据平均值和变化同时进行监控的问题,提出了一种新的包含指数加权移动平均过程和广义似然比测试的控制图,实现多变量过程中平均值与变化过程的同时 监控;文昌俊[5]在分析多元T2控制图和多元过程能力指数的基础上,利用主成分分析法实现了多元 831 西安理工大学学报Journal of Xi’an University  of Technology(2015)Vol.31No.2

窗帘的款式与制作水波计算方法

水波帘头计算方法 窗户高度在2.8m以内的,这类水波一般1.4m布可以做2个单个水波,1.2m 布可以做2个帘头的两边旗子。如下图它就是3个单个的水波+2个旗子组成一个完整的水波帘头,值得注意的是这个1.4m做2个单个水波不可以算成0.7m 做一个单个的水波,因为我们做一个水波的布料是这样算的1.4mx1.4m所以只能是遇到单个的水波时我们不得不加一个水波来计算即使浪费也没有办法。如下图的帘头我们可以算出它的用料3个单个的水波,我们算4个也就是1.4m+1.4m+1.2m旗子=4m 复式楼高窗的水波 这类帘头有单独的计算方法:一般2.8M布做一个单个的水波(2.8mx2.8m),1.5m做一个旗子(1.5mx2.8m),如一个高窗的尺寸是5.6mx7.6m ,我们做这种大帘头时单个的水波宽度在1m至1.5m效果最佳旗子做0.5m一个,我们用帘头宽度5.6m减去帘头两边的2个旗子(0.5m+0.5m=1m再用1m减去盖在帘头上的旗子大概一边0.15m——2个旗子就是0.3m——1m—0.3m=0.7m)5.6m—0.7 m =4.9m,4.9m做4个单个的水波比较合适4个x2.8/个=11.2m+2个旗子3m=14.2m 如需要在水波的上面加个平板来增加帘头的高度,我们再加上平板的布就可以了。 计算出单个水波的宽度 要学会裁剪水波幔头,首先就要计算出单个水波的宽度和高度,然后乘以水波的个数,加上两边旗的用料就是帘头的用料量。通常1.5米布可以做成两个水波。通常单个水波帘头宽度75厘米左右,根据窗户宽度除以75厘米就是这个窗户需要水波的个数,这个宽度可大可小,不是一成不变,根据窗户的实际需要来设计,如果窗户小的话,这个尺寸可以适当减小,计算方法如下: 例如:我们先假设一个水波的宽度是75厘米,如果窗户宽度是3.95米,那么这个窗户需要做几个水波呢? 用3.95米减去每边旗帜的宽度各15厘米(因为旗帜在水波帘头的两边),然后现除以75厘米,(395-15x2)/75=4.86个,因为水波不可能做半个,所以我们通常做5个那么当我们初步计算要5个水波后,每个水波的宽度就不是75厘米,而(395-15x2)/5=73厘米),也就是说我们根据窗户的宽度最终决定每个水波的宽度是73厘米,这个尺寸就是我们要裁剪的尺寸。这里请你务必记住:计算出单个水波的宽度后,在裁剪前要适当的加上边旗和水波、水波之间接缝的宽度。接缝的宽度根据具体需要来定。还有,要考虑到缝制之后帘头的宽度会缩短,这些问题要根据窗帘布料的收缩性能来定,也就是说收缩得厉害的就适当多算点进去,不怎么收缩得厉害的就适当少算点进去。 计算出单个水波的高度 水波高度的算法:正常是帘高的1/5边旗高是帘高的1/3. 如:窗帘定高3米,水波高度就是3米除5=60厘米边旗是3米除3=1米 窗帘有自己的高度,窗帘幔头也有自己的高度,搭配起来才实用做窗幔的比例,一般是按照所做窗帘的高度取1/5,但个别情况个别对待。一般都会按比例和美观裁剪。

基于蚁群算法的PID控制参数优化Matlab源码

基于蚁群算法的PID控制参数优化Matlab源码 (2009-07-26 12:31:02) 除了蚁群算法,可用于PID参数优化的智能算法还有很多,比如遗传算法、模拟退火算法、粒子群算法、人工鱼群算法,等等。 function [BESTX,BESTY,ALLX,ALLY]=ACOUCP

(K,N,Rho,Q,Lambda,LB,UB,Num,Den,Delay,ts,StepNum,SigType,PIDLB,PIDUB) %% 此函数实现蚁群算法,用于PID控制参数优化 % GreenSim团队原创作品,转载请注明 % Email:greensim@https://www.wendangku.net/doc/8c1633980.html, % GreenSim团队主页:https://www.wendangku.net/doc/8c1633980.html,/greensim % [color=red]欢迎访问GreenSim——算法仿真团队→[url=https://www.wendangku.net/doc/8c1633980.html,/greensim] https://www.wendangku.net/doc/8c1633980.html,/greensim[/url][/color] %% 输入参数列表 % K 迭代次数 % N 蚁群规模 % Rho 信息素蒸发系数,取值0~1之间,推荐取值0.7~0.95 % Q 信息素增加强度,大于0,推荐取值1左右 % Lambda 蚂蚁爬行速度,取值0~1之间,推荐取值0.1~0.5 % LB 决策变量的下界,M×1的向量 % UB 决策变量的上界,M×1的向量 % Num 被控制对象传递函数的分子系数向量 % Den 被控制对象传递函数的分母系数向量 % Delay 时间延迟 % ts 仿真时间步长 % StepNum 仿真总步数 % SigType 信号类型,1为阶跃信号,2为方波信号,3为正弦波信号 % PIDLB PID控制输出信号限幅的下限 % PIDUB PID控制输出信号限幅的上限 %% 输出参数列表 % BESTX K×1细胞结构,每一个元素是M×1向量,记录每一代的最优蚂蚁 % BESTY K×1矩阵,记录每一代的最优蚂蚁的评价函数值 % ALLX K×1细胞结构,每一个元素是M×N矩阵,记录每一代蚂蚁的位置 % ALLY K×N矩阵,记录每一代蚂蚁的评价函数值

基于自适应果蝇优化算法的PID参数优化

2018年10月 第46卷第20期 机床与液压 MACHINETOOL&HYDRAULICS Oct2018 Vol46No20 DOI:10.3969/jissn1001-3881201820033 收稿日期:2017-05-09 基金项目:陕西省重点研发计划资助项目(2018GY?042);咸阳市科技局资助项目(2017K02?05)作者简介:李明辉(1972 ),男,博士,教授,主要从事智能及高级过程控制的研究三E-mail:60334@susteducn三 基于自适应果蝇优化算法的PID参数优化 李明辉1,曹泽1,王玉洁2 (1陕西科技大学机电工程学院,陕西西安710021;2上海亚太计算机信息系统有限公司,上海200040) 摘要:针对基本果蝇优化算法(FOA)控制精度不高且易陷入局部最优的缺陷,提出一种自适应果蝇优化算法 (IFOA)的PID参数优化方案三该算法以控制偏差绝对值和输入平方项的时间积分作为适应度函数,经过迭代寻优得到最优的PID参数值三通过二阶时滞系统测试并与基本果蝇优化算法比较,结果表明:该算法控制精度高二响应速度快二鲁棒性好,为PID参数优化提供了参考三 关键词:自适应果蝇优化算法(IFOA);适应度函数;PID;参数优化 中图分类号:TP273 文献标志码:A 文章编号:1001-3881(2018)20-144-4 OptimizationofPIDParametersBasedonImprovedFruit?flyOptimizationAlgorithm LIMinghui1,CAOZe1,WANGYujie2 (1CollegeofMechanicalandElectricalEngineering,ShaanxiUniversityofScience&Technology,Xi anShaanxi710021,China;2ShanghaiAsia&PacificComputerInformationSystemCo.,Ltd.,Shanghai200040,China) Abstract:Aimingatthedefectsofthebasicfruit?flyoptimizationalgorithm(FOA),thecontrolaccuracywasnothighandeasy tofallintolocaloptimum,amethodforparameteroptimizationofPIDcontrollerbasedonimprovedfruit?flyoptimizationalgorithm(IFOA)wasproposed,inwhichabsoluteerrorandthesquareofcontrolinputwereusedasfitnessfunctionandtheoptimalPIDparametervaluewasobtainedthroughiterativeoptimization.Comparedwiththebasicfruit?flyoptimizationalgorithm,thesimulationresultsshowthatthealgorithmhashighcontrolprecision,fastresponseandrobustnessthroughtwoorderdelaysystemtest.ItprovidesareferenceforPIDparameteroptimization. Keywords:Improvedfruit?flyoptimizationalgorithm(IFOA);Fitnessfunction;PID;Parameteroptimization 0 前言 PID控制器由于其算法简单二鲁棒性好二可靠性 高,被广泛应用于工业过程控制中[1]三传统的PID 控制器参数整定采用人工经验,很难得到理想的最优值三目前,随着人工智能技术的发展,不少学者针对PID参数整定提出新的算法,如遗传算法二粒子群算法等得到了一定的效果[2]三这些算法灵活二简单二易理解,在解决工业过程控制的实际问题中具有非常广阔的应用前景[3]三然而,遗传算法编程复杂,参数较多;粒子群算法在进化后期收敛速度减慢,同时陷入局部最优的可能性加大三 果蝇优化算法(Fruit?flyOptimizationAlgorithm,FOA)是2011年台湾学者潘文超提出的一种新的全局优化进化算法[4]三该算法由于程序代码简单二易于 理解二参数较少,且全局寻优能力强二收敛速度快等优点,在近几年来引起广泛关注[5]三JHAN等[6]采用果蝇优化算法进行PID参数整定,得到FOA避免早熟的结论;YLIU等[7 -8] 采用混沌搜索的FOA算法整 定PID参数,减少了适应度波动;宋娟[9]采用FOA与PSO相结合的混合寻优来优化PID整定参数,使得控制器有较好的控制效果和收敛特性三 作者针对基本果蝇优化算法(FOA)寻优精度不高二容易陷入局部最优的缺陷,提出一种自适应果蝇优化算法[10]的PID参数优化方案三通过在果蝇搜索过程中引入半径调节系数以及选择合适的适应度函数,对PID的3个参数进行了优化三结果表明该算法能够快速高效地寻找到最优参数,有效提高了PID控制器的控制精度三 1 PID控制器基本原理 PID控制器是通过对偏差信号进行比例二积分二微分3个参数的控制,使得系统表现较好性能三PID控制原理如图1所示 三 图1 PID控制系统框图 万方数据

水波动力学文献综述

华中科技大学 考生姓名陈刚 考生学号T201189948 系、年级研究生院 类别硕士 科目水波动力学理论与研究 日期2012年5月12日

水下滑翔器的水动力分析 摘要:水下滑翔器是一种无外挂推进系统,仅依靠内置执行机构调整重心位置和净浮力来控制其自身运动的新型水下装置,主要用于长时间、大范围的海洋环境监测,因此要求其具有低阻特性和高稳定性。文章主要从水下滑翔器水动力特性,纵剖面滑行时水动力特性计算和分析等方面对水下滑翔器的研究和设计提供理论参考。 关键词:水下滑翔器、水动力特性。 引言 水下滑翔器 (AUG)是为了满足海洋环境监测与测量的需要,将浮标、潜标技术与水下机器人技术相结合,研制出的一种无外挂推进系统,依靠自身浮力驱动,沿锯齿型航迹航行的新型水下机器人。AUG采用内置姿态调整机构和无外挂驱动装置,因此载体外置装置减少,避免了对载体线型的破坏,大大改善了载体的水动力特性。AUG具有制造成本和维护费用低、可重复利用、投放回收方便、续航能力强等特点,适宜于大量布放,大范围海洋环境的长期监测。AUG是海洋环境立体监测系统的补充和完善,在海洋环境的监测、凋查、探测等力面具有广阔的应用前景。 国内外现状 1989 年,美国人Henry Stommel 提出了采用一种能够在水下作滑翔运动的浮标进行海洋环境调查的设想,这就是水下滑翔机器人的最初概念。之后,美国开始了AUG 的研究与开发,自1995 年以来,在美国海军研究局的资助下,研制出SLOCUM( Battery) 、Sea glider 和Spray 等多种以二次电池为推进能源的水下滑翔机器人,以及以海洋垂直剖面的温差能作为驱动能源的Slocum 水下滑翔机器人。此外,美国的Prinston 大学建造了一个AUG 试验平台,主要用于AUG 的建模和控制方法研究。美国的Webb Research Corp 先后研制了Slocum Electric Glider 水下滑翔机器人和Slocum Thermal Glider 水下滑翔机器人,其中前者是一种高机动性、适合在浅海工作的水下滑翔机器人,而后者是一种利用海水热差驱动的水下机器人。华盛顿大学研制的Sea glider 水下滑翔机器人能够在广阔的海洋中航行数千千米,持续时间可达6个月,最大下潜深度可达1 000m。Sea glider 已经航行通过了阿拉斯加海湾和拉布拉多海的许多冬季风暴,能在目标位置进行垂直采样和测量。 Spray Glider 是美国的Scripps Institution of Oceanography 研制的水下滑翔机器人,它最初被设计用于深海海域调查,其最大下潜深度可达1 500m。天线内置于滑翔翼中,在浮出水面时机身旋转90°,使有天线的一个滑翔翼垂直露出水面,然后就可以进行GPS 定位和卫星通信。 我国的水下滑翔机器人研究起步较晚,但近年来有多家单位开展了大量的技术研究工作。其中以沈阳自动化研究所为代表研制的AUG 于2005 年10月成功进行了湖上试验,于2006 年通过验收,具有较高的技术水平。天津大学和国家海洋技术中心联合研制的温差能驱动的海洋监测平台也成功进行实验。此外包括沈阳工业大学在内的许多大学和研究所也于近年开

基于粒子群算法的控制系统PID参数优化设计

基于粒子群算法的控制系统 PID 参数优化设计 摘 要 本文主要研究基于粒子群算法控制系统PID 参数优化设计方法以及对PID 控制的 改进。PID 参数的寻优方法有很多种,各种方法的都有各自的特点,应按实际的系统特点选择适当的方法。本文采用粒子群算法进行参数优化,主要做了如下工作:其一,选择控制系统的目标函数,本控制系统选用时间乘以误差的绝对值,通过对控制系统的逐步仿真,对结果进行分析。由于选取的这个目标函数的解析式不能直接写出,故采用逐步仿真来实现;其二,本文先采用工程上的整定方法(临界比例度法)粗略的确定其初始的三个参数p K ,i K ,d K ,再利用粒子群算法进行寻优,得到更好的PID 参数;其三,采用SIMULINK 的仿真工具对PID 参数优化系统进行仿真,得出系统的响应曲线。从中发现它的性能指标,都比原来有了很大的改进。因此,采用粒子群算法的优越性是显而易见的。 关键词 目标函数;PID 参数;粒子群算法;优化设计;SIMULINK

Optimal design of PID parameter of the control system based on Particle Swarm Optimization Abstract The main purpose of this paper is to study the optimal design of PID parameter of the control system based on Particle Swarm Optimization and find a way to improve the PID control. There are a lot of methods of optimization for the parameters of PID, and each of them has its own characteristics. The proper methods need to be selected according to the actual characteristics of the system. In this paper we adopt the Particle Swarm Optimization to tune the parameters. To finish it, the following tasks should be done. First, select the target function of the control system. The target function of the control system should be chosen as the absolute value of the error multiplied by time. Then we simulate the control system gradually, and analyze the results of the process. Because the solution of the target function cannot be worked out directly, this design adopts simulation gradually. Second, this paper adopts the engineering method (the critical ratio method) to determine its initial parameters p K ,i K ,d K , then uses the Particle Swarm Optimization to get a series better PID parameters. Third, this paper uses the tool of SIMULINK to optimize the parameters of PID and gets the response curve of the system. By contrast with the two response curves, it is clearly that the performance has improved a lot than the former one. Therefore, it is obviously to find the advantages in using the Particle Swarm Optimization. Key word : target function; PID parameters; Particle Swarm Optimization; optimal design; SIMULINK

一种波浪能实验装置水动力学分析与优化设计_盛松伟

文章编号:1005-9865(2006)03-0107-06 一种波浪能实验装置水动力学分析与优化设计 盛松伟1,2,游亚戈1,马玉久1 (1.中国科学院广州能源研究所,广东广州 510640;2.中国科学院研究生院,北京 100049) 摘 要:将造波水槽内二维浮体牵引弹簧回复液压缸的受力系统简化为弹簧—质量—阻尼器系统,建立数学模型,并根据牛顿第二定律得到运动方程式。采用基于简单格林函数的边界元方法对所研究浮体的水动力学系数和波浪力进行计算,对于施加给液压系统的不同外部阻尼值,由运动方程可得到相应的浮体垂荡运动位移。为求浮体对液压系统做功的最大值,在给定条件下着重对外部阻尼系数进行了优化。 关键词:二维浮体;边界元;外部阻尼;优化设计;波浪能 中图分类号:P743.2 文献标识码:A Hydrodynamic analysis and optimal design of a wave energy device SHENG Song -wei 1,2,YOU Ya -ge 1,MA Yu -jiu 1 (1.Guan gzhou Institute of Energy Conversion ,Chinese Academy of Sciences ,Guangzhou 510640,China ;2.Graduate School of Chinese A -cademy of Sciences ,Beijin g 100049,China ) A bstract :The model of a kind of wave energy device moored on seabed is simplified into a spring -mass -damping system ,and then its motion equation is built accordin g to Newton 's second law .Boundary element method based on simple Green function is presented to analyze the verti -cal motion of the buoy that drives a hydraulic pressure device below .Opti mal des ign of external -damping coefficient for attaining the maximum work produced by the buoy is discussed in detail .The res ult of the opti mal design can be used to guide the practical work directly .Key words :t wo -dimensional buoy ;boundary element method ;out -damping ;optimal design ;wave energy 收稿日期:2005-06-22 基金项目:广东省自然科学基金资助项目(05000727)作者简介:盛松伟(1972-),男,河南漯河人,硕士生,主要从事海洋波浪理论与技术研究。 成功且高效地利用海洋波浪能是当前各国开发海洋波浪能的重要内容之一。现拟设计一种系泊于海底的波浪能装置,在海面放置一浮体,其下端通过钢索与一倒立的弹簧回复液压缸底部连接,液压缸内的活塞杆伸向下端,与锚固于海底的钢索连接。静水时上下两段钢索都刚好伸直;来浪时浮子在波浪作用下产生运动将牵引液压缸做功,做功的形式可以是蓄能、发电、牵引运动机构等。对实验室造波水槽内该模型系统进行了受力分析并建立数学模型,进行水动力学计算,为求浮体对液压系统做功的最大值,着重对外部阻尼系数进行了优化。 系统受力计算和外部阻尼系数优化的基础是对浮体的水动力学分析。自上世纪50年代开始,许多学者对波浪与浮式结构物的相互作用问题进行了大量的研究[1~4]。采用的研究方法大致上可以分为3大类:理论分析法、数值模拟和实验研究。20世纪70年代以前,主要采用理论方法,如应用特征函数展开法和多极子技术等研究简单形状的结构物与正向波浪的相互作用[5~7]。随着计算机技术和数值求解技术的发展,有限元和边界元方法在波浪与海洋结构物相互作用的计算中得到了较广泛的应用。本文采用基于简单格林函数的边界元法来求解浮体的水动力学系数和所受的波浪力。 第24卷第3期 2006年8月海洋工程 THE OCE AN ENGINEERING Vol .24No .3Aug .2006

2D特效之水波

2D特效之水波 水波特效在游戏当中也比较多见,波纹实时生成算法很多,这里介绍一种快速算法。之所以说它是一种快速算法,是因为它的计算既没有用到sin、cos函数也没有用到sin、cos函数的查表算法,它只是根据波的传播原理,通过少量的加减、位移运算来完成。如要多了解一些波的知识,赶快去翻书哦,现在去学或复习还来得及。当然快速的代价是内存的消耗,这一点我们曾在文章里也提到过,为了追求更高的效率,往往可采取牺牲部分内存这样一种手段来达到目的。 在开始之前我们先作一些假设,同时你可参考左面的图。首先假设波是从右往左传播,0为波在当前时刻的波形,1为前1/8周期时的波形,2为前1/4周期时的波形。设波的周期为T。图中向下的箭头是各点处的振动速度,箭头线长表示振动速度的大小。 现设有任一点x(Y方向暂不考虑),它在三个波形上分别对应点P0、P1和P2,三点在振幅方向的偏移量(含方向)分别为D0、D1和D2。设波形函数为D0 = sin(2*Pi/T*t+b),则D1 = sin(2*Pi/T*(t-T/8)+b),D2 = sin(2*Pi/T*(t-T/4)+b),我们下面来证明21/2*D1 = D0+D2: 设2*Pi/T+b=a,则 D0 = sin(a),D1=sin(a-Pi/4),D2 = sin(a-Pi/2) ==》 D0+D2 = sin(a)+sin(a-Pi/2) =2*sin((a+(a-Pi/2))/2)*cos((a-(a-Pi/2))/2) =2*sin(a-Pi/4)*cos(pi/4) =21/2*D1 利用这一特征我们就可以来计算波形了,我们可以以1/8个周期为一显示帧,然后用两个缓冲区来保留前两帧的波形,用上述公式就可以依次推算出后续波的波形。这里需要做一些优化,首先将21/2放大为2,则有D0=2*D1-D2,计算后的D0会偏大一些(相当于波能加大),这样的波会越振越厉害,不停地振动下去永不止,所以要将D0的值减少一部分,办法是减去1/n个D0,将n值取成2的5(或其它?)次方,这样就可以用移位来计算:D0-=D0>>5,最后要处理的是波的传播了,一般我们在某一点给出一个干扰源(波源),这一点的能量要向四周传播出去我们才能看出波的抖动,否则光一个点上下抖动看起来是不会象水波的,我们用平均算法

粒子群算法优化模糊pid

本文选取常见的二阶惯性加纯滞后环节,传递函数为: )1)(1(21++=-s T s T e G s s τ 在这里,3.0,2,,121===τT T PID 参数取为2,1,2===i d p K K K 本设计中的模糊控制器采用两输入(e, ec),三输出(P,I,D)的形式来调整PID 参数。e 的论域为[-3,3],ec 的论域为[-3,3]。推理机使用 {,,,,,,}NB NM NS O PS PM PB ,表示{负大,负中,负小,零,正小,正中,正大}为了可以调节尽可能多的系统,此控制器选定在负边界处与正边界处分别选用平滑连续的Z 型隶属度函数与S 型隶属度函数,在中间部分采用灵敏度较强的三角形隶属度函数。规则表如下图所示: (1)主程序: clear clc %% 参数设置 w = 0、6; % 惯性因子 c1 = 1、414; % 加速常数 c2 = 1、623; % 加速常数 Dim = 5; % 维数 SwarmSize = 100; % 粒子群规模 ObjFun = @PSO_PID; % 待优化函数句柄

MaxIter = 100; % 最大迭代次数 MinFit = 0、01; % 最小适应值 Vmax = 2; Vmin =-2; Ub = [20 50 1 1 1]; Lb = [0 0 0 0 0]; %% 粒子群初始化 Range = ones(SwarmSize,1)*(Ub-Lb); Swarm = rand(SwarmSize,Dim)、*Range + ones(SwarmSize,1)*Lb; % 初始化粒子群 VStep = rand(SwarmSize,Dim)*(Vmax-Vmin) + Vmin; % 初始化速度 fSwarm = zeros(SwarmSize,1); for i=1:SwarmSize fSwarm(i,:) = feval(ObjFun,Swarm(i,:)); % 粒子群的适应值 end %% 个体极值与群体极值 [bestf,bestindex]=min(fSwarm); zbest=Swarm(bestindex,:); % 全局最佳 gbest=Swarm; % 个体最佳 fgbest=fSwarm; % 个体最佳适应值 fzbest=bestf; % 全局最佳适应值 %% 迭代寻优 iter = 0; y_fitness = zeros(1,MaxIter); % 预先产生4个空矩阵 K_p = zeros(1,MaxIter);

水波纹算法

在介绍编程之前,先让我们来回顾一下在高中的物理课上我们所学的关于水波的知识。 水波有如下几个特性: ?扩散:当你投一块石头到水中,你会看到一个以石头入水点为圆心所形成的一圈圈的水波,这里,你可能会被这个现象所误导,以为水波上的每一点都是以石头入水点为中心向外扩散的,这是错误的。实际上,水波上的任何一点在任何时候都是以自己为圆心向四周扩散的,之所以会形成一个环状的水波,是因为水波的内部因为扩散的对称而相互抵消了。 ?衰减:因为水是有阻尼的,否则,当你在水池中投入石头,水波就会永不停止的震荡下去。 ?水的折射:因为水波上不同地点的倾斜角度不同,所以,因为水的折射,我们从观察点垂直往下看到的水底并不是在观察点的正下方,而有一定的偏移。如果不考虑水面上部的光线反射,这就是我们能感觉到水波形状的原因。 ?反射:水波遇到障碍物会反射。 ?衍射:忽然又想到这一点,但是在程序里却看不到,如果能在水池中央放上一块礁石,或放一个中间有缝的隔板,那么就能看到水波的衍射现象了。 好了,有了这几个特性,再运用数学和几何知识,我们就可以模拟出真实的水波了。但是,如果你曾用3DMax做过水波的动画,你就会知道要渲染出一幅真实形状的水波画面少说也得好几十秒,而我们现在需要的是实时的渲染,每秒种至少也得渲染20帧才能使得水波得以平滑的显示。考虑到电脑运算的速度,我们不可能按照正弦函数或精确的公式来构造水波,不能用乘除法,更不能用sin、cos,只能用一种取近似值的快速算法,尽管这种算法存在一定误差,但是为了满足实时动画的要求,我们不得不这样做。 首先我们要建立两个与水池图象一样大小的数组buf1[PoolWidth*PoolHeight]和 buf2[PoolWidth*PoolHeight](PoolWidth=水池图象的象素宽度、PoolHeight=水池图象的象素高度),用来保存水面上每一个点的前一时刻和后一时刻波幅数据,因为波幅也就代表了波的能量,所以以后我们称这两个数组为波能缓冲区。水面在初始状态时是一个平面,各点的波幅都为0,所以,这两个数组的初始值都等于0。 下面来推导计算波幅的公式 我们假设存在这样一个一次公式,可以在任意时刻根据某一个点周围前、后、左、右四个点以及该点自身的振幅来推算出下一时刻该点的振幅,那么,我们就有可能用归纳法求出任意时刻这个水面上任意一点的振幅。如左图,你可以看到,某一时刻,X0点的振幅除了受X0点自身振幅的影响外,同时受来自它周围前、后、左、右四个点(X1、X2、X3、X4)的影响(为了简化,我们忽略了其它所有点),而且,这四个点对a0点的影响力可以说是机会均等的。那么我们可以假设这个一次公式为:

PID参数优化算法研究

PID参数优化算法研究 陕西科技大学何佳佳 【摘要】PID参数优化是自动控制领域研究的一个重要问题。本文主要介绍了PID参数优化算法以及近年来在此方面取得的的研究成果,并对未来PID参数优化的研究方向作了展望。 【关键词】PID控制;算法;参数优化 Study of algorithms on PID parameter optimization HE Jiajia, HOU Zai-en Abstract: PID parameter optimization is an important problem in automatic controlling field. The Algorithms of PID parameter optimization and the latest achievements in this aspect are mainly introduced in this paper, and the future directions of PID parameter optimization are also discussed. Keywords:PID control; algorithm; parameter optimization 1 引言 PID控制即比例-积分-微分(Proportion-Integral-Derivative)控制,它是建立在经典控制理论上的一种控制策略。在工业过程控制系统中,当被控对象的结构和参数不能完全掌握,或精确的数学模型难以建立,或控制理论的技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时最常用的就是PID控制。即使我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,也适合采用PID控制技术。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。它是迄今为止历史最悠久,生命力最强的控制方式,国内外95%[1]以上的控制回路仍然采用PID结构。在控制理论和技术飞跃发展的今天,PID控制器仍被广泛应用主要是因为其控制结构简单,稳定性能好,可靠性高,易于实现等优点,而且许多高级控制都是以PID控制为基础的。而PID控制效果完全取决于PID参数的整定与优化,因此,PID参数的整定[2-6]与优化算法显得尤为重要。为了实现最优PID控制, PID参数优化算法已成为国内外控制理论研究的一个热点,由于单纯形法[7-8]等算法运算量大,而且极易陷入局部最优[9],因此需要找一种简单而高效的PID参数优化算法。近年来,随着计算机技术的发展,一些新的智能算法得到了迅速发展和广泛应用,特别是模拟进化算法,在理论研究和应用研究方面都相当活跃。目前,对PID参数优化算法的研究仍在继续,许多期刊不断地发表新的研究成果。本文主要介绍了五种PID参数优化算法,并对PID参数优化算法的发展作一综述。 2 PID参数优化简介 PID控制器由比例,积分和微分环节组成,其控制规律可表示为: () 1 ()()() t D P I T de t u t K e t e t dt T dt ??=++ ?? ?? ? (1)将式(1)写成传递函数形式:

水波模拟算法

水波模拟算法 一、理论依据 水波的物理学模型便是理论依据。水波有如下特性: 扩散:水波总是从被扰动的中心向外扩散。在水波扩散过程中每个点都在得到能量后以自己为中心震动,并向四周传播能量。之所以从干扰点向外扩散,是因为内部的各点能量互相抵消而看不到震荡。重要的是,每个点都在以自己为中心进行震荡,并向四周扩散能量。 衰减:水波在传播过程中能量会逐渐的衰减,因为水的震荡是有阻尼的。 折射:由于水波表面各处有不同程度的倾斜,由于折射,将会看到水底景物的不同程度的偏移,看起来是变形的。观察点正下方的景物由于折射偏移,开起来并不在正下方。 反射:由于水波表面的凹凸不平,比起平静时期的水面,水面上各点反光程度将会不同程度的受到影响,从而改变了自己的亮度,颜色。 水波还有衍射等特性。但是考虑问题的核心在于能量传递或者能量扩散。因为这是该模型的根源。 二、约束条件 实现该算法的约束条件。 三、设计方案 用两个数组来模拟水池。数组大小:水池高度 * 水池宽度。其中一个数组存储水池的上一个状态,另一个用来存储当前用上一个状态正在计算的下一个状态。计算完毕,把新状态渲染出来;然后新的状态就变为“上一个状态”的水池,用它来计算更新的水池状态,数据保存在原来的第一个水池中。两个水池交替的成为新、旧状态池。从而,虽着实间的推移,能量就会被扩散开来。 为了保证执行效率,水波的扩散、折射等均用简化后的模型代替,以使算法成为线性简单的;对于里面的乘法、除法运算尽量采用2的幂,可以通过移位运算快速实现。

四、数学推理与算法设计 根据以上设计,就可以建立模型进行数学推理和算法设计。 上述两个矩形代表了两个数组,即两个水池状态。令水池宽度为W(W=w+1),水池高度为H(H=h+1),假设点A的坐标为(I,J),那么A点对应的数组下标为:(J * W)+ I 。 O 点(0,0)对应buf[0],对角线B(w, h)代表buf[W * H – 1],即数组的最后一个元素。 计算波幅的公式推导: 如图所示,假设任意一点x0处下一个时刻的能量能根据当前状态下周围的12个点和x0自身的振幅推算出来。即x0在下一个时刻的振幅要由自身的当前振幅和受周围12个点的能量扩散得到。并且假设这12个点影响x0的程度都一样,这个模型已经得到很大的简化。可以得到: x0’ = a * ( x1 + x2 + x3 + … + x9 + y1 + y2 + y3 + y4 ) + b * x0

Ripple [水波] 程序实现水波效果 水纹特效 算法

看到左边这幅动画(如果没有出现,请耐心的稍等片刻),你也许不会相信它其实是用电脑做出来的,这就是“水波”特效的魅力所在。 在介绍编程之前,先让我们来回顾一下在高中的物理课上我们所学的关于水波的知识。 水波有如下几个特性: ?扩散:当你投一块石头到水中,你会看到一个以石头入水点为圆心所形成的一圈圈的水波,这里,你可能会被这个现象所误导,以为水波上的每一点都是以石头入水点为中心向外扩散的,这是错误的。实际上,水波上的任何一点在任何时候都是以自己为圆心向四周扩散的,之所以会形成一个环状的水波,是因为水波的内部因为扩散的对称而相互抵消了。 ?衰减:因为水是有阻尼的,否则,当你在水池中投入石头,水波就会永不停止的震荡下去。 ?水的折射:因为水波上不同地点的倾斜角度不同,所以,因为水的折射,我们从观察点垂直往下看到的水底并不是在观察点的正下方,而有一定的偏移。如果不考虑水面上部的光线反射,这就是我们能感觉到水波形状的原因。 ?反射:水波遇到障碍物会反射。 ?衍射:忽然又想到这一点,但是在程序里却看不到,如果能在水池中央放上一块礁石,或放一个中间有缝的隔板,那么就能看到水波的衍射现象了。 好了,有了这几个特性,再运用数学和几何知识,我们就可以模拟出真实的水波了。但是,如果你曾用3DMax做过水波的动画,你就会知道要渲染出一幅真实形状的水波画面少说也得好几十秒,而我们现在需要的是实时的渲染,每秒种至少也得渲染20帧才能使得水波得以平滑的显示。考虑到电脑运算的速度,我们不可能按照正弦函数或精确的公式来构造水波,不能用乘除法,更不能用sin、cos,只能用一种取近似值的快速算法,尽管这种算法存在一定误差,但是为了满足实时动画的要求,我们不得不这样做。 首先我们要建立两个与水池图象一样大小的数组buf1[PoolWidth*PoolHeight]和 buf2[PoolWidth*PoolHeight](PoolWidth=水池图象的象素宽度、PoolHeight=水池图象的象素高度),用来保存水面上每一个点的前一时刻和后一时刻波幅数据,因为波幅也就代表了波的能量,所以以后我们称这两个数组为波能缓冲区。水面在初始状态时是一个平面,各点的波幅都为0,所以,这两个数组的初始值都等于0。 下面来推导计算波幅的公式 我们假设存在这样一个一次公式,可以在任意时刻根据某一个点周围前、后、左、右四个点以及该点自身的振幅来推算出下一时刻该点的振幅,那么,我们就有可能用归纳法求出任意时刻这个水面上任意一点的振幅。如左图,你可以看到,某一时刻,X0点的振幅

相关文档