工业工程  2019, Vol. 22Issue (3): 9-18.  DOI: 10.3969/j.issn.1007-7375.2019.03.002.
0

引用本文 

胡明茂, 齐二石, 赵锎, 章弘毅. 考虑效率差异和流动分配的混流装配线工人优化[J]. 工业工程, 2019, 22(3): 9-18. DOI: 10.3969/j.issn.1007-7375.2019.03.002.
HU Mingmao, QI Ershi, ZHAO Kai, ZHANG Hongyi. An Optimization of Workers in Mixed Assembly Line Considering Efficiency Differences and Distribution in Different Station[J]. Industrial Engineering Journal, 2019, 22(3): 9-18. DOI: 10.3969/j.issn.1007-7375.2019.03.002.

基金项目:

国家自然科学基金资助项目(71401158);中国博士后科学基金资助项目(2015M581301);国家社会科学基金资助项目(17BGL238);湖北省自然科学基金资助项目(2014CFB625);教育部人文社会科学研究青年基金资助项目(19YJC63063)

作者简介:

胡明茂(1980-),男,山东省人,副教授,博士,主要研究方向为制造系统控制。

文章历史

收稿日期:2018-08-22
考虑效率差异和流动分配的混流装配线工人优化
胡明茂1,2, 齐二石1, 赵锎2, 章弘毅2     
1. 天津大学 管理与经济学部,天津 300072;
2. 湖北汽车工业学院 机械工程学院,湖北 十堰 442002
摘要: 本文研究了考虑工人装配水平差异、不同工位之间可以流动分配的装配线工人优化调度,在确定混流装配线的排序后,装配工人在其最擅长的工位工作,在完成本工位的工作后参与其他工位的装配工作,定义相关的优化因素变量和约束条件,建立了考虑工人工位效率差异且可流动分配的混流装配线工人优化数学模型。采用削峰填谷算法和多种群移民算法进行工人的调整和均衡优化,利用一个三层神经网络对削峰填谷的工位进行评估选择,得到工人的最优分配方案,最后通过Matlab对举例进行了验证。算例优化后,减少了2名装配工人,并提高了装配线的平衡率。
关键词: 混流装配    工人优化    效率差异    流动分配    
An Optimization of Workers in Mixed Assembly Line Considering Efficiency Differences and Distribution in Different Station
HU Mingmao1,2, QI Ershi1, ZHAO Kai2, ZHANG Hongyi2     
1. College of Management & Economics, Tianjin University, Tianjin 300072, China;
2. College of Mechanical Engineering, Hubei University of Automotive Technology, Shiyan 442002, China
Abstract: The optimal workers scheduling of assembly line considering the differences in worker assembly levels and the flow distribution between different workstations was analyzed. After determining the sort of mixed flow assembly line, the assembly worker worked in the workstation where she/he was good at and took part in the assembly work of other stations after completing the work in this workstation. An optimized mathematical model of mixed-flow assembly line workers considering the difference in workstation efficiency and flow distribution was established after the definition of the relevant optimization factor variables and constraints. The peak sharpening algorithm and multiple population migration algorithm were adopted for the adjustment of the workers and balance optimization, and then a three-layer neural network to evaluate peak cutting the location choice was used to obtain the optimal allocation of workers. Finally, an example was given to verify the listed model with Matlab, and two assembly workers were reduced and the assembly line balance rate was increased.
Key words: mixed flow assembly    worker optimization    efficiency difference    flow distribution    

混流装配线是一种可以在一条产线上按一定的装配顺序装配不同产品柔性装配方式,混流装配线可以很好地协调利用装配线的布局、设备、人员、分装线和厂内物流以提高装配线的平衡率和降低装配节拍[1-2]。装配线上执行装配作业的操作工人是影响装配线平衡和节拍的重要因素:不同的操作工人存在体力、脑力和技能等方面的个体差异,每个操作工人在不同装配工位上的装配效率也存在差异,因而同一名工人在不同工位的效率存在差异,并且有一个特别擅长的工位效率相对较高。装配工艺中不同工位的工作内容不同,相邻近工位之间工人的工作完成时间存在差异,考虑工人的差异因素和相邻近工位工人的流动分配,可以在满足工人体力、脑力和技能负荷的情况下,有效地提高混流装配线的平衡率和降低装配线节拍。在考虑工人差异因素和流动分配的装配线平衡优化时,需要考虑工人在不同工位的效率和装配线均衡,分配工人尽可能多的在其最擅长的工位工作,才能确保均衡之后的混流装配线的整体优化效果。

