优化设计之遗传算法程序实现

优化设计之遗传算法程序实现
在文章《优化设计之遗传算法》中介绍了遗传算法的基本概念和程序编制流程,本文将通过一个具体的程序算例来详细介绍遗传算法的程序编写方法和计算流程。通过上文可以知道,通过遗传算法进行优化设计共分为五个主要的步骤:产生初始种群、进行个体评价、选择染色体、交叉染色体、变异染色体。下面介绍具体的实现方法,程序使用Python语言...

优化设计之遗传算法

优化设计之遗传算法
遗传算法(Genetic Algorithm,GA)是优化设计中常用的一个智能优化算法,它是通过模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局最优化概率搜索算法。遗传算法的基本运算过程如下:(1)对种群个体进行编码,生成初始种群,为保证优化收敛,需要规划群体中的个体数和最大进化代数;(2)根据评价规则对个体进行...

CATIA二次开发:工程图中文本的遍历和修改

CATIA二次开发:工程图中文本的遍历和修改
在CATIA的VBA(VBS)二次开发中可以通过DrawingView类中的DrawingTexts文字集来遍历视图中的所有文本文字。可以使用Item方法函数通过索引来获取指定的文本文字,例如:Dim MyView As DrawingViewSet MyView = MySheet.Views.ActiveViewDim ThisDrawingText As DrawingTextSet ThisDrawingText = MyView.Texts.Item(2)使...

CATIA的管理员模式和多版本环境变量设置

CATIA的管理员模式和多版本环境变量设置
1、以管理员模式运行CATIA在进行CATIA的配置时,如工程图标准的配置,很多时候都需要以管理员身份运行CATIA。CATIA的管理员模式是通过环境变量来控制的,如果进入管理员模式首先需要修改CATIA的环境变量。在CATIA的安装目录XXX\code\bin中找到CATIAENV.exe文件,右击“以管理员身份运行”,打开Environment Editor管理器。找到CATRefe...

Hypermesh二次开发:求解器模板的查询和设置

Hypermesh二次开发:求解器模板的查询和设置
在Hypermesh二次开发中经常需要查询Hypermesh当前的求解器模板,例如我们写的脚本只能用于OptiStruct求解器,那么我们就需要在脚本里加上判断求解器模板的命令。可以先通过hm_info命令查询求解器模板信息,如果模板不对应可使用*templatefileset命令来设置求解器模板。hm_info命令的格式如下所示:hm_info option|-appinfo info_opt...

Hypermesh二次开发:属性查询获取命令hm_getvalue

Hypermesh二次开发:属性查询获取命令hm_getvalue
在Hypermesh二次开发中可以使用hm_getvalue命令来获取对象的属性,该命令的格式如下:hm_getvalue entity_type<select_type>=<selection> dataname=<data name or attributename/ID> ?row=<row_index>? ?column=<column_index>?下面对其用法进行详细说明。最基本的用法就是获取给定对象的属性,例...

Hypermesh二次开发:常用的数据查询和选择命令

Hypermesh二次开发:常用的数据查询和选择命令
在进行Hypermesh二次开发时经常需要检查某个对象在数据库中是否存在。例如新建一个部件,在创建前首先需要检查所创建的部件名称是否已经存在,Hypermesh中不允许有同名的对象存在,如果不检查直接创建,当有同名的部件时会导致程序出错,甚至Hypermesh崩溃。1、模型信息查询命令hm_entityinfo和hm_entitylist进行数据查询时,尽量使...

LS-Dyna中的单精度和双精度求解设置

LS-Dyna中的单精度和双精度求解设置
对于64位的LS-Dyna安装完成后在program文件夹中会有两个LS-Dyna求解器文件,带_s的为单精度求解器,带_d的为双精度求解器。在LS-Dyna的ProgramManager窗口中可通过菜单Solvers – Select LS-DYNA Solver进行求解器的切换。通过此菜单选择相应的求解器可执行文件即可。双精度求解器的求解精度比单精度求解器要高,也会比单精...

CATIA你不知道的Join:曲面合并分离技巧

CATIA你不知道的Join:曲面合并分离技巧
CATIA中的曲面合并命令Join位移创成式曲面设计的Operations工具栏。顾名思义,最基本的用法就是将多个曲面缝合到一起,进行曲面合并,如下图所示。使用Join命令进行曲面合并时要求做所选择的曲面必须是连续的,如果要合并的曲面很多,那么如何快速选择连续的曲面?框选当然是其中的一个方法,但是当要选择的曲面和其他曲面混合到一...

Hypermesh中壳单元厚度的自动提取及单元属性的自动创建

Hypermesh中壳单元厚度的自动提取及单元属性的自动创建
在Hypermesh中通过MidmeshThickness命令可以自动提取壳单元的厚度,自动创建单元属性并赋给相应的单元。通过菜单Mesh – Edit – Elements –Midmesh Thickness打开MapMid-Mesh Thickness对话框。在Input中选择Selectentities,在Solid geom/mesh中选择抽取中面的实体,在Mid-Mesh中选择通过中面划分的壳单元网格。或者通过From file...
© 坐倚北风 版权所有 严禁镜像复制 苏ICP备15034888号. 基于 Ality 主题定制 AliCMS
联系邮箱:leanwind@163.con,微信公众号:数字化设计CAX联盟

用户登录

分享到: