基于需求预测的云制造服务租赁配置优化

2020-12-11 11:14陈晟恺方水良唐任仲
计算机集成制造系统 2020年11期
关键词:需求预测队列效用

陈晟恺,方水良,唐任仲

(浙江大学 机械工程学院,浙江 杭州 310027)

0 引言

作为面向制造服务的一种先进制造模式,云制造基于信息技术、物联网、虚拟化、云计算等技术能够实现制造资源的虚拟化和服务化[1-4]。服务需求方可以随时按需申请使用云端化的制造服务[5-6],并将其需求描述成制造任务发布于平台;服务提供商通过平台提供的虚拟化封装技术,以服务的形式共享其制造资源和制造能力[7]。随着云制造需求复杂性的增加,简单的制造服务配置租赁已无法满足客户在工期、质量、成本等方面的要求,云平台需要通过先进的服务租赁配置方法来更好地满足大量用户的需求。目前制造服务租赁模式尚无标准的建模方式,相关研究主要围绕云服务使用模式、多任务调度及制造服务配置优化等方面展开。

在服务模式上,国内外相关研究主要集中于访问控制模型和定价机制。刘强等[8]从使用角度对制造服务进行分类,分析其在平台中的使用和访问需求控制,并设计了相应的访问控制模型,以确保服务安全使用;魏乐等[9]设计了基于竞标机制的服务定价方式,促使服务交易双方共同获利。实际应用中,Amazon的EC2通过现货实例(Spot Instance, SI)的动态定价机制来引导云服务需求配置[10],通过用户对价格、运行效果和可靠性进行权衡来达到合理利用非专用服务的目的;Javadi等[11]研究了SI的特征化,通过全面分析分时分日的服务请求和定价数据设计了相应的服务动态调度算法。在这样的服务租赁框架下,云平台需要为客户确定所需服务的租赁起止时间。

单个客户的间歇性下单是云平台制造任务到达的一种模式,如周期性的订货计划等。在制造服务可用容量的约束下,进行任务的排产是一个拓展的资源约束调度问题[12-14]。然而,云制造环境下众多客户不同任务需求的不确定性及其任务结构多样性增加了该NP-hard问题的决策难度,传统的全局优化模型及相应算法已经不再适用,对服务调度及配置优化的研究逐渐转向实时智能算法。

张宏国等[15]通过计算任务的距离相似程度,构建分段请求的资源配置方法,在时间维度上提高了资源利用率;郝予实等[16]通过功能信息重构将服务场景进行聚类,在识别用户需求的基础上综合考虑资源的使用状态,对其推荐合适的制造资源;Li等[17]对高度个性化需求的复杂任务进行建模,设计了以处理时长、准备时间、物流时间、响应成本为多目标的元启发式算法,来应对各异的任务之间存在的复杂层级关系;苏凯凯等[18]将服务优化配置问题转化为非合作博弈问题,建立了云制造环境下制造资源优化配置的非合作博弈决策模型;Abdullahi等[19]提出离散共生组织搜索算法以解决任务调度问题,该方法基于模仿生态系统中的共生关系,其解收敛很快;Zhang等[20]基于实时数据驱动,采用博弈论改进任务调度策略来处理实时、准确、增值的制造信息。

可见,随着问题的复杂化,制造服务调度的求解算法和规则设计越来越偏向于基于学习的智能算法,一方面由于传统的优化方法已不适用于复杂巨量的制造环境,另一方面是需求的变化和多样化使决策环境变得复杂,对调度模型响应能力提出了较高的要求。

本文分析了云制造环境中的制造服务过程,提出一种可行的制造服务租用模式,建立了相应的优化配置模型,以最小化租赁成本、最大化服务效用、最小化任务延期为目标,设计定时间间隔和定决策队列长度的双触发式在线调度模式,并通过需求预测提升实时动态调度的效果,最后通过相应的对比实验验证所提方法的有效性。

1 问题背景描述

