基于优先规则的启发式算法(priority rule-based heuristic)结合了进度生成机制与优先规则来构造项目的可行进度计划(Almeida et al.,2016)。根据生成进度计划的数量和任务选取方式,可以将算法分为如下两类(Hartmann and Kolisch,2000)。
1.单次算法
如果采用上述的某一种SGS与某一种任务优先规则,则必然只能得到一个特定的进度计划,因此这样的方法被称为单次算法(single pass approach),或称为单通道算法。重复运行单次算法并不能得到新的进度计划。
2.多次算法
可以组合不同的SGS与不同的优先规则以得到不同的单次算法,并逐一调度从而得到多个进度计划。这样的方法被称为多次算法(multi-pass approach),或称为多通道算法。
常见的多次算法主要包括以下几种(Hartmann and Kolisch,2000;何正文等,2007):(www.xing528.com)
(1)多优先规则法(multi-priority rule approach),即选择一种SGS,然后采用不同优先规则进行调度。
(2)正向逆向调度方法(forward-backward scheduling method),利用一种SGS,反复进行正向计算与逆向计算,从而得到一系列项目进度计划(Li and Willis,1992;Valls et al.,2005)。
(3)抽样算法(sampling method),一般只利用一种SGS和一种优先规则,但在选择任务时,不是直接根据任务优先值进行选择,而是根据任务优先值来计算任务的中选概率,然后根据概率进行随机选择。根据概率计算方式的不同,可以分为三类抽样算法(刘士新等,2001),即随机抽样(random sampling,RS)、偏倚随机抽样(biased ramdom sampling,BRS)及基于后悔值的偏倚随机抽样(regret based biased ramdom sampling,RBRS)。抽样算法由于引入了随机性,与其他多次算法在本质上有所区别,所以也有些学者将其归为单独的一类(Herroelen,2005)。相对于其他单次或多次算法而言,抽样算法在RCPSP问题中得到了较多的应用(Cooper,1976;Kolisch and Drexl,1996;Schirmer,2001;Tormos and Lova,2003),求解效果也好于其他基于优先规则的启发式算法(Hartmann and Kolisch,2000)。
(4)适应性启发式算法(adaptive heuristic)。该类算法基于任务数量、资源情况等项目特征参数决定所采用的SGS、优先规则及抽样方法。例如,Kolisch和Drex(l1996)设计的算法可以选择串行SGS或并行SGS,也可以选择LFT规则或WCS等规则。Shou(2005)则采用人工神经网络对任务优先规则进行动态选取。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。