数控加工中的单目标与多目标优化方法
1. 工艺参数与目标的数学建模
在数控加工中,加工过程的数值和质量特性的显著水平通常因工艺性质而异。若一个过程更注重生产率,比如粗加工中的高材料去除率,那么像加工时间这样的质量目标就至关重要,其重要性远超表面质量等其他目标;反之,若过程侧重于产品质量,如精加工中的低表面粗糙度,那么相应的质量目标则更为重要。此外,这些函数值在量级和顺序上也有所不同。例如,粗加工阶段的加工时间以秒计可能在 10,000 - 100,000 秒,而剩余体积以立方毫米计可能高达约 10,000,000 立方毫米。
当将相互矛盾的质量特性放在同一问题中时,必须进行归一化处理。若将加工时间和剩余体积的值相加形成一个单一目标,由于加工时间值的量级,会出现对其有利的固有偏差,这会使问题的整体响应结果产生误导。
质量特性的显著水平通过权重系数根据用户需求确定。为克服量级差异问题,可对数据进行简单的数学归一化操作。质量特性方程如下:
[
QC (X_1, X_2, \cdots, X_i, w_1, w_2, \cdots, w_j) = X_1 \cdot w_1 + X_2 \cdot w_2 + \cdots + X_i \cdot w_j
]
其中,(X_1, X_2, \cdots, X_i) 是给定的质量特性,(w_1, w_2, \cdots, w_j) 是它们各自的权重系数。权重系数以百分比表示时,代表相应质量特性在问题中的重要性。
常见的用于刀具路径生成的加工参数如下:
1.
加工策略/刀具路径样式
:用户可借此确定加工工件的策略,每种策略还有定义刀具移动方式和刀具路径样式的附加参数。
2.
步距(径向切削深度)
:在 X - Y 平面(三轴加工)或垂直于刀具轴的平面(五轴加工)中,相邻两次刀具路径的径向距离,可通过算术值或刀具直径的比率确定。
3.
步降(轴向切削深度)
:调整连续加工平面之间垂直方向(或刀具轴方向)的最大切削深度,可通过设置切削平面数量或指定加工平面之间的距离来确定。
4.
加工公差
:理论刀具路径与 CAM 系统计算的刀具路径之间的最大允许距离。
5.
加工方向
:可选择“顺铣”(刀具前端先切入材料)或“逆铣”(刀具后端先切入材料)类型。
2. 单目标与多目标优化
优化问题根据质量目标数量和目标函数类型(标量或向量)可分为单目标和多目标优化。在加工优化问题中,由于过程复杂,质量特性通常不止一个且常相互冲突,总体目标是找到决策者可接受的解决方案。
单目标优化问题较易找到最优解,而多目标优化问题会为用户提供一组解决方案,需从中选择一个应用于实际系统。在多目标优化中,目标函数是向量,属于多维空间。对于决策变量空间 X 中的每个解 x,在目标空间 Z 中有一个点 (f(x) = Z = (Z_1, Z_2, \cdots, Z_n)_k) 与之对应。当目标空间中的点坐标尽可能接近坐标系原点时,这些点代表最优解,具有最小向量距离到坐标系原点的解集即为最优解集,也就是帕累托前沿。当找到这样的解集时,优化算法收敛。
单目标和多目标优化还存在全局和局部帕累托最优集。当集合 SP 是整个搜索空间 SS(SP = SS)时,得到的非支配集 SP’ 就是帕累托最优集,整个可行搜索空间 SS 的非支配集是全局帕累托最优集。若对于集合 SP 中的每个解 x,在其邻域 (|y - x| \leq \varepsilon) 内不存在支配 SP 中任何成员的解 y,则 SP 构成局部帕累托最优集。
3. 选择优化策略
制造过程是动态的,控制变量范围因具体情况而异,产品的制造需求和实践也不尽相同。因此,在选择优化方法前,需先测试和评估其适用性。
优化算法结构的差异形成了多种优化策略,选择优化方法时需考虑以下因素:
- 工艺参数的性质和数量。
- 质量目标的数量。
- 采用单目标还是多目标优化策略。
- 选择随机或传统优化方法。
- 解空间和参数值的潜在约束。
- 计算成本。
- 针对具体案例的适用性。
- 迭代时间(越短越好)。
4. 人工神经网络构建加工过程元模型
4.1 人工神经网络基础
虽然人工神经网络(ANNs)没有统一的定义,但多数研究者认为它是由许多简单处理单元(如元素、节点或神经元)组成的网络,这些单元有少量局部内存,有时按层排列。节点通过通信通道(连接、连接权重或权重)相连,连接承载编码的算术数据,节点仅处理通过连接带来的局部数据和输入。
ANNs 是由多个处理单元并行计算的系统,其功能由网络结构、连接权重和节点处理方式决定。它们能存储经验知识,通过学习获取知识并存储在神经元连接中。大多数 ANN 类型需要“训练”阶段,在此期间根据训练数据调整连接权重,经过精心训练后,ANNs 可在训练数据范围之外进行“泛化”(如预测输出值)。常见的训练算法有高斯 - 牛顿、Levenberg - Marquardt、共轭梯度算法等,且 ANNs 可在并行计算机系统上运行。
在加工应用中,常用的 ANN 类型有多层感知器(MLP)和径向基函数网络(RBF,属于监督学习 - 前馈 ANN 类别)以及自组织映射(SOM,属于无监督学习 - 竞争 ANN 类别)。以一个典型的用于函数逼近问题(如加工时间或表面粗糙度预测)的前馈 MLP 为例,它由四层组成:一个输入层、一个输出层和两个隐藏层。给定层的任何节点通过连接权重 (w_{ijk}) 与前一层和后一层的所有节点相连,除权重外,每个节点还输入偏置 (b_{ij})。节点输出是一个激活函数(如非线性的 tanh 或 (1 / (1 + exp(-x))))的值,其参数是节点权重之和加上节点偏置。训练阶段最终确定 (w_{ijk}) 和 (b_{ij}) 的值,当所有输入和输出与预定误差匹配时,训练结束。
ANNs 主要应用于两类问题:
- 分类或排序问题:ANNs 能容忍不准确数据,可处理专家系统中严格快速规则失效的大量训练集。
- 未知函数的值预测或估计:若有足够数据和资源,前馈 ANN 可按给定精度逼近在紧凑空间定义的任何向量函数。
“案例”或“示例”是呈现给 ANN 所有输入节点的向量,可包含目标或输出值。输入向量值称为“输入变量”或“独立变量”,输出向量值称为“输出”、“目标”或“因变量”,“数据集”是包含多个“案例”的矩阵。ANNs 的主要目标是泛化,准确处理新数据。呈现给 ANN 的数据集称为“样本”,分为三个子集:用于参数拟合(学习)的训练子集、用于网络架构调整的验证子集和用于评估训练网络泛化能力的测试子集。
4.2 用于 ANN 训练、验证和测试的加工数据集
对于特定零件,可通过 ANN 直接关联加工参数和质量特性。加工参数包括刀具几何形状、刀具路径策略、进给率等,而加工时间和表面质量是质量特性。经过适当训练的 ANNs 可作为预测函数,加工参数是自变量,质量特性是因变量。
使用 Levenberg - Marquardt 算法训练反向传播前馈多层感知器,在有足够训练、验证和测试集的情况下,可得到精确的预测函数。通过实验设计系统地收集数据集,若对这些数据集进行方差分析未发现加工参数之间的相互依赖关系,则所有参数可视为独立变量。
必要数据可通过 CAM 软件或在 CNC 机床上直接实验积累。若使用 CAM 软件,需开发与之交互的应用程序,提供加工参数值并提取加工时间和剩余体积值。积累的加工数据可不均等地分为三个子集,只要数据选择无偏,随机选择数据是简单有效的划分方法,要保证大部分数据作为训练子集,其余作为验证和测试集。不建议将 CNC 机床实际实验数据与 CAM 软件模拟数据混合用于训练、验证和测试集,因为实际实验结果包含如机床振动、刚度、颤振、刀具和材料缺陷等随机现象产生的“信号噪声”,而 CAM 软件通常不包含这些,这会使 ANN 训练更复杂且可能无法泛化。
4.3 使用 ANN 元模型进行质量特性预测
在加工过程中,若加工参数与质量特性(如加工时间、粗加工后的剩余体积和精加工中的表面粗糙度)之间存在相互依赖关系,使用 ANN 的主要目标就是创建这些质量目标的预测函数,而这种相互依赖关系确实存在。
训练好的 ANN 输出层可包含一个或所有预测的质量特性,需注意在 ANN 训练前要对质量特性值进行适当归一化。此外,ANN 可能在单节点输出层包含多个质量特性的加权和。研究者可采用单个 ANN 同时预测所有质量特性(需要更多训练),或使用多个单独训练的 ANN 分别预测单个质量特性。
使用 ANNs 作为预测函数的一个固有缺点是训练数据通常基于特定的机床、刀具、零件材料和几何形状,即 ANN 性能因情况而异。为克服这一问题,研究者可使用来自相似零件组实验的数据集或包含加工特征理念的数据集,使训练好的 ANN 能预测某一组零件的质量特性。
5. 遗传和进化算法
遗传算法(GAs)模仿 19 世纪生物学家查尔斯·达尔文的自然选择理论,在计算机中对一组潜在解决方案(种群)应用“适者生存”原则,以产生给定优化任务的更好近似解。GAs 具有在搜索空间中随机寻找优化解的能力,即探索能力。GAs 由密歇根大学的 J. Holland 首次提出和研究,种群在迭代(“代”)中进化,每一代通过对旧种群应用数学运算符(如交叉、变异、反转等)创建新种群。
进化算法(EAs)是广义的 GAs,包含比 GAs 更复杂的运算符,可能还会结合其他人工智能、确定性或启发式算法,以降低评估成本或提高算法在解质量和高解利用方面的整体性能。简单来说,利用能力是指 GA 或 EA 在找到局部最优解后迅速达到全局最优解的能力。
EA 种群中候选解的评估标准是目标函数。若目标函数是标量,则为单目标优化;若为向量,则进行多目标优化,且解通常根据帕累托最优性排序。
5.1 基本遗传算法结构
基本遗传算法(GAs)结构简单,但需针对具体优化问题进行扩展。简单遗传算法在基本架构下可执行以下基本操作:
1. GAs 处理编码为字符串的候选解。
2. GAs 对字符串种群进行操作。
3. GAs 只需适应度值,无需导数信息。
基本 GA 由轮盘赌选择(繁殖)、单点交叉(重组)和简单变异组成,这些基本机制仅对种群中的字符串进行简单位操作。GA 的流程如下:
begin
Initialization
repeat
Roulette Wheel Selection
Crossover
Mutation
Evaluation
until Termination_condition = True
end.
5.2 编码
用 GAs 解决优化问题时,需将解空间编码为字符串空间,即把解空间变量映射到有限长度的字符串空间。好的编码方案应覆盖整个解空间且无冗余,使字符串空间的表现型等于问题解空间,同时字符串空间应是一组可行候选解,避免算法进行不必要的搜索。
遗传算子直接作用于 GA 的基因型(通常称为“染色体”),因此遗传搜索性能高度依赖于基因型的符号操作。当子串在整个字符串空间中具有一致的益处时,GAs 表现更好,这与编码方法和交叉算子密切相关。解空间中候选解的邻域应与字符串空间中相应字符串的邻域相似,若交叉算子生成的后代与父母差异较大,种群可能朝不同进化方向发展,遗传搜索可能失败;反之则成功。考虑编码方法和遗传算子的关系时,编码规则遵循以下两个原则:
1. 选择表示解空间的最小字符。
2. 设计通过遗传算子生成一致字符串的编码方法。
变量编码有三种类型:实值、二进制和格雷二进制。二进制类型通常更受青睐,因为它们在进化过程中无偏差。在某些情况下,使用实值编码(0 到 1 之间)可使 GA 收敛更快,但解易陷入局部最优。当精英子串在种群中频繁出现且遗传物质不受遗传算子改变时,GAs 性能最佳。虽然搜索依赖遗传算子,但从父母到后代的遗传信息传递依赖于编码,因此需采用好的编码方法,使遗传算子能产生有意义的后代。
5.3 选择
GA 过程从繁殖、重组和变异开始,选择模拟自然选择过程,GAs 需要类似机制使种群向更优方向进化。选择模块的主要过程是根据个体适应度值的比例预选择个体来繁殖种群,适应度高的个体可繁殖更多后代。由于选择是随机进行的,可能会随机选择多个相同个体,导致某些类型的字符串在种群中占主导地位,这被称为“遗传漂移”或“随机漂移”,在 GA 种群规模较小且具有强精英行为时常见。为防止种群出现遗传漂移,提出了多种选择方案,这些方案分为比例选择方案和竞争选择方案两类。常见的选择方案如下:
1.
轮盘赌选择方案(或蒙特卡罗方法)
:按个体适应度值比例选择个体。
2.
精英选择方案
:在所有代 t 中保留最适应的个体,即最适应个体肯定会被选入下一代。
3.
锦标赛选择方案
:从 m 个随机预选择的个体中选择适应度最高的个体,m 是竞争成员数量。
4.
排名选择方案
:根据个体适应度值的排名,按预定义的排名表确定个体繁殖到下一代的数量。
5.
期望值选择方案
:基于个体适应度的期望值,计算个体的期望值,然后将被选择个体的概率降低 0.5,相对防止个体在种群中被选择超过两次。
5.4 遗传算子
遗传算子(如组合、反转和复制)改变个体的基因型,进化在自然选择下进行。GAs 需要遗传算子使所有连续种群能够进化,重组通过交叉算子生成新个体,变异通过扰动算子生成新个体,每个算子通过特定操作促进进化。
5.4.1 交叉
交叉算子在 GAs 中生成新的候选解个体,GAs 主要通过交叉算子搜索解空间,没有交叉算子,GAs 就成了随机搜索算法。交叉算子交换两个个体之间的每个子串,用新基因型的个体替换旧个体,根据交叉算子类型和个体间断点数量重组基因型字符串。常见的交叉算子如下:
-
单点交叉
:选择一个断点作为交叉点,重组两个个体之间的子串。例如:
100|11110 → 100|10010
101|10010 → 101|11110
- 多点交叉 :字符串上有多个断点,重组个体间被断点切割的子串。例如:
1|11|1|1 10010
0|00|0|0 01101
- 均匀交叉 :随机生成包含“0”和“1”的掩码模式,根据掩码模式交换基因型字符串中的字符实现两个个体的重组。例如:
11|11|1 11001
00|00|0 00110 (Mask Pattern: 00110)
- 循环交叉算子 :先选择一个起始点(非交叉点),然后在个体之间进行子串的闭环选择。例如:
P1: 31245
P2: 24351
首先选择字符串上的起始点,然后选择 P1 父代位置 2 的位点,从该起始点开始进行子串的闭环选择。将 P1、P2 位置 2 中的字符 1 和 4 分别复制到后代的相同位置:
O1: *1***
O2: *4***
接着复制 P2 中位置 2 有字符 4 的位置的字符:
O1: *1*4*
O2: *4***
重复此过程,直到再次到达 P1 中第一个选择的字符,最终完成子串的闭环选择:
O1: *1*45
O2: *4*51
最后从父代填充字符到后代,完整后代为:
O1: 21345
O2: 34251
- 部分匹配交叉(PMX) :通过执行两个过程实现,与循环交叉算子类似,是解决排列问题的专门机制。例如:
P1: 31|24|5
P2: 24|35|1
在两个断点之间交换两个父代的子串,不重叠字符:
O1: **35**
O2: **24**
交换 P1 位置 3 的字符 2 和 P2 相同位置的字符 3,同时对断点之间子串上的字符进行相同操作:
O1: 2*354
O2: 3524*
将剩余字符从 P1 复制到 O1,从 P2 复制到 O2,最终后代为:
O1: 21354
O2: 35241
5.4.2 变异
变异在自然界中表现为复制错误,在 GAs 中,变异算子随机替换字符串上的一个字符。变异与个体适应度值无关,经典的变异操作是每个个体进行单点改变。自然界中的变异类型如反转、易位和复制也应用于 GAs 模拟这些现象。
-
反转
:部分改变字符序列方向,随机选择两个点切断字符串,然后将子串反向连接到剩余部分。例如:
假设字符串包含 5 个字符,选择位置 2 和 4 的两个点:
1|234|5
连接子串后,反转结果为:
14325
- 易位(或移位) :将字符序列移动到不同位置,随机选择一个子串,然后将其移到随机选择的断点(或位置)。例如:
假设字符串包含 5 个字符,选择位置 1 到 2 的段作为子串:
|12|345
将子串插入位置 4 到 5,剩余子串向左移动:
34512
- 复制 :在字符串上重叠相同的子串,随机选择子串并覆盖到随机选择的位置。例如:
假设字符串包含 5 个字符,选择位置 1 到 2 的段作为子串:
|12|345
将子串覆盖到位置 4 和 5,剩余子串不变:
12312
但复制生成的个体不满足排列问题的约束,因此不适合解决此类问题。
数控加工中的单目标与多目标优化方法
6. 方法对比与总结
为了更清晰地了解上述各种优化方法和模型的特点,下面通过表格进行对比总结:
| 方法/模型 | 优点 | 缺点 | 适用场景 |
| — | — | — | — |
| 单目标优化 | 容易找到最优解,计算相对简单 | 无法同时考虑多个相互冲突的质量特性 | 质量目标单一且明确的加工场景 |
| 多目标优化 | 能处理多个相互冲突的质量特性,提供一组可行解供选择 | 计算复杂,需要决策者从解集中选择合适的解 | 质量特性多且相互冲突的复杂加工场景 |
| 人工神经网络(ANNs) | 能容忍不准确数据,可处理大量训练集,可进行泛化预测 | 训练数据依赖特定机床、刀具等,性能因情况而异 | 加工参数与质量特性存在复杂关系的预测场景 |
| 遗传算法(GAs) | 具有随机探索能力,能在较大搜索空间寻找优化解 | 可能陷入局部最优,存在遗传漂移问题 | 搜索空间大、需要全局优化的问题 |
| 进化算法(EAs) | 包含更复杂运算符,能结合其他算法提高性能 | 算法复杂度高 | 对解质量和利用能力要求高的场景 |
从这个表格可以看出,不同的方法和模型适用于不同的加工场景和问题类型。在实际应用中,需要根据具体情况选择合适的方法。
7. 实际应用流程
在数控加工的实际应用中,可以按照以下流程选择和应用上述方法和模型:
graph LR
A[明确加工问题和目标] --> B[分析质量特性和工艺参数]
B --> C{选择优化类型}
C -- 单目标 --> D[单目标优化求解]
C -- 多目标 --> E[多目标优化求解]
D --> F{是否需要预测质量特性}
E --> F
F -- 是 --> G[使用ANNs构建元模型预测]
F -- 否 --> H[直接应用优化解]
G --> I{选择优化算法}
I -- GAs --> J[使用遗传算法优化]
I -- EAs --> K[使用进化算法优化]
J --> L[得到最终解并应用]
K --> L
H --> L
这个流程图展示了从明确问题到最终应用优化解的完整过程。首先要明确加工问题和目标,分析相关的质量特性和工艺参数,然后根据目标数量选择单目标或多目标优化。如果需要预测质量特性,可以使用人工神经网络构建元模型进行预测,最后根据具体情况选择遗传算法或进化算法进行优化,得到最终解并应用到实际加工中。
8. 注意事项
在实际应用这些方法和模型时,还需要注意以下几点:
-
数据质量
:无论是用于训练 ANN 的数据,还是 GA 和 EA 中的适应度评估数据,都要保证其准确性和可靠性。对于来自实际实验的数据,要注意其中可能包含的噪声,避免对模型训练和算法优化产生不良影响。
-
参数调整
:不同的方法和模型都有各自的参数需要调整,如 ANN 的训练算法参数、GA 的交叉和变异概率等。合理调整这些参数可以提高方法和模型的性能,但这需要一定的经验和实验。
-
模型验证
:在使用 ANN 构建元模型时,要进行充分的验证和测试,确保模型的泛化能力。可以使用验证集和测试集来评估模型的性能,避免过拟合问题。
-
算法收敛
:对于 GA 和 EA 等迭代算法,要关注算法的收敛情况。如果算法长时间不收敛,可能需要调整参数或更换算法。
9. 未来发展趋势
随着数控加工技术的不断发展,上述方法和模型也会有新的发展趋势:
-
融合多种方法
:将不同的优化方法和模型进行融合,如将 ANN 与 GA 或 EA 结合,充分发挥各自的优势,提高优化效果和预测精度。
-
实时优化
:实现加工过程的实时优化,根据加工过程中的实时数据动态调整工艺参数,提高加工质量和效率。
-
智能化应用
:借助人工智能和机器学习的发展,使数控加工系统更加智能化,能够自动选择合适的优化方法和模型,减少人工干预。
10. 总结
本文详细介绍了数控加工中的单目标与多目标优化方法,包括工艺参数与目标的数学建模、单目标与多目标优化的原理、人工神经网络构建加工过程元模型、遗传和进化算法等内容。通过对这些方法和模型的分析和对比,我们了解了它们的优缺点和适用场景。在实际应用中,要根据具体的加工问题和目标,选择合适的方法和模型,并注意数据质量、参数调整等问题。未来,这些方法和模型将朝着融合、实时优化和智能化的方向发展,为数控加工技术带来更大的提升。希望本文能为从事数控加工相关工作的人员提供有价值的参考。
超级会员免费看

6万+

被折叠的 条评论
为什么被折叠?