云制造平台上汇集了分散的制造服务,需求用户需要通过相关模块以租赁的方式使用相应的服务。在云制造环境中,制造服务的租赁配置指将制造任务需求映射到相应的制造服务上进行处理的过程。处理制造任务需要在具体的服务资源上占用一定容量和时间[21],而不同制造服务提供商的服务资源容量及其租用状态各异,导致其所能承担的制造任务容量不同,云平台需要动态优化安排租赁服务以满足众多制造任务的需求。合理的服务租赁配置既要满足需求方最小租赁成本、最大服务使用效用、最小任务延期值的要求,又要兼顾服务可用容量的不确定性。

云平台上合理的租赁服务问题的本质是多组并行资源综合优化调度问题,一般可以采用基于工作量的分析方法,以服务效用、服务质量、服务成本等为目标,建立相应的优化模型进行求解[22],然后根据结果将各任务优化安排到相应的资源点。该方法有较高的实时性需求,其求解依赖能够快速响应的算法,如基于改进学习速率的调度结果预测算法[23]。

为了更好地安排任务,本文采用前瞻式在线调度来确定各任务被服务的起止时刻。当等待处理的任务数量或者离前一次调度的时间间隔达到阈值时,便会触发平台执行一次任务重调度计算。然而,任务所需服务容量的不确定性增加了在线调度的难度,本文通过需求预测应对这一不确定性,即对未到达平台的任务进行所需服务容量评估,并将其并入调度的决策集合。若预测将有工期紧急任务到达,则系统会预先留出空位,提前给将要到达的任务安排好可能的加工时间窗口。

本文提出的云制造服务租赁框架如图1所示,主要包括任务发布系统(c)、需求预测系统(f)和服务租赁配置系统(b)3大模块,所涉及的符号如表1所示。

表1 符号说明表

续表1

任务发布系统汇集需求客户定期发布的制造任务(a)于平台的任务池内,并根据时间顺序进入相应服务类型的等待队列(d);需求预测系统对不同系列的任务需求进行预测,并将预测结果与等待队列中的任务合并为调度决策队列(h);服务租赁配置系统通过调度触发器触发调度模块(e),计算出等待队列中各任务的服务起止时间(b)。

图1中任务等待队列(d)和服务租赁配置系统(h)均需考虑如图2所示的服务类型匹配,每个系列的制造任务对应一种所需的服务类型,而每种服务类型可以对应多个服务实例;服务租赁配置系统(b)中的黑色部分表示在调度时刻已被实际任务占用的区间,虚线框表示预留给虚拟任务的空间,实线框表示实际到达任务的服务配置区间;调度触发(e)以服务类型τ=2为例,其他类型类似,故不在该图中重复表达。

调度的触发由队列长度和时刻计数两方面决定,当时间间隔到达阈值而队列长度未到达决策所需的长度时,需要调用预测模块进行任务预测。服务租赁配置系统在安排任务时,会尽可能满足实际任务的加工配置,同时结合需求预测系统提供的虚拟任务队列为其预留服务时间和服务容量,以提升制造服务配置的前瞻性。

1.1 云制造任务和云制造服务

本文所表达的制造任务是客户需求的一种表现形式,需要类型匹配的制造服务消耗一定的容量和时间才能处理完成。客户j第s次发布到平台的制造任务记为MT(j,s),其完整的属性用元组表示为:

s>0。

(1)

本文所表达的制造服务是云制造平台的任务处理单元,由来自不同企业的制造资源能力虚拟化和封装而成。制造服务供应商i注册于平台的制造服务记为MS(i),由最大可被租用容量Ki、服务类型Φi、单位租赁费用Ci、服务效用系数Pi、t时刻等待处理的任务队列Qi(t)和正在处理的任务集合Ai(t)等属性组成,用元组表示为:

MS(i):=(Ki,Φi,Ci,Pi,Qi(t),Ai(t)),∀i∈I。

(2)

除了Qi(t)和Ai(t)是时变量之外,其余属性皆为静态值。

1.2 制造服务租赁配置

