集成供应流程的多工厂单元化制造人工鱼群优化

2019-02-12 06:33柳春锋赵善林王居凤
生产力研究 2019年12期
关键词:鱼群工序机器

柳春锋,赵善林,王居凤

(1.杭州电子科技大学 管理学院,浙江 杭州 310018;2.中国计量大学,浙江 杭州 310018)

一、引言

经济的发展与人们消费模式的转变给企业带来了越来越短的产品周期和交货期压力。无论是高端装备产品(如运载火箭箭体结构),还是普通民用产品(如显示器液晶模组),都能利用单元化制造提高市场响应能力。互联网的飞速发展,也使企业的制造单元实现了最大程度的共享,增强了制造系统内部生产信息与外部供应信息的交流能力。

国内外许多学者围绕着单元制造系统的优化设计作了有益的探索。Liu 等(2016)[1]提出了在双资源约束条件下单元制造系统中的单元构建和任务调度的联合决策模型,并通过启发式细菌觅食算法对模型进行了数值检验。Méndez-Vázquez和Nembhard(2019)[2]在研究单元构建时考虑了员工异质性、知识转移等人力资源因素。Kumar 和Singh(2017)[3]提出了一种新的基于相似性得分的两阶段启发式算法,来最小化整个计划期的单元间/单元内物料控制成本和重新配置成本。Liu 等(2016)[4]为光纤连接器制造业CMS 建立了员工分配与生产计划的集成优化模型;另外,Liu 等(2018)[5]也提出了一种基于五阶段启发式算法的集成细菌觅食算法,实验表明所提算法比基于启发式的混合模拟退火算法和基于启发式的混合遗传算法更优。Aalaei 和Davoudpour(2016)[6]构建了一种动态虚拟单元制造系统和供应链设计双目标优化模型,考虑了多期生产计划中的工厂和设施位置因素。

在实际的制造业中,产品可能在多个工厂的多个单元内生产。如果这些单元都位于单个制造工厂,相应的供应链系统设计步骤也许能独立进行,即先为每个制造工厂设计单元制造系统,再选择采购和原材料运输成本最低的供应商。不过集成的供应链设计无疑能最大程度地共享多工厂产能、并降低供应成本。目前还很少有文献涉及到这类集成的优化问题。本文试图建立一个融合产品簇识别、机器单元构建、多工厂间在制品工艺路径、原料供应决策的综合模型。另外,鉴于近几年兴起的人工鱼群算法在求解连续型优化问题上展现的优越性能,本文设计了离散型人工鱼群算法来解决高维度的单元化制造优化问题。

二、问题描述以及模型建立

(一)问题描述

现实生活中,集团公司或联盟企业的生产系统一般由许多工厂组成,每个工厂可以构建一定数量的制造单元。各制造单元中,机器数量有一定的限制,而各类型的机器至多配置一台。这些工厂将生产多种产品,已知需求是确定性的,即生产出的产品一定会有市场需求。产品不同的处理工序需要对应的机器进行加工。产品可以被转移到同一工厂的不同单元或不同工厂的单元中进行下一道工序的生产。每种产品需要一种原材料,各供应商处有工厂需要的任意类型的原材料,并且能满足工厂的需求。本问题旨在研究多工厂单元制造系统中的单元制造结构和工厂之间的物流,同时选择合理的供应商,达到单元制造系统运行成本最小化的目的。

(二)参数说明

1.参数

NP:产品种类数;

NO:产品所需要的工序数;

NL:工厂数量;

NC:每个工厂制造单元的数量;

NF:供应商的数量;

NM:机器种类数;

i:产品类型的索引号(i=1,2,3,…,NP);

j:工序的索引号(j=1,2,3,…,NO);

m:机器类型的索引号(m=1,2,3,…,NM);

l:工厂的索引号(l=1,2,3,…,NL);

c:单元的索引号(c=1,2,3,…,NC·NL)(将各工厂的单元累加后进行编号);

f:供应商的索引号(f=1,2,3,…,NF);

amij:如果机器m 有能力处理产品i 的工序j则为1,否则为0;

tijm:产品i 的工序j 在机器m 上完成所需的时间;

MFCm:每台机器m 的固定使用成本;

MVCm:每台机器m 的单位时间使用成本;

L:单元内机器最少数量;

U:单元内机器最多数量;

ISC:两个工厂之间运输单个在制品的成本;

ICC:同一个工厂内两个单元间运输单个在制品的成本。

2.决策变量

Xlif:如果工厂l 中产品i 的原材料是由供应商f 提供的则为1,否则为1;

Ymlc:如果机器类型m 被分配到工厂l 的单元c 内则为1,否则为0;

Kijlc:产品i 的工序j 在工厂l 的单元c 进行生产,则为1,否则为0。

