当前位置:文档之家› 基于MATLAB的现代优化算法在飞行器气动外形设计中的应用

基于MATLAB的现代优化算法在飞行器气动外形设计中的应用


LT 3. 2951 7. 2816 4. 6428 4. 6661 4. 6537
目标值 K
1. 8407 1. 9703 1. 9392 1. 9448 1. 9416
一般而言, 细长体的升阻比较大, 而舵面积达到 最大值时, 其对升阻比的贡献最大, 表 1 中的优化设 计数据证明了这一事实, 同时也说明了优化结果的 合理性。除了简单遗传算法搜索能力相对较差外, 三 种方法重复多次计算都给出了相当接近的近似最优 解。由于在 HGA 算法中对参数上溢和下溢作了特 殊处理, 因此使得最优解达到精确的边界值。由表 2 可见, 三种算法的计算花费是可以接受的。
译器生成动态链接库( DL L ) 文件, 这样就可以直接 在 MAT L AB 语言环境下直接调用了。
2 设计实例
利用以上算法, 本文在 M AT L AB 语言环境下 对高超声速飞行器的气动外形参数优化问题进行了 研究。所选飞行器为带控制舵飞行器和可变弯体飞 行器。锥体气动力根据广义内伏牛顿流理论计算, 舵 面气动力按修正的牛顿流理论计算, 总的气动力按 线性叠加[ 6, 7] 。这种方法具有快速有效的特点, 能够 满足工程设计的一般需要。而且采用这种气动力估 算方法可以弥补遗传算法计算量大的不足。原来的 气动力分析程序是用 For tran 编程的, 通过 MA T L AB 编译器生成 动态链接库( DL L ) 文 件, 以便 在 M AT L AB 语言环境下调用。 2. 1 带控制舵飞行器的气动外形
简单遗传算法采用浮点数编码, 指数形式的适 应度定标方法, 择优比例选择算子, 单点交叉, 均匀 变异算子以及最优保存策略。
混合( 模拟退火) 遗传算法采用浮点数编码, 指 数形式的适应度定标方法, 择优比例选择算子, 算术 交叉算子, 非均匀变异算子以及最优保存策略。在每 一代进化完成后, 在每一个个体的邻域进行一次扰 动, 并按照模拟退火中的 M et ro plis 准则接受新解。 由于混合了模拟退火算法, 极大地改进了简单遗传 算法局域搜索能力不强的弱点。另外, 由于采用与退
关键词: 飞行器设计; 气动外形; 现代优化算法; M A T LA B 语言 中图分类号: V 411 文献标识码: A 文章编号: 1000-1328( 2003) 01-0103-04
0 引言
为了完成既定任务使命, 高超声速飞行器必须 具有一定的机动性、稳定性和操纵性。这类飞行器的 气动外形一般采用旋成体带控制舵或者非对称体形 式。在进行气动外形参数优化设计时, 除了要获得最 大升阻比, 还要保证较高的控制舵效率, 以及较低的 铰链力矩。一般而言, 飞行器气动外形优化往往是复 杂的单目标或多目标非线性优化问题。
收稿日期: 2002-05-21, 修回日期: 2002-10-13。 基金项目: 国家自然科学基金资助项目( 批准号 10072074)
10 4
宇航学报
第 24 卷
火温度相关的指数形式的适应度定标方法, 个体选 择压力随着退火温度的降低逐渐增大, 因此, 算法的 收敛速度提高。
模拟退火算法源于对固体退火温度的模拟, 通 过邻域搜索技术产生新解, 按照 M etr oplis 准则接 受新解, 并使用冷却进度表参数控制算法进程, 以便 在多项式时间里获得问题的一个近似最优解。
HF 1. 0 0. 5 0. 9791 1. 0 0. 9823
HB 1. 0 0. 7 0. 7008 0. 7 0. 7016
LW 1. 0 0. 5 0. 9744 1. 0 0. 9780
+ 1. 0 0. 8880 0. 9871 0. 9818 0. 9898
SMR 0. 0907 0. 0385 0. 0437 0. 0499 0. 0467
在 HGA 和 Anneal 算法中, 初始退火温度为 1, 指数
退火系数 0. 85。在 Anneal 算法中, Markov 链长取
50, 即在每个温度下在可接受解的邻域搜索 50 次。
第1期
张 勇等: 基于 M A T L A B 的现代优化算法在飞行器气动外形设计中的应用
105
参数上限 参数下限
其中, beta 为最优解向量, 对于多 目标遗传算 法 bet a 为参数空间非劣解集, fo bj 为目标空间非劣 解集, st opcode 为算法终止的状态; funst r 为用户应 用程序名字符串; parspace 为设计参数的上下限矩 阵; opt ions 为算法的控制参数, 比如种群规模, 交叉 概率, 变异概率, 退火温度等, 程序中给出了缺省选 择; p1, p2, p3 为传给目标函数 f unst r 的变量。
[ bet a, st opco de ] = Anneal ( f unstr , parspace, optio ns, p1, p2, p3) % 模拟退火算法
[ bet a, fobj] = P GA ( funst r, par space, opt ions, p1, p2, p3) % 多目标遗传算法
这些算法在 M ATLAB 中的 M - 函数文件头 分别如下:
[ bet a, st opco de] = SGA ( f unstr , parspace, optio ns, p1, p2, p3) % 简单遗传算法
[ bet a, st opcode] = HGA ( f unst r, parspace, optio ns, p1, p2, p3) % 混合遗传算法
∑ m ax 平均操纵效率 c*
=
1N N k= 1
A( k) T
D( k)
m in 铰链力矩 c*mj =
‖C
( k) mj
(
_
x,
A( k) T
,
M∞)
‖m ax
k = 1, …, N
成可弯转的, 从而利用非对称外形来获得机动能 力[ 7, 8] 。其气动外形如图 2 所示。可变弯体飞行器的 设计关键之一是配平铰链力矩。如果铰链力矩接近 于零, 则可变弯体部分处于“自由漂浮”状态, 这对于
操纵效率最大化。即就是,
求解
设计变

