基于神经网络的3D打印批次排样研究

2020-05-16 09:15李方娟赵玉佳赵君嫦孟祥丽孟繁钦
软件 2020年4期
关键词:排样人工神经网络工件

李方娟,赵玉佳,赵君嫦,孟祥丽,郭 强,孟繁钦

(1. 牡丹江医学院药学院,黑龙江 牡丹江 157011;2. 牡丹江医学院红旗医院,黑龙江 牡丹江 157011)

0 引言

3D打印技术是以三维数字模型为基础,运用粉末状金属或其它可粘合材料,通过逐层打印的方式来构造物体的技术。3D 打印技术是快速成型制造的一种,近几年来,3D打印技术作为一项前沿性的先进制造技术,在工业制造、医学、建筑、航天科技、文化艺术等领域得到了广泛的应用和研究[1]。

3D 打印工艺过程包括台面清理、预热、打印、取件等步骤,打印是整个工艺过程的核心环节,在工业化 3D 打印中,当同时打印多个工件时,为缩短工件的加工时间,提高生产效率,通常将多个零件排布于打印机台面内同时打印,即一个批次打印出多个零件,如一个批次无法完成全部零件的打印,就需要安排多个打印批次进行打印。由于工业级3D打印设备价格昂贵且 3D 打印一般耗时较长,因此,对打印工件进行合理的排样,对缩短打印时间、提高生产效率起着决定性的作用。

规划各个打印工件的排样问题是一个复杂的多约束优化问题,因此,寻找实用性强,求解质量稳定、易于实现的算法是我们解决这一问题所追求的目标。人工神经网络具有联想存储、自学习和高速寻找优化解的能力,利用人工神经网络求解优化排样问题是一个重要的研究领域。因此本文采用Hopfield人工神经网络算法对 3D打印工件进行规划排样,以达到求解速度快,缩短工件加工时间的目的[2]。

1 排样模型的建立

在工业化 3D打印过程中,通常是分批次打印的,每个打印批次排布多个工件,因此,对工件进行合理的排样至关重要。由于 3D 打印是逐层进行打印的,在同一批次工件打印中,即使高度小的零件早已打印完毕,也只能等到该批次中高度最大的零件打印完成后才能一起取出,这就造成了工件加工时间的延迟。因此,要想缩短整个批次打印时间,必须保证同一打印批次内打印零件的高度差最小。

设第N个打印批次内有m个工件进行打印,m个工件的高度分别为h1,h2,…,hj,…,hm,其中工件的最大高度为 hmax,要使零件打印所需时间最短,应该满足如下条件:

2 排样算法设计

2.1 基于Hopfield神经网络的排样算法实现

Hopfield人工神经网络(HNN)是由若干基本神经元构成的一个单层全互连神经网络,任意两个神经元之间都有连接,是一种对称连接结构。连续型Hopfield神经网络(CHNN)模型如图1所示。

图1 连续型Hopfield神经网络(CHNN)模型Fig.1 Continuous hopfield neural network (CHNN) model

在CHNN中,Hopfield用能量函数的思想完成优化问题的求解,把待优化问题的目标函数转换为网络的能量函数,通过网络运行时能量函数自动最小化而得到问题的最优解,从而找到了求解优化问题的新方法[3]。

对于连续的Hopfield神经网络模型,其能量函数定义如下:

神经元的连续变化可以在[0,1]之间取值。

将排样问题映射到人工神经网络:首先把排样问题映射在一组神经网络的特定组态上,此组态相应于排样问题的可能解,然后构造一个适合于优化问题的能量函数E,此E正比于优化问题的代价函数。所选的评价函数的好坏直接影响排样的效率和结果。本文采用的评价函数保证每组排样零件高度差最小,评价函数越小,则对应的方案越好。

为了验证其有效性,在排样之前制定了如下规则:

本文针对3D打印工件进行建模。假定有M个零件,将其分成N组(即N个打印批次),则网络使用MXN个神经元,将这些神经元按照M行N列排列。当网络达到稳定状态时,要求满足如下条件:

(1)一个样件只排一次,且属于固定的一组,即每行只有一个“1”,其余元素为“0”。

(2)每组中可以有不定数目样件用于排样。即每列有不定数目的输出为“1”,其余元素为“0”。

(3)共有M个零件,则所有MXN个神经元中输出为“1”的个数为M个。

针对以上问题建立排样问题的能量函数:

式中:A、B、C——正系数;maxih ——每组中排样件的最大高度;ih——排样件的高度;xiV ——第X行第I列的神经元输出即排样对象被分到标号为x的组中。

其神经元之间的权值如下:

式中:

2.2 神经网络排样求解的程序实现

利用人工神经网络求解优化问题的一般过程如下:

(1)构造神经网络的能量函数,使其最小值对应于求解优化问题的最优解。

(2)由能量函数逆推神经元网络的结构,即神经元之间的权值输入。

(3)计算能量函数,稳定状态即为一定条件下问题的最优解。

(4)编写程序,用计算机仿真软件求解。

上述过程的程序流程如图2所示。

图2 神经网络优化排样流程图Fig.2 Neural network optimization flow chart

本次实验使用MATLAB语言,在MATLAB中,Hopfield网络的设计采用工具箱函数solvehop( )。程序的初始化参数根据经验选取为:A=200,B=C=500,u0=0.02,Ri=1,Ci=1。整个计算过程是一个迭代过程,每迭代完1次,检查相邻网络状态的网络能量改变值是否小于很小的值(程序中设为le-10),如果小于这个设定值,可视为网络达到极小点,此时网络处于稳定状态,网络运算结束。

排样结果在输出前建立如下规则:以被打印工件在水平面投影的最小包络矩形作为输出值,将打印工件在三维空间的排布问题转化为二维图形输出。排样结果的输出显示如果计算次数大于预先指定的次数时仍然没有收敛,则重新计算结果。

以20个3D打印工件为例,通过算法的输入,用二维图形表示输出结果,打印图形输出结果如图3所示。

3 结语

本文采用连续型 Hopfield神经网络解决了 3D打印工件批次排样问题,缩短了工件的打印时间,提高了工件加工的生产效率,Hopfield神经网络具有运算效率高、求解质量稳定、可靠性强等优点。实例验证结果表明,人工神经网络算法用于排样问题的研究是一个前沿的研究领域。

图3 3D打印图形的二维输出Fig.3 2D output of 3D printed drawings

猜你喜欢
排样人工神经网络工件
利用人工神经网络快速计算木星系磁坐标
考虑非线性误差的五轴工件安装位置优化
人工神经网络实现简单字母的识别
三坐标在工件测绘中的应用技巧
基于压缩因子粒子群的组合排样的研究
U形电器支架的多工位模具的排样及模具设计
焊接残余形变在工件精密装配中的仿真应用研究
人工智能技术在排样技术上的发展现状
薄板冲模排样设计及防跳废料解决方案
基于声发射和人工神经网络的混凝土损伤程度识别