(三)数学模型

目标函数Cost 为总的运作成本,其中:式(1-1)表示机器的固定成本和变动成本;式(1-2)表示不同工厂之间产生的物流成本;式(1-3)表示只要发生工厂间和工厂内的单元间移动,都按单位成本ICC 折算入工厂内单元间的移动成本。所以多折算的工厂间的单元间移动成本将在(1-4)剔除;式(1-4)表示按单位成本ICC 折算的工厂间的单元间移动成本;式(1-5)表示进货固定成本和变动成本。约束式(2)表示每种产品的每道工序仅在某个工厂中某个单元内的某台机器上完成。约束(3)和(4)分别表示每个制造单元内机器数量不能低于下限、不能高于上限。约束(5)表示任意产品的原材料供应商是唯一的。约束(6)表示如果某产品的某工序在一制造单元内加工,则该单元必须有一台机器支持该工序的加工。约束(7)、(8)、(9)是各个决策变量的取值范围。

三、离散型人工鱼群算法

该算法的基本思想为:在一片水域中,鱼群最有可能生存在营养物质最多的地方,算法根据这一特点来模仿鱼群的觅食等行为,从而实现全局最优[7]。

(一)人工鱼编码

本文的编码方式如下:根据问题的决策变量形成一个人工鱼,其中包含三个解,分别为Xlif,Kijc和Ymlc(为方便编码,将各工厂的所有单元进行累加,Kijlc可转化为Kijc)。下面举例说明三个解所代表的含义。

上述矩阵Xlif的行代表产品类型,列代表工厂,矩阵中的数字代表供应商,比如上面加粗的1代表:工厂2 中产品3 的原材料由供应商1 供应。

上述矩阵Kijc的行代表产品类型,列代表工序,矩阵中的数字代表加工该工序所在的单元,比如上述加粗的3 代表:产品3 的工序4 在单元3 中进行。由此,单元3 内必须有加工该工序的机器,从而对Ymlc初始化产生影响。

Ymlc矩阵的行代表机器类型,列代表单元的编号(将两工厂所有单元累计编号,可确定各单元属于哪个工厂)。Ymlc矩阵的特定位置的值可以由Kijc矩阵和以下输入参数amij决定。下文涉及amij处都取此值。

上述加粗的(0,0,0,1)表示机器4 有能力对产品3 的工序4 进行加工。

Ymlc矩阵先部分初始化为如上矩阵。其中数字1 代表某单元内配备该种机器,例如,上述矩阵中加粗的1 表示,单元3 中有类型4 的机器。标框□的位置代表需要进一步被随机赋值为0 或者1,得到下面的矩阵,其中数字0 代表某单元内没有配备该种机器。

(二)人工鱼群算法的基本术语

1.人工鱼之间的距离:人工鱼个体A 与B 之间的距离表示为distance(A,B)=||RA-RB||,其中RA与RB是人工鱼A 与B 的位置。本离散问题中,其中sign(x)=即在两条鱼的相同位置上如果值相同则取0,否则取1。例如,假设人工鱼A 的三个解分别为:

2.人工鱼的视野:假定视野范围是Visual,则人工鱼只能在视野Visual 范围内进行觅食。

3.人工鱼的邻居:若人工鱼A 与B 之间的距离distance(A,B)<Visual,则表示A 与B 互为邻居。

4.人工鱼的聚群中心:统计人工鱼的所有邻居中,每条人工鱼三个解中每个位置出现次数最多的基因,将该基因填进对应位置,以此形成聚群中心(即一个虚拟的人工鱼)。例如:人工鱼1 有邻居2 和3则对于中E 位置出现次数最多的基因为1,故E=1,以此类推得到的中心同理得到的中心,但得到的未必是可行解。假设模型中L 和U 分别为1 和3。首先需要检查每个单元是否都出现,如果存在未出现的单元C*,则随机挑选出现次数最多的单元C∧位置,并将该位置的数值替换为C*,循环检查直至每个单元都出现。然后判断是否存在单元C◇出现的列数(即此单元中机器数量)大于U,如果存在则随机挑选一个单元C◇,并将其位置数据替换为出现次数最少的单元数值,循环检查直至其成为可行解。举例如下:人工鱼1 有邻居2、3 和4得到的初始中心经检查知不是可行解,故根据上述规则,得到可行的聚群中心再根据得到的中心,即可以得到人工鱼1 的聚群中心RΔ。

5.食物浓度:人工鱼群算法中鱼儿会趋向本水域中食物浓度最高的地方。在求解一个极大值问题时,人工鱼所处的位置食物浓度越高则代表该解越理想。由于本模型需要求解的是一个极小值问题,所以需要将目标函数的倒数作为食物浓度。