以编号为j的客户第s次发布到平台的制造任务为例,制造服务租赁配置指云平台确定MT(j,s)加工处理所用的MS(i)及其起止时刻和服务占用量。如图3所示,平台根据MT(j,s)配置满足类型匹配条件Φi=φj的MS(i),即在[bj,i,ej,i)区间内占用MS(i)部分服务容量。图中深色部分表示在决策时刻MS(i)已被占用的情况,浅色部分表示MT(j,s)的服务配置情况。

显然,服务租赁需要满足以下两个基本约束:

i∈I,j∈J,s>0;

(3)

(4)

其中式(3)表示各制造任务的租用容量不能超过服务能提供的最大容量,式(4)表示租用时长需要满足制造任务加工处理所需要的时间。

1.3 基于预测的制造任务在线调度

本文采用如图4所示的基于需求预测的前瞻式在线调度应对制造任务所需服务容量的不确定性,其输出是相应的租赁配置结果。监听到达任务子程由制造任务到达事件触发,到达的制造任务会根据其所需制造服务类型进入相应的等待队列。采用最长时间间隔和调度容量两个触发条件共同确定是否需要开始一次调度计算,当某服务类型在满足时间间隔触发调度条件时,若其等待队列长度小于调度容量(即||Qτ||

2 云制造服务租赁配置优化模型

2.1 模型假设

制造服务的租赁配置优化是一个复杂的问题,需要考虑的因素很多,为了限定本文的研究范围,进行以下模型假设:

(1)MT(j,s)的加工时段是长度固定为pj的连续区间。

(3)只要制造服务的服务容量足够,就可以支持同一时刻的多个制造任务同时租用。

(4)制造服务的服务容量可恢复,即制造任务处理结束后,会释放占用的服务容量。

(5)处理完成后,制造任务获得的服务效用由所租制造服务的效用系数Pi决定。

(6)暂不考虑制造任务和制造服务的地理分布因素。

2.2 相关约束

本文研究的制造服务租赁配置支持多制造任务并发处理,不失一般性,以单个制造任务MT(j,s)为视角构建相关约束,并使用定义为式(5)所示的租用指示变量来简化后续的约束描述。

(5)

首先,MT(j,s)只能选择1个制造服务配置租赁,被选到的MS(i)需要与MT(j,s)类型匹配。式(6)表示匹配方案只中能有1个制造服务被选择,式(7)表示不匹配的制造服务不会被选择。

(6)

(7)

其次,若最终MS(i)被租用,则需要满足式(8)所示的服务容量限制,即在任意时刻t,正在处理的制造任务所需服务容量之和小于MS(i)的最大容量。

(8)

式中Ai(t)为t时刻租用MS(i)的任务集合。

∀j∈J;s>0},∀i∈I;t>0,

(9)

其为一个以时间为变量的动态集合,会使问题求解变得困难[24]。

由于每个具体的制造任务只有1个所需的服务类型,可以按照式(10)先将所有制造服务按类型划分,再将同一类别的制造服务看作并行机环境。

Sτ:={i|Φi=τ,∀i∈I},∀τ∈T。

(10)

不失一般性,仍以MT(j,s)为例,定义式(11)所示的集合为在线调度的输入。

Wτ:=Qτ∪Fτ,τ=φj。

(11)

式中Qτ和Fτ分别为实际制造任务等待队列和虚拟制造任务预测集合。当等待队列长度足够触发调度时(||Qτ||≥Nτ),系统将会跳过预测模块(Fτ=∅),直接进入调度步骤,如图4所示。进一步,制造任务等待队列可以表示为式(12),由φj类各候选制造服务当前时刻的制造任务等待队列(式(13))拼接而成。

(12)

∀j∈J;s>0},∀i∈I;t>0。

(13)

2.3 制造服务租赁配置的优化目标

云制造环境下的制造服务租赁配置优化主要从成本、服务效用、延期3个方面考虑,相应的调度目标如下:

(14)

(15)

