Open access peer-reviewed chapter

Optimization Algorithms in Project Scheduling

By Amer M. Fahmy

Submitted: October 25th 2015Reviewed: March 16th 2016Published: September 21st 2016

DOI: 10.5772/63108

Downloaded: 1312


Scheduling, or planning in a general perspective, is the backbone of project management; thus, the successful implementation of project scheduling is a key factor to projects’ success. Due to its complexity and challenging nature, scheduling has become one of the most famous research topics within the operational research context, and it has been widely researched in practical applications within various industries, especially manufacturing, construction, and computer engineering. Accordingly, the literature is rich with many implementations of different optimization algorithms and their extensions within the project scheduling problem (PSP) analysis field. This study is intended to exhibit the general modelling of the PSP, and to survey the implementations of various optimization algorithms adopted for solving the different types of the PSP.


  • project scheduling
  • project schedules optimization
  • resource‐constrained scheduling
  • scheduling models
  • optimization algorithms

1. Introduction

The project scheduling problem (PSP) is one of the most challenging problems in the operations research (OR) field; thus, it has attracted large number of researchers within its modelling, solution methodologies, and optimization algorithms. The OR literature is intensely rich with researches focusing on different PSP problem types, from which the most famous and heavily researched problem type is the resource‐constrained project scheduling problem (RCPSP).

PSP, especially RCPSP, has been considered as NP‐Hard in the strong sense [1], and accordingly most researches within the last two decades concentrated on heuristics and meta‐heuristics for solving different PSP types.

This study will start in Section 2 with reviewing the PSP modelling for various problem types. Then, PSPs solution approaches and architectures presented in literature will be demonstrated in Section 3. And finally, the last section of this study will survey the schedule optimization algorithms, and how each optimization technique was adopted and implemented within the project scheduling field; with a large focus on meta‐heuristic optimization techniques, which are the base for most practical approaches for solving real‐life/practical PSPs.

2. PSP modelling

According to the detailed surveys of the problem's developments and extensions [29], there is almost a common agreement on the concepts of how the problem should be mathematically modelled; however, the main differences were in the various problems classifications and the different mathematical notations used.

2.1. The general PSP model

In literature, the PSP was initially introduced within the manufacturing industry for job‐shop scheduling, with a main concern of optimal allocation over time of the shop floor's scarce resources. Consequently, the PSP modelling has developed through the development of the basic modelling of the RCPSP.

Several problem notations and models were presented for the RCPSP, as surveyed by Brucker [5], from which the basic and most widely adopted notation can be summarized as follows: A project is represented by a set of activities V = {1,…,n}, where 1 and n are two dummy activities resembling the project network's start and end nodes. The characteristics defining each activity, that is, V: processing duration di, resource requirements rik (for each resource k) along the activity's processing time, and a set of predecessors Pi logically tied to activity i with finish‐to‐start (FS) logic relations. The availability of each resource k is constrained throughout the project by the available resource units ak. And finally, the problem's objective is to minimize the time span T of the project's schedule S without violating the resources constraints; where S is represented by a set of activities’ start times S1 to Sn; and T = Sn.

2.2. PSP model extensions

