第三章进行优化设计
M3-2
第 3章进行优化设计
本章,将集中介绍如何对现有设计进行优化。
将包括以下内容,
A,优化设计的定义 — 总览
B,过程 — 搜索一个优化目标的步骤
C,重启动
D,练习
M3-3
进行优化设计
A,定义一次快速复习
一个优化设计是一次:
– 执行目标函数,
– 满足所有设计约束,
– 并且 使用最少量的材料 (或成本或某种其他判据 )的过程。
M3-4
进行优化设计
定义
要优化一个设计,就必须有一个分析文件。
分析文件包括参数模型的输入,
– 初始参数值
– 几何模型和分网
– 边界条件,载荷,和求解
– 结果查看和检索
M3-5
进行优化设计
B,过程
从创建一个参数化模型和建立一个分析文件开始。
分析文件搜寻设计域进行优化设计初始设计参数化建模和加载求解参数化结果
M3-6
进行优化设计
过程
主要分四步 (假定已有分析文件存在 ):
1,确认分析文件
2,确认优化变量 - DV,SV,和目标函数
3,进行优化
4,查看结果
这些步骤相应的菜单如右,可由主菜单
Main Menu > Design Opt 得到
M3-7
进行优化设计
过程
以下将用一个转盘的例子来说明过程的各步,
一个高速旋转的钢盘,在 15,000 rpm的转速下工作,要求按等 应力设计 。
– 材料属性,E = 30E6 psi,r = 7.2E-4 lb-s2/in4,n = 0.3
qrimymid
10.0R
4.0R
qhub
0.6 0.4
1.6
0.5
xmid
M3-8
qrimymid
10.0R
4.0R
qhub
0.6 0.4
1.6
0.5
xmid
进行优化设计
过程
– 冯密塞斯应力应不超过 25,000 psi
– 转盘最低自震频率应为 1000 Hz或更高。
– 轮毂和轮缘的尺寸是固定的,但允许改变中间部分的形状。
M3-9
进行优化设计 - 过程确认分析文件
确认分析文件
确认优化参数
进行优化
查看结果
调用分析文件,该文件中应包含执行一次优化完整循环所需的全部输入,
– 参数化建模和加载
– 求解
– 参数化结果
M3-10
进行优化设计 - 过程
确认分析文件
确认分析文件,只要简单地从如下的 Assign Analysis File对话框中选择文件名,
– Design Opt > -Analysis File- Assign…
– 或用 OPANL 命令
M3-11
进行优化设计 - 过程确认优化变量
确认分析文件
确认优化变量
进行优化
查看结果
这一步要选择适当的参数并将他们定义为,
– 设计变量
– 状态变量
– 目标函数
M3-12
进行优化设计 - 过程
确认优化变量设计变量 (DV)
设计变量是为了使体积(或其他任何目标函数)最小而允许改变的变量。
qrimymid
qhub
对此转盘实例,DV 为
– 轮毂角,30° -90°
– 轮缘角,45° -135°
– XMID,0.5-4.5 in
– YMID,0.25-1.5 in
xmid
qrim
qhub
M3-13
进行优化设计 - 过程
确认优化变量
确认 DV,
– Design Opt > Design Variables… > Add…
– 或用 OPVAR 命令,
OPVAR,name,DV,min,max,toler
M3-14
进行优化设计 - 过程
确认优化变量
需要的最大值 (MAX),必须 > 0.0。
最小值 (MIN),如果指定的话,必须 > 0.0,如果未指定,MIN 的缺省值为 0.001*MAX.
允差 (TOLER) 是为收敛(停机)而确定的两次循环间 DV可接受的改变量 。
– 允差与 DV 有相同的单位,并且,不是 一个百分比 或一个分数 。
缺省值 = 0.01*当前值例如,如果在第 6次循环时,轮毂角 = 54.2° 而第 7次循环时为 55.0°,
停机条件 不 满足,因为 DV 的改变量 |54.2-55.0| = 0.8,大于 ( >)
0.55。
(但是有时会基于目标函数而停机 … 将在以后详细介绍 )
M3-15
进行优化设计 - 过程
确认优化变量
可以定义 60个 DV,但最好不要超过 10-20个 DV。 DV太多,很容易收敛于一个局部最小值。
因为大多数 DV 是诸如厚度、半径等几何参数,所以 DV 应限为正值
,这样的限制一般不会产生问题。
M3-16
进行优化设计 - 过程
确认优化变量状态变量 (SV)
设计约束,如最大应力和变形
以此转盘为例,SV 为,
– 最大周向应力? 25000 psi
– 一阶自震频率? 1000 Hz
qrimymid
qhub
xmid
M3-17
进行优化设计 - 过程
确认优化变量
要确认 SV,
– Design Opt > State Variables… > Add…
– 或用 OPVAR 命令,
OPVAR,name,SV,min,max,toler
M3-18
进行优化设计 - 过程
确认优化变量
SV 可以是单边的或双边的。
– 单边,只指定 MIN 或只指定 MAX 值
– 双边,同时指定 MIN 和 MAX 值。
TOLER 是可行域的允差 … 在被判定为不可行域之前,该设计离
MAX 和 MIN 的范围有多远。
– 允差与 DV 有相同的单位,并且,不是 一个百分比 或一个分数 。
缺省值 = 0.01*当前值。
例如,如果该转盘一阶自震频率为 FREQ1 = 991.3 Hz,则该设计仍在可行域,因为实际门槛值为 1000-(0.01*1000) = 990 Hz.
Feasible RegionTOLER
MAXMIN
TOLER InfeasibleInfeasible
M3-19
进行优化设计 - 过程
确认优化变量
状态变量不是优化所要求的,但通常还要指定,因为大多数设计需要在某种形式的约束。
可以定义 100 个 SV。
M3-20
进行优化设计 - 过程
确认优化变量目标函数 (OBJ)
目标函数是通过优化要被最小化的参数。 例如体积,重量,和某处的温度。
以此转盘为例,目标是应力变化最小。 因此 OBJ 是冯密塞斯应力的标准差,SDEV。
qrimymid
qhub
xmid
M3-21
进行优化设计 - 过程
确认优化变量
确认目标函数,
– Design Opt > Objective…
– 或用 OPVAR 命令,
OPVAR,name,OBJ,,,toler
M3-22
进行优化设计 - 过程
确认优化变量
允差 (TOLER) 是为收敛(停机)而确定的两次循环间 OBJ可接受的改变量 。
– 允差与 OBJ 有相同的单位,并且,不是 一个百分比 或一个分数 。
缺省值 = 0.01*当前值。
例如,如果第 7次循环的标准差为 SDEV = 3900,而第 6次循环为
3850,OBJ 的停机条件 没有 满足,因为 |3900-3850| = 50,大于停机值 ( >) 39.0.
(但是有时会基于 DV而停机 … 将在以后详细介绍 )
M3-23
进行优化设计 - 过程
确认优化变量
你可以只指定一个目标函数 OBJ。
ANSYS 总是 极小化 此 OBJ,如果你想要极大化某值,如参数 y,可指定 1/y 或 A-y 作为 OBJ (此间 A >> y)。
推荐 OBJ为正。 如要确保 OBJ为正,可对参数加上一个常数值。
M3-24
进行优化设计 - 过程进 行 优 化
确认分析文件
确认优化变量
进行优化
查看结果
这一步包括,
A,指定运行控制
B,选择优化方法
C,保存优化数据库
D,启动优化过程
M3-25
进行优化设计 - 过程
进 行 优 化
A,运行控制
包括,
– 指定优化数据库文件名 (OPDATA),缺省,jobname.opt。
– 控制如何读取分析文件 (OPLOOP),缺省,自第一行读入,不管设计变量( DV ) 参数定义 。
– 打印输出控制 (OPPRNT)。 缺省,不打印输出。
– 保存最佳设计选择 (OPKEEP)。 缺省,OFF。
M3-26
进行优化设计 - 过程
进 行 优 化
大多数控制选最左边的缺省值,除保存最佳设计选择也许是例外,
此选择保存最佳设计发生日期,
– 模型的几何参数,网格,载荷等,保存于 jobname.bdb 文件中。
– 优化结果保存于 jobname.brst 文件中。
M3-27
进行优化设计 - 过程
进 行 优 化
Design Opt > Controls...
M3-28
进行优化设计 - 过程
进 行 优 化保存最佳设计选择注意事项
数据库用 SAVE 操作保存到 jobname.bdb 文件中。
结果文件简单地将 jobname.rst 文件复制到 jobname.brst (或
.rth 到,brth,.rmg 到,brmg,.rfl 到,brfl)文件中。
如果进行多项分析,如先热后应力,只复制最后的结果文件 。
– 如果想要拷贝其他结果文件,可考虑用 /ASSIGN 函数 (Utility Menu >
File > ANSYS File Options...)。
M3-29
进行优化设计 - 过程
进 行 优 化
B,优化方法
ANSYS 有两种优化方法,
– 零阶方法
– 一阶方法
大多数应用推荐用零阶方法,因为方法通用和速度较快,
选用一阶方法的细节将在以后叙述,
M3-30
进行优化设计 - 过程
进 行 优 化
用 OPTYPE 和 OPSUBP 命令。
或 Design Opt > Method/Tool…
– 选择一种方法后,将引出进行附加选择的第二个对话框 。 这些选项 (
详见后述 ) 是最左边的缺省值 。
M3-31
进行优化设计 - 过程
进 行 优 化
C,保存优化结果数据库
优化程序用其自身的数据库工作,库中有如下内容,
– DV,SV,和 目标函数。
– 分析文件名,优化方法和控制,迭代次数和完成日期等。
– 每个设计参数值产生日期 。
每次迭代后,ANSYS 自动将这些信息保存到由运行控制对话框中指定的优化数据库文件中 (缺省在 jobname.opt 文件中 )。
M3-32
进行优化设计 - 过程
进 行 优 化
可在任何时候用下述方法检查优化数据库的状态,
– Design Opt > -Opt
Database- Status
– 或用 STATUS 命令
M3-33
进行优化设计 - 过程
进 行 优 化
进行优化之前,保存优化数据库,这可使你在必要时,方便地从此处恢复原有数据 。
用 OPSAVE 命令。
或 Design Opt > -Opt Database- Save...
– 选择一个非缺省的文件名 (因为缺省文件每次迭代后都会更新 )。 例如
,jobname.opt0。
M3-34
进行优化设计 - 过程
进 行 优 化
D,启动优化过程
用 OPEXE 命令。
或 Design Opt > Run…
– 核对设定,然后按 OK 钮开始优化 。
M3-35
进行优化设计 - 过程
进 行 优 化
优化程序每次将以新的 DV值对分析文件进行多次循环,直到设计收敛或达到迭代次数 。
M3-36
进行优化设计 - 过程
进 行 优 化什么是收敛?
一个设计在可行域已逼近可能的优化解 和 如果满足以下四条件 之一
:
1,当前设计与最佳可行设计目标函数的差小于允差 。
|OBJcurrent - OBJbest| < TOLERobj
2,当前设计与前一设计目标函数的差小于允差 。
|OBJcurrent - OBJcurrent-1| < TOLERobj
M3-37
进行优化设计 - 过程
进 行 优 化
3,对每一个 DV,当前设计与最佳可行设计之差小于允差 。
|DVcurrent - DVbest| < TOLERdv ( 对所有的 DV)
4,对每一个 DV,当前设计与前一设计之差小于允差 。
|DVcurrent - DVcurrent-1| < TOLERdv ( 对所有的 DV)
重申,如果满足四条件之一 并且 如果当前设计可行,就是获得收敛设计或优化设计 。
M3-38
进行优化设计 - 过程
进 行 优 化
ANSYS 输出窗 (或批处理时的输出文件 ) 表明收敛的根据。
以转盘为例,将 9号设计 (亦称 9号集合 ) 与最佳设计 (3号集合 ) 的
OBJ 进行相比,9号集合被认为是,最优” 设计,因为其 OBJ 值比 3号集合低,
M3-39
进行优化设计 - 过程
进 行 优 化收敛是否表明得到了优化设计?
不一定,只是简单表明,当前设计在可行域并满足四收敛条件之一

