第 五 章优化设计 ( II)
M5-2
第 5章优化设计( II)
本章将学习更多的优化设计知识。
内容涵盖:
A,使用两种设计优化的方法以及他们是如何工作的
B,如何选择设计变量,状态变量和目标函数的指导
C,做 1-2 个练习
M5-3
设计优化( II)
A,设计优化方法
ANSYS 提供了两中种优化设计方法(或称算法):
– 零阶( Subproblem) 近似方法
– 一阶方法
第三种方法,用户优化,允许加入自己的优化算法。 详见 ANSYS
Guide to User Programmable Features
M5-4
设计优化( II)
设计优化方法零阶近似法
零阶方法只要求因变量 (SV 和 OBJ)值,而不用他们的导数。
用因变量的近似值工作,而不用实际函数。
– 目标函数近似为最小值,而不是实际的目标函数。
– 状态变量近似为使用设计约束,而不用实际状态变量。
M5-5
设计优化( II) - 方法
零阶近似法
– 至少要适应所用的全部现有的设计集,以形成近似式:
H = 目标函数或状态变量的近似值
Xn = 设计变量 n
a,b,c = 系数
N = 设计变量总数
nm
N
m
N
mn
mn
N
n
nn
N
n
nn XXcXbXaaH


1
1 11
2
1
0
M5-6
设计优化( II) - 方法
零阶近似法
– 可用 OPEQN (或 Design Opt > Method/Tool > Sub-problem) 控制近似式的形成,
二次项 + 交叉项 (缺省为 OBJ)
仅有二次项 (缺省为 SV)
线形项
nm
N
m
N
mn
mn
N
n
nn
N
n
nn XXcXbXaaH


1
1 11
2
1
0
~
线形项二次项二次项 + 交叉项
M5-7
设计优化( II) - 方法
零阶近似法
开始时,需要几个设计集,以形成近似式 。
– ANSYS 产生随机设计 (缺省为 7个 ),或用优化数据库中的现成设计
– 可提供已知的“好的”设计来改进近似精度。
提示,由随机法或单步循环法 (或任何其他方法 )开始,以产生一些设计方案,然后只保留可行域内的或最好的 n个设计。
M5-8
设计优化( II) - 方法
零阶近似法
对大多数应用推荐用零阶近似法,这是因为:
– 采用通用方法。
– 迅速获得优化结果。
M5-9
设计优化( II) - 方法一阶方法一阶方法
用因变量的导数 - OBJ 和 SV - 来决定搜索方向并获得优化结果。
没有近似,所以这种方法更精确。
每次迭代涉及多次分析 (对分析文件的多次循环 ),以确定适当的搜索方向。
M5-10
设计优化( II) - 方法
一阶方法
要选择一阶方法:
– Design Opt > Method/Tool...
– 或用 OPTYPE 和 OPFRST:
optype,first
opfrst,nitr,size,delta
– SIZE 和 DELTA 用缺省值,通常已足够。
M5-11
设计优化( II) - 方法
一阶方法
如这 两个 条件均能满足,就说是已收敛了:
– 改变目标函数,使当前设计和最优可行设计的目标函数之间的差值 小于允差 。
|OBJcurrent - OBJbest| < TOLERobj

