APP下载

碳配额约束下的需求预测与生产任务分配策略

2022-02-15徐春秋

计算机工程与设计 2022年1期
关键词:需求预测配额制造商

徐春秋,荆 雨

(郑州大学 管理工程学院,河南 郑州 450001)

0 引 言

目前国内外很多学者已将节能减排纳入企业生产运营及供应链管理中进行研究[1]。在国家政策法规和消费者低碳偏好等多重因素的联合推动下,制造商开始通过研发低碳产品、设计低碳生产线、规划绿色物流运输路径等手段,来达到节能减排的目标。在本文课题组前期的工作中,已经通过微分博弈的方法论证了在消费者低碳偏好的驱动下,制造商通过节能减排,能够占领更大的市场份额,从而获取更大的经营利润[2]。

然而,更大的市场意味着需要制造更多的产品,在低碳工艺的限制下,每单位的产品在制定生产计划、原材料采购、产品制造、产品交付和产品回收等各个环节都需要消耗一定的碳配额。同时,各系列产品的产量需要根据市场需求动态调控,如果产能过剩则会增加库存压力,造成经济损失,反之,如果产能不足则会影响客户满意度。为了在满足碳配额约束的前提下,增加经营利润,本文从制造商的角度出发,进一步研究了制造商的生产任务调度问题。

本文内容包括以下几个方面。

(1)在ARIMA模型的基础上,拓展了模型的预测维度,能够同时对多种产品的需求进行多步预测,以实现企业对市场需求的及时感知;

(2)在考虑碳配额约束的基础上,对蚁群算法进行优化,设计了一种生产任务调度策略;

(3)分别在RStudio、MATLAB上进行工作流合成和算法仿真,对本文提出的调度策略进行评估。

1 相关工作

在低碳经济的背景下,在研究制造商制造决策问题时引入碳配额约束成为一种新的趋势。在国内外学者的共同努力下,关于市场需求预测和制造任务分配问题的研究已经取得了一定的成果。

需求预测作为企业计划、决策的重要依据,能够在很大程度上影响制造商的制造决策。当前解决需求预测问题的一般步骤是:首先,采集过去一段时间的需求数据构成时间序列;其次,根据使用场景,建立适当的时间序列模型(如自回归模型(autoregressive model,AR模型)、Holt-Winters模型、ARIMA模型、模糊预测模型和基于人工神经网络技术的时间序列预测模型等);最后,通过模型预测未来需求[3]。在能源制造领域,Xu等[4]提出了一个动态向量自回归模型,用于预测中国钢铁行业的二氧化碳(carbon dioxide, CO2)排放量,分析影响CO2排放量的因素,从而为当局制定能源政策和规划提供参考。Ventura等[5]基于Holt-Winters模型和人工神经网络模型实现了对PM2.5排放量的有效预测。在航空运输领域,Dantas等[6]针对需求预测问题,结合机器学习技术对Holt-Winters模型进行优化,提高了模型的预测精度。在食品制造领域,Fattah等[7]基于ARIMA模型实现了对市场需求的精确预测,从而为制造商的供应链决策提供指导。Rizkya等[8]通过运用ARIMA模型,对某产品的不同配送中心的需求进行预测,并通过实验验证预测性的良好。Noh等[9]将遗传算法与门控循环单元相结合,开发出一种新的GA-GRU的混合预测模型,提高了对产品需求预测的准确度。为了提高供应链系统的整体运作效率,优化资源配置,Jilimci等[10]通过向量回归算法和不同的时间序列分析模型相结合,提高整个供应链系统预测的准确性。上述工作在不同的应用领域发挥了良好的作用,为解决制造商需求预测问题提供了借鉴思路。然而,由于市场对制造商旗下不同产品的需求各不相同,为了精准决策,需要进一步缩小预测的粒度。因此,需要对现有模型的预测维度进行拓展。