在装配线工人优化建模和方法方面国内外大量的专家学者针对装配线的各种情况,应用不同的方法做了研究。Battaïa等[3]采用启发式算法,考虑在所有工人和工位完全相同的情况下,在发动机装配线上将瓶颈工位的工人移动至相邻工位,从而减少因混流生产中瓶颈工序时间过长带来的扰动。Oksuz等[4]研究了工人效率不均等、不同工位存在差异的情况,建立了不同工人在不同工位的贡献度模型,进而求和计算出总贡献,再使用蜂群算法对工人分布进行调整,寻找最优解。Akpinar等[5]采用了以迭代式蚁群算法为基础的解决方案解决混合装配线平衡问题,其目标可以转换为求最小节拍循环时间,即现有工作站和工人数量有限时如何最大化生产速率。刘绘珍等[6]考虑工人差异性的混合生产线工人分配优化模型,主要研究了工人和工位存在差异的混合生产模式存在差异的情况下如何对工人进行合理分配,分配后忽略工人在不同工位之间调动,从而使混合装配线效率最高。常建娥等[7]提出基于装配相似性与灰色理论GM(0, N)模型的装配工时预测方法,通过计算样本与基准零件的装配相似系数,结合装配工时在Matlab中构建拟合曲线,从系数上寻找更契合的工人。在工人优化方面,需要考虑工人在混流装配线上的效率最大化,细分节拍时间,调整工人的调度方案,平衡装配工位效率。何善平等[8]介绍了Thomopoulos平衡搜寻法步骤,在此基础上提出了对单一型发动机装配线平衡较实用的搜寻方法,阐述了如何对装配线平衡。刘芹等[9]提出Pareto遗传算法,并提出了向量评估多目标遗传算法和多目标优化遗传算法,给出了多目标优化算法的性能评价指标,为制定适应度评估函数奠定了基础。张宏林等[10]建立了合适的编码方式,按照不违背作业优先关系约束和工位时间不超过节拍的原则,把可调整工人集合中作业元素分配到各工位上,仅对工作任务顺序进行分配,不对工人进行分配,而且该装配线只装配一种型号产品,混流线需要再进一步调整。求解方法方面,Delice等[11]提出了一种新的具有无预期性的改进粒子群优化算法,用来解决两条分支混合装配线的平衡问题,从而减少工件的移动,提高混合装配线效率。Li[12]等为解决双边装配线平衡问题,采用改进型的模拟退火算法,制定了5个评估函数和多种不同的编码方式。Bukchin等[13]通过对工人安排方案进行编码,遗传变异寻求最小化工人空闲时间,以提高生产线的效率。Kucukkoc等[14]提出了一种基于混合模型的并行装配线系统,建立了多行交叉工位的混合装配线模型,对工人分配进行编码再采用蚁群算法求解,最终证明了并行的混合装配线比单线的装配线劳动力需求更少。在工人优化问题的优化目标方面,许多工厂考虑以牺牲部分生产效率为代价使装配产品多样化,同时减少工人数量,也有针对特定工位调整工人。Sungur等[15]考虑到混合装配线的分层工人装配问题,高级工人的使用成本高于低级工人,因此在相同条件下低级工人的选择权重更高,而高难度的任务则会安排高级工人来完成。Li等[16]为了解决双面混合装配线的平衡问题,采用了多种启发式算法综合比较,证明了改进的迭代贪婪算法具有的有效性。Akpinar等[17]给不同的工位指定不同的生产任务,在一个节拍时间内,如果完成了任务则可以去其他工位工作,通过对节拍时间的自然分解来安排工人时间分配,然后检测是否能按时完成。本文借鉴了文献[6]中提出的新产品工时预测估算出 ${{{M}}_{{k}}}$ 矩阵中元素的大致范围,然后制定标准工时。但文献[6]仅考虑了新型号产品对工时的影响,并未对工人分配进行优化,也未考虑到工人的差异给测量、计算带来的误差,最终计算的标准工时也和实际生产有一定差距。本文参考了文献[7]计算不同工位完成度百分比 ${Q_{{k}}}$ 的方法,工人之间的效率差异以及工人调动产生的影响估算。但文献[7]并未给出更加有效快速的求解方法,随着工位工人数量的增加,计算量将以高次方数增长,运用简单的枚举法和仅以最低工位效率来衡量染色体的适应度而不考虑继续调整的潜力,已经难以胜任更加复杂的模型运算。本文借鉴了神经网络算法对潜力进行评估,在最低工位相同或接近的情况下,更有潜力的染色体被选中几率更大,还能淘汰一些达到基本要求但调整效率明显过低的方案,以提高寻优搜索效率。

本文考虑工人在不同工位的效率差异、同一个工位工人完成不同产品也存在差异和相近工位工人的流动分配,分析混流装配线工人分配优化问题。在确定混流装配线的排序后,装配工人在其最擅长的工位工作,在完成本工位的工作后参与其他工位的装配工作,建立考虑工人工位效率差异且可流动分配的混流装配线工人优化数学模型。采用削峰填谷算法和多种群移民算法进行工人的调整和均衡优化,利用一个三层神经网络对削峰填谷的工位进行评估选择得到工人的最优分配方案。

在对工人进行优化时,为了更快的收敛同时减少计算量,采用了削峰和填谷两种方式来寻优。由于不同工人和工位之间的差异,即使所有工位同时完成任务,也不一定是最优解,还必须确保大部分工人有足够时间在其最擅长的工位工作。因此本文使用较为合理的评估函数,估算理论最优值的大小,找出收敛效果较好的解,确保收敛完成后(所有工位几乎同时完成任务时)整体用时尽可能短。在选择削峰和填谷时,使用评估函数确定大致估算出哪个工人更适合调动,哪个工位更适合作为调整对象。这样既可以提高收敛速度又能确保更加合理的收敛,即每个工人都有尽可能多的时间安排在其擅长的工位。

1 模型建立

本文相关的参数定义如下: $S$ 为工位总数; $i$ 为工人编号; $j$ 为工位编号; $W$ 为工人总数量; $K$ 为一个循环周期内包含生产任务总数量,一共有 $K$ 台产品下线; $k$ 为生产任务编号,表示一个循环周期内,第 $k$ 个产品进入装配线, $k$ 决定不同工位上不同产品的型号; $M$ 为型号种类数量; ${e_{ij}}$ 为对于型号1产品,工人 $i$ 在工位 $j$ 的绝对工作效率; ${{E}}$ 表示所有工位都加工1型产品时,工人 $i$ 在工位 $j$ 的工作效率矩阵,为 $S \times W$ 矩阵,为节拍时间与工人 $i$ 单独完成工位 $j$ 的工作所需时间的比值。

$\quad\quad{{E}} = \left[ {\begin{array}{*{20}{c}} {e_{11}}& \cdots &{e_{1i}}&{\cdots }&{e_{1W}}\\ \vdots & \ddots &{ \vdots }&{\ddots}& \vdots \\ {e_{1j}}& \cdots &{e_{ji}}& \cdots &{e_{jW}}\\ \vdots & {\ddots} &{ \vdots }& \ddots & \vdots \\ {e_{1S}}& \cdots &{e_{Si}}&{\cdots }&{e_{SW}} \end{array}} \right]{\text{。}}$

