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