The basic RCPSP model has several short falls with respect to over‐simplifying the characteristics of real‐life scheduling problems. Consequently, several studies in the PSP context were focused on improving the problem's modelling by developing extensions which add missing practical aspects to the basic PSP model. The most important extensions can be categorized based on the short falls in the basic model which they addressed as follows:

  • The basic PSP (and RCPSP) model considers only FS logic relations, and assumes all schedule relations without lag. Demeulemeester and Herroelen [10], Klein and Scholl [11], Chassiakos and Sakellaropoulos [12], and Vanhoucke [13] have researched this short fall and presented few model extensions to capture lag periods and other relation types available in real applications. They accommodated these issues within the model by transforming all relations into start‐to‐start (SS) relations (Sij), and combined all sets of activities’ predecessors into a single set of time lags lij corresponding to the schedule's logic; where the values of lag can be set to zero to represent SS relation, di to represent FS relation, dj to represent FF relation, or any other necessary time lag. These model extensions are known in the scheduling literature as ‘Generalized Precedence Relations’ or ‘Minimum/Maximum Time Lags’.

  • Activities in reality are not necessarily processed in a single continuous run as assumed in the original PSP model. The need for presenting activities’ splitting, or ‘Pre‐emption’, was introduced by allowing each schedule activity i to be split, or pre‐empted, into j sections corresponding to the activity's duration di. For further details on pre‐emption extensions, the reader is referred to [1416]. Another alternative pre‐emption modelling was presented and developed by Franck et al. [17], Lamothe et al. [18], and Kreter et al. [19], to resemble the non‐linear availability of non‐renewable resources through break‐calendars.

  • The ‘Multi‐Mode Scheduling’ is another practical extension in the project scheduling context, where activities can be executed in one of several alternative ways/methods. This has been modelled by Elmaghraby [20], Kolisch and Drexl [21], Hartmann [22], and Alcaraz et al. [23] through allowing each activity to have a set of execution modes Mi, where each activity mode is having a different duration and/or resource requirements.

  • ‘Cumulative Resources’ or ‘Inventory Constraints’ is another form of resources irregularity. It was introduced by Neumann and Zimmermann [24] as a resource which is produced by some activities, cumulated in a storage area, and then used by other activities (e.g. precast elements in construction projects).

By combining most of these extensions to the basic model, the problem formulation can be summarized as follows:


S1,1 =0E2
Si,0+lijSj,0 (i,j) L; i,jV E3
Si,j1+1Si,j ,i=1,2n;j=1,2dim;mMiE4
iStrijkmak kK;j=1,2dim;mMi;t=1,2TE5

where V is the activities set; T is the schedule's time span; Sij is the start time for section j of activity i; dim is the processing time of activity i under the execution mode m; L is the set of schedule's logic (or precedence), including time lags represented in the form of activity pairs, and lij is the time lag between activities i and j; St is a set which encapsulates the progress of all activities within time interval [t-1, t]; K is the renewable resources set; rijkm is the resource requirement from resource k in the execution mode m for section j of activity i; and finally, ak represents the total available units for resource k.

2.3. PSP objectives extensions

The objective of the basic PSP model is minimizing time, while several practical applications involve other cost‐ or resource‐related objectives. All above mentioned model extensions were also related to minimizing the project's make‐span; however, other practical objectives were also introduced in literature as special cases of the PSP. Extensions to PSP objectives can be classified under two main categories: cost related and quality related.

Cost‐related objectives and/or constraints were introduced to overcome the over‐simplification of the basic PSP models with respect to financial side effects of schedule changes. Various models were generated to present cost aspects of PSP, the most famous of which is the trade‐off problem, while quality‐related objectives were introduced to enhance the robustness of optimized schedules.