${e_{ijk}}$ 为一个循环周期内,第 $k$ 个产品进入装配线时,工人 $i$ 在工位 $j$ 的工作效率,为节拍时间与工人 $i$ 单独完成工位 $j$ 的工作所需时间的比值; ${e_{ijk}}$ =节拍时间/工人 $i$ 单独完成工位 $j$ 的工作所需时间; ${{M}}$ 表示不同型号产品加工难度系数矩阵,为 $S \times M$ 矩阵,难度以型号1产品为折算标准,第一列所有元素为1; ${{{M}}_k}$ 表示一个循环周期内,第 $k$ 个产品进入装配线时,每个工位上产品折算为1型产品难度系数,为 $S\times 1$ 矩阵。

$\quad\quad{{M}} = \left[ {\begin{array}{*{20}{c}} {{m_{11}}}& \cdots &{{m_{k1}}}& \cdots &{{m_{K1}}} \\ \vdots & \ddots &{ \vdots }&{\ddots }& \vdots \\ {{m_{1j}}}& \cdots &{{m_{kj}}}& \cdots &{{m_{Kj}}} \\ \vdots &{\ddots}&{ \vdots }& \ddots & \vdots \\ {{m_{1s}}}& \cdots &{{m_{ks}}}&{\cdots }&{{m_{KS}}} \end{array}} \right] {\text{,}} $
$\begin{split}&\qquad{{{E}}_k} = {{E}} \times \left[ {\begin{array}{*{20}{c}} {1/{m_{k1}}}& \cdots &0&0&0 \\ \vdots & \ddots &{0}&0&0 \\ 0&{0}&{1/{m_{kj}}}&{0}&0 \\ 0&0&{0}& \ddots & \vdots \\ 0&0&0& \cdots &{1/{m_{kS}}} \end{array}} \right] = \\ &\left[ {\begin{array}{*{20}{c}} {{e_{11k}}}& \cdots &{{e_{1ik}}}& \cdots &{{e_{1Wk}}} \\ \vdots & \ddots &{\vdots }&{\ddots}& \vdots \\ {{e_{1jk}}}& \cdots &{{e_{jik}}}& \cdots &{{e_{jWk}}} \\ \vdots &{ \ddots}&{\vdots }& \ddots & \vdots \\ {{e_{1Sk}}}& \cdots &{{e_{Sik}}}& \cdots &{{e_{SWk}}} \end{array}} \right]{\text{。}}\end{split}$

例如,型号1的发动机的缸盖上有12颗螺丝,型号2发动机缸盖有16颗螺丝,那么型号2发动机上螺丝的工序消耗时间就会比型号1发动机多出33%;如果型号1发动机有4个气缸,型号2发动机气缸数量为6个,那么在装配活塞时,型号2消耗的时间就会比1型号多50%。因此在装缸盖螺丝时,型号2发动机可以折算成1.33台型号1发动机;在装配活塞工序时,可以折合算1.5台型号1发动机来计算。

${{{E}}_k}$ 为一个循环周期内,第 $k$ 个产品进入装配线时,工人在工位上效率矩阵,包含了 $S\times W$ ${e_{ijk}}$ 的元素矩阵, ${{{E}}_k}$ 等于 ${{E}}$ 矩阵点除 ${{{M}}_k}$ ${{{T}}_k}$ 为第 $k$ 个产品进入装配线时,工人工作时间分配矩阵,包含 $S\times W$ ${t_{ijk}}$ 变量的矩阵。

$\quad\quad{{{T}}_k} = \left[ {\begin{array}{*{20}{c}} {t_{11k}}& \cdots &{t_{1ik}}&{\cdots }&{t_{1wk}} \\ \vdots & \ddots &{\vdots }&{ }& \vdots \\ {t_{j1k}}& \cdots &{t_{jik}}& \cdots &{t_{jwk}} \\ \vdots & &{\vdots }& \ddots & \vdots \\ {t_{S1k}}& \cdots &{t_{Sik}}&{\cdots }&{t_{Swk}} \end{array}} \right]{\text{。}}$

${t_{ijk}}$ 为第 $k$ 个产品进入装配线时,工人 $i$ 在工位 $j$ 的工作时间分配百分比; ${{{V}}_{k}}$ 为一个循环周期内,第 $k$ 个产品进入装配线时,工人在每一个工位上的贡献度矩阵, ${{{V}}_{k}}$ ${{{E}}_k}$ 矩阵点乘 ${{{T}}_k}$ 矩阵; ${{{Q}}_{{k}}}$ 表示一个循环周期内,第 $k$ 个产品进入装配线时,每个工位上的贡献值矩阵, ${{{Q}}_{{k}}}$ ${{{V}}_{{k}}}$ 的行和矩阵, ${{{Q}}_{{k}}}$ $S\times 1$ 矩阵。本文对每个工位的贡献值进行平衡,达到平衡率最高,并且每个工位的效率达到最高。

装配线为混流线,在一个循环周期内 $N$ 种不同类型的产品的数量共有 $K$ 个。随着产品在装配线上移动,装配线上产品类型会发生变化, ${{{T}}_k}$ ${{{E}}_k}$ 矩阵的值也随着k值的改变而变化,对应产生 $K$ 种不同的 ${{{V}}_{{k}}}$ 矩阵和 ${{{Q}}_{{k}}}$ 矩阵,继而衍生出K种不同的优化方案,即装配线上的 $S$ 个工位有 $S$ 件产品序列随着产品的流动而发生变化,工人在装配线上时间分配方案也随之改变。对比各种方案,找出能满足装配线产品正常生产的工人数

$\qquad\left\{ \begin{array}{l} \;\;{\rm{min}}W\\ \;\;{\rm{s.t.}}\\ \begin{array}{*{20}{c}} {{e_i}_{jk}} \end{array} {\text{≥}} 0; \\ \begin{array}{*{20}{c}} 0 \end{array} {\text{≤}} {t_{ijk}} {\text{≤}} 1; \\ \begin{array}{*{20}{c}} {\displaystyle\sum\limits_{j - i}^{j - s} {{t_{ijk}} = 1, \forall i \in \left[ {1, W} \right]} } \end{array}, \forall k \in \left[ {1, K} \right]; \\ \begin{array}{*{20}{c}} {{t_{ijk}}} \end{array} = 0, {\rm{如果}}{e_{ijk}} = 0; \\ \begin{array}{*{20}{c}} {{{{Q}}_k} {\text{≥}} 1, \forall k \in \left[ {1, K} \right]} \end{array}{\text{。}} \end{array} \right.$ (1)

为了检验调走一名工人后,是否依然能满足要求,需要再次对每个工位的任务进行均衡,然后再次计算 ${{\min}}{Q_k}$ 是否满足要求,只要有一个不满足要求,就说明裁掉这名工人后导致按规定节拍时间完不成任务。本文做如下假设。

1) 工人工作效率不受情绪、体力、环境因素影响;

