-
现代业务的工作流技术是在网络流的基础上以服务为基本元素进行架构,使多个服务相互协作来完成整个业务。工作流系统将业务流程抽象化,划分为诸多工序,并结合工序中的服务属性,确定最佳完工路径。然而,目前企业的项目流程,往往因为一个或者几个工序出现问题而影响整体,如追求效率而忽略了服务质量或者追求服务质量而拖延了完工时间,使得整个项目的完工时间和完工质量失衡。为此,应该使用更合理的方法,在业务流程规定的截止期内,选择一条能够有效提升复杂项目准确率的路径,达到既能充分利用资源,又能使效率和准确率实现平衡的目的[1]。
本文提出了一种加工型产品工作流在限定完工时间内,保证工序完工质量最高的算法,即实现了完工路径质量的串归约优化。
HTML
-
组装工艺的一般过程分为备料、形成坯件、零部件加工、部件组合、总组合和表面涂饰6个环节,存在虚拟的开始任务和结束任务,分别为申请和竣工,则该业务流程可抽象化表示p1, p2, p3, p4, p5, p6, ps, pe。此时每个环节对应一个服务池Sp,对应的服务带有一定的属性参数,数据如表 1所示。
任务池(R) 服务池(S) p1 s11(3, 0.92); s12(4, 0.94); s13(5, 0.97); p2 s21(2, 0.96); s22(3, 0.98); p3 s31(2, 0.94); s32(4, 0.96); s33(5, 0.98); p4 s41(5, 0.95); s42(7, 0.97); p5 s51(3, 0.96); s52(5, 0.97); s53(6, 0.98); p6 s61(3, 0.96); s62(5, 0.97); -
由以上的任务和服务列表,建立如图 1所示的工作流图。
基于图 1的工作流图,规定本业务流程的截止期ψ=21,采用本文的传统单向目标算法和基于串归约的时间-准确率优化算法进行计算。
-
1) TMG算法。调用式(5)求得对应的工作流程为s11->s21->s31->s41->s51->s61,此时对应的限定条件Tmin=t11+t21+t31+t41+t51+t61=16,则可求得对应工作流程的准确率A=a11a21a31a41a51a61=0.727;
2) AMG算法。调用式(6)求得对应的工作流程为s13->s22->s33->s42->s53->s62,此时对应的限定条件Amax=a13a22a33a42a53a62=0.859,则对应工作流程的完工时间T= t13+ t22+t33+t42+t53+t62=31。
-
结合业务流程的任务及其对应的服务属性,调用算法SRO可得:任务p1自由度为[0, 3],任务p2自由度为[3, 6],任务p3自由度为[5, 8],任务p4自由度为[7, 10],任务p5自由度为[12, 15],任务p6自由度为[15, 18],并可求出各个任务在相应的任务自由度内,不同时间开始执行取得的最大准确率,其计算过程及结果如表 2所示:
任务 不同任务在不同时刻达到的准确率 p6 f(6, 15)=max{0.96, 0.97}=0.97;f(6, 16)=max{0.96, 097}=0.97;
f(6, 17)=max{0.96}=0.96; f(6, 18)=max{0.96}=0.96;p5 f(5, 12)=max{f(6, 15)*0.96, f(6, 17)*0.97, f(6, 18)*0.98}=0.941;
f(5, 13)=max{f(6, 16)*0.96, f(6, 18)*0.97}=0.931;
f(5, 14)=max{f(6, 17)*0.96}=0.922;
f(5, 15)=max{f(6, 18)*0.96}=0.922;p4 f(4, 7)=max{f(5, 12)*0.95, f(5, 14)*0.97}=0.894;
f(4, 8)=max{f(5, 13)*0.95, f(5, 15)*0, 97}=0.894;
f(4, 9)=max{f(5, 14)*0.95}=0.876;
f(4, 10)=max{f(5, 15)*0.95}=0.876;p3 f(3, 5)=max{f(4, 7)*0.94, f(4, 9)*0.96, f(4, 10)*0.98}=0.858;
f(3, 6)=max{f(4, 8)*0.94, f(4, 10)*0.96}=0.841;
f(3, 7)=max{f(4, 9)*0.94}=0.823;
f(3, 8)=max{f(4, 10)*0.94}=0.823;p2 f(2, 3)=max{f(3, 5)*0.96, f(3, 6)*0.98}=0.824;
f(2, 4)=max{f(3, 6)*0.96, f(3, 7)*0.98}=0.807;
f(2, 5)=max{f(3, 7)*0.94, f(3, 8)*0.98}=0.807;
f(2, 6)=max{f(3, 8)*0.94}=0.774;p1 f(1, 0)=max{f(2, 3)*0.92, f(2, 4)*0.94, f(2, 5)*0.97}=0.783;
f(1, 1)=max{f(2, 4)*0.92, f(2, 5)*0.94, f(2, 6)*0.97}=0.759;
f(1, 2)=max{f(2, 5)*0.92, f(2, 6)*0.94}=0.742;
f(1, 3)=max{f(2, 6)*0.92}=0.712;由f(1, 0)=0.783可知,此时的完工准确率最大,则可明确基于串归约算法的最佳路径为:任务p1从0时开始,用对应的s13服务,所用时间为5;任务p2从5时开始,用对应的s22服务,所用时间为3;任务p3从8时开始,用对应的s31服务,所用时间为2;任务p4从10时开始,用对应的s41服务,所用时间为5;任务p5从15时开始,用对应的s51服务,所用时间为3;任务p6从18时开始,用对应的s61服务,所用时间为3。
-
结合上述不同算法求得的完工结果,可求出每种算法在不同时刻达到的准确率及所用时间,如图 2a所示;并能得到不同的完工路径,如图 2b所示。
从图 2a中可知,对应业务进行到任务p6时的准确率即完工准确率A,此时可看出AMG算法的完工准确率最大,但由于出现完工时间高于截止期的情况,因此该策略不能被执行。TMG算法和SRO算法的完工时间满足约束条件,因此利用完工准确率A1=0.783、A2=0.727,可计算SRO算法相对于TMG算法的优化率K=7.7%。因此,SRO算法具有一定优化调度优势。图 2b可知,SRO算法从开始到完成,其服务选择为s13->s22->s31->s41->s51->s61。