由用户,工程师决定,该设计是否需要继续优化 。
– 一种方法就是以不同的允差值,或不同的设计继续 (重启动 ) 此优化过程。 重启动将在以下介绍。
M3-40
进行优化设计 - 过程
进 行 优 化
输出窗还列出设计敏感度汇总表,这可给出哪一个 DV 对设计参数影响最大 (或最小 )。
以转盘为例,注意到 YMID 的每个单位改变对最大应力影响最大 。
该设计对 XMID的改变也很敏感。
M3-41
进行优化设计 - 过程查 看 结 果
确认分析文件
确认优化变量
进行优化
查看结果
可用以下步骤查看优化结果,
– 首先存储优化数据库 (如有必要的话 )
– 列出数据集合
– 创建图形
– 存储最优设计的几何模型和结果
M3-42
进行优化设计 - 过程
查 看 结 果重启动优化数据库
这一步只有当进行优化后退出了 ANSYS 才需要。
用 OPRESU 命令。
或 Design Opt > -Opt Database- Resume…
– 其优化数据库文件名是在运行控制对话框中指定的 (缺省为
jobname.OPT)。
M3-43
进行优化设计 - 过程
查 看 结 果列出设计参数集合
允许查看要求的设计参数值或范围。
可以选择只列出优化参数或列出全部参数。
用 OPLIST 命令。
或 Design Opt > -Design Sets- List…
M3-44
进行优化设计 - 过程
查 看 结 果
注意,列出的清单表明了一个设计是在可行域或不可行域,以及如在 不可行域的理由。
以转盘为例,
– 初始设计在不可行域,
因为 SMAX 超出范围
– 两个可行设计也就是最优设计。
M3-45
进行优化设计 - 过程
查 看 结 果
M3-46
进行优化设计 - 过程
查 看 结 果创建图形
用 PLVAROPT 命令。
或 Design Opt > Graphs/Tables…
可用优化变量对参数集号(缺省
),或对其他优化变量作图。
M3-47
进行优化设计 - 过程
查 看 结 果
这是目标函数 SDEV 对参数集号所作的图形
– PLVAROPT,SDEV
M3-48
进行优化设计 - 过程
查 看 结 果
状态变量 FREQ1 对参数集号的图
– PLVAROPT,FREQ1
M3-49
进行优化设计 - 过程
查 看 结 果
SMAX (最大冯密塞斯应力 ) 对参数集号图
– PLVAROPT,SMAX
M3-50
进行优化设计 - 过程
查 看 结 果图形显示
许多图形控制功能可以改变图形在屏幕上的显示方式,
– 轴线控制,改变轴线标注,轴线分割数,数值范围等。
– 曲线控制,曲线宽度,曲线下的面积是否填满等。
– 栅格控制,栅格 on/off; 只有 X-栅格,只有 Y-栅格,或两者都有等。
Utility Menu > PlotCtrls > Style > Graphs
M3-51
进行优化设计 - 过程
查 看 结 果
以下示例,将改变原有的图形,
– 设定 Y-axis 标注为 SMAX
– X-轴改为 8 等份 (9 个数据集,因此 8 等份 )
– 增加曲线宽度
M3-52
进行优化设计 - 过程
查 看 结 果
Utility Menu > PlotCtrls > Style >
Graphs > Modify Axes...
Utility Menu > PlotCtrls > Style >
Graphs > Modify Curve...
M3-53
进行优化设计 - 过程
查 看 结 果
M3-54
进行优化设计 - 过程
查 看 结 果存贮优化设计几何模型和优化结果要存储结果,只要退出优化程序并恢复文件 jobname.bdb (最优 db)。
– Main Menu > Finish
– Utility Menu > File > Resume from…
– Utility Menu > Plot > Elements
或发出命令,
– FINISH
– RESUME,jobname,bdb
– EPLOT
M3-55
进行优化设计 - 过程
查 看 结 果
在 jobname.brst 文件中有结果:
– 输入 POST1 并 指定 jobname.brst 作为结果文件 (用 FILE 命令或
Main Menu > General Postproc > Data & File Opts...).
– 然后用标准的 POST1 函数来查看结果。
注意,如在优化控制对话框中激活 save-best-design选项,则只输出,bdb 和,brst 文件。
M3-56
进行优化设计 - 过程
查 看 结 果
M3-57
进行优化设计 - 过程
查 看 结 果
M3-58
进行优化设计过 程
Identify the analysis file( 确认分析文件)
Identify optimization variables( 确认优化变量)
Run the optimization( 进行优化)
Review results( 查看结果)
以下将简短讨论,必要时,如何用优化数据库继续( -重启动) 此优化过程。
M3-59
进行优化设计
C,重启动
一次重启动是对先前的优化过程的一次继续执行。
其目的通常是下述理由之一或两者兼而有之,
– 改变允差 和 /或 DV 限制 进一步进行优化
– 从不同的设计集开始,强制由不同的,路径” 重启动优化过程
DV
OBJ
当前优化解可能的新优化解
OBJ
当前优化解可能的新优化解
M3-60
进行优化设计
重 启 动
一次典型的重启动包括四个步骤,
1,首先保存当前优化数据库为一个命名文件
2,如果需要,选择一个设计集的子集
3,修改优化变量 (允差和限定值 )
4,进行优化
M3-61
进行优化设计
重 启 动
1,保存当前优化数据库
– 允许用户在以后需要时重存。
– Design Opt > -Opt Database- Save… (或 OPSAVE 命令 )
注意,要指定为非缺省文件名
M3-62
进行优化设计
重 启 动
2,选择一个设计集的子集
– Design Opt > -Design Sets- Select/Delete… (或 OPSEL 和 OPDELE)
– 允许用户保留一个要求的设计集 (如所有可行设计 ) 并丢弃其余的 。
– 小心,选择了一个子集,实际上已从数据库中 清除了 未选的设计集
。 (这就是为什么第一步要保存优化数据库 ! )
M3-63
进行优化设计
重 启 动
– 在转盘例子中,选择所有的可行集,丢弃七个设计集而保留两个。
– 用 List 函数列出所有当前选择设计集。
Design Opt > -Design Sets- List… > All Sets
注意,原先的集号保留。就是说,删除的集号是不重用的。
M3-64
进行优化设计
重 启 动
3,修改优化参数
可以修改允差,改变范围,甚至删除一个 DV 或 SV 在重启动
修改允差
– 对 DV 和 OBJ,允许用户改变收敛准则。 例如,收紧 OBJ 允差可能会“强制” 收敛于 DV 允差。
– 对 SV,允许用户增加或减少 可行域的门槛值。
M3-65
进行优化设计
重 启 动
– 在转盘例子中,我们将收紧 OBJ 允差 (SDEV) 到 0.5。
– Design Opt > Objective… > Modify
M3-66
进行优化设计
重 启 动
– 改变限制值
允许用户收紧或放松设计区域。
Design Opt > Design Variables… > Edit…
Design Opt > State Variables… > Edit…
在转盘的例子中,我们将改变 DV 的限制如下,
– THETARIM,45° -90°
– XMID,2.0-3.0 in
M3-67
进行优化设计
重 启 动
M3-68
进行优化设计
重 启 动
4,进行优化
– 首先保存新集数据到一个命名文件中,
Design Opt > -Opt Database- Save…
M3-69
进行优化设计
重 启 动
– 然后初始化优化过程,。重新进行优化,大多数收敛于一个不同的设计
。 同样,这取决于用户(工程师),如何确认优化设计的有效性。
– Design Opt > Run…
M3-70
进行优化设计
重 启 动
– 转盘例中,取 12 次迭代,因
DV 允差而收敛的结果。最优设计是参数集 21。
M3-71
进行优化设计
重 启 动
与原先的优化设计相比 (参数集 9,因为新的 DV 限制,现在是 不可性设计 ),新的优化设计 (参数集 21) OBJ 更低。
M3-72
进行优化设计
重 启 动
M3-73
进行优化设计练习本练习包括两个问题,
1,轴对称转盘的设计优化
– 逐步介绍整个过程
– 你可以自己动手解决这一问题,也可以由导师演示整个过程。
2,一个六角形钢板的设计优化
– 这是留给你的一个练习
详见设计优化练习附录。
M3-74
备注