2) 每种型号产品节拍时间为固定值;

3) 每过一个节拍时间,所有产品往后移动一个工位,没有暂停时间;

4) 任务完成后可以去另一个工位工作,不考虑移动时间和工人休息时间;

5) 每个相同型号的产品在相同工位的加工时间完全相同;

6) 工人的贡献度随着时间和工人数量线性增长,不考虑工人之间的配合问题;

7) 工人在在不擅长的工位工作效率为0。

2 模型分析求解

为了确保每个工位尽可能同时完成任务且这个时间尽可能短,需要依次对每个时间分配矩阵 ${{{T}}_k}$ 进行优化,从而确保效率最低的工位也能按时完成,即 $\min {{{Q}}_k}$ 尽可能大,且大于1。如果无论怎样调整,效率最低的工位效率依然小于1,则说明无法按时完成,则表示当前数量的工人无法按时完成任务。采用削峰填谷均衡算法对工人的分配进行调整,由于每个工人在不同工位的工作效率存在差异,因此每次调整都会损失一部分总效率。每次调整需要在最高效率的工位找出一名工人将他的一部分时间安排到中间工位,再找出一名可以在最低工位从事工作的工人,将他的一部分额外时间安排到最低工位工作,然后重新计算最高与最低工位。

2.1 神经网络相关评价函数

在进行削峰填谷调整时,需要挑选削峰填谷工人 ${i_{\rm{c}}}$ ${i_{\rm{f}}}$ ,削峰填谷工位 ${j_{\rm{c}}}$ ${j_{\rm{f}}}$ 。但实际挑选削峰填谷工人时,符合要求的工位和工人可能有多个。如果选择不合适,可能会大幅减慢调整速度,装配线平衡率降低,或陷入局部最优值。因此每次挑选时需选择更合适的调整工人和工位。

调整工人时,必须优先考虑瓶颈工位的效率。为了找出瓶颈工位,本文设定2个衡量标准:1) 工位瓶颈系数 ${S_{\rm{c}}}$ ;2) 工人通用系数 ${H_{\rm{i}}}$ 。如果很难抽调出一些工人来从事此工位的工作,即 ${S_{\rm{c}}}$ 值最小,这个工位就是瓶颈工位。 ${H_{\rm{i}}}$ 衡量一名工人的通用性,即可调动性。一名工人所能适应的工位越多,各工位的效率差距越小,其通用系数越高。

挑选调整工人时应该优先选择在瓶颈工位工作效率较高的工人,或者在其最擅长的工位效率和瓶颈工位工作效率差距较小的工人,或者擅长在多个工位工作的工人,应当优先被选择。工位的调整系数分为3个级别:1) 优先解决瓶颈系数高的工位;2) 优先从效率较高的工位调来工人进行填谷;3) 优先选择效率差距较小的工位。本文采用图1所示的三层神经网络确定工人综合调整系数(工人被选中作为调整工人的概率),再采用轮盘赌法进行选择。

工人调整网络输入层:瓶颈工位对该工人的需求程度、该工人在不同工位的效率差异大小、该工人所胜任的工位数量、工人在不同工位的效率偏差百分比以及工人当前效率的饱和程度;工人调整网络隐藏层用于计算工人的稀缺程度、估算效率饱和程度、估算效率潜力、在瓶颈工位的贡献程度、在瓶颈工位的极限贡献值等。图2为选择工位的评判网络,优先选择工作效率差距较小的工位,削峰调整时尽量选择效率较高,工人工作效率相对较高的工位,填谷调整时尽量选择工人工作效率较低,瓶颈系数较低的工位。

图 1 选择工人的评判网络 Fig. 1 The network to evaluate the workers
图 2 选择工位的评判网络 Fig. 2 The network to evaluate the workstations
2.2 削峰填谷调整的约束条件

在效率最高的工位选择调整工人时,必须满足这名工人原本在最高工位工作时间大于0;在选择这名工人前往的削峰工位时,必须满足这名工人在那里的工作效率大于0。在效率最低工位选择调整工人时,必须找出一名在最低工位工作效率大于0的工人,且在最低工位工作时间小于1个节拍时间。在选择填谷工位来支援效率最小工位时,必须确保工人在效率最小的工位那里的工作效率大于0。

${j_{\max}}$ 为效率最高工位编号, ${j_{\max}}$ ${{{Q}}_{{k}}}$ 矩阵中的最大元素所在位置; ${j_{\min}}$ 为效率最低工位编号, ${j_{\min}}$ ${{{Q}}_{{k}}}$ 矩阵中的最小元素所在位置; ${i_{\rm{c}}}$ 为参与削峰调整工人编号,选择 ${i_{\rm{c}}}$ 的条件为 ${T_k}({i_{\rm{c}}}, {j_{\rm{max}}}) {\text{>}} 0$ ${j_{\rm{c}}}$ 为参与削峰调整工位编号,选择 ${j_{\rm{c}}}$ 的条件为 $E({i_{\rm{c}}}, {j_{\rm{c}}}) {\text{>}} 0$ ${i_{\rm{f}}}$ 为参与填谷调整工人编号,选择 ${i_f}$ 的条件为 $E({i_{\rm{f}}}, {j_{\rm{min}}}) {\text{>}} 0$ ${T_k}({i_{\rm{f}}}, {j_{\min}}) {\text{<}} $ 1; ${j_{\rm{f}}}$ 为参与填谷调整的工位编号,选择 ${j_{\rm{f}}}$ 的条件为 ${T_k}({i_{\rm{f}}}, {j_{\rm{f}}}) {\text{>}} 0$

