一种动态服务组合选择方法、装置和产品与流程

文档序号:37211132发布日期:2024-03-05 14:53阅读:24来源:国知局
一种动态服务组合选择方法、装置和产品与流程

本技术涉及服务组合选择,特别是一种动态服务组合选择方法、装置和产品。


背景技术:

1、随着服务技术的快速发展,服务消费方的需求已经不再局限于单一的基础服务,服务组合应运而生。服务组合是指当一个任务包含多个子任务时,且每个子任务都对应着一个或多个服务可用于解决该任务,通过组合这些基本的服务来为服务消费方提供增值服务,以有效应对复杂任务场景的能力。

2、然而,目前的服务选择一般是基于服务的服务质量(quality of service,qos)属性约束进行的,且大多数没有考虑到服务选择问题的动态性。具体的,当服务消费方需求或服务参数发生变化时,难以及时地对算法组合进行重组,重新推断出最优的服务组合。

3、因此,有必要开发一种动态服务组合选择方法、装置和产品,以实现动态服务组合选择,在环境发生变化时,能够高效准确地获取到最优服务组合。


技术实现思路

1、鉴于上述问题,本技术实施例提供了一种动态服务组合选择方法、装置和产品,以便克服上述问题或者至少部分地解决上述问题。

2、本技术实施例的第一方面,提供了一种动态服务组合选择方法,包括:

3、根据服务组合相关信息,生成初始化种群,对所述初始化种群进行编码;所述初始化种群中的每个个体表示一种服务组合;

4、利用种群进化算法让所述初始化种群自主进化;

5、在接收到用户需求变更通知或服务池参数变更通知的情况下,确定当前环境发生变化;

6、根据种群自主进化过程中得到的前k代种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,所述帕累托前沿代表点包括拐点、边界点、中心点;

7、根据预测得到的所述新环境种群的帕累托前沿代表点,,扩展得到第一种群,并生成第二种群;所述第一种群表示用于提高收敛性的种群,所述第二种群表示用于增加多样性的种群;

8、利用动态参数,将所述第一种群和所述第二种群结合,得到新的初始化种群;

9、利用所述种群进化算法让所述新的初始化种群自主进化,直到满足进化停止条件,得到当前环境下的帕累托最优解;

10、将所述帕累托最优解对应的服务组合确定为最优服务组合,发送给用户。

11、在一种可能的实施方式中,所述第一种群是通过如下步骤扩展得到的,包括:

12、以预测得到的所述新环境种群的帕累托前沿代表点为聚类中心,生成多个聚类,使得聚类个体的总数与所述初始化种群的个体总数一致,得到所述第一种群。

13、在一种可能的实施方式中,所述第二种群是通过如下步骤生成的,包括:

14、确定所述新环境种群的帕累托前沿代表点的上界和下界;

15、在所述上界和所述下界的范围之内,按照如下公式随机生成多样性个体:

16、dpd(i)=ld+r(i)*(ud-ld);

17、其中,所述dpd(i)是第i个所述多样性个体在决策空间上第d个维度的值,所述ld是所有所述帕累托前沿代表点在决策空间第d维度的下界,ud是所有所述帕累托前沿代表点在第d维度的上界,r是[0,1]之间随机生成的参数;使生成的个体的总数与所述初始化种群的个体总数一致,得到所述第二种群。

18、在一种可能的实施方式中,所述根据种群自主进化过程中得到的前k代种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,包括:

19、在当前环境发生变化属于种群第1次至第x次发生的变化中的任意一次的情况下,根据种群自主进化过程中得到的多个第一候选种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,所述第一候选种群表示所述前k代种群中每间隔n代进化得到的种群;所述n表示大于1的正整数;

20、在当前环境发生变化属于种群第x+1次及以后发生的变化的情况下,根据种群自主进化过程中的得到的多个第二候选种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,所述第二候选种群表示包含本次环境变化在内的前x次环境发生变化前的最后一代种群。

21、在一种可能的实施方式中,所述根据种群自主进化过程中得到的前k代种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,包括:

22、根据所述多个第一候选种群或所述多个第二候选种群的帕累托前沿代表点,按照如下公式计算所述中心点:

23、

24、其中,|xt|代表的是t时刻帕累托最优前沿解的数量,xt指的是t时刻的帕累托最优解集;

25、将所述多个第一候选种群或所述多个第二候选种群的帕累托前沿上每个目标函数的最小值的点作为所述边界点;

