1.一种基于多策略深度强化学习的云制造服务组合方法,其特征在于:包括如下步骤:S1:通过现有方法获取虚拟数据集,该虚拟数据集由多个服务组成;
设一个任务T由n个子任务构成,一个子任务对应一个服务集,服务集中的一个服务对应一个动作,每个服务具有多个QoS属性值,所述QoS属性值是取[0.7,0.95]之间的任一数据值;
定义:
T={t1,t2,…ti…tn},ti表示T的第i个子任务,i=1,2,…n;
表示子任务ti对应的第μ个服务,μ=1,2,…c;
表示子任务ti对应的第μ个服务所对应的动作;
表示子任务ti对应的第μ个服务QoS属性值,该第μ个服务QoS属性值是对第μ个服务对应的多个QoS属性值进行归一化后得到的;
m1为当前任务T求得的服务链中所有服务QoS值的算术平均值;
m2为间隔设定时间后,当前任务T求得的服务链中所有服务QoS值的算术平均值;
对第μ个服务对应的多个QoS属性值进行归一化得到第μ个服务QoS属性值的过程如下:第μ个服务对应的QoS属性值包括积极属性值和消极属性值;
第μ个服务对应的积极属性值的归一化计算公式如下:第μ个服务对应的消极属性值的归一化计算公式如下:其中,和分别代表第μ个服务的多个QoS属性值中最小QoS属性值和最大QoS属性值,qμ是第μ个服务的多个QoS属性值的聚合值;
S2:构建Multi-D3QN模型,将DQN算法的网络结构修改为竞争结构,将DQN算法的随机采样机制修改为优先回放机制,并在学习阶段将单估计器修改为双估计器;
Multi-D3QN模型还包括模型Q-network和模型Q-target;
S3:初始化Multi-D3QN模型的参数,初始m1=m2=0,初始化经验池D,设定优先级,初始化模型Q-network的动作值函数Q,初始化模型Q-target的动作值函数Q*;
S4:从虚拟数据集中随机选择一个任务T;
S5:令k=1;
S6:令i=1;
S7:如果m1>m2,则执行S8-1;否则执行S8-4;
S8-1:选取ti的最优动作步骤如下:判断ti对应的服务集中所有的服务的QoS属性值是否小于0:如果ti对应的第μ个服务的QoS属性值小于0,则表示有不可用服务,并执行下一步;如果ti对应的第μ个服务的QoS属性值大于或等于0,则执行S8-4;
S8-2:随机生成一个概率x1,ε1表示预设概率,如果x1<ε1,则准最优动作并执行下一步,其中,θ表示动作值函数Q的参数;
否则在中随机选择一个动作作为准最优动作并执行下一步;
S8-3:判断准最优动作对应的服务的QoS属性值否小于0:如果准最优动作对应的服务的QoS属性值小于0则屏蔽对应的服务,并重新随机选择一个动作作为否则将动作作为并执行S8;
S8-4:随机生成一个概率x2,ε2表示预设概率:如果x2<ε2,则最优动作并执行下一步,其中,θ表示动作值函数Q的参数;
否则在中随机选择一个动作作为准最优动作
S9:执行并将ti对应的服务集将ti对应的服务集中所有服务的QoS属性值和ti的下一个服务集作为一个样本存入D中,所述样本表示为S10:判断D中的样本是否到达最大容量,如果没有到达在执行下一步,否则执行S12S11:判断i是否大于n,如果是则执行下一步,否则令i=1+1并返回S8;
S12:判断j是否大于最大迭代次数,如果是将输出对应的每个服务均作为最优服务,输出和最优服务组成的服务链;
否则令k=k+1,计算m1和m2,并更新m1和m2并返回S6;
S13:利用S8得到的样本训练模型Q-network,并返回S10。
2.如权利要求1所述的基于多策略深度强化学习的云制造服务组合方法,其特征在于:所述S13中训练模型Q-network的过程如下:S13-1:设D中所有样本的初始优先级
S13-2:令c=1;
S13-3:从D中根据采样概率小批量采样b个样本,每个样本的采样概率采用如下公式计算:其中,p(hj)表示小批量采样得到的总数为b的样本中第j个样本的被采样的概率,p_hj表示小批量采样得到的总数为b的样本的第j个样本的优先级;
S13-4:将b个样本输入Q-network和Q-target中,对Q-network和Q-target中进行训练;
S13-5:令j=1;
S13-6:计算第j个样本的权重w(hj);
S13-7:如果j>b,则令yj=rj,计算第j个样本的损失lossj,根据损失lossj更新Q-network的参数θ,并执行下一步;
否则通过双估计器计算yj,计算第j个样本的损失lossj,根据损失lossj更新Q-network的参数θ,并令j=j+1返回S13-6;
yj表示第j个样本输入Q-target得到的估计函数值;
rj表示第j个样本中的最优动作所对应的服务的QoS属性值;
采用如下公式计算第j个样本的损失lossj,其中,Q(Sj,aj,θ)表示第j个样本输Q-network得到的函数值,将该函数值作为第j个样本的真实值,Sj表示第j个样本中最优动作对应的服务集,aj第j个样本中的最优动作,θ表示Q-network的参数;
S13-8:计算在c次迭代中第j个样本的损失公式如下:根据损失更新第j个样本的优先级,公式如下:p_hj←|δj| (10);
S13-9:如果c>cmax,用Q-network中的参数更新Q-target网络中的参数θ*;否则令c=c+1,并返回S13-2。
3.如权利要求2所述的基于多策略深度强化学习的云制造服务组合方法,其特征在于:所述S13-6中计算b个样本中的每个样本的权重的过程如下:其中,w(hj)表示第j个样本的权重,wi表示第i个样本的权重,maxi(wi)表示最大样本权重β表示一个指数因子。
4.如权利要求3所述的基于多策略深度强化学习的云制造服务组合方法,其特征在于:所述S13-7中,通过双估计器计算yj的过程如下:yj=rj+γQ*(sj+1,argmaxaQ(sj+1,a,θ),θ*) (12);
其中,a表示“sj+1”对应的动作集,γ表示折扣率。