论文部分内容阅读
零部件的互换性是其生产过程影响甚广的重要性质,其中选配工作就极依赖这个性质,对零部件分组能够显著提升组内的互换性。选配工作是对两种或多种配合零件选择配对,是生产工作中耗时耗力的步骤。一般采用分组选配方案,传统分组是将每种零件按实际测量尺寸形成公差带,根据公差带进行分组。这种分组方法只能适用于单个维度尺寸的分组,本文选用了效果好、依赖少的谱聚类算法对尺寸测量数据进行聚类分组,能够对多维度尺寸数据进行分组,极大提高了零件的互换性。 谱聚类是一种不同于k-means等基于质心的传统聚类算法,对数据分布没有过多假设,且多方面评价指标有优势的算法。本文对谱聚类算法进行了两方面的改进,第一利用了堆数据结构快速搜索出每个样本点的k近邻邻域,获得远高于原始基于排序的经典算法的执行效率;第二利用额外的邻域累计信息来去除不可靠的相似连接来提高聚类结果的可靠性和真实性。最后结合以上两个策略形成了新算法HCKNNSC(K-Nearest Neighbor Spectral Clustering algorithm based on Heap and Consensus,基于堆和邻域共识的k近邻谱聚类算法),比起传统谱聚类在时间效率和划分结果上都有了显著提升。本文除了理论分析证明之外还用实验验证了这两种策略带来了额外的时间效率增益和更精准、更符合实际意义的划分界限。 此外,由于工业和自动化测量的蓬勃发展,零部件尺寸数据的规模大幅增长,而聚类算法的横向扩展性不佳,所以本文还对提出的新算法进行并行化设计,主要设计了距离矩阵的计算、k近邻快速搜索、邻域累计计算、映射相似图和计算Laplacian矩阵、Laplacian矩阵的并行特征分解和特征空间的传统划分的算法设计。 最后,本文选择在Spark框架上用Scala语言实现我们的新算法,借助Spark生态中MLlib类库底层的矩阵、向量接口等工具进行更优的简化实现。然后在理论上分析了算法各个主要步骤的时间和空间复杂度,由分析结果可知并行算法在两个方面比单机算法都有了较大改进。最后在集群上进行多角度实验,揭示了算法的并行实现与集群规模、数据集规模之间的关系,得出在本文的应用场景下Spark实现比单机实现执行效率更高,且在数据量不超出集群内存的情况下数据规模越大、集群节点数越多,效率提高越多的结论。