定义 $P$ 为工人在不同工位之间进行调整转换效率,如果调整的工位的效率比原有工位的效率高,则 $P {\text{>}} 1$ ,比原有效率低则 $P {\text{<}} 1$ ,效率不变 $P = 1$ ${P_{\rm{m}}}$ 定义为从初始值调整到理论最优值时每次调整的平均转换效率; ${P_{\rm{c}}}$ ${P_{\rm{f}}}$ 分别为削峰调整效率和填谷调整效率。如果工人调整前后效率不变则调整效率为1;如果前往的工位无法工作,则调整效率为0。

$ \begin{aligned} \quad\quad&{P_{\rm{c}}} = E({j_{\max}}, {i_{\rm{c}}})/E({j_{\rm{c}}}, {i_{\rm{c}}}) {\text{,}}\\ &{P_{\rm{f}}} = E({j_{\rm{f}}}, {i_{\rm{f}}})/E({j_{\min}}, {i_{\rm{f}}}){\text{。}} \end{aligned} $ (2)

${C_k}$ 为工人从事瓶颈工位的系数。如果一名工人能在瓶颈工位工作且效率很高,则工人瓶颈系数就低;如果不能从事瓶颈工位的工作,只能在瓶颈系数低的工位工作,或者在瓶颈工位的工作效率很低,则其瓶颈系数就高。

${j_{\max}}$ 为最高工位编号;

${j_{\min}}$ 为最低工位编号;

${T_{\rm{c}}}$ 为削峰工人在削峰工位的工作时间, ${T_{\rm{c}}} = $ $ {T_{\rm{k}}}({j_{\rm{c}}}, {i_{\rm{c}}})$

${T_{\rm{h}}}$ 为削峰工人在最高工位的工作时间, ${T_{\rm{h}}} = $ $ {T_{\rm{k}}}({j_{\max }}, {i_{\rm{c}}})$

${T_{\rm{f}}}$ 为填谷工人在填谷工位的工作时间, ${T_{\rm{f}}} = $ $ {T_{\rm k}}({j_{\rm{c}}}, {i_{\rm{f}}})$

${T_{\rm{l}}}$ 为填谷工人在最低工位的工作时间, ${T_{\rm{l}}} = $ ${T_{\rm k}}({j_{\min }}, {i_{\rm{f}}})$

2.3 削峰填谷调整的收敛性

当任务量固定时,每个工人安排在其最擅长的工位工作,那么总效率一定是最高的,然而这样就会导致一些工位因缺乏工人而形成短板。在实际装配中工人在不同工位的效率往往有差异,而且一个工人往往只能适应少数几个工位的工作且效率有一定差距。因此无法直接将效率最高的工位的工人随便调整到效率最低的工位工作。这个时候就必须采用“中间调整工位”进行调整,确保每个工位尽可能同时完成任务。

图3为在削峰填谷时调整工位快慢的收敛曲线图。在调整过快时,调整幅度超过一定值,最高工位被削减得过多,就会变成最小工位,甚至比原来最小工位效率还要低。而最低工位填得过多时,也可能变成效率最高工位,而且比原来的最高工位还要高,导致调整发散。为了确保工人调整的效率,需要将每次削峰和填谷调整的时间控制在一定范围内,逐步调整达到图3中浅色线逐渐收敛。

图 3 削峰填谷收敛曲线图 Fig. 3 Peak sharpening convergence curve

从效率最高的工位 ${j_{\max}}$ 开始调用工人 ${i_{\rm{c}}}$ 往工位 ${j_{\rm{c}}}$ 进行削峰,工人 ${i_{\rm{c}}}$ 在工位 ${j_{\max}}$ ${j_{\rm{c}}}$ 的效率比值,也即削峰调整效率 ${P_{\rm{c}}}$

$\quad\quad{P_{\rm{c}}} = E\left( {{j_{\max}}, {i_{\rm{c}}}} \right)/E\left( {{j_{\rm{c}}}, {i_{\rm{c}}}} \right){\text{。}}$ (3)

填谷工人 ${i_{\rm{f}}}$ 从工位 ${j_{\rm{f}}}$ 到工位 ${j_{\min}}$ 进行填谷,则工人 ${i_{\rm{f}}}$ 从工位 ${j_{\rm{f}}}$ 到工位 ${j_{\rm{min}}}$ 的效率比值,也即填谷调整效率 ${P_{\rm{f}}}$

$\quad\quad{P_{\rm{f}}} = E\left( {{j_{\rm{f}}}, {i_{\rm{f}}}} \right)/E\left( {{j_{\min}}, {i_{\rm{f}}}} \right){\text{。}}$ (4)

由于初始值设定所有工人全部时间都从事效率最高的工作,因此假设 ${P_{\rm{c}}}$ ${P_{\rm{f}}}$ 均大于等于1小于等于 $1/{P_{\min}}$ 。在削峰过程中将最高工位的效率削减到和平均效率接近,在填谷过程中将最低工位的效率填补到与平均工位接近。然而在削峰填谷过程中削峰和填谷工位的效率变化可能过大,任意的工人调动可能影响工人平均效率和所有工位的平均效率。

为了保证削峰填谷的收敛性,设定效率最高工位选择的工人的调整时间L

$\quad\quad L = T ({Q_{{\rm{max}}}} - {Q_{{\rm{avr}}}})/(2 {E_{\max }}){\text{。}} $ (5)

其中, ${Q_{{\rm{max}}}}$ 为最高工位贡献值; ${Q_{{\rm{avr}}}}$ 为平均工位贡献值; ${E_{\max}}$ 为最高工位工作工人的最高工作效率。削峰工位的效率增加幅度 ${E_x}$

$\quad\quad{E_x} = E({j_{\rm{c}}}, {i_{\max }}) ({Q_{\max }} - {Q_{{\rm{avr}}}})/(2 {E_{\max }}){\text{。}} $ (6)

其中, $E\left( {{j_{\rm{c}}}, {i_{\max}}} \right)$ 为调整工人在削峰工位的工作效率。

2.4 精英平民种群算法