(16)

决策向量y(τ)(式(18))由决策集合Wτ中制造任务相关的决策变量(式(17))组成,表示MT(j,s)的开始处理时刻。

(17)

(18)

因此对于决策输入Wτ,制造服务租赁配置的优化目标可以表示为

V-miny(τ)∈N{fM(y(τ)),-fU(y(τ)),fD(y(τ))}T,

∀τ∈T;N=||Wτ||。

(19)

在这些目标中,降低租赁成本是吸引需求客户的重要手段,也是平台优化的重要目标。对于每一个MT(j,s),服务租赁成本可以表示为

(20)

即被选制造服务的租用时长、容量与其单价的乘积。

与服务租用成本类似,获得优质服务同样是吸引客户的重要的优化目标。对于每一个制造任务,其完成后制造服务的使用效用为

(21)

即所选制造服务的使用效用。

较低的任务延期是满足客户需求的重要指标,其值与服务租赁配置的结果有关。每一个制造任务的逾期量是超出约定工期的时间间隔,即

(22)

3 基于长短期记忆的制造服务容量需求预测

3.1 长短期记忆模型简介

由于自身结构的原因,普通RNN单元存在长期依赖等问题,往往得不到预期的效果,实践中会用长短期记忆(Long Short Term Memory, LSTM)等单元替换基本RNN单元。LSTM由Hochreiter等[25]于1997年首次提出,该单元在原有短期记忆单元的基础上,增加了一个记忆单元来保持长期记忆,同时辅以遗忘程度来控制长期记忆的程度。从网络结构设计的角度来说,LSTM单元通过门控制器增加了对不同时刻记忆程度的权重控制。

3.2 预测模型

3.2.1 预测目标

云制造中任务调度的本质是根据平台中制造服务的状态信息和制造任务的实时信息产生最优的任务执行方案[23]。如图1所示,预测系统的目标是根据周期性到达平台的制造任务历史数据,预测接下来同系列制造任务的服务需求容量,据此产生虚拟制造任务补充到调度模块的决策队列中。对预测系统中的模型进行训练,就是求解式(23)所表达的近似函数。

f(I0,I1,I2,…,It)≈Ot,t≥0。

(23)

式中:I0,I1,I2,…,It为采样数据t时刻的输入序列样本;Ot为采样数据t时刻的输出标签。

对于需求类型为τ的各系列制造任务,当某个调度决策时刻的等待制造任务队列满足||Qτ||

(24)

3.2.2 数据准备

如前所述,训练近似函数式(23)需要进行数据采样。以客户j为例,平台采集其周期性发布的制造任务相关数据,以到达次数s为步进量,将对应的制造服务需求容量看作如式(25)所列的序列数据。

(25)

需要注意的是,不同客户会产生不同的序列,例如需求客户j1发布的系列任务为MT(j1,0),MT(j1,1),MT(j1,2),…;客户j2发布的系列任务为MT(j2,0),MT(j2,1),MT(j2,2),…。由于不同客户的需求特性各不相同,即其服务使用量需求、到达时刻、所需服务类型、处理时长等重要属性皆存在不同的特性,需要对每一个客户产生的序列数据分别进行预测训练。

为了将所采样的序列数据导入训练模型,需要通过如图5所示的移动窗口法进行数据转化。序列数据以固定大小的窗口为单位,每次向右移动w个时间单位,将输入的原始数据整合为

t≥0,

(26)

并作为模型的输入输出数据单元。

举例来说,当w=3,且以2个时间窗为预测步长时,相应的输入输出样本表示为:

(27)

3.2.3 损失函数

由于本文预测问题不属于分类问题,各输出有相同的重要程度,这里使用均方误差(式(28))作为预测模型训练的损失函数,并用RMSProp优化算法[26]对梯度下降过程进行优化。

式中tmax为采样的最大时刻。

4 算例研究与分析