(三)人工鱼群算法的主要算子

1.觅食。人工鱼A 的位置为XA,当前的状态为FA(食物浓度)。为保证觅食后的人工鱼依然为可行解,故随机交换解1 中的基因m 次(m≤Visual 可保证人工鱼是在其视野范围内进行觅食的)。如解1,Xlif=中的和交换得到,解2 同理进行交换得到,进而得到解3 为,则人工鱼A 的位置变为,其状态为。如果,则将XA替换成如果上述行为执行了TryNum 次后依然没有成功则执行2.3.4 的随机行为。

2.聚群。人工鱼A 的聚群中心为RΔ,其状态为FΔ。如果FΔ>FA,表明中心RΔ的食物浓度更高,则将人工鱼A 的位置替换为RΔ,否则执行觅食行为。

3.追尾。针对人工鱼A,探索其当前所有邻居中食物浓度最大的伙伴B。如果满足FB>FA,表明伙伴B 的周围食物浓度更高,则将人工鱼A 替换为人工鱼B,否则执行觅食行为。

4.随机行为。如果某条人工鱼觅食行为执行失败,则执行随机行为。随机行为即在视野范围内,人工鱼随机挑选若干个位置进行随机赋值。

5.公告板行为。各人工鱼在自身寻优活动结束后,自动与公告板上状态进行比较,如果自身状态优于公告板状态,则将公告板状态替换为自身状态,这样可以使公告板状态始终是历史最优。

(四)算法步骤

1.控制参数的设置,包括人工鱼编号p、鱼群规模Popsize、觅食行为执行的最大次数TryNum、视野大小Visual、种群迭代计数器g、最大迭代次数GenNum。

2.根据上述编码机制,进行人工鱼群的随机初始化,取优值赋给公告板。

3.For g=1…GenNum

For p=1…Popsize

(a)第p 条人工鱼进行觅食、聚群、追尾行为;p 自增1。

(b)执行上述行为后,更新人工鱼p 的状态并与公告板进行比较,若优于公告板则进行替换。

4.输出公告板上的值,结束算法。

四、典型实验分析

以某制造型企业为例,该企业拥有两个异地制造工厂Q1和Q2,且两个工厂都拥有3 个制造单元。该企业可以加工生产3 种产品,每种产品有4 道工序(安装、抛光、打磨、组装),对应的加工机器也是4 种。每个制造单元最多可容纳3 台机器,最少拥有1 台机器。原材料可以从附近的供应商f1和f2处进购,固定进购成本分别为100和84。工厂l 的产品i 从供应商f 处采购的单位成本如表1 所示。产品i 的工序j 在机器m上加工所需要的时间(tijm)如表2 所示。每台机器固定使用成本(MFCm)以及单位时间使用成本(MVCm)如表3 所示。单个在制品从一个工厂运往另一个工厂的运费为80,单个在制品在工厂内的单元之间移动成本为20。

表1 不同原材料的采购价格

表2 不同工序所需时间

表3 机器的固定使用成本和变动使用成本

采用Java 语言编程,IDE 为Intellij IDEA,控制参数中Popsize 取100,TryNum 取60,Visual 取16,GenNum 取60,经过多次试验,可以稳定得到一个较优的结果。

某次典型实验的初始解如下,其目标函数值为123 973。

该次实验的最终解如下,其目标函数值为33 115。这表明算法具有较强寻优的能力。

该实验中每次迭代公告板的目标函数值如图1 所示。

图1 实验收敛图

五、结束语

本文将供应链集成在单元制造系统中,一方面允许在制品在工厂之间产生物流以共享制造单元的产能,另一方面决策者可以自由决定从任一供应商处进购原材料。该模型可以同时优化生产设施配置和供应商选择过程,为供应链中主要合作企业节省大量制造及采购成本。根据模型的特点,采用了改进的离散型人工鱼群算法进行求解,所得最终解相对于随机挑选的初始解得到很大的提升,表明该算法有较强的寻优性能。人工鱼的觅食行为奠定了算法收敛的基础,聚群行为增强了算法收敛的稳定性以及全局性,追尾行为则增强了算法收敛的快速性和全局性。未来还可以考虑劳动力的雇佣与配置,以及销售市场对单元制造系统带来的影响,使劳动密集型企业可以利用面向供应链的单元制造系统更有效地组织资源进行生产。

猜你喜欢
鱼群工序机器
品种钢的工序计划优化模式分析
机器狗
120t转炉降低工序能耗生产实践
机器狗
大理石大板生产修补工序详解(二)
土建工程中关键工序的技术质量控制
人工鱼群算法在雷达探测器射频端电路设计中的应用
未来机器城
鱼群漩涡
朱梦琪??《鱼群》