郭羽含,冯 玥,刘万军,张 宇
(辽宁工程技术大学 软件学院,辽宁 葫芦岛 125105)
在制造企业的运营管理活动中,生产计划与维护策略是最重要的环节。由于制造系统中设备随生产活动的进行而逐渐劣化,其可靠性及产品质量随之降低,继而进入“故障”状态。“故障”状态不仅指设备停止运行,还包括其不再满足生产过程中所需的质量、产量和费用要求。维护策略即为针对“故障”状态的产生而组织和实施的维护计划,分为反应维护和预防维护两种。反应维护对已产生故障的设备进行修复,而预防维护则指在生产过程中为避免“故障”状态产生而进行的维护行为。选择合理的时机对设备进行预防维护,不但可以保证产品质量、降低生产费用,而且可以避免因设备故障而造成的损失。
预防维护可分为周期性预防维护和非周期性预防维护两种。前者要求每个周期每台设备至少维护一次[1],而后者则未限制维护时间间隔[2]。周期性维护虽然可操作性较强,但容易导致维护过剩或维护不足的问题;非周期性维护在费用控制和维护效果上更优,但其维护计划的决策则更为复杂。在实际生产过程中,由于生产和维护活动无法同时进行,无论应用何种预防维护策略,均会对生产与库存控制产生巨大的影响。单独对生产批量或维护计划进行决策难以实现整体最优。为在生产计划与预防维护策略间取得平衡,VAN HORENBEEK等[3]构建了生产和维护活动的联合模型以追求利润最大化;成国庆等[4]提出了生产批量、质量控制以及预知维护联合模型;张博文等[5]构建了以系统生产与维护总费用最小化为目标的并行机系统生产计划与预防维护联合决策的模型;冷乔等[6]提出了生产批量计划与设备预防维护计划集成决策方法;李志颖等[7]以多产品多阶段的单机系统为研究对象,构建了对设备预防维护和生产调度联合优化模型;HAJEJ等[8]提出了多机批量生产和维护的集成模型,考虑了能源消耗,旨在减少生产费用、能源费用和维护费用;XIAO等[9]构建了预防维护与生产调度联合模型,对生产费用、预防维护费用、故障维修费用和误工费用进行了优化;方玲珍等[10]为提高维护资源的利用效率,提出了多目标周期性预防维护模型;赵济威[11]为实现总利润率最大化,引入了单机生产系统的非等周期不完美预防维护与生产的联合优化策略;张博文等[12]建立了以生产与维护总成本最小化为目标的生产计划与预防维护联合决策模型;LU等[13]构建了具有多个加工阶段的维护策略和质量损失模型;AGHEZZAF等[14]提出了并行机生产计划和预防维护数学模型,简化成单机模型来进行求解;NOURELFATH等[15]研究了多产品生产系统生产计划和周期性预防维护计划的联合优化。
虽然上述研究证明了联合优化的优越性,但其模型未完整考虑制造企业生产过程中的限定因素,如文献[5]未考虑库存上限,文献[4]未考虑产能上限等。而在实际生产活动中,受费用、工时、场地限制,设备生产能力和企业仓储能力均存在极限。当优化结果超出其能力上限时,会导致产品数量无法达到预期,影响解决方案的准确度和可行性。此外,现存研究未将缺货费用纳入决策范围,如文献[5]和文献[11]均未考虑由于产品数量不足,无法及时满足客户需求而引起的违约赔偿费用。该费用与生产费用、库存费用之间相互矛盾、相互制约,未考虑缺货损失会导致模型在成本较高的周期进行生产,大大降低了模型的实用性。另外,现存研究中的联合优化模型[7,10-11]均主要针对单设备系统。目前,针对多周期、多产品种类、多设备并联的生产系统,同时将产能和库存上限、缺货费用等因素进行联合优化的研究仍然较为缺乏。
在求解算法方面,仅单纯优化生产计划已很难在可接受时间内处理大规模算例,而联合优化还会显著增大模型的复杂度,从而进一步提高求解难度。更重要的是,由于设备劣化率和生产批量之间存在非线性关系,常用的数学规划求解软件无法直接处理,因此需设计有效的近似或启发式算法。XIAO等[9]使用遗传算法对预防维护与生产调度联合模型进行求解;BERGERON等[16]设计了基于禁忌搜索和分散搜索算法相结合的启发式算法;赵世雄等[17]采用了基于循环迭代框架的求解算法;PEREIRA等[18]提出了利用粒子群优化算法评估费用和可靠性模型;FITOUHI等[19]提出模拟退火算法,以确定系统的最佳整合批量和预防性维修策略。但现存研究在求解大规模算例时效率和准确度仍需进一步提升。
本文针对多周期、多产品种类、多设备并联的生产系统,提出基于设备劣化率的保养维护和预防维护双维护模式,并以产能和库存约束、生产启动费用、生产费用、库存持有费用、缺货费用、维护费用为决策依据,对生产批量和非周期性维护计划进行联合建模。在此基础上,为了对模型进行高效近似求解,设计了任务单元规划和多邻域下降复合算法。最后,通过求解多个算例验证了模型和算法的有效性,并对实验结果进行了分析。
本文的主要贡献包括以下两点:
(1)提出生产批量与维护计划的联合决策模型,同时考虑了产能和库存上限、缺货费用、多设备并联、符合S型衰变的成品率和伽玛分布的设备劣化率等因素。
(2)根据模型提出了任务单元规划和多邻域下降复合算法,该算法能够解决多周期、多产品种类、多设备并联生产系统的生产批量和维护计划联合优化问题,并且具有较好的时间效率和求解准确度,在求解大规模算例时表现突出。
本文考虑一个多周期、多产品种类、多设备并联的生产系统,每个周期有多台设备同时生产产品以平衡生产线产能,其结构如图1所示。涉及的概念阐述如下:
(1)周期。周期t={1,2,…,T},即从第t个生产批量开始到第t个批量结束之间的时间长度。
(2)产品。产品p={1,2,…,P},即生产系统可生产P种产品。
t=1,…,T,p=1,…,P。
(1)
本文为M台设备并联的生产系统,需在T个周期内安排设备生产P类产品。为实现产品的预期数量和出产期限目标,需考虑产量、库存和生产费用等因素。此外,为保证产品质量,需对设备进行维护。如图1所示,设备在周期t生产完产品后,为维持设备的正常使用而进行不影响生产活动的保养维护;随着设备使用周期的增加,设备劣化率不断升高,发生故障的可能性增大,为将设备恢复至初始状态,应进行影响生产活动的非周期性预防维护。涉及的概念阐述如下:
(2)成品率。由于制造系统中设备随生产活动的进行而逐渐劣化,其产品质量随之降低。本文以成品率表示合格产品的概率,合格产品的概率随设备m的劣化而呈S型衰变,即
(2)
t=1,…,T,p=1,…,P。
(3)
(4)
m=1,…,M,t=1,…,T,
t′=1,…,T,α≥0。
(5)
则系统设备m的平均劣化率为
(6)
本文以多周期、多产品种类、多设备并联的生产系统为研究对象,参照企业真实环境和行业实际,及相关文献[6]、文献[9]和文献[17],以周期t内设备m生产产品p的生产启动费用、生产费用、缺货费用、库存持有费用、保养维护费用、非周期性预防维护费用的总和来确定优化目标,建立联合模型。模型涉及生产费用和维护费用两部分。
1.3.1 生产费用
(7)
(8)
(9)
(10)
因此,所有周期产品p的库存持有费用可表示为
(11)
1.3.2 维护费用
(12)
(13)
因为在周期t内设备m生产与非周期性预防性维护无法同时进行,所以生产状态满足式(14)条件是设备能否进行非周期性预防维护的前提。
m=1,…,M,t=1,…,T。
(14)
至此,本模型可归结为
s.t.
t=1,…,T,p=1,…,P;
t=1,…,T,p=1,…,P;
t=1,…,T,p=1,…,P;
t=1,…,T,p=1,…,P;
根据关注区域所有注视点持续时间总和数据(TFD),页面12的电路符号区域(“Rectangle2”)的TFD平均值最大,标题区域(“Rectangle”)的TFD平均值最小。页面13的卡通小人区域TFD平均值最长,而电路符号、电器元件三维图区域(电器零件2、电器零件1)TFD平均值小得多。页面12的TFD数据说明学生时间主要花在学习重、难点内容,而页面13的TFD数据说明学生被趣味性内容(卡通形象吸引),没有花更多时间学习重、难点内容。从提升课件学习效率看,页面12的简洁设计更好。但适当地插入趣味性的内容,可以提高学生的学习兴趣。
(15)
针对该模型,本文提出任务单元规划和多邻域下降复合算法。其中,任务单元规划算法用于制定周期性生产计划,而多邻域下降算法用于搜索二元变量邻域空间,以获取最优维护策略。
本文归纳以下4条准则,基于这些准则,设计任务单元规划算法。
(16)
假设当前决策周期为t,产品p的需求划分给某一任务单元,该任务单元由周期k(k (17) 在任务单元的分配决策中,生产费用与生产启动费用和库存持有费用有关。该任务单元的生产费用总和可表示为 (18) 该任务执行生产的前提条件为生产费用低于缺货费用,即 (19) 等价于 (20) (21) (22) (23) 任务单元规划算法详细流程如图2所示。 首先,遍历所有产品和所有周期,对于当前决策产品p和决策周期t,构造任务单元序列并根据该序列计划生产活动,每个任务单元由式(23)表示。 其次,计算在周期1~周期T内各任务单元的平均生产单价。分为两类情况: (24) (25) 2)若该设备未投入生产,则按照式(22)计算。 然后,考虑每个生产任务单元的生产数量。对于当前决策的任务单元的生产数量,分为以下几种情况: (2)被确定的生产数量总和达到需求数量(或剩余需求为0),则需求被满足,决策完毕。 (3)对于当前任务单元的生产周期k到决策周期t之前的任意周期中,若库存数量已达上限,则停止对以该周期之前为生产周期的任务单元的遍历,直接从以该周期之后的周期作为生产周期的任务单元继续遍历。 (4)否则对该任务单元进行生产,生产数量由式(17)计算,并由式(26)~式(29)更新生产数量、库存数量、剩余需求和剩余产能上限。 (26) (27) (28) (29) 多邻域下降为一种基于变邻域搜索的启发式算法,通过定义不同的邻域算子来搜索不同的邻域,从而扩大解的搜索范围,进而得到全局较优解,可有效解决大规模算例和一些传统算法无法解决的问题。本节使用多邻域下降算法求解维护计划变量,生产计划及其他变量采用2.1节算法求解。 2.2.1 算法主要结构 首先,随机生成二进制数组作为初始解,并使用任务单元规划算法计算初始解的总费用。随后,多邻域下降算法从第一个算子开始,循环使用各个算子进行一定次数的迭代来搜索邻域找到新解,并使用任务单元规划算法计算新解的总费用。若新解的总费用比当前解的更低,则将新解视为算法的当前解,直至满足终止条件。算法设置两个终止条件,分别为全局迭代阈值λtotal和单算子迭代阈值λopt。当总迭代次数达到全局迭代阈值时,迭代过程终止。另外,在算法的优化过程中,每两次得到更低费用解的间隔的迭代次数称为单算子迭代次数,当单算子迭代次数达到单算子迭代阈值时,说明已经长时间未收敛,迭代过程终止。多邻域下降算法详细流程如图3所示。 2.2.2 邻域算子 (1)取反算子。随机选取数组中一个位置,对该位置的值进行取反操作。若新解为可行解,则使用新解替换当前解。 (2)点交换算子。随机选取数组中不重复的两个位置,将其值进行交换。若新解为可行解,则使用新解替换当前解。 (3)行交换算子。随机选取数组中不重复的两行进行交换。若新解为可行解,则使用新解替换当前解。 (4)逆序算子。随机选取数组同一行或同一列中不重复的两个位置,将两点之间序列的值逆序赋回。若新解为可行解,则使用新解替换当前解。 本文实验环境如表1所示。 表1 实验环境 本节给出算例生产批量和预防维护方案的求解细节,算例考虑3台设备(M=3)、10个时间周期(T=10)和2种产品(P=2)。算法参数设置、生产批量参数和维护参数分别如表2、表3和表4所示。 表2 参数设置 表3 生产批量参数 由表3可知,生产启动费用显著高于生产费用、缺货费用、库存费用,分别最小相差近10.9倍、9.1倍和10.9倍。产能和库存上限与需求量差异较小。因此,有必要对生产和维护过程进行调控。 表4 维护参数 续表4 由表4可知,不同设备的保养维护费用取值范围相近,分别为[1,8]、[2,10]和[1,9]。设备的非周期性预防维护费用位于[81,100]区间,与保养维护费用相比最小相差近8.1倍。因此,非周期性预防维护费用和保养维护费用相比差异性较大。 联合优化模型的求解结果如表5所示。 表5 联合模型求解结果 续表5 由表5可知,产品1共生产4个周期,其中在设备1中生产94件,在设备2中生产323件。产品2共生产7个周期,其中设备1生产293件,设备2生产454件。设备2生产的产品数量多于设备1。设备2在周期7进行一次预防维护,设备1、3未进行预防维护。具体生产状态和维护方案如图4所示。 如图4所示,设备1在周期4、周期7和周期8进行生产。设备2在周期1、周期3、周期4、周期5和周期9进行生产,并在周期7进行预防维护。设备1、设备2和设备3每个周期都进行保养维护。 因此,生产启动费用、生产费用、缺货费用和库存持有费用共7 157元,保养维护费用和非周期性预防维护费用共16元,联合优化模型的求解结果为7 173。 本节对48个不同规模算例,分别使用本文算法与遗传算法[9]、粒子群算法[18]和模拟退火算法[16]进行求解,并将实验结果进行了对比。表6给出了各算法求解不同算例的费用、时间和准确度,表7对比了各算法得出解的生产费用和维护费用。 表6 各算法求解不同算例的费用、时间和准确度对比 续表6 表7 各算法求解不同算例的生产费用和维护费用对比 续表7 由表6可知,本文算法在算例规模逐渐增大时的求解质量相较于对比算法更具优势,它们之间分别最大相差17.53%、16.59%和16.72%。此外,本文算法在求解时间上也明显优于对比算法。在求解小规模算例(1/5/1)时,时间差分别为20.17 s、2.42 s、35.28 s;在求解大规模算例(10/30/10)时,时间差分别为80 244.09 s、585.29 s、34 253.09 s,平均时间分别相差2 204.91 s、64.75 s和4 385.96 s。故本文算法可同时保证求解准确度和求解速度。由表7可知,本文算法与遗传算法、粒子群算法和模拟退火算法相比,生产费用分别最大相差0.41%、0.21%、0.29%,最小相差0.08%、0.09%、0.07%;维护费用分别最大相差43.25%、25.94%、38.69%,最小无差异。 将本文算法和对比算法获得解的总费用进行对比,结果如图5所示。 由图5可知,在同一算例(10/10/2)中,本文算法实验结果更优,相较于对比算法,总费用分别低14.21%、12.39%、15.19%。对本文算法和对比算法进行迭代时间与总费用的收敛分析,结果如图6所示。 由图6可知,在同一算例(10/10/2)中,本文算法在89.12 s时总费用为4 906元,遗传算法在90.39 s时总费用为5 613元,粒子群算法在90.98 s时总费用为6 526元,模拟退火算法在90.80 s时总费用为8 590元。因此,本文算法收敛速度和求解质量均优于对比算法。 选取代表性算例(3/5/2)、(5/5/2)和(10/5/2),对本文算法的单算子迭代阈值参数和全局迭代阈值参数分别进行敏感性分析,结果如图7~图10所示。 如图7所示,在全局迭代阈值不变时,分别对3个算例的单算子迭代阈值在1~190之间进行调节。算例(5/5/2)在第70代时出现起伏。因此,单算子迭代阈值取100代之后,求解质量稳定。 如图8所示,在单算子迭代阈值不变时,分别对3个算例的全局迭代阈值在1~1 400之间进行调节。算例(10/5/2)在第900代时出现起伏。因此,全局迭代阈值取1 000代之后,求解质量稳定。 如图9和图10所示,当全局迭代阈值不变时,算例求解时间随单算子迭代阈值的增加呈线性增长趋势;在单算子迭代阈值不变时,算例运行时间在大规模算例上增长较显著,在小规模算例上增长较平缓。 本文将基于设备劣化率的保养维护和预防维护策略运用到多周期、多产品种类、多设备并联的生产系统,建立了生产批量和非周期性维护计划联合模型。在此基础上,设计了任务单元规划和多邻域下降复合算法,实现了对模型的高效近似求解。通过对大量不同规模算例进行的实验表明,本文算法在求解质量和求解时间上均优于对比算法,在求解质量上分别最大相差17.53%、16.59%和16.72%,在求解时间上分别最大相差71.25%、1.64%和84.19%。未来研究将从两个方面对本文模型进行扩展。首先,为生产批量和非周期性维护设置独立目标函数,建立多目标优化模型;其次,在模型中加入串联设备,研究更为复杂的多设备串并联生产系统。2.2 多邻域下降算法
3 实验结果与分析
3.1 算例求解示例
3.2 对比实验结果
3.3 求解质量和效率分析
3.4 敏感性分析
4 结束语