基于OpenCL的并行差分进化算法的翼型优化设计方法

文档序号:6371709阅读:324来源:国知局
专利名称:基于OpenCL的并行差分进化算法的翼型优化设计方法
技术领域
本发明涉及机翼翼型设计技术领域,以及计算机仿真与优化技术领域,具体涉及一种基于OpenCL (Open Computing Language,开放计算语言)的并行差分进化算法的翼型优化设计方法。
背景技术
翼型选择与设计是飞机设计前必须进行的一项重要工作,D. P. Raymer指出“就许多方面来说,翼型就是飞机的心脏。”这是因为机翼是飞机产生升力和阻力的主要部件,而构成机翼的翼型对飞机性能有很大影响。翼型影响着巡航速度,起飞和着陆性能,失速速度,操纵性能(特别是接近失速的时候)和所有飞行阶段的空气动力效率。设计具有诸如高升力、低阻力等优秀气动性能的翼型对于飞机、导弹等具有重要的意义。翼型优化设计的目的是在给定约束条件下,确定尽可能好的翼型形状,最大限度地提高飞机性能和飞行品质。传统翼型优化设计迭代过程中需要频繁的计算目标函数的梯度,计算梯度的方法如最速下 降法,共扼梯度法,牛顿法等,而在工程计算中,梯度的计算往往很困难。现代基于遗传算法(GA)及计算流体动力学(CFD)的数值优化方法虽然可找出全局最优解,但是要对种群进行大量的选择、交差、变异操作,计算量很大,且受种群的规模及进化代数的影响,遗传算法容易收敛于局部解。差分进化(Differential Evolution, DE)算法是一种基于群体进化的算法,是Storn R和Price K在1995年提出的,是进化类算法的一个分支。它能够通过种群内个体间的合作与竞争来实现对优化问题的求解,即具有记忆个体最优解和种群内信息共享的特点,其本质是一种基于实数编码的具有保优思想的贪婪遗传算法。对于简单的变异操作和一对一的竞争生存策略,差分进化算法用实数编码来实现,这使得遗传操作的复杂性大大降低。和其他进化类算法相比,差分进化算法虽然保留了基于种群的全局搜索策略,但是其特有的记忆能力,使其不需要借助问题的特征信息就可以动态跟踪当前的搜索情况,及时地对搜索策略做出调整。这也是差分进化算法具有较强的全局收敛能力和较高的鲁棒性的主要原因之一。差分进化算法在被提出的第二年就证明其是最快的进化算法。同时它还具有内含并行性,算法采用种群的方式组织搜索,因而可以同时搜索解空间的多个区域,并相互交流信息,这种搜索方式使得它虽然每次只执行与种群规模N成比例的计算,而实质上己经进行了大约0(N2)次有效搜索,能以较少的计算获得较大的利益。由于其简单易用、稳健性好以及强大的全局搜索能力,使得差分进化算法已在多个领域取得成功。由于设计当中计算量越来越大,往往使需求远远超过目前计算机的计算能力,为了解决这个矛盾,人们提出了并行计算的思想。目前并行计算的发展方向随着计算机技术的发展也经历着变化,从集中式机群到分布式PC再到当前出现的多处理器以及多CPU+GPU的架构发展。当今主流计算机的处理能力主要来自CPU和GPU (Graphic Processing Unit,图形处理器)。2008年,苹果公司向Khronos工作组提交了一份关于跨平台计算框架的计划书,该计划由苹果公司发起,由AMD、IBM、Intel、NVIDIA等业界主要研发者和制造商作为技术合作方参与,旨在建立一个真正支持异构计算网络的API (Application ProgrammingInterface,应用程序编程接口)。这样的异构计算网络可以包含各种形态的计算资源,如CPU、GPU、Cell、FPGA等。由各种处理器和软件制造商代表组成的Khronos计算工作组于2008年6月成立,它在苹果公司提交的计划书的基础上进一步细化该跨平台计算框架的功能,于2008年12月发布了 OpenCL I. O规范。目前OpenCL规范已发展到I. 2版本。OpenCL全称Open Computing Language,即开放计算语言,是一个用于异构平台上编程的开放性行业标准。OpenCL为异构平台提供了一个编写程序,尤其是并行程序的开放的框架标准。OpenCL所支持的异构平台可由多核CPU、GPU或其他类型的处理器组成,例如x86CPU、GPU、Cell处理器乃至于ARM构架的DSP处理芯片等等。OpenCL会将各类计算设备组织成一个统一的平台。OpenCL能够调用系统内全部计算资源,也就是说无论是CPU、GPU,还是今后额外加入的协处理器,全部都能够在公共计算平台上得到调用。OpenCL不仅仅是一种编程语言,更是一个完整的并行编程框架,它包括编程语言,API,函数库以及运行时系统来支持软件在整个平台上的开发。OpenCL提供了基于任务和基于数据两种并行计算机制,它极大地扩展了 GPU的应用范围,使之不再局限于图形领域。由于OpenCL的平台无关性和真正意义上的异构计算资源解决方案,它的使用者持续迅速增长,在并行计算领域具有广泛的应用前景。