– 改变目标函数,使当前设计和前一设计的目标函数之间的差值小于允差 。
|OBJcurrent - OBJcurrent-1| < TOLERobj
M5-12
设计优化( II) - 方法
一阶方法
– 关于收敛还有一个要求就是,最后迭代必须用最陡下降搜索,否则,
还要执行额外的迭代。
M5-13
设计优化( II) - 方法
一阶方法
什么时候要用一阶方法?
– 当精度很重要时。
– 当零阶方法不够精确时。
当速度很重要时,不推荐用一阶方法。
M5-14
设计优化( II) - 方法
B,指导将有:
总的指导
关于 DV的指导
关于 SV的指导
关于 OBJ的指导
M5-15
设计优化( II) - 指导总的指导
无论什么时候,只要可能,就应利用对称性。记住:优化程序执行多次分析,所以模型规模愈小愈好。
M5-16
设计优化( II) - 指导
总的指导
如果不是分析必须,要避免指定密度 。 这将节省计算质量矩阵所需的时间。
确认参数化模型对 DV的所有可能值都要有效。 对每个 DV,最好扫描两次(最小和最大值)。
每次运行后,以一,安全”文件名保存优化数据库 。 保留此数据库将给你未来设计提供一个很大的数组,这是你不久可能要用的。
M5-17
设计优化( II) - 指导
总的指导
有时优化问题可能收敛于一个局部最小值。 可以进行检查,而先用扫描工具(或其它工具)有可能获得全局最优。选择合适的初始设计 。
OBJ
DV
局部最小 全局最小
M5-18
设计优化( II) - 指导关于 DV的指导关于设计变量的指导
设计变量数要少,推荐不超过 20个 ; 最好小于 10个。
一种删除一些 DV的方法是,将其表示为其他参数的函数。例如,
删除 R3可将其表示为 R1 和 T1的函数。 R4也同样。
R1
R2
R4
R3
T1 T2
M5-19
设计优化( II) - 指导
关于 DV的指导
选择 DV,允许几种设计结构,但要排除不现实的和不要求的设计
。 考虑,例如,悬臂梁的重量优化。
一个 DV,x1,也能工作,
但是,这就不能是带锥度的或曲线的设计。x1
M5-20
设计优化( II) - 指导
关于 DV的指导选择 4个 DV,x1-x4,就更灵活 …
… 但是,也允许局部最小 值
(除非其他约束)。
x1
x2x3
x4
x1
x2x
3
x4
M5-21
设计优化( II) - 指导
关于 DV的指导一个较好的办法是选择高度增量作为 DV:
x1
dx2
dx3
dx4
M5-22
设计优化( II) - 指导
关于 DV的指导
指定离散的 DV,如肋数或孔数,建模时用 NINT函数(最接近的整数) 。
例如,如果 NRIBS 表示肋数,用 NINT(NRIBS) 一根一根去复制肋
,则将 NRIBS 说明为 DV,并带有适当的限定值。
M5-23
设计优化( II) - 指导
关于 DV的指导
或者,也可用 if-then-else结构。
例如,如果壳厚 thk 是一个 DV,只允许三种可能的壳厚 …
et,1,63 ! 壳单元类型
*if,thk,lt,2.5/16,then
thk=1/8 ! 如 thk < 2.5/16用 1/8
*elseif,thk,gt,3.5/16,then
thk=1/4 ! 如 thk > 3.5/16 用 1/4
*else
thk=3/16 ! 否则用 3/16
*endif
r,1,thk ! 定义壳厚
M5-24
设计优化( II) - 指导关于 SV的指导关于状态变量的指导
肯定要用正确的数据,例如:
– 如果一阶自震频率最小是一个状态变量,要肯定得到非零的一阶频率
。 一阶频率可能是一个刚体模式。
– 如果结构变形是 Y 方向,且最大 Y 变形是一个状态变量,要清楚是要得到绝对值最大,还是实际值最小。
M5-25
设计优化( II) - 指导
关于 SV的指导
典型的状态变量,如最大应力 ( 或变形或温度或,..) 每次循环可能发生在不同的位置。
在这种情况下,对整个结构,不要只选择一个最大(或最小)值,
这样做,可能会得到较差的近似结果。
另一方面,每一单元选择一个最大值,可能会得到一个局部最小值

M5-26
H2
设计优化( II) - 指导
关于 SV的指导一种折中的办法是选择几个关键区域,用这些区域中的最大应力作为状态变量。
例如,用下面的构架桥的每一,分跨”的最大应力,要比只用整个结构的一个最大应力的结果要好。
H1
A1
A2
A3
SMX1 SMX2 SMX3 SMX4
M5-27
设计优化( II) - 指导
关于 SV的指导
避免状态变量两端边界的限制太严。
例如,一个状态变量限定 500 到 1000 比 990 到 1000好。
如果存在奇异,如一点载荷或一凹角( re-entrant corner),则最大应力总是在此位置处。
可考虑在得到最大应力之前,不选( unselect) 此区。
M5-28
设计优化( II) - 指导
关于 SV的指导
可用等价约束,如一阶自震频率 = 256 Hz,用加括号技术:
– 定义 freqA 为 SV 带 上限 257 Hz
– 定义 freqB 为 SV 带 下限 255 Hz
用 freqA 和 freqB 两者表示一阶自震频率,而其限制值括起要求的值。
在这种情况下,可能会增加连续的不可行设计数,因为频率值 <255
或 >257 将使设计不可行。
M5-29
设计优化( II) - 指导
关于 SV的指导
如果有太多的不可行设计,多半是因为状态变量的近似值不适当地表现实际的 SV 函数。
加入交叉项到 SV 近似值 (OPEQN) 可能会解决这个问题。
或者,也可以用一阶方法。
M5-30
设计优化( II) - 指导关于 OBJ的指导关于目标函数的指导
记住,ANSYS 总是将目标函数最小化。
要想最大化,如热流率 Q,可指定 1/Q 或 CC-Q 作为目标函数( 这里 CC 是一个大于预期的 Q值最大值的常数)。
OBJ 应为正。 为此,如有必要可加上一个正常数。
M5-31
设计优化( II)
练习
本练习包括两个问题:
– 一个带肋托盘的重量优化
– 设计一个有给定频率的风铃
详见设计优化练习附录。
M5-32
备注