随着调整不断进行,求解易陷入局部最优解。因此可以建立5个种群,1个精英种群和4个平民种群,每个种群包含4条染色体。无性繁殖3次变成16条染色体,然后筛选出4条染色体,其余全部淘汰。

平民种群和精英种群的区别在于,采取更加激进的调整方案,优点是更快的收敛,更大可能跳出局部极小解,缺点是在计算最终极限时更难收敛,或者在局部极小解附近徘徊。精英种群中的个体则采用相对保守的繁殖调整方案,每一轮繁殖过后采用移民算法:如果平民种群中的一条染色体评估函数比精英种群中的最差染色体适应度更高,则替换掉该染色体,可以更加精确地收敛于局部极小解。当调整次数达到30代后停止调整,输出精英种群中的最优解。其中,平民种群的评估函数和寻找调整工人方案与精英种群完全相同,但每次调整幅度更大,收敛速度会更快,也更容易跳出局部最优解,但出现不良个体的几率也更大。由于采用了不同的筛选机制,精英种群每次总是保存4个最优染色体。

每一轮“无性繁殖”与“优胜劣汰”后,从平民种群中挑选出一个最优的个体,如果超过了精英种群中的末位,则该个体将被移民到精英种群中替换掉末位个体,再开始新一轮繁衍与淘汰,直到达到预期繁殖代数,详细优化步骤如图4所示。理论最优解的必定符合的特征:1) 所有工位都能同时完成任务,最小工位的完成时间就是最大值;2) 大部分工人都有一段时间在其最擅长的工位工作,以至于任意两名工人调换工作位置,都会导致效率下降;3) 没有任何继续优化的潜力可以挖掘。

图 4 平民种群算法优化流程图 Fig. 4 Multiple population migration algorithm flow chart

因此,方案的优劣的评价不仅考虑最小工位的相对效率以外还应该看方差、最大工位值、平均值等才能估算出染色体的相对潜力。染色体适应度评估函数 $F$ 应该设定为

$\quad\quad F = {a_1} {Q_{\min }} + {a_2} {Q_{\max }} + {a_3} {Q_{{\rm{mean}}}} + {a_4} {Q_{\rm{var} }}{\text{。}} $ (7)

其中, ${a_1}$ ${a_2}$ ${a_3}$ ${a_4}$ 分别为评估染色体优劣的权重系数。

3 算例分析

某发动机装配线是一条手动装配的混流装配线,装配V12、V16、V20这3种类型的发动机装配复杂程度不相同,V20花费的时间最多,其次是V16,V12花费的时间最少。3种类型的12个产品为一个周期,顺序进入装配线再进行循环往复,一个循环周期内的排序如图5所示。装配线由6个工位和21名工人组成,如何在保证节拍要求的条件下确定最优的工人调配方案是需要解决的实际问题。

图 5 一个循环周期内产品序列图 Fig. 5 Product sequence diagram in a cycle

一个循环周期内包含生产任务总数量 $K = 12$ ,即共有12台产品下线;装配工位数 $S = 6$ ,如果对型号1这条装配线节拍为30 min,其中有一名工人工作60 min内可以单独在1号工位加工完成一台型号1的产品,那么该工人在1号工位的相对效率为0.5。如果在其中一个节拍,有40%时间是在1号工位工作,那么其在这个节拍内的贡献度为0.4×0.5=0.2。调整前该装配线有21名工人,考虑到其中6名工人擅长的工位工作效率较高,而其他工位工作效率较低,因此将他们设为专业工人,不参与调动,每个工人都在其最擅长的工位工作。表1表2列出实测装配线每个工位难度系数和对应的完成时间。

表 1 各型号产品各工位难度系数 Tab. 1 Difficulty factors for each station and model
表 2 各型号产品各工位装配时间 Tab. 2 Assembly time of each type

由实际测量值计算可得21个工人在6个工位的工作效率矩阵 ${{{E}}_{21}}$ ,其中,前6个工人在固定工位的效率高,不考虑前6个工人的工作效率矩阵为 ${{{E}}_{15}}$

${{ E}_{21}}=\left[ \begin{array}{*{35}{l}} 0.5 \!\!\!&\!\!\! \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.3 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.2 \!\!\!&\!\!\! 0.25 \!\!\!&\!\!\! 0.3 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.1 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.15 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.15 \!\!\!&\!\!\! 0.15 \\ 0 \!\!\!&\!\!\! 0.55 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.15 \!\!\!&\!\!\! 0.3 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.1 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.35 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.25 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.25 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.15 \!\!\!&\!\!\! 0.2 \\ 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.5 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.2 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.25 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.15 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.28 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.22 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.15 \\ 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.45 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.25 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.25 \!\!\!&\!\!\! 0.18 \!\!\!&\!\!\! 0.15 \!\!\!&\!\!\! 0.28 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.28 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.28 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.27 \!\!\!&\!\!\! 0 \\ 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.5 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.2 \!\!\!&\!\!\! 0.2 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.25 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.25 \!\!\!&\!\!\! 0.15 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.15 \!\!\!&\!\!\! 0 \\ 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.55 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.35 \!\!\!&\!\!\! 0.2 \!\!\!&\!\!\! 0.15 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.35 \!\!\!&\!\!\! 0.35 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.28 \!\!\!&\!\!\! 0 \!\!\!&\!\!\! 0.12 \\ \end{array} \right] {\text{,}}$
$ \quad\quad{{{E}}_{15}} = \left[ {\begin{array}{*{20}{l}} {0.3}&0&0&{0.2}&{0.25}&{0.3}&0&{0.1}&0&0&{0.15}&0&0&{0.15}&{0.15} \\ {0.15}&{0.3}&0&0&{0.1}&0&{0.35}&0&0&{0.25}&0&{0.25}&0&{0.15}&{0.2} \\ {0.2}&0&{0.25}&0&0&0&0&{0.15}&0&0&{0.28}&0&{0.22}&0&{0.15} \\ 0&{0.25}&0&{0.25}&{0.18}&{0.15}&{0.28}&0&{0.28}&0&0&{0.28}&0&{0.27}&0 \\ 0&0&{0.2}&{0.2}&0&{0.25}&0&0&0&{0.25}&{0.15}&0&0&{0.15}&0 \\ 0&0&{0.35}&{0.2}&{0.15}&0&0&{0.35}&{0.35}&0&0&0&{0.28}&0&{0.12} \end{array}} \right]{\text{。}} $

