5.2 Tabu Search Algorithms for the RCPSP
5.2.2 Tabu Search Algorithms for the RCPSP Employing Candidate Lists of Moves
Recognizing that in order to obtain competitive results fewer schedules must be generated in each iteration in order to allow an increased number of iterations to be performed, several
52
candidate list strategies are considered. A candidate list strategy specifies a subset of all possible moves to consider.
The first candidate list strategies considered are very simple random candidate lists. For both the ππΏπΈππππ πΌππ πππ (π, π) and the ππΏππ€πππππ (π, π) moves, π and π are chosen randomly. For the ππΏππ€πππππ (π, π) move, π and π are swapped if π > π. Following the algorithm
designations introduced in section 5.2.1, tabu search TS1-X move R# randomly constructs a candidate list of X unique moves each iteration. There is no restriction on allowing the same move appearing in the candidate list in consecutive iterations. This candidate list is tested with X set to 10 and 100. The tradeoff is that a very limited portion of the neighborhood space is
searched while allowing a larger number of moves/iterations to be performed before reaching the limits on the number of schedules generated. By allowing more iterations to be performed, it is more likely that a larger portion of the solution space will be searched. This candidate list strategy is not expected to perform particularly well in a standalone tabu search; however, this strategy may be beneficial when included as an improvement method in the RAMP algorithms presented in later.
Rangaswamy et al. (1998) propose several different tabu search candidate list strategies for the RCPSP. One such strategy is the use of bi-level candidate lists. In terms of ππΏπΈππΌππ (π, π) and ππΏππ€ππ(π, π) moves, a bi-level candidate list strategy picks a value for either π or π and then chooses a value for the other move attribute based on the value of the first. The specific bi-level candidate list implemented by Rangaswamy et al. (1998) is described in section 4.2.
Several bi-level candidate list strategies are considered here. Similar to Rangaswamy et al. (1998), the higher level candidate list is composed of delayed activities or delayed critical activities. A delayed activity is any activity that is started later than its CPM early start time in
53
the current working schedule. A delayed critical activity is a delayed activity that is on a critical path of the current working schedule.
The concept of a resource competitor is used in some of the candidate list strategies. Two activities are resource competitors if they both require some amount of the same resource and cannot be processed simultaneously due to a precedence or temporal relationship between the two activities.
Some of the candidate list strategies utilize the per time period resource utilization ratio (RUR) which is a measure of the proportion of resources used in each time period and can be calculated as follows (Valls et al., 2008).
π ππ (π‘) = πΎ οΏ½ οΏ½1 ππ π,π π πΎ π=1 π βπ΄π‘ (9)
πΎ is the number of renewable resources. π π is the capacity of resource π. ππ,π is the amount of
resource π required by activity π each time period. π΄π‘ is the set of activities active, or in process, at time π‘.
The following candidate list strategies all exclude moves that involve two activities that are scheduled to start at the same time in the current working schedule. Moves where activity π appears earlier in the current working priority list than activity π but activity π is scheduled to start later than activity π in the current working schedule are also excluded.
The tabu search algorithm TS2 PLEjIns R# uses the move ππΏπΈππ΄ππ‘πΌππ πππ (π, π¦). The higher level candidate list is composed of delayed critical activities. The corresponding lower level list for activity π in the higher level list is composed of the positions π₯ + 1 to π§ β 1. The position π₯ is the position of the direct predecessor of π that appear latest in the current working
54
priority list. Similarly, the position π§ is the position of the direct successor of π that appears earliest in the current working list.
The tabu search algorithm TS3 PLEjIns R# is the same as TS2 PLEjIns R# with the exception that the higher level candidate list is composed of all delayed activities instead of only delayed critical activities.
The tabu search algorithm TS4 PLEjIns R# uses the move ππΏπΈππ΄ππ‘πΌππ π΄ππ‘πππ΄ππ‘(π, π). The higher level candidate list is composed of delayed critical activities that are not active during a period of high resource utilization. The threshold for high resource utilization is set to
max {0.1, ππ’ππππ ππ πππππππππ£πππ ππ‘ππππ‘ππππ /10}. Activities that are in process at any time π‘ where π ππ (π‘) β₯ π‘βπππ βπππ are designated as active during a period of high resource utilization. As the number of non-improving iterations increases more activities will be included in the higher level candidate list. After 10 non-improving iterations, all delayed critical activities will be included in the higher level list. By adaptively modifying the threshold in this way, the recent history of the search is taken into account. The corresponding lower level list for activity π in the higher level list is composed of activities π that are resource competitors of π that appear earlier in the list than activity π. After 10 non-improving iterations the resource competitor requirement is relaxed until the next improving iteration. As in Rangaswamy et al. (1998), one additional move is added to the candidate list for each activity in the higher level listβthe move that ejects the higher level list activity and inserts it immediately after its direct predecessor that appears latest in the list
The tabu search algorithm TS5 PLEjIns R# is the same as TS4 PLEjIns R# with the exception that the higher level candidate list is composed of delayed activities that are not active
55
during a period of high resource utilization (i.e. activities are not required to be on a critical path).
The tabu search algorithm TS6 PLEjIns R# is the same as TS5 PLEjIns R# with the exception that the higher level candidate list is composed of all delayed activities without any consideration of the RUR.
In these tabu search algorithms short-term adaptive memory is composed of a tabu list created in accordance with the different tabu restrictions in Table 5.1, a tabu list created in
accordance with the tabu strategy of Klein (2000), and a simple aspiration criterion that overrides tabu status if a move results in the best schedule found. In addition some of the candidate list strategies (TS4 β TS6) are reactive to the recent history of the search..