第34卷第1期 2013年2月 江西理工大 学学报 Science and Technology Journal of Jiangxi University of Vo1.34.NO.1 Feb.2013 文章编号:2095—3046(2013)01—0090—06 基于多目标优化的大型项目任务分配模型 刘建生, 孙彦武 (江西理工大学理学院,江西赣州341000) 摘 要:大型项目任务分配问题的多目标、多变量、多约束、大组合等特点,使得任务分配费时、费 力.文中分别以利润最大且延期较短和无延期且利润最大为目标,利用时间序列分析方法,将贪 婪算法和多目标优化问题相结合,建立两个基于多目标优化的大型项目任务分配模型.利用两个 模型分别确定某大型项目的任务分配方案,仿真结果表明:两个模型和算法均最大限度降低了大 型项目任务分配问题的时间复杂度,有效地解决了任务分配费时、费力这一问题. 关键词:大型项目;任务分配;多目标规划;时间序列分析;贪婪算法 中图分类号:0221.6 文献标志码:A Large-scale proj一 一 ●。 ect asmgnment‘ model一’■ based on 一 multi-objective optimization LIU Jian-sheng,SUN Yan-wu (Faculty of Science,Jiangxi University of Science and Technology,Ganzhou 341000,China) Abstract:The multi—objective,multi—variable,multi—constraint and large combinations of large-scale project assignments make task allocation time—consuming and 1abOriOUS.In this article,based on multi一0bjective optimization,two task allocation models of large—scale project using the method of time series analysis and the combination algorithm of greedy algorithm and multi-objective optimization are established.One model sets the most profitable and shorter delay as its goal,and the other sets no-delay and the maximum profit as its goa1.A task allocation of large—scale project is determined by using these two models.The simulation results show that these models and the algorithm can reduce the time complexity of large-scale project assignments and deal with the problems of task allocation being time——consuming and laborious. Key words:large——scale project;task allocation;multi——objective programming;the analysis of time series; greedy algorithm 个良好的任务分配方案就显得非常重要【l-2].在项目 问题的提出 随着中国经济的迅速发展,大型项目工程越来 越多.项目管理研究愈来愈多的受到学术界和企业 界的高度关注,大型项目具有工期长、任务多、费用 建设过程中,通过任务分配的优化设计以实现利润 最大化系多目标规划问题.文献[3]针对任务的实 际需求,以工期、质量、以及费用作为任务分配优化 的目标函数,提出并设计了一种基于遗传算法的任 务分配模型.但是并未从时间复杂度方面人手,解 决任务分配问题;就目前而言,解决此类问题的软 高,质量要求高等特点,因而在其运营之前制定一 收稿日期:2012—07—13 作者简介:刘建生(1959一),男,副教授,主要从事信息安全与智能计算等方面的研究,E-mail:jxgzjscn@126.c0m. 第34卷第1期 刘建生,等:基于多目标优化的大型项目任务分配模型 91 件。能直接求解的变量个数一般在10000个以下, 并且计算的时问复杂度随变量个数的增加成指数增长 [41.基于此.文中以利润最大且延期较短和无延期 且利润最大为目标,建立了基于多目标优化的两个 大型项目任务分配模型.根据运筹学的多目标规 划问题原理 .利润最大且延期时间最短为目标函 数的任务分配模型,将利润设为第一目标,即追求 利润最大,在不改变最大利润的情况下,尽可能减 小延期时间:利润最大且无延期为目标函数的任务 分配模型,可将延期时间作为第一约束条件,在延 期时间为零情况下,尽可能使利润最大化.同时采 用时间序列分析方法,给出了基于贪婪算法的最佳 任务分配模型,应用MATLAB编程,实现了大型项 目任务分配系统的优化设计,最大限度地降低了分 配算法的时间复杂度. 为具体说明此问题,设有Ⅳ个大型项目的任 务分配问题需要完成,每一项目由很多任务组成, 其中每一任务具有四个属性:完成任务所需技能, 任务量,任务价值,任务完成时限.同时,完成每项 任务只需l项技能,工人的技能、效率、工资等信息 已知.每个任务都可以完成.为保证同一任务 能够同时进行.假设项目所需设备完善.工人工资 以计件方式计算,一个工人同一时刻只能用一项技 能进行作业,对每一项任务连续完成后,方可进行 其他任务. 2 利润最大且延期较短模型的建立与求解 2.1利润最大且延期较短模型的建立 项目利润为项目任务总价值与工人工资之差. 任务总价值为: K 1 s: q k=l 其中,q 为k任务的价值,K为任务总数,k=l,2,…, . 定义1 Xl ,…, 为 工人完成任务数量的 序列; , ,…, 。为任务的剩余时间序列. 工人工作时使用不同技能得到的工资不同,设 定第i个工人用第 种技能工作时,所得日工资为 c ,日工作量为 ,则i工人用 技能完成单位工作 的工资为: =c 当i工人没有 技能时 =0 由于一个任务只需要使用一项技能去完成,则 工人完成第 项任务的工资为: PI ,xg. =1 其中, ={ 曩能, 为技能总数. 因此.工人的总工资为: .∑∑I=1 i=1【 ^=1∑ )J1 其中 ={ { 2 警 务,K为任 务总数,Ⅳ为工人总数, 为给工人i安排的任务 总数, 为i工人在第h顺序完成k任务量,i=1, 2,…,N,k=l,2,…,K,h=l,2,…,K. 所以项目总利润为: Q=S一 =∑ ∑∑1k=1 k:1 i=1【 p ×∑ :1 )JI = K f N f M K 1 1 一 【 p × x J j 第i个工人完成第k项任务的速率为: = /y ) =1 由于任务分配过程中一个工人可能需要完成 多项任务,以及使用多种技能.但工人在同一时刻 只能使用一种技能去完成一项任务.所以 工人在 第h顺序开始k任务的时刻为完成前面 一1个任 务时间的总和。即: =∑∑∑ ) =1 =l h :1 其中,k=l,2,…,K;i=I,2,…,Ⅳ;h'-1,2,…, 一1。 i工人在第h顺序完成k任务的延期时间长度为: ∑ Xt龇)一 h:l 其中, 为完成k任务的时限.i工人完成k任务 的延期时间为: 『Ki 【0 , 1.1 她Xtm)< t/k=j K ;∑ Xt )一 ,其它 92 K N 江西理工大学学报 2013年2月 项目总延期时间为:D ∑∑f =1 =l 其中, 为工人i完成 任务的任务量.对该模型 变换可得: 对于一个任务,所有工人的实际完成量为 N K Ⅳ∑ K ∑,rK∑ ∑∑ i=l h=l ),k任务的任务量为慨,实际完成 N K S.t.1i=1 ≤从 【∑ ≥ ,k=l 2一,K 为非负整数 ≥ 0 量应不小于任务量,即:∑∑ i=lh=l 一)≥帆,k=12-,…, ∑ 模型中P 为常数, 为变量,y与 为线性 = 个工人同一时刻只能完成一项任务,则有: K ∑ =1,i=1 2一,N;h=1 2一,K =1 一个工人一项任务只能做一次,则有: K 、-弋 ≤1,i=1 2一,N;k=l 2一,K. h=1 综上可得利润最大且延期较短的数学模型为: K r N f K 1 1 max Q j ㈩ K Ⅳ min D ∑∑ . n k=1i=1 y = 其中 t= Ⅳ∑ ∑㈦ , ∑ xt )一 ,其它 X h:1 S.t.11 =1∑f ikh=1 ,i=1,2,…,N;h=l,2,…K ,i=1,2,…,N;k=l,2,…K 为非负整数 M,鸶 为0-1整数 分析式(1)得,价值与自变量之间为线性关系, 延期时间与任务工作顺序有关.当不考虑延期时 问的情况下,该模型可简化为: K『 Ⅳ ] max Q=∑I:1【 g 一∑(1 p × )J l }∑ ≥ , =1 2一,K S. .1i=1 。 为非负整数 关系.当X 增大时,l,增大;当 × 越 减小时,y减小.2 所以要使】,最小, 应尽量取小.另外,任务之间 × K 没有相互约束,只有任务内部有约束.对于k任务有: N N min ∑(i=1 p 2x ̄ ) .{∑ =li=1 。 通过分析可得,当P ̄*k=min ..,卅{P }时, Xi*k=Mk,其余都为0时,y 最小,为PI%× .单个任 务均取最小值时.总任务最小. 定义2 Yt,Y2’…yK为i工人每天能完成任务最 大数量的序列,{ , :,…, }为i工人完成任务 所需时间的序列, 。,z ,…,z 为i工人完成任务的 时刻序列. =∑ =1 2一, ; =1 2一, ) J=1 则有: z yo(天), Dr, =: ∑mamax — 一7 ,Ⅲr,j00}) m:1 假设剩余时间序列中任意相邻两个任务的剩 余时间 和 小工人完成对应任务所需时间为 Z 和Z i工人完成对应任务时刻为 和z州,此 时对于 和 ,i工人对这两个任务的延期时间为: D = 一 )+ + 一 +。) 由于 川=Zw+Z 1,所以可得, D =2xz +l+2 一( + +1) 由题设可知,无论 与 + 的位置交换与否 都不影响和的值 .因此,令:c=2xz 一( + + ),c 为定值.则:D =2xz l+c.由上式可知,要使 最小,应使2xz l最小,即Z 1. 第34卷第1期 刘建生,等:基于多目标优化的大型项目任务分配模型 93 当 工人按序列由小到大完成时,延期时间 D 最小.由于每个工人相互,项目总延期时 间与每个工人工作的延期时间成线性关系.故只 要每个工人的延期时间达到最小时,项目总延期时 间会最小.利用贪婪算法 “】,优先考虑i工人完成 单位 技能的工资,算法N—S流程图如图l所示. 图1利润最大且延期较短模型的算法流程图 2.2利润最大且延期较短模型的求解 目,利用MATLAB软件进行编程计算,计算结果如 表l所示. 应用上述模型和算法,分别对5个不同的项 表1利润最大且延期较短模型的求解结果 3 无延期且利润最大模型的建立与求解 所以无延期且利润最大模型的为: 3.1无延期且利润最大模型的建立 要求任务分配不延期,实现利润最大化.可把 上述模型中,追求延期时间最小的目标转变为约束: max Q=∑= 1 ∑ i{【 q —— : = 1 ×[【 c ∑: 1 M( ̄ikh)]¨J )J (2) nnax c == 江西理工大学学报 2013年2月 对上述模型以优先考虑i工人完成单位 技能 的工资,运用贪婪算法,算法的N—S流程图m 如 图2所示. Ⅳ 厶 ∑ ^=1 ,i-1 2一,Ⅳ;h=l,2,…,K 3.2无延期且利润最大模型的求解 =s.t. l K∑㈦ K 应用上述模型和算法,分别对5个不同的项 从 ∑(f )< h=1 目,利用MATLAB软件进行编程计算,计算结果如 Ⅳ 一1 h.Xu ) 表2所示. ^I tikh=∑∑∑ ×Xik=l =1 h :1 表2无延期且利润最大模型的求解结果 = 2 K 标注:延期时问为0,说明存在无延期且利润最大的任务分配方案 图2无延期且利润最大模型的算法流程图 第34卷第1期 刘建生,等:基于多目标优化的大型项目任务分配模型 优化研究【J].系统工程理论与实践,2007(10):1 13—1 17. 95 如果采用传统优化方法求解本规划问题,计算 机需要搜索的次数为1000000亿次.如果每次计算 需要约1 s的时间,这样计算机完成计算需要约3 【2】杨耀红,汪应洛.工程项目工期成本质量模糊均衡优化研究【J]. 系统工程理论与实践.2006(7):1 12一l17. [3】曾强,杨育,王小磊,等.大型工程项目任务多目标优化调度 年的时间.应用文中所提出的分配模型和算法,从 表1和表2中可看出分配项目1所需的时间只需 5.97088 S和248.4259 s,大大降低了算法的时间复 方法[J].计算机工程与应用,2010,46(24):217—221. [4】刘怀愚,朱昌杰,李璨.时间复杂度的几种计算方法[J].电脑知 杂度. 4 结语 文中提出了大型项目任务分配的两个模型. 其一以项目利润最大及延期时间较短为优化目标 建立了多目标优化模型.其二以项目利润最大及无 延期为优化目标建立了多目标优化模型.提出了 一种基于时间序列分析方法和贪婪算法的新算法 对模型进行求解。该算法结合了时间序列分析方法 及贪婪算法各自的优点.具有较好的收敛效果.实 例表明文中提出的大型项目任务分配模型是正确 和有效的,对于促进项目管理向精细化管理转变具 有重要意义. 参考文献: [1】高兴夫,胡程顺,钟登华.工程项目管理的工期一费用一质量综合 识与技术.2011.7(19):4636—4638. 【5】黄桐城,鲍祥霖.数学规划与对策论[M].上海:上海交通大学出 版社.2o02. 【6]支学艺,何锦龙,江小华,等.灰色关联投影法在矿井通风方案 优化中的应用[J].江西理工大学学报,2010,31(1):17—19. [7]张树京,齐立心.时间序列分析简明教程【M】.北京:清华大学出 版社.北方交通大学出版社.2003. [8】蔡荣英,黄健,林大辉,等.任务分配的贪婪随机自适应搜 索过程[J].计算机工程与设计,2006,27(21):4036—4038. 【9】张治,施鹏飞.一种有效的贪婪模式匹配算法[J].计算机研究 与发展,2007,44(11):1903—1911. 【10】申时凯,吴绍兵,申浩如,等.计算最短公共超串的贪婪算法【JJ. 计算机工程与设计,2007(8):3650—3652. [11】蒋建国,李勇,夏娜.一种求解单任务Agent联盟生成的贪 婪算法[J].系统仿真学报,2008(8):366—369. 【l2】王晓东.计算机算法设计与分析[MI.3版.北京:电子工业出版 社.2007. 【13】Mark Allen Weiss.数据结构与算法分析【M】.冯舜玺,译.北京: 机械工业出版社.2004.