26、将所述多个第一候选种群或所述多个第二候选种群的帕累托前沿上垂直距离边界点连线最远的一个或多个点,确定为所述拐点;;

27、利用预测模型,根据所述中心点、所述边界点和所述拐点,预测得到所述新环境种群的帕累托前沿代表点。

28、在一种可能的实施方式中,所述预测模型通过如下步骤训练得到:

29、利用所述种群进化算法使种群自主进化,使该种群每进化n代,发生一次环境变化;所述n表示大于1的正整数;

30、记录每次环境变化后的种群信息,所述种群信息包括:种群自主进化到下一次环境变化前的最后一代种群的帕累托前沿代表点的坐标信息;

31、在环境第m+1次发生变化时,将记录的前m次所述种群信息按照时间顺序进行滑窗操作,将滑窗中的x个连续的种群信息作为一个训练样本,将该滑窗后一位的种群信息作为该训练样本的标签,生成训练样本集;

32、利用所述训练样本集,对模型进行训练,得到所述预测模型。

33、在一种可能的实施方式中,所述利用动态参数,将所述第一种群和所述第二种群结合,得到新的初始化种群,包括:

34、对于每一个所述第一种群中的个体,随机生成一个取值在[0,1]范围内的浮点数;

35、当所述浮点数小于所述动态参数时,将该个体替换为所述第二种群中对应位置的个体,得到所述新的初始化种群;所述动态参数随时间的增长而减小。

36、在一种可能的实施方式中,按照如下公式计算所述动态参数:

37、

38、其中,t表示当前进化代数与环境变化频率的比值。

39、本技术实施例第二方面提供了一种动态服务组合选择装置,所述装置包括:

40、初始化种群生成模块,用于根据服务组合相关信息,生成初始化种群,对所述初始化种群进行编码;所述初始化种群中的每个个体表示一种服务组合;

41、第一进化模块,用于利用种群进化算法让所述初始化种群自主进化;

42、环境变化检测模块,用于在接收到用户需求变更通知或服务池参数变更通知的情况下,确定当前环境发生变化;

43、代表点预测模块,用于根据种群自主进化过程中得到的前k代种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,所述帕累托前沿代表点包括拐点、边界点、中心点;

44、种群预测模块,用于根据预测得到的所述新环境种群的帕累托前沿代表点,扩展得到第一种群,并生成第二种群;所述第一种群表示用于提高收敛性的种群,所述第二种群表示用于增加多样性的种群;

45、种群结合模块,用于利用动态参数,将所述第一种群和所述第二种群结合,得到新的初始化种群;

46、第二进化模块,用于利用所述种群进化算法让所述新的初始化种群自主进化,直到满足进化停止条件,得到当前环境下的帕累托最优解;

47、最优解确定模块,用于将所述帕累托最优解所对应的服务组合确定为最优服务组合,发送给用户。

48、在一种可能的实施方式中,所述种群预测模块,包括::

49、第一种群预测子模块,用于以预测得到的所述新环境种群的帕累托前沿代表点为聚类中心,生成多个聚类,使得聚类个体的总数与所述初始化种群的个体总数一致,得到所述第一种群。

50、在一种可能的实施方式中,所述种群预测模块,还包括:

51、上下界确定子模块,用于确定所述新环境种群的帕累托前沿代表点的上界和下界;

52、第二种群预测子模块,用于在所述上界和所述下界的范围之内,按照如下公式随机生成多样性个体:

53、dpd(i)=ld+r(i)*(ud-ld);

54、其中,所述dpd(i)是第i个所述多样性个体在决策空间上第d个维度的值,所述ld是所有所述帕累托前沿代表点在决策空间第d维度的下界,ud是所有所述帕累托前沿代表点在第d维度的上界,r是[0,1]之间随机生成的参数;使生成的个体的总数与所述初始化种群的个体总数一致,得到所述第二种群。

55、在一种可能的实施方式中,所述代表点预测模块,包括:

56、第一代表点预测子模块,用于在当前环境发生变化属于种群第1次至第x次发生的变化中的任意一次的情况下,根据种群自主进化过程中得到的多个第一候选种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,所述第一候选种群表示所述前k代种群中每间隔n代进化得到的种群;所述n表示大于1的正整数;

57、第二代表点预测子模块,用于在当前环境发生变化属于种群第x+1次及以后发生的变化的情况下,根据种群自主进化过程中的得到的多个第二候选种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,所述第二候选种群表示包含本次环境变化在内的前x次环境发生变化前的最后一代种群。

58、在一种可能的实施方式中,所述代表点预测模块,包括:

59、中心点计算子模块,用于根据所述多个第一候选种群或所述多个第二候选种群的帕累托前沿代表点,按照如下公式计算所述中心点:

60、

61、其中,|xt|代表的是t时刻帕累托最优前沿解的数量,xt指的是t时刻的帕累托最优解集;

62、边界点确定子模块,用于将所述多个第一候选种群或所述多个第二候选种群的帕累托前沿上每个目标函数的最小值的点作为所述边界点;

63、拐点确定子模块,用于将所述多个第一候选种群或所述多个第二候选种群的帕累托前沿上垂直距离边界点连线最远的一个或多个点,确定为所述拐点;

64、代表点预测子模块,用于利用预测模型,根据所述中心点、所述边界点和所述拐点,预测得到所述新环境种群的帕累托前沿代表点。

65、在一种可能的实施方式中,所述装置还包括预测模型训练模块,包括:

66、进化子模块,用于利用所述种群进化算法使种群自主进化,使该种群每进化n代,发生一次环境变化;所述n表示大于1的正整数;

67、种群信息记录子模块,用于记录每次环境变化后的种群信息,所述种群信息包括:种群自主进化到下一次环境变化前的最后一代种群的帕累托前沿代表点的坐标信息;

68、训练样本集生成子模块,用于在环境第m+1次发生变化时,将记录的前m次所述种群信息按照时间顺序进行滑窗操作,将滑窗中的x个连续的种群信息作为一个训练样本,将该滑窗后一位的种群信息作为该训练样本的标签,生成训练样本集;

69、训练子模块,用于利用所述训练样本集,对模型进行训练,得到所述预测模型。

70、在一种可能的实施方式中,所述种群结合模块,包括::

71、浮点生成子模块,用于对于每一个所述第一种群中的个体,随机生成一个取值在[0,1]范围内的浮点数;

72、替换子模块,用于当所述浮点数小于所述动态参数时,将该个体替换为所述第二种群中对应位置的个体,得到所述新的初始化种群;所述动态参数随时间的增长而减小。

73、在一种可能的实施方式中,所述替换子模块,还用于按照如下公式计算所述动态参数:

74、

75、其中,所述t表示当前进化代数与环境变化频率的比值。

76、本技术实施例第三方面还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序以实现本技术实施例第一方面所述的动态服务组合选择方法中的步骤。

77、本技术实施例第四方面还提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本技术实施例第一方面所述的动态服务组合选择方法中的步骤。

78、本技术实施例第五方面还提供了一种计算机程序产品,,所述计算机程序产品在电子设备上运行时,使处理器执行时实现如本技术实施例第一方面所述的动态服务组合选择方法中的步骤。

79、本技术实施例提供了一种动态服务组合选择方法,该方法根据服务组合相关信息,生成初始化种群,对所述初始化种群进行编码;所述初始化种群中的每个个体表示一种服务组合;利用种群进化算法让所述初始化种群自主进化;在接收到用户需求变更通知或服务池参数变更通知的情况下,确定当前环境发生变化;根据种群自主进化过程中得到的前k代种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,所述帕累托前沿代表点包括拐点、边界点、中心点;根据预测得到的所述新环境种群的帕累托前沿代表点,扩展得到第一种群,并生成第二种群;所述第一种群表示用于提高收敛性的种群,所述第二种群表示用于增加多样性的种群;利用动态参数,将所述第一种群和所述第二种群结合,得到新的初始化种群;利用所述种群进化算法让所述新的初始化种群自主进化,直到满足进化停止条件,得到当前环境下的帕累托最优解;将所述帕累托最优解对应的服务组合确定为最优服务组合,发送给用户。

80、本技术实施例针对服务选择问题的动态性,提出了一种基于动态多目标优化算法的动态服务组合选择方法,将服务组合问题抽象成子集问题,将不同的组合转化为一个种群之中的不同的个体,当服务消费方需求或服务池参数发生变化时,利用先验知识(前k代种群的帕累托前沿代表点)进行种群进化,得到新的初始化种群,从而在动态环境下自适应地调整搜索策略,以适应目标函数的变化,实现动态服务组合选择。并且,本技术实施例利用前k代种群的帕累托前沿代表点,预测得到新环境种群的帕累托前沿代表点,进而预测得到用于提高收敛性的第一种群和用于增加多样性的第二种群,通过将两个种群进行动态结合,在加快种群收敛的同时保证了种群的多样性,使获取到的服务组合结果更为高效准确。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1