本文通过仿真算例对所提制造服务租赁配置方法进行有效性分析。采用随机分布的发生器产生研究所需的仿真算例,搭建基于Tensorflow1.2.1的LSTM预测模型,并通过DOcplex 2.7.113建立调度模块,调用IBM®ILOG®CP Optimizer 12.7.0.0求解引擎求解服务租赁配置。因为目前并无相关的应用系统或相关算例,所以采用仿真算例进行数据采样、模型训练和系统验证。

4.1 算例设计及参数设定

表2 算例生成器基本参数设定表

预测模型中input_size和num_steps为关键参数,经过图6所示的交叉实验后,选择拟合效果最好的参数组合(如图6c)作为这两个参数的值,其余参数设置如表3所示。

表3 预测模型参数设置表

4.2 实验结果分析

表4 对比实验结果

4.2.1 服务租赁成本

对于各制造任务,所提方法在服务租赁成本上的变化程度为使用需求预测和不使用需求预测的在线调度成本之比,即

(29)

图7所示为服务租赁成本比值在不同类型制造服务上的情况,可见大部分比值小于1,即使用需求预测可以缩减制造任务租赁的服务成本。

采用式(30)计算成本优化目标值提升率,基于需求预测的在线调度方法可以在总体上缩减4.50%的服务租赁成本。

(30)

其中Mτ为需要租用τ类制造服务的制造任务集合,

Mτ:={(j,s)|φj=τ;∀j∈J;s>0},τ∈T。

(31)

4.2.2 服务使用效用对比

对于各制造任务,所提方法在该目标上的变化程度是使用需求预测和不使用需求预测的服务使用效用比值,即

(32)

图8所示为服务使用效用比值在不同类型制造服务上的情况,可见大部分比值大于1,即应用制造服务容量需求预测的结果可以提升服务使用效用。

采用式(33)计算服务效用优化目标值提升率,基于需求预测的在线调度方法可以在总体上提升0.86%的服务使用效用。

(33)

4.2.3 任务延期对比

各制造任务的延期可定义为式(22),因为存在非延期的可能(即延期值为0),所以使用需求预测和不使用需求预测的任务延期差值式(34)作为评价指标,即

(34)

图9所示为任务延期差值在不同类型制造服务上的改进情况,可见任务的延期得到了较大改进。

相对于任务延期值,需求客户更关心任务的延期率。采用式(35)计算任务延期优化目标值提升率,基于需求预测的在线调度方法在总体上可以缩减5.15%的任务延期率。

(35)

综上所述,采用基于需求预测的在线调度方法可以使制造任务的服务租赁配置在成本、使用效用和任务延期方面都得到改善,主要原因是需求预测给基于事件驱动的在线调度方法带来了一定的前瞻性,从而使各制造任务的匹配和加工起止时刻安排得更加合理。

5 结束语

本文提出一种面向多种具有不同周期性的制造任务序列,考虑其后续任务量预测的云制造服务租赁配置实时优化方法,以服务成本、服务效用及其任务延期量为优化目标进行对比实验,实验结果验证了基于需求预测的在线调度方法的有效性。所提方法的实际调度计算便捷,效果良好,对云制造环境下的制造服务租赁优化具有参考价值。

然而,本文方法的改进均体现在整体统计意义上,对于任务规模较小的算例,会出现少量制造任务及其制造服务的配置目标值略微变差的情况,平台统筹安排租赁配置方式存在通过牺牲小部分客户的利益来提升整体服务效用的现象;另外,本文没有对制造任务的预测数量进行实验优化,对每个制造任务的交货期设置得也比较简单,这些不足都将在下一步研究中改进。

猜你喜欢
需求预测队列效用
队列里的小秘密
基于多队列切换的SDN拥塞控制*
小学美术课堂板书的四种效用
在队列里
丰田加速驶入自动驾驶队列
基于计算实验的公共交通需求预测方法
纳米硫酸钡及其对聚合物的改性效用
基于灰色理论的山东省能源需求预测及分析
基于灰色马尔可夫模型的公务航空市场需求预测
我国卷烟需求预测研究述评