制造商任务分配问题与背包问题类似,是一种NP困难问题。解决此类问题的一般思路是:先建立模型,然后根据优化目标进行求解。当问题规模较小时,可以用整数规划的方法进行求解。随着问题规模的扩大,为了保证求解效率,可以通过遗传算法,粒子群算法等启发式算法进行求解[11]。作为启发式算法之一,蚁群算法最初是为解决旅行商问题而提出的。在研究人员的不断努力下,蚁群算法经过演化变形,已经被广泛应用在求解线性规划问题,非线性优化问题,多目标优化问题等不同场景中。Ivars等[12]建立了两种并行ACO架构(独立蚁群和并行蚂蚁)对供应链网络实现动态分析,得出随着并行实例数量的增加,并行蚂蚁可以在更少的迭代中达到更高的解决方案质量。为了解决多准则供应商选择问题,Luan等[13]基于遗传算法和蚁群优化算法,开发了遗传算法和蚁群算法的混合算法,并在数值实验中验证了其可行性和有效性。在供应链协调管理方面,Lu等[3]将事件放入动态的供应链网络中,通过应用具有粒子群优化和蚁群优化的混合算法建立模型,并得出基于事件的混合算法模型具有优于粒子群和蚁群的有效性和优越性。在供应链联合库存管理与成本优化方面,Yu等[14]针对目前的研究成果和不足,利用蚁群算法和模糊模型的基本思想,提出了一种更加系统,完善的供应链库存优化模型,适应集成供应链管理的库存控制问题。唐慧玲等[15]考虑带有碳排放约束的车辆路径问题,提出了一种改进的蚁群系统算法对多目标的非线性规划模型进行求解,并得出改进蚁群算法能够较好地处理低碳车辆路径问题。Nurjanni等[16]为解决当前形势下供应链管理方法与环境、经济问题等的平衡,建立了一个多目标优化数学模型,在计算的过程中利用加权和方法对模型进行优化,并得出模型处理成本与环境问题之间权衡的能力。

2 基于优化蚁群算法的制造商任务分配策略

2.1 问题描述

制造商研究如何在市场需求、资源人力等因素的约束下,科学合理制定生产计划,并为生产车间分配生产任务,从而获得最优利润的问题可以归纳为制造商任务分配问题。为了更好地对该问题进行描述,我们把制造商任务分配决策框架划分为3个层次,分别为企业资源池层、决策平台层和生产车间层,具体框架如图1所示。

图1 制造商任务分配决策框架

企业资源池层包括企业获得的碳配额、人力资源、原产料等维持生产所需要的资源。本文在人力资源与原材料一定的情况下,制造商在碳配额的约束下为各个生产车间进行任务分配,同时也为其分配了完成该任务所需要消耗的资源。决策平台由需求管理、资源管理、效益管理3个模块组成,以市场需求为依据,在有限资源的约束下,寻找一个最优决策,以获得期望效益。其中,调度决策过程如图2所示。

图2 调度决策过程

首先,传感器获取市场上客户对旗下各类产品的需求量,企业资源池中各种资源的状态,企业制定的经济效益目标等信息;通过改进后的ARIMA模型对下一阶段的市场需求进行合理预测;把预测结果和所需资源列表发送给全局调度器。

算法1: 全局调度算法

PROCESS: Global_Scheduler()

INPUT:R(t),U(t)

OUTPUT:X(t)W(t)

(1) ifΡ(t)&U(t) do

(2) ACO(R,U,X)

(3) generateW(t) byX(t)

(4) allocateW(t) toL(t)

(5) done

(6) end if

(7) end procedure

其次,全局调度器根据预测结果和资源状态,调用优化蚁群算法对制造商任务分配问题进行求解,得到任务分配矩阵,并下达给生产车间。实现过程如算法1所示。

最后,工作在生产车间层的本地调度器,根据接收到的生产任务,调度本身拥有和分配而来的资源,组织生产。实现过程如算法2所示。

算法2: 本地调度算法

PROCESS: Local_Scheduler()

INPUT:X(t)W(t)

(1) for d in 1∶k do

(2) ifX[d][i]!=0 do

(3)W[i]=W[i]-X[d][i]*E[d]

(4) allocate resource to production

(5) done

(6) end if

(7) done

(8) end procedure

生产车间是具体执行产品制造任务的实体。各个车间接收任务后,需要根据任务量,统筹资源,进行生产。同时,生产车间需要及时上报资源状态,为制造商决策提供依据。

为了方便问题量化求解,可以对相关的实体进行抽象,实体参数表示及其对应的含义见表1。

表1 系统模型参数及其对应的含义

当目标为利润最大化时,制造商任务分配问题的目标方程如式(1)所示

(1)

约束方程如下

(2)

(3)

(4)

(5)

(6)

2.2 基于改进ARIMA模型的多产品、多阶段预测

当前,市场对不同产品的需求数量是动态变化的,制造商对市场偏好变化的感知往往存在一定的滞后性。如果采用静态的任务分配策略指导生产,容易因反应滞后而导致前期供不应求影响市场占有,后期供大于求造成产品积压。

