ANSYS高级分析技术指南 拓扑优化 第二章拓扑优化 什么是拓扑优化? 拓扑优化是指形状优化,有时也称为外型优化。拓扑优化的目标是寻找 承受单载荷或多载荷的物体的最佳材料分配方案。这种方案在拓扑优化中表现为 “最大刚度”设计。 与传统的优化设计不同的是,拓扑优化不需要给出参数和优化变量的定 义。目标函数、状态变量和设计变量(参见“优化设计”一章)都是预定义好的。 用户只需要给出结构的参数(材料特性、模型、载荷等)和要省去的材料百分比 拓扑优化的目标一一目标函数一一是在满足结构的约束(V)情况下减少结 构的变形能。减小结构的变形能相当于提高结构的刚度。这个技术通过使用设计 变量(ηi)给每个有限元的单元赋予内部伪密度来实现。这些伪密度用 PLNSOL, TOP0命令来绘出。 例如,给定V=60表示在给定载荷并满足最大刚度准则要求的情况下省去 60%的材料。图2-1表示满足约束和载荷要求的拓扑优化结果。图2-1a表示载荷 和边界条件,图2-2b表示以密度云图形式绘制的拓扑结果 图2-1体积减少60%的拓扑优化示例 n≌0 (material removed (a)Constraint and Load ) Shape result contours≌ 如何做拓扑优化 拓扑优化包括如下主要步骤 1.定义拓扑优化问题 2.选择单元类型。 3.指定要优化和不优化的区域 4.定义和控制载荷工况。 定义和控制优化过程。 6.查看结果。 拓扑优化的细节在下面给出。关于批处理方式和图形菜单方式 不同的做法也同样提及 定义拓扑优化问题 定义拓扑优化问题同定义其他线性,弹性结构问题做法一样。用户需要定义 材料特性(杨氏模量和泊松比),选择合适的单元类型生成有限元模型,施加载 2-1
ANSYS 高级分析技术指南 拓扑优化 2-1 第二章 拓扑优化 什么是拓扑优化? 拓扑优化是指形状优化,有时也称为外型优化。 拓扑优化的目标是寻找 承受单载荷或多载荷的物体的最佳材料分配方案。这种方案在拓扑优化中表现为 “最大刚度”设计。 与传统的优化设计不同的是,拓扑优化不需要给出参数和优化变量的定 义。目标函数、状态变量和设计变量(参见“优化设计”一章)都是预定义好的。 用户只需要给出结构的参数(材料特性、模型、载荷等)和要省去的材料百分比。 拓扑优化的目标——目标函数——是在满足结构的约束(V)情况下减少结 构的变形能。减小结构的变形能相当于提高结构的刚度。这个技术通过使用设计 变量(i)给每个有限元的单元赋予内部伪密度来实现。这些伪密度用 PLNSOL, TOPO 命令来绘出。 例如,给定 V=60 表示在给定载荷并满足最大刚度准则要求的情况下省去 60%的材料。图 2-1 表示满足约束和载荷要求的拓扑优化结果。图 2-1a 表示载荷 和边界条件,图 2-2b 表示以密度云图形式绘制的拓扑结果。 图 2-1 体积减少 60%的拓扑优化示例 如何做拓扑优化 拓扑优化包括如下主要步骤: 1. 定义拓扑优化问题。 2. 选择单元类型。 3. 指定要优化和不优化的区域。 4. 定义和控制载荷工况。 5. 定义和控制优化过程。 6. 查看结果。 拓扑优化的细节在下面给出。关于批处理方式和图形菜单方式 不同的做法也同样提及。 定义拓扑优化问题 定义拓扑优化问题同定义其他线性,弹性结构问题做法一样。用户需要定义 材料特性(杨氏模量和泊松比),选择合适的单元类型生成有限元模型,施加载
ANSYS高级分析技术指南 拓扑优化 荷和边界条件做单载荷步或多载荷步分析。参见“ ANSYS Analysis Procedures Guides”第一、二章。 选择单元类型 拓扑优化功能可以使用二维平面单元,三维块单元和壳单元。要使用这个 功能,模型中只能有下列单元类型: 维实体单元: SOLID2和 SOLID82 三维实体单元: SOLID92和 SOLID95 壳单元: SHELLS93 二维单元用于平面应力问题。 指定要优化和不优化的区域 只有单元类型号为1的单元才能做拓扑优化。可以使用这种限制控制模型 优化和不优化的部分。例如,如果要保留接近圆孔部分或支架部分的材料,将这 部分单元类型号指定为2或更大即可 ET, 1. SOLID92 ET. 2. SOL ID92 VSEL,S,NUM,1,.2!用这些单元划分的实体将被优化 MESH. ALL TYPE 2 VSEL, S NUM. 3 !用这些单元划分的实体将保持原状 VMESH. ALL 用户可以使用 ANSYS的选择和修改命令控制单元划分和类型号定义。 定义和控制载荷工况 可以在单个载荷工况和多个载荷工况下做拓扑优化。单载荷工况是最简便 的 要在几个独立的载荷工况中得到优化结果时,必须用到写载荷工况和求解 功能。在定义完每个载荷工况后,要用 LSWRITE命令将数据写入文件,然后用 LSSOLVE命令求解载荷工况的集合 例如,下面的输入演示如何将三个载荷工况联合做一个拓扑优化分析 D,10,AL,0,20,1!定义第一个载荷工况的约束和载荷 NSEL, S, LOC.Y0 ALLSEL LSWRITE. 1 !写第一个载荷工况 DEL SFDEL NSEL, S LOC, X,0. 1 D, ALL, ALL, O
ANSYS 高级分析技术指南 拓扑优化 2-2 荷和边界条件做单载荷步或多载荷步分析。参见“ANSYS Analysis Procedures Guides”第一、二章。 选择单元类型 拓扑优化功能可以使用二维平面单元,三维块单元和壳单元。要使用这个 功能,模型中只能有下列单元类型: 二维实体单元:SOLID2 和 SOLID82 三维实体单元:SOLID92 和 SOLID95 壳单元:SHELL93 二维单元用于平面应力问题。 指定要优化和不优化的区域 只有单元类型号为 1 的单元才能做拓扑优化。可以使用这种限制控制模型 优化和不优化的部分。例如,如果要保留接近圆孔部分或支架部分的材料,将这 部分单元类型号指定为 2 或更大即可: … ET,1,SOLID92 ET,2,SOLID92 … TYPE,1 VSEL,S,NUM,,1,,2 !用这些单元划分的实体将被优化 VMESH,ALL TYPE,2 VSEL,S,NUM,,3 !用这些单元划分的实体将保持原状 VMESH,ALL … 用户可以使用 ANSYS 的选择和修改命令控制单元划分和类型号定义。 定义和控制载荷工况 可以在单个载荷工况和多个载荷工况下做拓扑优化。单载荷工况是最简便 的。 要在几个独立的载荷工况中得到优化结果时,必须用到写载荷工况和求解 功能。在定义完每个载荷工况后,要用 LSWRITE 命令将数据写入文件,然后用 LSSOLVE 命令求解载荷工况的集合。 例如,下面的输入演示如何将三个载荷工况联合做一个拓扑优化分析。 … D,10,ALL,0,,20,1 !定义第一个载荷工况的约束和载荷 NSEL,S,LOC,Y,0 SF, ALLSEL LSWRITE,1 !写第一个载荷工况 DDEL, SFDEL, NSEL,S,LOC,X,0,1 D,ALL,ALL,0
ANSYS高级分析技术指南 拓扑优化 NSEL. ALL F,212,FX LSWRITE. 2 !写第二个载荷工况 LSWRITE. 3 !写第三个载荷工况 FINISH /SOLUTION TOPDEF 10.3 !定义优化的参数 lSSoLVE 1.3.1 !在拓扑优化前做所有三个载荷工况求解 定义和控制优化过程 拓扑优化过程包括两部分:定义优化参数和进行拓扑优化。用户可以用两 种方式运行拓扑优化:控制并执行每一次迭代,或自动进行多次迭代 ANSYS有三个命令定义和执行拓扑优化: TOPDEF, TOPEXE和 TOPITER。 TOPDEF 命令定义要省去材料的量,要处理载荷工况的数目,收敛的公差。 TOPEXE命令 执行一次优化迭代。 TOPITER命令执行多次优化迭代。 定义优化参数 首先要定义优化参数。用户要定义要省去材料的百分比,要处理载荷工况 的数目,收敛的公差。 命令: TOPDEF GUI: Main Menu>Solution>-Solve-Topological opt 注一一本步所定义的内容并不存入 ANSYS数据库中,因此在下一个拓扑优 化中要重新使用 TOPDEF命令。 执行单次迭代 定义好优化参数以后,可以执行一次迭代。迭代后用户可以査看收敛情况 并绘出或列出当前的拓扑优化结果。可以继续做迭代直到满足要求为止。如果是 在GUI方式下执行,在 Topological Optimization对话框(ITER域)中选择 次迭代。 命令: TOPEXE GUI: Main Menu>Solution>-Solve-Topological opt 下面的例子说明了如何在拓扑优化中每次执行一次迭代 /SOLUTION TOPDEF, 25.1 !移去25%体积并处理一个载荷工况 SOLVE 执行第一次应力分析 TOPEXE 执行第一次拓扑优化迭代 FINISH /POSTl !进入后处理器 PLNSOL, TOPO !画出优化结果 *GET, TIPSRAT,TOPO,CON!读取拓扑收敛状态 * STATUS, TOPSTAT!列表 2-3
ANSYS 高级分析技术指南 拓扑优化 2-3 NSEL,ALL F,212,FX LSWRITE,2 !写第二个载荷工况 … LSWRITE,3 !写第三个载荷工况 … FINISH /SOLUTION TOPDEF,10,3 !定义优化的参数 LSSOLVE,1,3,1 !在拓扑优化前做所有三个载荷工况求解 … 定义和控制优化过程 拓扑优化过程包括两部分:定义优化参数和进行拓扑优化。用户可以用两 种方式运行拓扑优化:控制并执行每一次迭代,或自动进行多次迭代。 ANSYS 有三个命令定义和执行拓扑优化:TOPDEF,TOPEXE 和 TOPITER。TOPDEF 命令定义要省去材料的量,要处理载荷工况的数目,收敛的公差。TOPEXE 命令 执行一次优化迭代。TOPITER 命令执行多次优化迭代。 定义优化参数 首先要定义优化参数。用户要定义要省去材料的百分比,要处理载荷工况 的数目,收敛的公差。 命令:TOPDEF GUI:Main Menu>Solution>-Solve-Topological opt 注——本步所定义的内容并不存入 ANSYS 数据库中,因此在下一个拓扑优 化中要重新使用 TOPDEF 命令。 执行单次迭代 定义好优化参数以后,可以执行一次迭代。迭代后用户可以查看收敛情况 并绘出或列出当前的拓扑优化结果。可以继续做迭代直到满足要求为止。如果是 在 GUI 方式下执行,在 Topological Optimization 对话框(ITER 域)中选择一 次迭代。 命令:TOPEXE GUI:Main Menu>Solution>-Solve-Topological opt 下面的例子说明了如何在拓扑优化中每次执行一次迭代: … /SOLUTION TOPDEF,25,1 !移去 25%体积并处理一个载荷工况 SOLVE !执行第一次应力分析 TOPEXE !执行第一次拓扑优化迭代 FINISH /POST1 !进入后处理器 PLNSOL,TOP0 !画出优化结果 *GET,TIPSRAT,TOPO,,CONV !读取拓扑收敛状态 *STATUS,TOPSTAT !列表
ANSYS高级分析技术指南 拓扑优化 /SOLUTION SOLVE !执行第二次应力分析 TOPEXE !执行第二次拓扑优化迭代 FINISH /POSTl TOPEXE的主要优点是用户可以设计自己的迭代宏进行自动优化循环和绘 图。在下一节,可以看到 TOPITER命令是一个 ANSYS的宏,用来执行多次优化迭 代 自动执行多次迭代 在定义好优化参数以后,用户可以自动执行多次迭代。在迭代完成以后 可以査看收敛情况并绘出或列出当前拓扑形状。如果需要的话,可以继续执行求 解和迭代。 TOPITER命令实际是一个 ANSYS的宏,可以拷贝和定制(见APDL Programmer' s Guide)。 命令: TOPITER GUI: Main Menu>Solution>-Solve-Topological opt 下面的例子说明了如何使用 TOPITER宏执行多次迭代 定义并写第一个载荷工况 LSWRITE !定义并写第二个载荷工况 LSWRITE 定义并写第三个载荷工况 SWRITE TOPDEF,80,3,,001!80%体积减少,3个载荷工况 0.001为收敛公差 / DSCALE,,OFF!关闭形状改变 /( CONTOUR,3!每次显示3个轮廓数值 TOPITER, 20.1 最大20次迭代。每次迭代求解并绘出 结果 每次迭代执行一次 LSSOLVE命令,一次 TOPEXE命令和一次 PLNSOL,TOP0 显示命令。当收敛公差达到(用 TOPDEF定义)或最大迭代次数(用 TOPITER定 义)达到时优化迭代过程终止 查看结果。 拓扑优化结束后, ANSYS结果文件( Jobname.RST)将存储优化结果供通用 后处理器使用。用户可以使用后面提到的后处理命令。要得到更详细的信息,请 查阅 ANSYS Commands Reference或 ANSYS Basic Analysis Procedures Guide 第五章 要列出结点解和/或绘出伪密度,使用 PRNSOL和 PLNSOL命令的TOP0变量。 要列出单元解和/或绘出伪密度,使用 PLESOL和 PRESOL命令的TOP0变量 可以使用 ANSYS表格功能查看结果: ETABLE, EDENS. TOPO 2-4
ANSYS 高级分析技术指南 拓扑优化 2-4 /SOLUTION SOLVE !执行第二次应力分析 TOPEXE !执行第二次拓扑优化迭代 FINISH /POST1 … TOPEXE 的主要优点是用户可以设计自己的迭代宏进行自动优化循环和绘 图。在下一节,可以看到 TOPITER 命令是一个 ANSYS 的宏,用来执行多次优化迭 代。 自动执行多次迭代 在定义好优化参数以后,用户可以自动执行多次迭代。在迭代完成以后, 可以查看收敛情况并绘出或列出当前拓扑形状。如果需要的话,可以继续执行求 解和迭代。TOPITER 命令实际是一个 ANSYS 的宏,可以拷贝和定制(见 APDL Programmer’s Guide)。 命令:TOPITER GUI:Main Menu>Solution>-Solve-Topological opt 下面的例子说明了如何使用 TOPITER 宏执行多次迭代: … !定义并写第一个载荷工况 LSWRITE … !定义并写第二个载荷工况 LSWRITE … !定义并写第三个载荷工况 LSWRITE … TOPDEF,80,3,.001 !80%体积减少,3 个载荷工况 … 0.001 为收敛公差 /DSCALE,,OFF !关闭形状改变 /CONTOUR,,3 !每次显示 3 个轮廓数值 TOPITER,20,1 !最大 20 次迭代。每次迭代求解并绘出 … 结果 每次迭代执行一次 LSSOLVE 命令,一次 TOPEXE 命令和一次 PLNSOL,TOPO 显示命令。当收敛公差达到(用 TOPDEF 定义)或最大迭代次数(用 TOPITER 定 义)达到时优化迭代过程终止。 查看结果。 拓扑优化结束后,ANSYS 结果文件(Jobname.RST)将存储优化结果供通用 后处理器使用。用户可以使用后面提到的后处理命令。要得到更详细的信息,请 查阅 ANSYS Commands Reference 或 ANSYS Basic Analysis Procedures Guide 第五章。 要列出结点解和/或绘出伪密度,使用 PRNSOL 和 PLNSOL 命令的 TOPO 变量。 要列出单元解和/或绘出伪密度,使用 PLESOL 和 PRESOL 命令的 TOPO 变量。 可以使用 ANSYS 表格功能查看结果: ETABLE,EDENS,TOPO
ANSYS高级分析技术指南 拓扑优化 PLETAB, EDENS PRETAB EDENS ESEL, S ETAB, EDENS, 0.9, 1.0 EPLOT 要査看最近(最后一次迭代)的收敛情况和结构变形能,使用*GET命令: *GET. TOPCV, TOPO,, CONV !如果 TOPCV=1(收敛) **GET ECOMP. TPO, COMP ! ECOMP=变形能 STAT 二维多载荷优化设计示例 在本例中,对承受两个载荷工况的梁进行拓扑优化。 问题描述 图2-2表示一个承载的弹性梁。梁两端固定,承受两个载荷工况。梁的一 个面是用一号单元划分的,用于拓扑优化,另一个面是用二号单元划分的,不作 优化。最后的形状是单元1的体积减少50% 图2-2承受两个载荷工况的梁 F=1000 Load Case 1) Type 1 elements (optmized materian Type 2 elements material not optmized ↓F=1000( Load case2 本问题是用下列的 ANSYS命令流求解的。两个载荷工况定义并用 LSWRITE 命令写入文件。使用 ANSYS选择功能,单元 SOLIDS82通过类型号1和2分别指定 优化和不优化的部分。 TOPDEF命令定义问题有两个载荷工况并要求50%体积减 少。 TOPEXE命令在本例中没有使用,代之以用 TOPITER宏命令指定最大迭代次 数为12次 /TITLE, A 2-d, multiple-load example of topological optimization /PREP7 BLC4,0,0,3,1 生成实体模型(3X1矩形 二维实体单元,1号为优化 2-5
ANSYS 高级分析技术指南 拓扑优化 2-5 PLETAB,EDENS PRETAB,EDENS ESEL,S,ETAB,EDENS,0.9,1.0 EPLOT 要查看最近(最后一次迭代)的收敛情况和结构变形能,使用*GET 命令: *GET,TOPCV,TOP0,,CONV !如果 TOPCV=1(收敛) *GET,ECOMP,TP0,,COMP !ECOMP=变形能 *STAT 二维多载荷优化设计示例 在本例中,对承受两个载荷工况的梁进行拓扑优化。 问题描述 图 2-2 表示一个承载的弹性梁。梁两端固定,承受两个载荷工况。梁的一 个面是用一号单元划分的,用于拓扑优化,另一个面是用二号单元划分的,不作 优化。最后的形状是单元 1 的体积减少 50%。 图 2-2 承受两个载荷工况的梁 本问题是用下列的 ANSYS 命令流求解的。两个载荷工况定义并用 LSWRITE 命令写入文件。使用 ANSYS 选择功能,单元 SOLID82 通过类型号 1 和 2 分别指定 优化和不优化的部分。TOPDEF 命令定义问题有两个载荷工况并要求 50%体积减 少。TOPEXE 命令在本例中没有使用,代之以用 TOPITER 宏命令指定最大迭代次 数为 12 次。 /TITLE,A 2-d,multiple-load example of topological optimization /PREP7 BLC4,0,0,3,1 !生成实体模型(3X1 矩形) ET,1,82 !二维实体单元,1 号为优化
ANSYS高级分析技术指南 拓扑优化 ET,2,82 !2号不优化 MP,EX,1,118E9!线性各项同性材料 MP, NUXY, 1.0.3 ESIZE 0.05 !较细的网格密度 TYPE. I ALL !自由矩形网格划分 S,LOC,X,0,0.4!选择不优化的部分 ESL TYPE 2 EMODL. ALL !定义2号单元 ALLSEL NSEL, S, LOC.X, 0 D, ALL, ALL, O !在X=0处固定 NSEL, S. LOC. X 3 D, ALL, ALL, O 在X=3处固定 FORCE=1000 !载荷数值 NSEL, S. LOC.X. 1 NSEL,R LOC,Y. 1 F,AL,FY, FORCE!定义第一个载荷工况 ALLSEL LSWRITE. 1 !写第一个载荷工况 FDEL, ALL NSEL, S. LOC. X. 2 NSEL, R LOC,Y 0 F,AL,FY,- FORCE!定义第二个载荷工况 ALLSEL LSWRITE. 2 !写第二个载荷工况 FDEL, ALL TOPDEF, 50. 2 !定义拓扑优化有两个载荷工况 /SHoW,topo,grph!将图形输出到文件(在交互方式下删 除本命令 DSCALE, OFF CoNTOUR,, 2 TOPITER, 12.1 执行不多于12次迭代 FINISH 求解结果 图2-3表示上例的计算结果。这些结果存入top.grph文件便于后续的显示 处理。如果是交互地运行 ANSYS程序,将/SHoW命令删除以观看每次迭代的结果。 图2-3拓扑优化结果——50%体积减少
ANSYS 高级分析技术指南 拓扑优化 2-6 ET,2,82 !2 号不优化 MP,EX,1,118E9 !线性各项同性材料 MP,NUXY,1,0.3 ESIZE,0.05 !较细的网格密度 TYPE,1 AMESH,ALL !自由矩形网格划分 NSEL,S,LOC,X,0,0.4 !选择不优化的部分 ESLN TYPE,2 EMODI,ALL !定义 2 号单元 ALLSEL NSEL,S,LOC,X,0 D,ALL,ALL,0 !在 X=0 处固定 NSEL,S,LOC,X,3 D,ALL,ALL,0 !在 X=3 处固定 FORCE=1000 !载荷数值 NSEL,S,LOC,X,1 NSEL,R,LOC,Y,1 F,ALL,FY,FORCE !定义第一个载荷工况 ALLSEL LSWRITE,1 !写第一个载荷工况 FDEL,ALL NSEL,S,LOC,X,2 NSEL,R,LOC,Y,0 F,ALL,FY,-FORCE !定义第二个载荷工况 ALLSEL LSWRITE,2 !写第二个载荷工况 FDEL,ALL TOPDEF,50,2 !定义拓扑优化有两个载荷工况 /SHOW,topo,grph !将图形输出到文件(在交互方式下删 除本命令 /DSCALE,,OFF /CONTOUR,,2 TOPITER,12,1 !执行不多于 12 次迭代 FINISH 求解结果 图 2-3 表示上例的计算结果。这些结果存入 top.grph 文件便于后续的显示 处理。如果是交互地运行 ANSYS 程序,将/SHOW 命令删除以观看每次迭代的结果。 图 2-3 拓扑优化结果——50%体积减少
ANSYS高级分析技术指南 拓扑优化 一些说明 结果对载荷情况十分敏感。很小的载荷变化将导致很大的优化结果差 异 ●结果对网格划分密度敏感。一般来说,很细的网格可以产生“清晰 的拓扑结果,而较粗的网格会生成“混乱”的结果。但是,较大的有限元模型需 要更多的收敛时间。 ●在一些情况下会得到珩架形状的拓扑结果。这通常在用户指定很大的 体积减少值和较细的网格划分时出现。很大的体积减少值如80%或更大( TOPDEF 命令)。 ●如果有多个载荷工况时,有多种方式将其联合进行拓扑优化求解。例 如,考虑有五个载荷工况的情况。可以选择使用五个单独的拓扑优化分析过程 也可以使用包括这五个工况的一次拓扑优化分析。还有,也可以将这五个工况合 成为一个工况,然后做一次优化。综合起来,可以有七个不同的拓扑优化求解: 5独立的拓扑优化求解(每个工况一次) 1拓扑优化求解针对五个工况 1拓扑优化求解针对一个联合工况 附加的结果或结果的组合都是可用的。 结果对泊松比敏感但对杨氏模量不敏感。但是,随泊松比变化的效果 不明显。 ● TOPDEF和TOIT瞅R命令中的指定值并不存储在 ANSYS数据库中;因此, 用户必须在每次拓扑优化时重新指定优化目标和定义 2-7
ANSYS 高级分析技术指南 拓扑优化 2-7 一些说明 ⚫ 结果对载荷情况十分敏感。很小的载荷变化将导致很大的优化结果差 异。 ⚫ 结果对网格划分密度敏感。一般来说,很细的网格可以产生“清晰” 的拓扑结果,而较粗的网格会生成“混乱”的结果。但是,较大的有限元模型需 要更多的收敛时间。 ⚫ 在一些情况下会得到珩架形状的拓扑结果。这通常在用户指定很大的 体积减少值和较细的网格划分时出现。很大的体积减少值如 80%或更大(TOPDEF 命令)。 ⚫ 如果有多个载荷工况时,有多种方式将其联合进行拓扑优化求解。例 如,考虑有五个载荷工况的情况。可以选择使用五个单独的拓扑优化分析过程, 也可以使用包括这五个工况的一次拓扑优化分析。还有,也可以将这五个工况合 成为一个工况,然后做一次优化。综合起来,可以有七个不同的拓扑优化求解: 5 独立的拓扑优化求解(每个工况一次) 1 拓扑优化求解针对五个工况 1 拓扑优化求解针对一个联合工况 附加的结果或结果的组合都是可用的。 ⚫ 结果对泊松比敏感但对杨氏模量不敏感。但是,随泊松比变化的效果 不明显。 ⚫ TOPDEF 和 TOPITER 命令中的指定值并不存储在 ANSYS 数据库中;因此, 用户必须在每次拓扑优化时重新指定优化目标和定义