These model extensions (i.e. with different objective functions) were presented in as different PSP problem types, the most popular of which are:

  • The trade‐off problems: The ‘Time/Resource Trade‐off Problem (TRTP)’ [2527] and the ‘Time‐Cost Trade‐off Problem (TCTP)’ [28, 29] are the most famous objective‐related extensions of the PSP model. In these problem types, shorter schedule time is exchanged with the increase in resources (or vice versa); and project cost can be either modelled as a constraint or as a non‐renewable resource. In scheduling literature, trade‐off problems are generally being used in one of two forms:

    1. Case 1: Minimize make‐span, and constraint total costs with a predefined budget:

    2. Objective Function: Minimize Fn

    3. iVciC¯E6

  • where, ci = Cost of activity i, and C¯= Project maximum allowed cost (or project budget)

  • Case 2: Minimize total costs, and constraint total project make‐span with a predefined target date or deadline date:

  • iVciE7

  • Fnd¯E8

  • where: ci = Cost of executing activity i, and d¯= Deadline for the project's completion

  • Liquidity constraints: In practical applications, project's liquidity is usually constrained with a predefined value of cash allotted to the project; and accordingly, this value should not be exceeded by the negative side of the project's cash flow. To enable amending the scheduling model with cash flow constraints, several financial aspects will have to be taken into consideration such as selling price, advance payment, retention, and payment lag (the time lag between invoices applications and the actual receipt of payments); then a new constraint is to be added as follows:

    1. CFt|NCFmax|  t=1,2,..TE9

  • Where: CFt = Cash flow at period t, and NCFmax= Predefined maximum liquidity

  • For self‐financed projects, the scheduling literature contains few special case problems such as RCPSP with discounted cash‐flow (RCPSP‐DC) and maximum net present value (Max‐NPV) where the time cost of financing money is being considered in the project's overall cost (refer to [3032]). Representing this mathematically involves introducing a per period discounting rate (α), and adding it exponentially to represent its effect on successor periods; thus, the discounted cash flow for each activity i will be as shown in equation 10. And finally, the objective function will have to be modified to include the net present value for the per period cash flow values:

    1. CFi=i=1diciteα(dit)E10

  • iVqtCFiE11

  • qt=exp(αt)E12

  • Quality indices: Schedules quality measures were introduced in literature for the purpose of improving schedules robustness [33]. These indices were mainly researched within robust proactive scheduling approaches which focus on building predictive schedules for satisfying performance requirements predictably in a dynamic environment [3436].

  • 2.4. Multi‐objective PSP (MOPSP) modelling

    The above review of PSP problem types shows clearly that practical scheduling application involves multi‐objective nature; which attracted few early scheduling researches (such as [37, 38]) to try to define how multi‐objective concepts can be introduced to the scheduling field. Nevertheless, to date, there are only few researches in the scheduling context which adopted multi‐objective approaches [39].

    In general, the approaches presented for MOPSP modelling (as defined and/or surveyed by Hwang [37], Slowinski [38] and Ballestín and Branco [39]) can be summarized under the following main categories:

    1. Non‐interactive approach: Where the optimality decision is left to the optimization algorithm after feeding it with either a predefined ‘Weighted Objectives Function’, or an ‘Objectives Priority List’ through which objectives are being ordered and optimized based on predefined priorities.

    2. Semi‐interactive approach: The optimization algorithm defines the solutions ‘Pareto Front’, or a group of optimal/near‐optimal solutions for single/multiple objectives; then the decision for selecting an optimum solution is left to the decision maker.

    3. Interactive approach: In this approach, the algorithm interacts with the decision maker throughout the optimization steps. In each step, good quality solutions are proposed to the decision maker to select the most effective solutions, which will then be used by the algorithm in the next iteration to generate further improved solutions.

    For further details and applications of the MOPSP, the reader is referred to the research of Tung et al. [40], Hsu et al. [41], Kacem et al. [42, 43], Loukil et al. [44], Xia & Wu [45], and Fahmy et al. [9].

    3. PSP solution approach and architecture

    3.1. Solution approaches

    The approach to be used for solving the PSP is dependent on the problem's conditions and the application's environment. In literature, the solution approaches can be classified under two main categories: static scheduling and dynamic scheduling.

    Static scheduling (or predictive scheduling) is the process of identifying how and when each activity in schedule should be executed. It involves the generation of a good quality optimized initial (or baseline) schedule. This can be in a deterministic approach (like the vast majority of researches within the scheduling context [4]), where the durations of all schedule activities (or activity modes) are initially available; or can be in a stochastic project scheduling approach, which aimed to close gaps within the initial available information to enable scheduling under uncertainties. The stochastic activity durations method is a probabilistic modelling approach for scheduling project activities with uncertain durations [46]. The duration of activities is defined in the problem model by random vectors of durations, which are distributed according to a deterministic probability distribution [5].

    In practical scheduling, real‐time events extremely disrupt schedules integrity, and causes optimized schedules to become neither optimized nor realistic. The dynamic scheduling concept was introduced to enable, dynamically, the mitigation of the impacts of real‐time events on project schedules. A dynamic scheduling solution involves the selection of a scheduling approach, a rescheduling strategy, and a rescheduling policy; or in simple terms, the process of how to generate the original baseline and the strategy of how to respond to real‐time events. For further details on dynamic scheduling, the reader is referred to the surveys of Herroelen and Leus [46], Aytug et al. [47] and Ouelhadj and Petrovic [48].

    3.2. Solution architectures

    The dynamic scheduling solution architecture involves several cycles of static scheduling to be executed based on certain timing and/or criteria (based on a predefined rescheduling policy), and to involve partial or full schedule optimization (based on a predefined rescheduling strategy). The solution architecture can also involve one optimization level (single‐agent architecture) or several optimization levels (multi‐level autonomous or mediator architecture).

    Although approaches and architectures of scheduling solutions seem to contain various analysis concepts, the basic outlines of the underlying analysis engine (or the optimization algorithm) remain the same. Whether the optimization process is performed once or at different stages, or the process is executed on single or multiple levels, the core algorithm will be focusing within each optimization cycle on a static schedule snapshot (full or partial). And accordingly, the final section of this study will review optimization algorithms from a generic perspective, regardless of the approach or architecture of the scheduling solution to be integrated with.

    4. PSP optimization algorithms

    4.1. Heuristic algorithms

    Scheduling is one of the most researched topics within the field of operations research; thus, it will be very difficult to present a survey which covers all heuristic approaches presented for schedules optimization. But in general terms, scheduling heuristic algorithms, or the majority of them, are having a common procedural approach which can be generalized as follows: (1) Initialize an ordered activity list, (2) generate schedule, and (3) improve the schedule quality. And accordingly, these heuristics consist of three main components:

    1. A predefined criteria for initial ordering of activities [or a priority rule],

    2. A process for creating the schedule from the ordered activity list [or a schedule generation scheme (SGS)], and optionally

    3. The application of one or more processes to improve the generated schedule's quality.

    4.1.1. Priority rules

    The basic function of priority rules (PRs) is to define an initial arrangement for the activities list in a logical way which will produce a solution with good quality. Kelley [49] introduced the concepts and the first set of PRs; then, several other researches followed Kelly's merits by introducing additional PRs and comparing their results (as surveyed by Kolisch [50]). PRs provide simple and speedy way to obtain solutions, and that is why they are widely used by commercial scheduling software [51]. Table 1 lists the most commonly adopted PRs within scheduling literature, and their criteria for activities ordering.

    BasisPriority ruleOrdering criteria
    TimeEarliest Start Time (EST)Ascending based on activities earliest start
    Earliest Finish Time (EFT)Ascending based on activities earliest finish
    Latest Start Time (LST)Ascending based on activities latest start
    Latest Finish Time (LFT)Ascending based on activities latest finish
    DurationShortest Processing Time (SPT)Ascending based on activities shortest
    processing mode duration
    Longest Processing Time (LPT)Ascending based on activities largest
    processing mode duration
    Greatest Rank Positional Weight (GRPW)Descending based on the total duration of
    the activity and all its direct successors
    FloatMinimum Slack (MSLK)Ascending based on
    activities slack
    ResourcesGreatest Resource Work Content (GRWC)Descending based on the total resource
    requests of the activity
    Greatest Cumulative Resource
    Work Content (GCRWC )
    Descending based on the total resource requests of
    the activity and all its direct successors
    Most Immediate Successors (MIS)Descending based on the number of
    their direct successors
    Most Total Successors (MTS)Descending based on the number of their direct
    and indirect successors
    Least Non‐Related Jobs (LNRJ)Activities are sorted in ascending order based on
    the number of activities which are not directly or
    indirectly inter‐related

    Table 1.

    Priority rules and related ordering criteria.

    4.1.2. Schedule generation scheme (SGS)

    Ordered activity lists are then passed to a SGS to produce the output schedules. As per the survey presented by Kolisch [52], the first versions of the serial (SSGS) and the parallel (PSGS) were presented Kelley [49]; then later Bedworth and Bailey [53] introduced another approach for the PSGS which they titled as the ”Brooks Algorithm”.

    PSGS has been verified that it can only generate non‐delay schedules, and the set of non‐delay schedules is just a subset of all schedules, hence the SSGS is suggested for RCPSP [54].

    4.1.3. Forward‐backward scheduling (FBS)

    The FBS is one of the most famous schedule improvement techniques. It was proposed by Li and Willis [55], and was found to significantly improve the results. Its procedures involve applying SGS in a forward direction and performing another cycle in reverse order and backward scheduling (reversed precedence network).

    4.1.4. Justification schemes

    Valls et al. [56] introduced another process for improving schedules quality using a technique they called justification scheme. This process involves manipulating the activities positions in the project's time frame without violating the resource constraints, through two cycles, one forward (to the right) and another backward (to the left); which eventually guarantees an overall project duration either shorter or at least the same. Later, Fahmy et al. [57] presented the stacking justification, a variation to the original technique; within which the activities selection criteria in each justification cycle was modified in a way to minimize the gaps within resource usage profiles.

    4.2. Meta‐heuristic algorithms

    The most common use of Meta‐heuristics in PSP solving involves the generation of activities order list which can produce better solutions based on experience gained in previous generation cycles.

    Heuristics can solve scheduling problems in short time, but because these procedures cannot adapt dynamically to the problems constraints, so the resulting solutions cannot be guaranteed to be neither optimum nor of good quality.

    Due to the overwhelming complexity of scheduling problems within real‐life applications, meta‐heuristics techniques have been implemented in the development of most practical applications presented in literature during the last two decades.

    Various meta‐heuristic techniques were adopted in the PSP field, the following sections of this study will exhibit a non‐exhaustive review for how each of the commonly adopted meta‐heuristic optimization techniques was conceptually implemented within scheduling applications, whilst the details/variations of each of the optimization techniques were considered beyond the scope of this study, and accordingly will only be reviewed to the level needed to support the scheduling algorithms survey perspective.

    4.3. Genetic algorithms

    Genetic algorithms (GA) technique is one of the most popular meta‐heuristics in the field of scheduling. Holland [58] developed this method as a simplification of evolutionary processes occurring in nature. GA is basically an iterative evolutionary method through which the overall quality of solutions (or genomes) population is improved from one generation to the next through three nature resembled mechanisms: selection, crossover, and mutation [59].

    In scheduling, the solutions population is selected either randomly or based on a predefined priority rule. The quality of schedules is calculated using an objective function based on the optimization goals, either for a single objective (minimizing time, cost, resource levelling …, etc.), or combined objectives. Then iteratively, the solutions with higher quality are selected for mating; and then, using a crossover process, a new group of individuals are generated, and added to the best solutions reached previously to form the new generation. Finally, a mutation mechanism is applied in each generation to ensure further exploration of solutions‐space.

    There are several approaches adopted in scheduling literature for the presentation of schedules for GA implementation. The most common approach involves setting the genomes as a presentation of the activities priority/sequence list (S); where the sequence of activities within the genome will be used by the SGS to generate the solution's schedule.

    For this presentation, the optimization process starts with population generation (randomly or using PRs). The crossover mechanism will then involve mating high fitness solutions, where each pair of parent solutions will generate a pair of child solutions using a predefined number of crossing‐points (cp) (such as the two‐point approach adopted by Shadrokh and Kianfar [60] as shown in Figure 1). And finally, a mutation mechanism is applied using a predefined probability Pmut; where a random activity i is exchanged in the sequence list (S) with another random activity j (ij), and the same can be performed for the mutation of activity modes list if a multi‐mode schedules was used [27].

    Figure 1.

    Crossover mechanism for activities priority lists.

    Several other priority‐based presentations were introduced in literature, most of which were surveyed by Cheng et al. [61, 62]. Few other conceptually different presentations were also available in literature, such as the presentation of Wall [63], where he presented the schedule's chromosome as a binary string corresponding to each activity's lag from its normal scheduled position (i.e. a solution scheduled normally based on its precedence will have all its chromosome digits set to ‘0').

    According to the detailed performance survey of Kolisch and Hartmann [64], the GA (and its variants/combinations with other techniques) is ranked as the best performing algorithm (as well as most of the top 10 performances) for most problem sizes of the single‐mode RCPSP (SRCPSP). For further review of GA implementations within RCPSP, refer to the publications of Hartmann [65, 66], Alcaraz and Maroto [67], Alcaraz et al. [68] and Valls et al. [56, 69].

    4.4. Particle swarm optimization (PSO)

    Particle swarm optimization, in comparison with other commonly used optimization techniques, is one of the most recent optimization meta‐heuristics. PSO was introduced by Kennedy and Eberhart [70] as a mathematical presentation for the swarming behaviour of flocking birds. PSO is an evolutionary algorithm, where a population of candidate solutions, resembled by particles, and the optimization process occurs by iteratively adjusting the particles’ position and velocity within the search space through assessing solutions’ quality through predefined measuring criteria.

    With a simple mathematical presentation, PSO operates with the following two formulae, where each solution is presented as particle i with n number of components, Vijtis the velocity of component j of particle i in iterations t (and similarly for Vijt1in iteration t‐1); Xijtis the positions of component j of particle i in iterations t; the positions vectors of the best solutions found up to iteration t‐1 locally for particle i and globally in the swarm are stored in Lijt1and Gjt1, respectively; r1 and r2 are two random numbers (from 0 to 1); c1 and c2 are two learning coefficients (c1 defines the influence of the local best solution on the new velocities, while c2 applies a similar approach for the global best solution).

    Vijt=w Vijt1+r1c1(Lijt1Xijt1)+r2c2(Gjt1Xijt1)E13

    Variations of PSO is beyond the scope of this study, but in general most PSO variations focused on improving PSO main drawbacks such as early convergence, parameter dependency, and loss of diversity. The most popular PSO variations are:

    • Shi and Eberhart [71] introduced an inertia weight (w)to enable the control of iterations velocity influence on succeeding iterations.


  • Bratton and Kennedy [72] presented the ‘Standard PSO’ in which they introduced the constriction factor (γ)as a multiplier to the equation of velocity.


  • In the scheduling field, PSO is conceptually implemented by resembling each schedule (or solution) as a particle, with the activities’ priorities as the components of this particle [73, 74]. The quality of schedules (or solutions’ fitness) is calculated via a predefined objective function. Initially, activities priorities can be initialized using a single priority rule, or a combined rule [57]. Then, iteratively, positions and velocities vectors of particles/components are adjusted, then the quality rating of each solution is assessed, the global best solution and the local best solution for each particle are logged. The stopping position can be set to a maximum analysis duration, a certain number of schedules to be generated, or a specific quality to be reached (Figure 2).

    Figure 2.

    General PSO flow chart for scheduling.

    Albeit that the number of application of PSO in the scheduling context is not large as GA, the results of its application, especially for SRCPSP, is highly ranked in general comparisons with all techniques (c.f. [54, 57]).

    4.5. Ant colony optimization (ACO)

    ACO is a population based, multi‐agent, meta‐heuristic technique within the broader family of swarm intelligence optimization methods; initially proposed by Dorigo [75]. ACO uses the concepts of food seeking in ant colonies as a basis for an optimization algorithm for seeking optimal solutions within solutions space.

    In nature, ants use pheromone as the means of communication when searching for food. Upon finding food, after random wandering in the colony's neighbourhood, ants lay pheromone in their way back to the colony; thus, other ants can use these traces to guide their movements from colony to food sources. These pheromone traces decays/evaporates with time, which leads to traces for shorter paths to be higher in strength than others, and accordingly guides ants to shorter paths to food.

    Application of ACO in scheduling started with a proposed ant system for job‐shop scheduling by Colorni et al. [76]; followed by several other applications in various scheduling problems, such as flow‐shop scheduling [7779], flexible job‐shop scheduling [80], resource‐constrained scheduling [81, 82], and total tardiness problems [83, 84].

    The most common presentation of ACO in the scheduling literature was outlined by Stützle and Dorigo [85] as follows: set of network nodes (C={c1,c2,c3, , cN}), set of problem states (sequence or relationships) of element C (x={ci,cj,ck, }), set of constraints (), set of all states (X), set of all feasible states (X¯X), objective function f(s) (where s is a candidate solution, sS), set of all feasible solutions (S*X¯), a pheromone trail (τij) representing the desirability of relation (rij), and finally heuristic problem‐specific information can be defined within (ηij).

    Figure 3.

    Simplified ACO flow chart for scheduling.

    Then, the problem topology and the simulation behaviour can be simplified as shown in the flow chart in Figure 3. The algorithm starts with initializing the problem's topology (or the network's details), the pheromone trails (τ0) either randomly or using a priority rule, and the artificial ants starting states.

    Then, within each iteration cycle, each ant moves a two‐way path seeking a food source (or a feasible solution). In the forward path, the ant's movements (or selected network relations) is defined using heuristic information (η) and current pheromone information (τ). After solution (s) is constructed, the solution's fitness is calculated using the objective function (f). The ant then returns in a backward path applying local pheromone based on the quality achieved for solution (s). Finally, the global pheromone is updated before the stopping condition is checked.

    Although, as per the detailed performance surveys mentioned earlier, ACO did not demonstrate a competitive performance to other meta‐heuristics (GA, PSO, and TS), except for large size problems; this can be positively inferred that ACO's performance increases with the increase in problem's size due to its high exploration capabilities.

    4.6. Other methods

    Due to the complicated and challenging nature of scheduling problems, the scheduling field has been usually one of the first testing fields for any meta‐heuristic optimization technique being introduced within the operational research literature. It would be a very exhaustive task to summarize all meta‐heuristics adopted for solving different scheduling problem types; so, beside the techniques mentioned in the previous sections, the following paragraphs briefly summarize other meta‐heuristics widely adopted in the scheduling research context.

    Tabu search (TS) is one of the techniques with high performance results within the scheduling literature. The TS is a local search technique, initially proposed by Glover [86]. It involves exploring the search space through searching neighbourhoods of potential solution(s). The following are some examples of TS applications in scheduling: resource‐constrained scheduling [8789], flow‐shop scheduling [90, 91], and flexible job‐shop scheduling [92].

    The simulated annealing (SA) was presented by Kirkpatrick et al. [93], as an optimization method which mimics the behaviour of a system in thermodynamic equilibrium at certain temperature. It is a probabilistic meta‐heuristic which focus on finding a quick approximated global optimum of a search space. SA showed moderate performance with scheduling applications, such as Rutenbar [94], Bouleimen and Lecocq [95], and Dai et al. [96].

    Other meta‐heuristics adopted in scheduling include, Neural networks [9799], Scatter Search [100], Electromagnetism‐like method [101, 102], Sampling method [103, 104], and Bees Algorithm [105, 106].

    In addition, scheduling literature contains vast amount of meta‐heuristics with combinations of the various optimization techniques, such as Kochetov and Stolyar [107] for GA and TS, Niu et al. [108] for PSO and GA, Chen and Shahandashti [109] for GA and SA, Moslehi and Mahnam [110] for PSO and LS, and Deane [111] for GA and NN.

    5. Conclusion

    The design and implementation of a robust scheduling system are essential for the successful use of planning and scheduling practices within projects. A scheduling system involves modelling the problem, selecting a solution approach to be used in a static and/or dynamic analysis for optimizing schedules, and finally the selection of an optimization technique which suits most the characteristics and conditions of the project type under analysis.

    This study reviewed the concepts and researches presented for these three factors of building a scheduling system, with a more detailed focus on meta‐heuristic optimization algorithms adopted in the project‐scheduling context.

    How to cite and reference

    Link to this chapter Copy to clipboard

    Cite this chapter Copy to clipboard

    Amer M. Fahmy (September 21st 2016). Optimization Algorithms in Project Scheduling, Optimization Algorithms, Ozgur Baskan, IntechOpen, DOI: 10.5772/63108. Available from:

    Embed this chapter on your site Copy to clipboard

    <iframe src="" />

    Embed this code snippet in the HTML of your website to show this chapter

    chapter statistics

    1312total chapter downloads

    More statistics for editors and authors

    Login to your personal dashboard for more detailed statistics on your publications.

    Access personal reporting

    Related Content

    This Book

    Next chapter

    Survey of Meta-Heuristic Algorithms for Deep Learning Training

    By Zhonghuan Tian and Simon Fong

    Related Book

    First chapter

    Distributionally Robust Optimization

    By Jian Gao, Yida Xu, Julian Barreiro-Gomez, Massa Ndong, Michalis Smyrnakis and Hamidou Tembine

    We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

    More about us