解决该问题的普遍思路是通过建立合适的预测模型,提前预测市场变化。ARIMA模型作为最常见的时间序列预测的模型之一,已经被广泛应用于供应链中,在需求预测方面提供了良好的预测性能。现有ARIMA模型主要以单一参数为预测对象,如某种资源、某种产品。然而,制造商旗下的产品往往涵盖了不同类别,不同型号,为了精细化生产计划,需要在现有ARIMA模型的基础上对预测维度进行扩展。ARIMA模型建模过程如图3所示。

图3 ARIMA模型建模过程

(7)

(8)

(9)

(10)

(4)对模型参数B=(λ1λ2…λp1θ1θ2…

θq) 进行估计,常用的估计方法有最小二乘法和极大似然估计。把式(10)中的不可观察量 {ξt} 提到一边,可得式(11)

(11)

(12)

(13)

用式(14)表示对一种产品进行预测。同理,可以对预测模型进行维度拓展,由于P=[1,2,…,k] 表示旗下所有产品的集合,所以拓展后的预测模型可以用式(15)来表示,即运行一次预测算法即可对多种产品的市场需求进行多阶段预测

(14)

(15)

2.3 基于优化蚁群算法的任务分配策略

结合制造商生产任务分配问题实际,对蚁群算法的算法流程和参数设置进行优化。

首先,利用传统蚁群算法求解生产任务分配策略时,为了得到全局最优策略,需要频繁变更各生产车间的任务。然而,在实际生产中为了保证生产效率,各生产车间生产的产品的种类一般相对固定。频繁变更生产的产品类别意味着需要对人员进行培训或者调动,这与提高生产效率的初衷是相悖的。为了避免系统频繁干涉生产过程,可以对各条生产车间上的当前任务进行记忆。对比市场需求预测结果,与生产车间任务状态,在执行算法时尽量保证生产类别一致,只对生产数量进行调整。

其次,考虑各条生产车间的负荷均衡问题,改进传统蚁群算法,赋予蚂蚁车间负荷状态感知的能力。我们定义车间生产负荷在最高负荷的[low,High]之间,称为正常负荷。如式(16)所示,负荷低于Low成为低负荷车间。反之,高于High则成为高负荷车间,如式(17)所示。其中,阈值Low和High的值可以根据生产实际进行调整。如果生产车间负荷过高,容易损耗机器寿命,甚至影响车间的稳定运转。设计算法时,需要提高该类生产车间的信息素浓度,激励蚂蚁为其分配更多的生产任务。负荷过低时,则会造成资源浪费,影响经营利润。设计算法时,需要降低该类生产车间的信息素浓度,以达到减少任务量的效果

(16)

(17)

运用优化蚁群算法求解制造商任务分配问题的总体流程如图4所示。

图4 优化蚁群算法总体流程

(2)产生初始任务分配方案K0。 按照先到先分配的原则,依次把产品生产任务分配到每个车间,之后生成并初始化一只蚂蚁。

(3)把生产任务分配给生产车间。在t时刻蚂蚁A把任务pj分配给Li的概率如式(18)所示。其中,TP表示待分配任务表,TL表示未过载的生产车间表

(18)

(4)更新TP和TL,假设pj已经被完全部署于Li,把pj从TP移出。若Li负荷超过设置的阈值,将其从TL移出,并返回(3),否则跳到(5);

(5)计算当前方案下的制造商利润LR,更新当前最优解;

(6)根据生产车间状态更新信息素矩阵。更新方式如式(19)所示,其中ρ为挥发因子

(19)

(7)根据设置的迭代次数,循环执行(2)到(6)。全部运行结束后,得到全局最优解,在MATLAB中进行仿真,并记录结果。

3 实验与评价

实验基于RStudio Version 1.3.1056(R版本为4.0.2)和MATLAB R2013a(8.1.0.604)完成。在RStudio上进行时间序列合成、取样及预测。然后,把需求预测的结果导入MATLAB,运行优化蚁群算法,并记录仿真结果。分为预测模型性能评价、优化蚁群算法性能评价两个部分,分别与相关工作进行实验对比,对提出的任务分配策略的性能进行评价。

3.1 预测模型性能评价

借鉴文献[17]设置实验,对模型的预测性能进行评价。首先,对于每种产品pi在RStudio上生成正态分布随机数并加上一个随机扰动作为合成的市场需求,每天取样一次,取样730次,构成一个两年的时间序列,作为测试样本。

以产品p1为例,当h为1、3时,3种模型预测结果分别如图5(a)、图5(b)所示。

图5 不同模型的预测结果对比