k=1到k=12时,不同工位的生产难度系数变化矩阵为

$\quad\quad\quad\quad\quad\quad\quad\quad{{M}}_k = \left[ {\begin{array}{*{20}{l}} {1.1}&1&1&1&1&1&1&1&1&1&1&1 \\ 1&{1.3}&1&1&1&{1.2}&1&{1.2}&1&{1.2}&1&1 \\ 1&1&{1.4}&1&1&1&{1.2}&1&{1.2}&1&{1.2}&1 \\ 1&1&1&{1.2}&1&1&1&1&1&1&1&1 \\ {1.2}&1&1&1&{1.5}&1&1&1&{1.2}&1&{1.2}&1 \\ 1&{1.1}&1&1&1&{1.2}&1&1&1&{1.1}&1&{1.1} \end{array}} \right]{\text{。}}$

考虑到3和4两个工位效率较高,而且整体工人贡献度偏高,通过优化裁掉15号和21号工人。裁员之后,再次对进行削峰填谷均衡计算,裁员之后的时间分配矩阵和工位完成度百分比 ${{{Q}}_{{k}}}$ 矩阵,每个节拍的 $\min {{Q}_{{k}}}$ 均大于1。

$k = 1$ 时,各工人的时间分配矩阵 ${{{T}}_1}$

$\quad\quad\quad\quad {{{T}}_1} = \left[ {\begin{array}{*{20}{r}} {0.80}&{0.00}&{0.00}&{0.00}&{1.00}&{0.00}&{0.00}&{0.41}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00} \\ {0.00}&{0.89}&{0.00}&{0.00}&{0.00}&{0.00}&{0.51}&{0.00}&{0.18}&{0.00}&{0.00}&{0.00}&{0.00} \\ {0.20}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.59}&{0.00}&{1.00}&{0.00}&{0.22}&{0.00} \\ {0.00}&{0.11}&{0.00}&{0.52}&{0.00}&{0.00}&{0.49}&{0.00}&{0.00}&{0.00}&{1.00}&{0.00}&{0.15} \\ {0.00}&{0.00}&{0.56}&{0.48}&{0.00}&{1.00}&{0.00}&{0.00}&{0.82}&{0.00}&{0.00}&{0.00}&{0.85} \\ {0.00}&{0.00}&{0.44}&{0.01}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.78}&{0.00} \end{array}} \right]; $

$k = 12$ 时,各工人的时间分配矩阵 ${{{T}}_{12}}$

$\quad\quad\quad\quad {{{T}}_{12}} = \left[ {\begin{array}{*{20}{r}} {0.75}&{0.00}&{0.00}&{0.00}&{0.80}&{0.49}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}\\ {0.00}&{0.74}&{0.00}&{0.00}&{0.00}&{0.00}&{0.64}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}\\ {0.25}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.26}&{0.00}&{1.00}&{0.00}&{0.70}&{0.00}\\ {0.00}&{0.26}&{0.00}&{0.50}&{0.00}&{0.12}&{0.36}&{0.00}&{0.33}&{0.00}&{1.00}&{0.00}&{0.42}\\ {0.00}&{0.00}&{0.50}&{0.50}&{0.00}&{0.38}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.00}&{0.58}\\ {0.00}&{0.00}&{0.50}&{0.00}&{0.20}&{0.00}&{0.00}&{0.74}&{0.67}&{0.00}&{0.00}&{0.30}&{0.00} \end{array}} \right]{\text{。}} $

为了得到更好的收敛结果,需要在调整初期就选对优化调整方向,将重要的几名工人都分配到其擅长的工位或者瓶颈工位,需要多次运算收敛才能训练出一个合理的工人分配权重和各工位的瓶颈系数权重,以便在调整初期就将工人尽可能合理地分配。中期可以舍弃调整潜力较小,转化效率低的染色体,从而跳出局部最优解。通过算例的分析,可以看出,通过工人在不同工位的调整,在保证节拍时间的前提下减少工人的工作量,并且可以提高装配线的平衡率。通过图6所示的算例收敛曲线图可以看出,优化算法可以快速地收敛,新的调配方案下,染色体适应度总评估函数曲线⑤逐渐趋于稳定,最小工位完成度百分比 ${{\min}}{{{Q}}_{k}}$ 曲线①最终收敛于局部最优解,各工位完成度百分比的均方根 $\operatorname{var} {Q_k}$ 曲线④逐渐降低为零,因此所有工位都可以同时完成任务,可继续优化的潜力也逐渐降低。工位平均值 ${\rm{mean}}{Q_{k}}$ 和最高工位完成度百分比 $\max {Q_{k}}$ 不断降低至和 $\min {Q_{k}}$ 一样。注意到染色体适应度 $F$ 的曲线略高于 ${{\min}}{{{Q}}_{k}}$ 且几乎重合,这是因为在评估函数中, $\min {Q_{k}}$ 占了大约0.9的权重。此外当 ${{\min}}{{{Q}}_{k}}$ 的值超过0.8以后,上升速度逐渐放缓,而均方根和最高工位的值却依然在不断下降。这说明随着调整不断进行,最高工位的调整潜力需要经过多次调整才能转移至最低工位,调整转化效率也在不断下降,往后继续优化的空间越来越少。由此看出,此类方法有效地平衡各工位完成度,提高了工人的饱满度。通过逐步调整均衡工人在不同工位的时间,使工人在强度和复杂度不同的工位上,分配得更加合理。

图 6 算例对应的相关参数的收敛曲线图 Fig. 6 Convergence curve of related parameters to the example
4 结论

