Project scheduling has been of interest to academics as well as practitioners. The broad aim is to schedule a set of different and partially interacting projects. Each project
consists of a set of activities. The activities must respect a set of (hard) precedence con- straints and project release times. Also the activities use resources and the appropriate resource limits are also hard constraints. There are a variety of project scheduling prob- lems and there are many relevant surveys on this topic in the literature [127–134]. The simplest version of the problem is the resource-constrained project scheduling problem (RCPSP). In RCPSP, activities (jobs) are respecting given precedence relationships and often performed simultaneously in only one way, called a single mode. The allocation of scarce resources among the different project activities to achieve the optimisation of an objective function is an important consideration for the project planners [128, 135]. In multi-mode RCPSP which was introduced by Elmaghraby [136], each activity actually can be performed using any one of a set of ‘modes’. The mode determines the set of resources used by the activity and the duration of the activity (though note that the modes do not affect the set of precedences). A solution consists of an assignment of mode and starting time to every activity and that satisfies all the precedence and resource con- straints. The multi-mode resource-constrained multi-project scheduling problem (MR- CMPSP) is a general class of RCPSP. In MRCMPSP, activities of multiple projects are scheduled, while taking into account given precedence relationships and availability of limited resources. The RCPSP belongs to the class of NP-hard problems identified by Blazewicz et al. [137], hence the general form MRCMPSP is also NP-hard. There are ba- sically two different ways to distinguish resources. Firstly, they can be either renewable or non-renewable [138]. Renewable resources are ones that are available again at their full capacity whenever current activities stop using them, for example, they could be some machine. Non-renewable ones disappear on usage; an example could be fuel where one can take any amount of fuel, but only until the tank is empty. In particular the mode can affect the usage of non-renewable resources. The second distinction between resources is that of ‘local’ resources that are associated with one of the projects, and ‘global resources’ that are shared between different projects.
There have been a growing number of studies concerning the RCPS and RCMPS prob- lems. The traditional optimisation techniques such as integer programming [139, 140] and zero-one (0-1) linear programing [141], showed success in solving small sizes of the multi-project scheduling problems. However, such methods cannot be employed when the number of projects and activities increase and when several resources are consid- ered. Instead, researchers have made several efforts to develop efficient heuristic and meta-heuristic methods to generate the schedules. One of the meta-heuristic methods used for the scheduling problems is genetic algorithm (GA) [142–144]. Up to 90% of
projects [145] in Research and Development (R&D) organisations [146] and large con- struction companies [147] are in the context of MRCMPSP. Tseng [135] employed a parallel scheduling and genetic algorithms for the MRCMPSP. Can and Ulusoy [148] developed a two-stage decomposition approach and genetic algorithm to solve the MR- CMPSP. Xu and Feng [149] utilised a hybrid particle swarm optimisation method and tested the developed approach in a large scale hydropower construction project. Ju and Chen [150] developed a design structure matrix to model the MRCMPSP problem and then applied a modified artificial immune network algorithm (aiNet) to solve the problem. The approach delivers the best results when compared to genetic algorithm, simulated annealing and ant colony optimisation methods.
Recently, a challenge in the context of the 6th Multidisciplinary International Scheduling Conference (MISTA 20135), is run at which competitors are expected to submit solvers to automate the scheduling of multi-mode resource-constrained multi-project problem. The participants of MISTA 2013 tackled 30 instances of the MRCMPSP, produced by com- bining several multi-mode resource-constrained project scheduling problem (MRCPSP) instances. The MRCPSP instances are generated by the standard project generator
ProGen [151]. The instances are defined by a standard data format based on PSPLIB6
(project scheduling problem library) data format. In the MISTA 2013 Challenge, there were no global non-renewable resources, and so the only interaction between projects is from the global renewable resource(s). Each project p in a given solution in MISTA 2013 has an associated makespan MSp which is the time from it being released to the time
the last activity is completed. The primary objective is to minimise the “Total Project Delay” (TPD), which (up to constant terms) is the sum of the difference between the critical path durations CPDp and the makespans MSp for each project p. CPDp is the
shortest MSp resource unconstrained duration of project p. The tie-breaking secondary
objective is to minimise the overall “Total Makespan” (TMS), which (up to a constant term) is the finishing time of the last activity.
During the MISTA challenge, the first set of 10 instances (set-A) was released during the qualification phase and the participants were invited to submit the solvers and solu- tions to those instances. The organisers compared the solvers under uniform conditions where the imposed time limit was five minutes of multi-threaded execution per instance on the organisers’ computer. A set of qualified teams were determined at the end of the qualification phase. Subsequent to the qualification phase, a second set of 10 in- stances (set-B) were published. Again, the finalists were invited to submit the solvers
5MISTA 2013 website: http://allserv.kahosl.be/mista2013challenge/ 6PSPLIB benchmark: http://129.187.106.231/psplib/
and solutions to those instances. The organisers ran the solvers on a set of instances from set-B and another set of hidden (unpublished) instances (set-X) to decide on the winner of the challenge. The hidden instances (set-X) were published after the challenge ended. Ten runs with different random seeds each for 300 seconds were conducted. The final objective values obtained from each run for each instance were ranked and then averaged to determine the winner of the MISTA 2013. The team ranking results and the number of the best solutions, out of the twenty instances, obtained are provided in Table 2.3 and in the competition website. The winner approach is described in the thesis. Briefly, it consists of a two-phase construct-and-improve method working on the sequence in which activities are given to a schedule constructor. The construction of an initial activity sequence is done by a (novel) hybrid of MCTS and partitioning of the projects. The improvement phase uses a large number of neighbourhood moves, in a multi-threaded fashion, and controlled by a mix of ideas from meta-heuristics, memetic algorithms, and multi-stage hyper-heuristics. The second approach [152] is based on variable neighbourhood search and iterated local search. The third team proposed an integer programming approach [153] and soon after the competition, they improved the approach by hybridising a local search method [154].
Table 2.3: The MISTA 2013 competing approaches
Rank Team ID Score #best solutions Reference
1 11 1.10 17 [155] 2 8 2.55 1 [152] 3 1 3.05 2 [153] 4 20 3.60 0 [156] 5 13 6.75 0 [157] 6 15 6.75 0 [158] 7 17 6.75 0 [159] 8 14 6.85 0 [160] 9 21 7.60 0 [161]