工作流资源配置禁忌搜索算法优化
DESCRIPTION
工作流资源配置禁忌搜索算法优化. 潘茂林,余阳,李旭光 [email protected] 中山大学. 我们的团队研究. 三位老师,近 30 个研究生 感兴趣的研究 传统工作流技术。包括时态工作流模型,资源配置优化,过程调度优化,引擎集群技术; 面向服务工作流技术。服务组合优化,人工服务管理,过程协作中社会因素的影响。 近五年成果 2 项国家基金, 20 多项省市支持项目。 近 10 项横向应用 主要应用 电信, YWAL 的应用,增强集群和并发支持能力 物流,服务组合、伙伴协同、虚拟组织、信任与信誉 电子商务,供应链协作优化、信任与 信誉 - PowerPoint PPT PresentationTRANSCRIPT
我们的团队研究 三位老师,近 30个研究生 感兴趣的研究
传统工作流技术。包括时态工作流模型,资源配置优化,过程调度优化,引擎集群技术;
面向服务工作流技术。服务组合优化,人工服务管理,过程协作中社会因素的影响。
近五年成果 2项国家基金, 20多项省市支持项目。 近 10项横向应用
主要应用 电信, YWAL的应用,增强集群和并发支持能力 物流,服务组合、伙伴协同、虚拟组织、信任与信誉 电子商务,供应链协作优化、信任与信誉 服务外包, ITIL在路灯管理、能源外包中的应用
大纲背景与动机相关工作问题定义工作流配置问题仿真优化框架禁忌搜索算法与启发规则实验结果与评价结束语
工作流资源配置问题的复杂性业务流程结构的多样性
Aalst等从 2005年就整理并了四十多种工作流基本结构模式
现实业务中大多数流程可以用顺序、与、或、循环、并行等常用结构表示
流程优化资源限制与优化目标的多样性优化目标:平均排队时间最优,占用资源最少,平均执行成本最低,最大执行时间最短
资源限制:总成本,资源总数,执行时间,排队时间任务到达、执行时间分布的不确定性
易于数学公式描述和处理的分布。例如,泊松分布、均匀分布、指数分布
不易于数学描述和处理的分布。例如,三角分布,突发实例流
现有的一些方法 基于排队理论的数学方法
结构上化简:顺序、与、或、循环 实例到达分布近似:均匀分布、泊松分布、指数分布 单一约束与目标:资源总量不变下平均执行时间最短、资源总量不变下执行总成本最小
优化方法:主要是线性规划 基于进化算法优化方法
引入并行结构。 复合约束条件下单目标优化。例如:资源总量不变+最大执行时间约束下平均执行时间最短
基于仿真优化技术方法 更一般的工作流网络 接近真实的任务到达流,如多种分布的组合 复杂的约束条件和多目标 把业务流程看成黑盒的、动态的复杂系统
不同方法的对比排队理论 进化算法 仿真优化
结构上 顺序,与、或,循环
+并行 一般
任务输入 均匀、泊松、指数分布
无特别要求 无特别要求
约束条件 单一 多 多
优化目标 单一 单一 多
分析与建模 白盒 白盒 黑盒
求解效率 高 一般 一般
求解质量 精确 较差,可能是局部最优解
较差,可能是局部最优解
参数率定 难 较少 很少
我们的工作 运用仿真优化方法研究工作流的资源配置问题
问题求解的一般框架对复杂业务流程的支持能力。主要考虑结构多样性和任务输入分布的复杂性
定义成本约束、平均响应时间最短条件下的资源配置问题
研究特定问题解空间的特征,提出适用于禁忌搜索算法的启发规则,并实验验证了这些规则的作用与有效性。禁忌搜索算法的初始解,短、中、长期启发规则分别验证不同规则的作用与有效性分析了求解效率、解质量
问题的定义问题描述:
业务流程 P,包含循序、分支、循环和并行结构。 n个任务节点组成,令为 t1, t2,…, tn。 每个任务 ti 都对应一个可以执行它的角色 ri, ri的单个资源的成本为 ci。
约束与目标:计算每个任务 ti 需要配置的资源数目 xi,且总成本不超过一个上限 C,业务流程案例的平均执行时间最短。
( x1, x2, …, xn )即是该流程的配置向量 x。
1
Minimize AET , , , E , , ,
s.t.
*
1 2 n 1 2 n
n
i ii
x x x ResponseTime x x x
c x C
配置问题仿真优化求解框架
工作流仿真器
优化程序
input output
配置向量v
优化目标
工作流定义文件
加载
图1:工作流资源配置求解框架
解空间的特征 由顺序、与、或、循环四种结构组成的排队网络,任务到达为泊松分布时,解配置问题空间。 1、
2、单调性。当其他资源数量不变,增加一种资源都有助于降低执行时间。
当引入并行结构后?
11
{( , , ) | [ , ], , * }n
n i i i i i ii
FR x x x l u x Z x c C
解空间的特征 由顺序、与、或、循环四种结构组成的排队网络,任务到达为泊松分布时,解配置问题空间。 1、
2、单调性。当其他资源数量不变,增加一种资源都有助于降低执行时间。
当引入并行结构上述两点都不成立。由于资源竞争,解空间变小,排队会形成局部拥堵。如堵车一样,在高成本节点拥堵会形成总体成本上升。
直观的思路:用上述公式预估初始解。 监控排队成本,作为禁忌算法的中期策略。
11
{( , , ) | [ , ], , * }n
n i i i i i ii
FR x x x l u x Z x c C
基本禁忌搜索算法与要素禁忌搜索算法须确定以下几个要素:初始解产生规则,
邻域的采样规则,短期记忆和藐视准则,以及中期和长期记忆。
算法 1 基于禁忌搜索的仿真优化算法
1. 按照一定的策略在可行域 FR中选择一个初始解 x0,并令 0now bestx x x ;
2. 集中搜索阶段(Intensification Phase):
2.1) 如果本次集中搜索已消耗的仿真次数超过一次集中搜索所允许使用的最大仿真次数,则
进入第 3步
2.2) 在当前解 nowx 的邻域 ( )nowN x 中,选择一个子集 ( )nowS x (采样);
2.3) 将 ( )nowS x 中的元素作为仿真的配置进行仿真,并根据仿真结果挑选效果最好的一个解nextx
2.4) 更新记忆(包括短期,中期和长期记忆)
2.5) 令 now nextx x ,如果 nextx 优于 bestx ,令 best nextx x
3. 多样化阶段(Diversification Phase):
3.1) 如果已经用完了仿真次数,则停止整个搜索过程;
3.2) 根据长期记忆,选择一个新的初始解 nowx ,回到第 2步执行。
初始解的产生算法以随机的方式产生初始解,但是费用接近而不超过 。显然,如果选择离在上边界太近,算法易陷入局部最优,太远则效率不高。初始解产生算法见算法 2。
1
0.25* ( * )n
i ii
C C c l
算法 2 初始解产生算法
1. 为 x0的每个分量 xi(1≤i≤n)在资源上下界范围[li, ui]中以均匀的概率随机取值;
2. 判断 0
1 1
* 0.25* *n n
i i i ii i
c x C c l
是否成立,若成立,算法结束;否则,重复 3直至该条件被满
足;
3. 随机产生 [1, ]j n ,令 0jx 在 0[ , ]j jl x 范围内以均匀的概率随机取值。
配置向量的邻域与采样 x的邻域
一维(左右两点) 二维(上下左右四点)三维( 8 点) K 维( 2N个相邻的点)
采样,确定下一解搜索的方向 由于每个配置仿真一次,需要耗费大量时间,因此减少
采样点非常重要。 ( 1 )优先搜索排队成本高的节点,资源增加的方向 ( 2 )选择合理的采样量
短期记忆短期记忆,即禁忌表,用于避免搜索回到一个已经搜索过的解。
算法 3 禁忌表更新算法
当从当前解 xnow移动到候选解 y时:
如果 ( ) 1nowinc i iy N x y x 或者 ( ) 1now
dec i iy N x y x ,将 , , nowii x count 加入禁忌表;
如果 ( ) 1 1nowswap i i j jy N x y x y x ,将 , x , now
i 1i count 和 , x , nowj 2j count 加入禁忌表
(或者更新对应项的 count值);
中期记忆中期记忆用于将搜索过程引向一个有希望找到好的解的区域。
直观就是倾向于为拥堵严重的地方添加资源
算法 4 中期记忆更新算法
1. 根据 nowx 和 nextx ,确定资源数目将要发生变化的任务集,并找出该任务集的所有后续任务组成的
集合 AS;
2. 对 ( )nowS x 的每一个解 x,
2.1) 对 x的每一个分量 xi,如果 it AS 并且 nowi ix x ,则
2.1.1) 更新 ( )i iQST t x, 为经过仿真统计得到的 ( , )iSQt x t
3. 对 nextx 的每一个分量 xi,
3.1) 更新 ( )i iQST t x, 为经过仿真统计得到的 ( , )nextiSQt x t
4. 对 AS中的每个任务 ti,
4.1) 对所有满足 i il m u 且 nextim x 的 m,将 ( )iQST t m, 设为-1。
长期记忆 长期记忆的作用是将搜索引导到从未搜索过的区域。 采用一种基于频率的方法:对于每个任务,记录它的
每一个可能的资源数目在搜索过程中被使用过的次数。在生成新一轮迭代的初始解时,尽可能地为每个任务
选择前一轮搜索中取值的次数较低的资源数目组合成新的初始解
算法 6 新一轮迭代的初始解产生算法
1. 将每个任务 ti对应的 frequency_list[i]中的元素按照 frequency从小到大排序;
2. 令 x的每个分量 xi取值为 frequency_list[i][0].resource_num;然后将 frequency_list[i][0]从表中移除;
3. 令 m=1,并执行以下过程:
3.1) 判断 x是否满足成本上限的要求,如果满足,算法结束,返回 x作为新的初始解;
3.2) 如果 frequency_list[m]为空,则 m=(m+1)%(n+1)
3.3) 如果 frequency_list[m][0].resource_num < xm,则令 xm=frequency_list[m][0].resource_num;
3.4) 如果 frequency_list[m]非空,则将 frequency_list[m][0]从表中移除;
实验数据流程结构
多种任务到达率的组合,各任务执行时间分布(见论文)
实验A与标准禁忌算法和爬山算法比较解的质量好,平均案例执行时间短。本文算法明显优于基本禁忌算法,绝大多数情况下优于爬山算法。这体现了进化算法的随机性和局部最优解的特征。
求解的效率高,仿真次数少。本文算法与基本禁忌算法比提高了近 10 倍,是爬山法的 2 倍。爬山法总是在梯度最大方向搜索,效率较高但易于陷入局部最优解;禁忌算法搜索范围广,但效率低。添加了合适的启发算法后,效率问题得到了本质的改善。验证了本文所提出的启发式规则作为一个整体的有效性。
实验 B不同规则在禁忌算法中作用分析四种实验场景
基本禁忌搜索算法;基本禁忌搜索算法+ 初始解的产生规则;基本禁忌搜索算法+ 初始解的产生规则+短期记忆规则 带启发式所有规则的禁忌搜索算法(本文算法)。
实验结果
0 100 200 300 400 500 600
52
54
56
58
60
62
64
66
68
仿真次数
最优解对应的平均案例执行时间
1算法 )2算法 )3算法 )4算法 )
实验 B不同规则在禁忌算法中作用分析 ( 1 )初始解的合理选择,将极大改善算法的收敛
速度。进一步验证了效率提高 10 倍的效果。 ( 2 )添加了邻域结构和采样规则算法后,效率进一步提升,解的质量有了进一步提高。
( 3 )添加了中长期策略,虽然对效率提升不大,平均仅节约 11 次仿真。但由于一次防真都需要大量时间,这个节约也是有价值的。更重要的是,中长期策略扩大了解空间搜索范围,对提高解的质量有明显的帮助。
结束语基于仿真优化技术应用于工作流配置优化
适应于更复杂,更一般的应用场景更一般的计算框架,不需要进行流程分析与建模
针对特定优化问题,建立合适启发规则,能有效提高进化算法解的质量和求解的效率
不足与进一步的工作
Thanks !