本文分析了混流装配线上不同工位存在效率差异,工人如何进行精确的分配与动态调度的优化问题,建立了考虑工人工位效率差异且可流动分配的混流装配线工人优化数学模型,引入混流装配线,考虑周期性分布、工位效率、流动因数等更加全面的评估方法。本文提供的方法对实际工厂混流装配线适应性、针对性强,分析的各种评估因素的影响,在保证节拍时间要求的条件下,给出了一套相对优化的工人调配方案。

在下一步研究中,考虑工人在不同工位的移动时间、在不同工位的配合效率问题,工人操作方面具体到装配工人动素。在工人和机器人协调完成装配工作时装配工人的优化问题也是拓展研究的方向[18-19]

参考文献
[1]
杨世君, 赵玲, 齐二石. 基于GT-NSGA2的混流装配线设施规划与布局应用研究[J]. 工业工程与管理, 2018, 23(01): 64-70.
YANG Shijun, ZHAO Ling, QI Ershi. A research for the facility layout problem of mixed model assenbly line based on GT-NSGA2[J]. Industrial Engineering and Management, 2018, 23(01): 64-70.
[2]
江新利, 苏平, 戚留举. 冷柜门体混流装配线排序问题研究[J]. 工业工程, 2017, 20(03): 53-59.
JIANG Xinli, SU Ping, QIN Liujun. A study of mixed-model assembly line sequencing problem of freezer door[J]. Industrial Engineering Journal, 2017, 20(03): 53-59. DOI: 10.3969/j.issn.1007-7375.e16-1121.
[3]
BATTAÏA O, DELORME X, DOLGUI A, et al. Workforce minimization for a mixed-model assembly line in the automotive industry[J]. International Journal of Production Economics, 2015, 170: 489-500. DOI: 10.1016/j.ijpe.2015.05.038.
[4]
OKSUZ M K, BUYUKOZKAN K, SATOGLU S I. U-shaped assembly line worker assignment and balancing problem: a mathematical model and two meta-heuristics[J]. Computers & Industrial Engineering, 2017, 112: 246-263.
[5]
AKPINAR S, BAYHAN G M. Performance evaluation of ant colony optimization-based solution strategies on the mixed-model assembly line balancing problem[J]. Engineering Optimization, 2014, 46(6): 842-862. DOI: 10.1080/0305215X.2013.806915.
[6]
刘绘珍, 张毕西, 张湘伟. 考虑工人差异性的混合生产线工人分配优化模型[J]. 科技管理研究, 2012, 32(09): 210-213.
LIU Huizhen, ZHANG Bixi, ZHANG Xiangwei. Optimization model of worker operation assignment in production line[J]. Science and Technology Management Research, 2012, 32(09): 210-213. DOI: 10.3969/j.issn.1000-7695.2012.09.050.
[7]
常建娥, 李帅, 莫易敏, 等. 基于装配相似性与灰色模型的汽车装配工时预测[J]. 工业工程, 2018, 21(03): 87-92.
CHANG Jian′e, LI Shuai, MO Yimin, et al.. Man-hour prediction method for automobile assembly based on assembly similarity and Grey Mode[J]. Industrial Engineering Journal, 2018, 21(03): 87-92. DOI: 10.3969/j.issn.1007-7375.2018.03.011.
[8]
何善平, 奚立峰. 发动机装配线平衡方法研究[J]. 工业工程, 2005, 8(3): 83-88.
HE Shanping, XI Lifeng. Method for engine assembly line balancing[J]. Industrial Engineering Journal, 2005, 8(3): 83-88. DOI: 10.3969/j.issn.1007-7375.2005.03.019.
[9]
刘芹. 基于智能优化算法的汽车发动机混流装配线排序问题研究[D]. 燕山大学, 2014.
LIU Qin. The car-motor mixed model assembly line sequencing research based on intelligent optimization algorithms[D]. Yanshan university, 2014.
[10]
张宏林, 殷复鹏, 吴爱华. 双边多工位装配线平衡问题[J]. 计算机集成制造系统, 2013, 19(2): 421-428.
ZHANG Honglin, YIN Fupeng, WU Aihua. Heuristic algorithm of two sided with multi-parallel stations as assembly line balancing[J]. Computer Integrated Manufacturing Systems, 2013, 19(2): 421-428.
[11]
DELICE Y, AYDOĞAN E K, ÖZCAN U, et al. A modified particle swarm optimization algorithm to mixed-model two-sided assembly line balancing[J]. Journal of Intelligent Manufacturing, 2017, 28(1): 23-36. DOI: 10.1007/s10845-014-0959-7.
[12]
LI Z, TANG Q, ZHANG L P. Two-sided assembly line balancing problem of type I: Improvements, a simple algorithm and a comprehensive study[J]. Computers & Operations Research, 2017, 79: 78-93.
[13]
BUKCHIN Y, RAVIV T. Constraint programming for solving various assembly line balancing problems[J]. Omega, 2018, 78: 57-68. DOI: 10.1016/j.omega.2017.06.008.
[14]
KUCUKKOC I, ZHANG D Z. Mixed-model parallel two-sided assembly line balancing problem: A flexible agent-based ant colony optimization approach[J]. Computers & Industrial Engineering, 2016, 97: 58-72.
[15]
SUNGUR B, YAVUZ Y. Assembly line balancing with hierarchical worker assignment[J]. Journal of Manufacturing Systems, 2015, 37: 290-298. DOI: 10.1016/j.jmsy.2014.08.004.
[16]
LI Z, KUCUKKOC I, NILAKANTAN J M. Comprehensive review and evaluation of heuristics and meta-heuristics for two-sided assembly line balancing problem[J]. Computers & Operations Research, 2017, 84: 146-161.
[17]
AKPINAR S, ELMI A, BEKTAŞ T. Combinatorial benders cuts for assembly line balancing problems with setups[J]. European Journal of Operational Research, 2017, 259(2): 527-537. DOI: 10.1016/j.ejor.2016.11.001.
[18]
[19]
PEREIRA J, ÁLVAREZ-MIRANDA E. An exact approach for the robust assembly line balancing problem[J]. Omega, 2018, 78: 85-98. DOI: 10.1016/j.omega.2017.08.020.