# matlab-AS-NSGA2(截止阀) **Repository Path**: davidfzju/matlab-as-nsga2 ## Basic Information - **Project Name**: matlab-AS-NSGA2(截止阀) - **Description**: matlab实现响应面与遗传算法的一个组合优化。代码是3个参数对应2个优化目标,采用二阶回归拟合,然后用自适应非支配排序遗传算法优化一下。 - **Primary Language**: Matlab - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-01-03 - **Last Updated**: 2025-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: Matlab ## README # matlab-AS-NSGA2 #### 介绍 matlab实现响应面与遗传算法的一个组合优化。代码是3个参数对应2个优化目标,采用二阶回归拟合,然后用自适应非支配排序遗传算法优化一下。感觉代码里面注释已经写得挺明确了。 讲一下主要功能吧,首先是用fitnlm进行了一个拟合,这个拆出来其实就是响应面。 然后是自适应非支配排序遗传算法。自适应就是交叉率和变异率会根据个体的y值(或者说适应度)变化,避免陷入局部最优,非支配就是由个体间多个目标都进行一下对比,形成支配关系进而排序。 #### 更新记录 更新1:增加了绘图与参数敏感性分析的内容 后续更新计划:精简代码,精简归一化过程,考虑将一部分功能打包成函数。 但是这两天发现kriging模型很有意思。 更新2:初始的随机生成种群与变异部分的随机都换成了拉丁超立方抽样,这样会更均匀一些,与原先的对比,确实收敛速度肉眼可见得更快。 x1min、x2min这些乱七八糟的变量未免太丑了,去掉,换成了lb和ub。 增加了归一化,取最优的时候直接加起来就行。 迭代的时候增加了一张均值随着迭代次数增加的曲线图,更直观地看到迭代是否收敛。 #### 使用说明 把excel里面的数据换成自己的数据然后运行ANSGA2就行了,这里面的试验表是用matlab的bbdesign生成的,换成别的应该也行。 #### 声明 相关工作发表于: [1]马哲辉,吴斌彬,李文庆,等.高温高压Y型截止阀组内流特性及流道结构改进研究[J/OL].机电工程,1-11[2024-08-27].http://kns.cnki.net/kcms/detail/33.1088.TH.20240810.1224.002.html. 望轻喷