结果表明,3种模型的预测结果均有一定程度的滞后性。使用AR模型和Holt-Winters模型对市场需求进行预测,其预测结果会围绕一段时间的需求均值上下波动。但是,从预测结果和真实工作流拟合度的角度出发,ARIMA模型相比其实两种模型性能较优。

当预测步数为1~4时,3个模型的预测误差如图6所示。

结果表明,从预测误差方面考虑,ARIMA模型优于AR模型和Holt-Winters模型。

由图5、图6可得,选用ARIMA模型进行需求预测,可以得到更加精确的预测结果。制造商每次获取市场需求数据需要消耗大量的资源和时间。为了减少不必要的资源消耗,可以在保证预测精度的条件下提高预测步数,从而减少获取市场需求数据的频率。为了确定ARIMA模型的最佳预测步数,进一步设置实验,并记录不同预测步数下的预测误差,结果如图7所示。

结果表明,当h≤4时,ARIMA模型的预测误差随预测步数的增加呈缓慢上升趋势。此时,模型的预测精度并未随着步数的增加而明显降低。当h=5时,预测误差相比之前发生了一次较大的跃升,这是由于模型已经不具有显著性导致的。从预测的精确度和预测的效率两个方面综合考虑,理想的预测步数应为2到4之间。

3.2 优化蚁群算法性能评价

借鉴文献[18]设置实验,对优化蚁群算法的性能进行评价。假设每种产品单位产品消耗的碳配额数和能获得的单位利润各不相同,且各生产车间的最大碳配额相同均为5000。制造商旗下产品种类、生产线数量、碳配额总量见表2。以产销冲突率、任务迁移率和最优利润为标准,对算法的性能进行评价。

产销冲突率计算方式如式(20)所示。当供大于求或供不应求时,如式(21)、式(22)所示,产销冲突(production and marketing conflict, PMC)值加1

(20)

(21)

(22)

图6 3种模型在不同的预测步数下的预测误差

图7 ARIMA模型在不同预测步数下的预测误差

表2 实验参数设置

当车间在t-1时刻车间不生产产品pi, 而在t时刻生产该产品时,即任务迁移(task migration, TM)值加1。

平均利润计算方式如式(23)所示

(23)

对比先到先分配(first come first served,FF)算法、蚁群算法(ACO)及优化蚁群算法(improved ant colony optimization, IACO)的PMC率、TM率和最优利润,结果如图8所示。

图8 不同算法性能对比

由实验结果可知:首先,从产销平衡的角度考虑在不同生产规模下ACO算法和IACO算法的产销冲突率接近,均低于FF算法。这是因为在碳配额约束下,FF算法不能保证任务均匀分配,各生产车间可能剩余大量无法利用的碳配额,影响产能,从而导致产销冲突。其次,在任务迁移次数方面,ACO算法的目标是寻找最优策略,为了保证充分利用资源,往往需要对任务的分配进行较大调整,因此,其任务迁移次数要远大于FF算法和IACO算法。最后,在平均利润方面,IACO算法的平均利润介于ACO算法和FF算法之间。这是因为IACO算法增加了对前一个任务分配结果的记忆功能,获得的任务分配策略是一个较优策略。

综上所述,从产销平衡,任务迁移次数,平均利润等方面综合考虑,文章提出的优化蚁群算法,能够在符合实际生产需要的同时,提高制造商利润。

4 结束语

本文在前期工作的基础上,进一步研究了碳配额约束下的需求预测和制造商任务分配问题。首先,通过改进ARIMA模型实现了对市场需求的细粒度预测;其次,提出了基于优化ACO算法的制造商任务分配策略,在符合实际生产要求的同时提高制造商利润。最后,通过设计实验验证文章提出的策略能够为碳配额政策约束下的制造商提供决策参考。

下一步还可以从以下方面进行研究:一是把人力资源,原材料等因素纳入考虑,进一步研究制造商任务分配问题;二是把碳配额约束具体到供应链的全生命周期,根据不同环节各自的特点进一步研究其调度策略。

猜你喜欢

需求预测配额制造商
一位制造商一架军机(欧亚篇)
一位制造商一架军机(美国篇)
碳减排量及碳配额的区别
鱼粉:秘鲁A季配额低于预期,内外盘短期大幅上涨
浅谈需求预测在企业中的应用
基于BP神经网络的济南市物流需求预测
基于灰色模型对上海市电力需求预测分析研究
鱼粉:秘鲁A季配额公布,国内外鱼粉价格反弹
受挫的汽车制造商在通向全新未来的十字路口止步不前
电力:可再生能源配额办法出台 确保风光水全额消纳