HyperWorks优化实例向导:优化起点
引言除非把设计空间所有的可能都尝试一遍否则你得到的设计是否是最优解永远是个谜。全局最优只是一个理想优化就像爬山坡所有人都希望到达最高点下面这个图大家应该都比较熟悉如果起点是A最终可能只能到达3号峰如果起点是B那么可能可以到达1号峰或2号峰。由于只有两个自变量可以在Compose中进行函数的可视化。Compose代码及图片如下HyperStudy优化的相关操作已经在前面的文章中反复介绍这里不再截图赘述了。视频中的求解器改成了internal math也就是templex实际上也可以直接调用Compose作为求解器只需要把程序简化为输入一个(x, y)点后得到一个z点即可。这方面的问题放在后续专门介绍求解器的文章中进行介绍。优化结果如下优化起点最优解[0, 2]8.10[-3, -3]3.77[2, 0]3.59绕过局部最优解最理想的办法是从优化算法入手以下例子对不同的优化算法进行了比较同时也全面讲解了HyperStudy关于这个例子的完整应用是HyperStudy不错的入门例子。HyperStudy调用不同优化算法的结果对比如下表所示优化算法最优解SQP3.77ARSM3.77GA8.10GRSM8.10结论如果你不知道该选择哪种优化算法就选GRSM。遗传算法GA效果也很好可惜计算量实在是吃不消起步价差不多是单次分析的一万倍所以通常只在计算量很小的情况或者在响应面上使用。OptiStruct的优化也有类似的问题。使用前面文章中用过的一个简单的形状尺寸优化模型做一个试验工况是静力分析。模型如下图优化三要素如下表优化三要素描述形状变量各个环的半径尺寸变量每根梁的半径设计约束中心点位移目标体积最小化不使用DGLOBAL参数的常规优化结果为850创建DGLOBAL参数只需要新界面下按CTRL-f然后输入DGLOBAL后回车参数一般使用默认值即可优化20次如下图所示。如果你有一颗好奇或贪婪的心可修改如下参数修改起点的个数使用默认的DGLOBAL参数优化的结果如下表第二列所示画个图直观感受一下差距可以看到不同优化起点得到的最终结果也不同目前的情况是获得11%的提升。万一你的起点不幸是下图中的第二个点那么付出的代价将获得近50%的超额回报帮助中有个改进效果很好的例子OS-T: 5080 Global Search Optimization大家可以在帮助文档中查看。提示选择DGLOBAL进行优化相当于你进行了几十次独立的优化只是优化设计变量的初始值不同。在写本文的时候作者找了很多线性分析的模型进行优化比较验证绝大部分模型优化结果只提高了1%~3%。所以OptiStruct默认是关闭该选项的。但是你也可能获得很大的提高特别是优化结果对设计变量比较敏感或者设计变量变化范围很大或者非线性程度比较高的模型。但是对于优化结果的提升幅度我是无法提供任何保证的。DGLOBAL只支持形状和尺寸优化。如果这类优化问题变量数较少比如只有几十个变量也可以使用HyperStudy的GRSM进行优化一般会有更好的效果。01形状优化或者形状尺寸联合优化如果发现OptiSruct优化结果中的形状变量几乎都没有变化可以将优化的SHAPEOPT项调整为2来强制要求OptiStruct在优化过程调整形状变量的值。设置如下图所示。02拓扑优化此时无法使用DGLOBAL进行多起点优化。一种变通的方法是手工修改优化的初始密度。具体设置方法是在面板区Analysis optimization opti control中勾选这一项并输入初始密度值也可以把优化过程当成一次普通的求解然后使用HyperStudy进行DOE求解但是拓扑优化往往有数十万个变量上一种方法已经是够昂贵的了这种方法计算代价还要高很多倍不推荐这里就不演示了。下图是使用不同的优化初始密度得到的两个优化结果的比较。具体的影响程度取决于具体模型要不要尝试取决于你有多少计算资源。当你对优化结果不满意的时候可以尝试改一下初始密度当然还有控制参数可以影响优化结果比如离散参数、制造约束等不要在这一棵树上吊死。【相关内容】HyperMesh在调角器中的应用HyperMesh在成型分析模面设计中的应用HyperMesh是做什么的HyperMesh代理商找谁