论文部分内容阅读
资源约束下的项目调度问题(resource-constrained project scheduling prob1em,RCPSP)是一类应用范围十分广泛的组合优化问题,它研究在满足资源约束和紧前关系约束的前提下,合理安排任务的开始时间和结束时间,从而达到一定的优化目标。这类问题模型丰富,应用背景复杂,因此一直受到研究学者的广泛关注。资源约束项目调度的基本问题是基于单项目调度建立起来的模型,因此该领域的研究成果也多数是用来解决单项目问题。然而,随着市场环境的不断变化和企业项目化进程的不断深入,一个企业往往要面对多个并行的项目,这些项目也必然会为企业的某些资源而产生竞争。本文研究的问题就是如何在满足资源约束的情况下合理安排这些项目的调度计划。解决这类问题的方法主要有精确算法和启发式算法两大类。精确算法计算效率低,而且对解决问题的规模有限制,因此启发式算法一直是这一领域的主要研究对象。本文所使用的遗传算法就属于启发式算法中元启发式算法的一种。遗传算法早已被用于单项目调度问题,并以取得了很好的效果。本文在此基础之上,设计了一种新的编码方式,这种编码方式在任务列表后加了一个随机产生的子项目优先值基因,这个基因的随机性保证了初始种群可以在可行解空间内均匀分布,而且该基因携带的遗传信息,可以保证在后续的算法过程中可以找到能够使项目总工期最短的子项目优先值并遗传下去。另外,本文算法在每次迭代之后,都会利用优秀个体所携带的子项目优先值信息,产生新个体加入到新种群中。这部分新产生的个体一方面可以减低算法过早收敛的可能性,另一方面又利用了遗传信息,维持了种群的整体质量。为了验证算法的有效性,本文参考一个含有6个子项目的问题实例,以该实例为基础,对算法的各个参数进行分析和研究,最后将本算法与其他三种基于优先规则的启发式算法相比较。结果证明,本遗传算法在解决大规模问题时效果更为明显。