_
x
=
( L tail , x cg , Rn , Hc) , 使得
SG A HGA A nn eal
表 1 优化设计结 果( 表中设计变量用参数上限归一化, 长度用底部直径归一化)
T able 1 O pt imum of desig n v ariables
设计变量
约束函数
Rn 1. 0 0. 5 0. 8075 0. 5 0. 7375
LF 1. 0 0. 5 0. 9768 1. 0 0. 9814
利用上述算法, 本文求解了带控制舵飞行器和 可变弯体飞行器的优化气动外形问题。实际算例表 明, 在快速有效的气动力分析方法辅助之下, 本文所 发展的 M AT L AB 现代优化算法可以在飞行器初始 设计中发挥作用。
1 基于 MATLAB 语言发展的现代优化算法
本文所提供的基于 M AT L AB 语言的现代优化 算法包括简单遗传算法、混合( 模拟退火) 遗传算法, 模拟退火算法, 以及采用基于分支联赛选择的多目 标遗传算法[ 2~5] 。这些算法都是最大化无约束优化 问题的。
第 24 卷第 1 期 2003 年 1 月
宇 航 学 报
Journal of A str onautics

V o l. 24 No . 1 January 2003
基于 MATLAB 的现代优化算法在飞行器气动 外形设计中的应用
张 勇1, 唐 伟1, 李为吉1, 马 强2, 张鲁民2
( 1. 西北工业大学, 西安 710072; 2. 中国空气动力研究与发展中心, 绵阳 621000)
2) 静稳定裕度: S MR ≤S MR 0
3)
设计
变量:
_
x
L

_
x
≤x_
U
这里取 S MR 0= 0. 05, L T0/ D = 4. 6661。
采用缺省的 o pt ions 参数, 三种单目标算 法所
得设计结果如表 1 所示。其中, 在 SGA 和 HGA 算
法中, 种群规模为 50, 交叉概率 0. 6, 变异概率 0. 2;
这种飞行器的常规气动外形为球双锥加十字布 局的三角形全动控制舵, 如图 1 所示。本文考虑一种 简化的优化设计模型: 在给定飞行状态、控制舵锁定
图 1 带控制舵飞行器气动布局 Fig. 1 A bi-co ne vehich with crucifo rm flaps
情况下, 确定使飞行器的升阻比最大化的外形, 并且
对于约束非线性规划问题, 采用序列无约束最 小 化方法( SUM T ) 来求解, 罚因子通 过参数 P 1 传 值, 并在算法中以一定形式增加; 用户目标程序采用 M ATLAB 和其他语言( C 或 Fo rtran) 混合编程的 方法, 利用 M exF unct ion 函数, 通 过 MAT L AB 编
在优化工具方面, 传统的 M AT LAB 优化工具箱 中求解非线性优化问题的方法主要是拟牛顿法、序列 二次规划等, 该算法对于解析问题非常有效, 但是只 能获得局部最优解[ 1] 。对于不具有解析形式、非线性 的工程优化问题, 依然采用 M AT L AB 优化工具箱来 求解, 就可能得不到满意解。事实上, 本文利用 M AT L AB 优化工具箱提供的约束极小化( fm incon) 方法 进行优化时, 仅得到了可行解。为此, 本文在参考互联 网上公开资源的基础上, 发展了 M AT LAB 现代优化 算法( 遗传算法、模拟退火算法和基于分支联赛选择 的多目标遗传算法) 。这些算法都是现在比较流行的 全局优化算法, 与传统算法相比较, 具有求解全局最 优解的能力, 但其缺点是计算量较大。
相关主题