发明内容
本发明的目的是将OpenCL的异构并行框架与差分进化算法相结合,实现基于并行差分进化算法的翼型优化设计方法。本发明翼型优化设计方法充分利用计算资源,在有效空间内进行充分搜索,缩短设计周期,实现跨平台的翼型优化设计,提高设计效率。本发明提供的基于OpenCL的并行差分进化算法的翼型优化设计方法,包括如下步骤步骤一选定基准翼型和型函数,将型函数的系数作为设计变量,确定所设计翼型的翼型解析函数 所设计翼型的上表面yu(X)表示为
权利要求
1.一种基于OpenCL的并行差分进化算法的翼型优化设计方法,其特征在于,该方法包括如下步骤 步骤一选定基准翼型和型函数,将型函数的系数作为设计变量,确定所设计翼型的翼型解析函数 所设计翼型的上表面yu(x)表示为
2.根据权利要求I所述的翼型优化设计方法,其特征在于,所述的步骤ニ中的目标函数,在设计指标超过I个的情况下,采用统一目标函数法得到,具体是设有q个设计指标,对应q个分目标函数も(X),f2 (X),…,f, (X),将所有的分目标函数统一到一个总的目标函数中:f (X) =f {fj (X),f2 (x), ..., f q (x)} , f (X)称为统一目标函数; 使用线性插值方法将各分目标函数規格化
3.根据权利要求I所述的翼型优化设计方法,其特征在于,所述的步骤三具体包括如下子步骤 步骤3. I :两次调用clGetPlatformIDs函数,clGetPlatformIDs函数用来获取指定系统上可用的计算平台,第一次调用得到系统中可使用的平台数目,然后为平台对象分配空间,第二次调用,查询所有的平台,选择需要的OpenCL平台; 步骤3. 2 :两次调用clGetDevicelDs函数,clGetDevicelDs函数用来获取指定的设备,第一次调用查询设备数量,第二次调用检索得到要使用的设备;步骤3. 3 :使用clCreateContext函数构造上下文,上下文是指管理OpenCL对象和资源的上下文环境。
4.根据权利要求I所述的翼型优化设计方法,其特征在于,所述的步骤四具体包括如下子步骤 步骤4. I :使用clCreateCommandQueue函数创建命令队列,来管理将要执行的各种命令; 步骤4. 2 :使用clCreateProgramWithSource函数创建OpenCL程序对象;所创建的程序对象包括(I) 一个有效的上下文;(2 )包含步骤七到步骤十四种群迭代的源程序或者是含有源程序的二进制代码;(3)可执行代码的编译过程、编译选项和编译文档;(4)与该程序对象关联的内核对象; 步骤4. 3 :调用clBuildProgram函数,针对下文中的每个设备,编译、连接源代码对象,产生设备执行的文件。
5.根据权利要求I所述的翼型优化设计方法,其特征在于,所述的步骤五具体包括如下子步骤 步骤5. I :使用clCreateBuffer函数在设备上分配数据空间,存储输入数据和输出数据; 步骤5. 2 :使用ClEnqueueWriteBuffer函数初始化OpenCL内存对象,并把相应的数据写到OpenCL内存关联的设备内存中。
6.根据权利要求I所述的翼型优化设计方法,其特征在于,所述的步骤六具体包括如下子步骤 步骤6. I :根据已编译的程序对象,使用ClCreateKernel函数为程序对象中包含的算法各阶段对应的内核分别创建内核函数; 步骤6. 2 :使用ClSetKernelArg函数为算法各阶段对应的内核函数设置参数。
7.根据权利要求I所述的翼型优化设计方法,其特征在于,步骤七中所述的种群规模M取值在20 50之间。
8.根据权利要求I所述的翼型优化设计方法,其特征在于,步骤十中所述的变异因子F的取值范围为0. 3、. 6。
9.根据权利要求I所述的翼型优化设计方法,其特征在于,步骤十一中所述的交叉因子CR的取值范围为0. 6、. 9。
全文摘要
本发明提出一种基于OpenCL的并行差分进化算法的翼型优化设计方法,用于机翼翼型设计。选定基准翼型、型函数,将型函数系数作为设计变量,并确定优化目标函数,将差分进化算法的步骤根据所处理的数据分成不同的阶段,将各阶段封装在不同的内核中,基于OpenCL运行。种群更新中,应用变异算子产生测试向量,应用交叉算子产生子代;对种群中个体还原翼型形状,检验是否满足几何约束;使用CFD分析,求得个体的适应度,寻找最优个体,检验是否满足性能约束;最后迭代结束,将最优的结果拷贝回主机内存。本发明实现了翼型设计过程的并行处理,在有效空间内进行充分搜索,缩短了设计周期,实现跨平台的翼型优化设计,提高了设计效率。
文档编号G06F17/50GK102779207SQ20121020832
公开日2012年11月14日 申请日期2012年6月19日 优先权日2012年6月19日
发明者李妮, 田超, 苏泽亚, 龚光红 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1