A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

13
A genetic algorithm-based approach for solving the resource-sharing and scheduling problem Gaby Pinto * , Inessa Ainbinder, Gad Rabinowitz Department of Industrial Engineering and Management, Ben-Gurion University of the Negev, P.O. Box 653, Beer-Sheva 84105, Israel article info Article history: Received 18 November 2008 Received in revised form 5 May 2009 Accepted 6 May 2009 Available online 15 May 2009 Keywords: Resource-sharing and scheduling problem Mixed integer linear programming Genetic algorithm Branch-and-bound algorithm abstract We introduce a heuristic that is based on a unique genetic algorithm (GA) to solve the resource-sharing and scheduling problem (RSSP). This problem was previously formulated as a continuous-time mixed integer linear programming model and was solved optimally using a branch-and-bound (B&B) algorithm. The RSSP considers the use of a set of resources for the production of several products. Producing each product requires a set of operations with precedence relationships among them. Each operation can be performed using alternative modes which define the subset of the resources needed, and an operation may share different resources simultaneously. The problem is to select a single mode for each operation and accordingly to schedule the resources, while minimizing the makespan time. The GA we propose is based on a new encoding schema that adopts the structure of a DNA in nature. In our experiments we compared the effectiveness and runtime of our GA versus a B&B algorithm and two truncated B&B algo- rithms that we developed on a set of 118 problem instances. The results demonstrate that the GA solved all the problems (10 runs each), and reaches optimality in 75% of the runs, had an average deviation of less than 1% from the optimal makespan, and a runtime that was much less sensitive to the size of the problem instance. Ó 2009 Elsevier Ltd. All rights reserved. 1. Introduction The scheduling problem where resources have to collaborate when activating specific operations has significant practical impli- cations in production planning since effective use of collaborating resources is vital for the ever-increasing competitiveness among manufacturing companies. Such a production planning problem may arise in a robotic cell. A flow-shop robotic cell consists of ma- chines, in which one robot is in charge of moving the parts from each machine to the next, and between the machines and the in- put/output stations (Agnetis, 2000). Moreover, the problem consid- ers multiple tasks whose execution requires simultaneous usage of several resources (Caramia, Dell’Olmo, & Onori, 2004). For exam- ple, Rabinowitz, Mehrez, and Samaddar (1991) introduced a mul- ti-robot assembly cell situation, namely, an ignition assembly cell (IAC) with two robots operating simultaneously. Each of the two robots may collaborate with a power dispenser machine or with a press machine. In order to avoid robot collision, they regarded the space over each of the two machines as a resource. The assem- bly of one IAC unit was done by performing six operations, where each operation is carried out by one or more resources, i.e., robots, machines and spaces over the machines. All the resources of the IAC fall into the category of renewable re- sources (RRs). In accordance with Samaddar, Rabinowitz, and Zhang (2005), an RR is defined as any resource that can be used repeatedly, while retaining its physical capabilities. An RR may be a machine, laborer, or a tool. A non-renewable resource (NR) is any resource that is diminished while being used, such as materials, energy and money. In this paper we consider only RRs since in many real-life cases they consume much of the companies’ capital. Mixed integer linear programming (MILP) is a common method to model and solve production planning and scheduling problems (Lawler, Lenstra, Rinooy Kan, & Shmoys, 1993; Pinedo, 2005). Due to the nature of such problems, however, MILP formulations are typically very large and complex. There are two main approaches to solving such complex problems: the monolithic approach and the hierarchical approach. The monolithic approach formulates the entire scheduling problem as an MILP so that it is possible to find the optimal solution (Sawik, 2002). The hierarchical approach, in contrast, breaks the problem into sub-problems so that, at best, it can only occasionally guarantee global optimality (Mehra, Minis, & Proth, 1996; Schneeweiss, 1999). However one major difficulty of the monolithic approach lies in the need to solve a large math- ematical problem (Riane, Artiba, & Iassinovski, 2001), which neces- sitates making highly simplistic assumptions about the production 0360-8352/$ - see front matter Ó 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2009.05.003 * Corresponding author. Tel.: +972 8 6472199; fax: +972 8 6479518. E-mail addresses: [email protected] (G. Pinto), [email protected] (I. Ainbinder), [email protected] (G. Rabinowitz). Computers & Industrial Engineering 57 (2009) 1131–1143 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Transcript of A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Page 1: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Computers & Industrial Engineering 57 (2009) 1131–1143

Contents lists available at ScienceDirect

Computers & Industrial Engineering

journal homepage: www.elsevier .com/ locate/caie

A genetic algorithm-based approach for solving the resource-sharingand scheduling problem

Gaby Pinto *, Inessa Ainbinder, Gad RabinowitzDepartment of Industrial Engineering and Management, Ben-Gurion University of the Negev, P.O. Box 653, Beer-Sheva 84105, Israel

a r t i c l e i n f o a b s t r a c t

Article history:Received 18 November 2008Received in revised form 5 May 2009Accepted 6 May 2009Available online 15 May 2009

Keywords:Resource-sharing and scheduling problemMixed integer linear programmingGenetic algorithmBranch-and-bound algorithm

0360-8352/$ - see front matter � 2009 Elsevier Ltd. Adoi:10.1016/j.cie.2009.05.003

* Corresponding author. Tel.: +972 8 6472199; fax:E-mail addresses: [email protected] (G. Pinto), ines

[email protected] (G. Rabinowitz).

We introduce a heuristic that is based on a unique genetic algorithm (GA) to solve the resource-sharingand scheduling problem (RSSP). This problem was previously formulated as a continuous-time mixedinteger linear programming model and was solved optimally using a branch-and-bound (B&B) algorithm.The RSSP considers the use of a set of resources for the production of several products. Producing eachproduct requires a set of operations with precedence relationships among them. Each operation can beperformed using alternative modes which define the subset of the resources needed, and an operationmay share different resources simultaneously. The problem is to select a single mode for each operationand accordingly to schedule the resources, while minimizing the makespan time. The GA we propose isbased on a new encoding schema that adopts the structure of a DNA in nature. In our experiments wecompared the effectiveness and runtime of our GA versus a B&B algorithm and two truncated B&B algo-rithms that we developed on a set of 118 problem instances. The results demonstrate that the GA solvedall the problems (10 runs each), and reaches optimality in 75% of the runs, had an average deviation ofless than 1% from the optimal makespan, and a runtime that was much less sensitive to the size of theproblem instance.

� 2009 Elsevier Ltd. All rights reserved.

1. Introduction

The scheduling problem where resources have to collaboratewhen activating specific operations has significant practical impli-cations in production planning since effective use of collaboratingresources is vital for the ever-increasing competitiveness amongmanufacturing companies. Such a production planning problemmay arise in a robotic cell. A flow-shop robotic cell consists of ma-chines, in which one robot is in charge of moving the parts fromeach machine to the next, and between the machines and the in-put/output stations (Agnetis, 2000). Moreover, the problem consid-ers multiple tasks whose execution requires simultaneous usage ofseveral resources (Caramia, Dell’Olmo, & Onori, 2004). For exam-ple, Rabinowitz, Mehrez, and Samaddar (1991) introduced a mul-ti-robot assembly cell situation, namely, an ignition assembly cell(IAC) with two robots operating simultaneously. Each of the tworobots may collaborate with a power dispenser machine or witha press machine. In order to avoid robot collision, they regardedthe space over each of the two machines as a resource. The assem-bly of one IAC unit was done by performing six operations, where

ll rights reserved.

+972 8 [email protected] (I. Ainbinder),

each operation is carried out by one or more resources, i.e., robots,machines and spaces over the machines.

All the resources of the IAC fall into the category of renewable re-sources (RRs). In accordance with Samaddar, Rabinowitz, and Zhang(2005), an RR is defined as any resource that can be used repeatedly,while retaining its physical capabilities. An RR may be a machine,laborer, or a tool. A non-renewable resource (NR) is any resourcethat is diminished while being used, such as materials, energyand money. In this paper we consider only RRs since in manyreal-life cases they consume much of the companies’ capital.

Mixed integer linear programming (MILP) is a common methodto model and solve production planning and scheduling problems(Lawler, Lenstra, Rinooy Kan, & Shmoys, 1993; Pinedo, 2005). Dueto the nature of such problems, however, MILP formulations aretypically very large and complex. There are two main approachesto solving such complex problems: the monolithic approach andthe hierarchical approach. The monolithic approach formulatesthe entire scheduling problem as an MILP so that it is possible tofind the optimal solution (Sawik, 2002). The hierarchical approach,in contrast, breaks the problem into sub-problems so that, at best,it can only occasionally guarantee global optimality (Mehra, Minis,& Proth, 1996; Schneeweiss, 1999). However one major difficultyof the monolithic approach lies in the need to solve a large math-ematical problem (Riane, Artiba, & Iassinovski, 2001), which neces-sitates making highly simplistic assumptions about the production

Page 2: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

1132 G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143

system. However, with the exponential growth in computingpower in the last decades (Bostrom, 2003) this difficulty is becom-ing less of a hindrance, and researchers and planners in organiza-tions are in a better position to solve optimization problems withmonolithic formulations. Solving those problems can be made eveneasier if the monolithic formulation is accompanied by efficientand effective heuristic methods. The research that we present inthis paper provides such heuristic methods.

In this paper we deal with a production and scheduling problemknown as the resource-sharing and scheduling problem (RSSP),which is one of the more complex scheduling problems. Rabino-witz et al. (1991) provided a monolithic MILP formulation for theRSSP, in which a predetermined job requires a set of non-preemp-tive operations I = {i} with precedence relationship constraints de-fined by the set S. A set of RRs of the same or different types R = {r}is used to perform these operations. There may be alternative ways(modes) of utilizing the resources for a given operation. We definea set of modes Mi = {m} for each operation i. A mode m specifies thesubset of resources Ri,m, as well as the exact timing ts

i;m;r and tfi;m;r of

the use of r within the duration of operation i. An operation mayshare different resources simultaneously, each of which may beused for a portion of the operation time. Each resource r has Lr se-quence locations for its tasks which are labeled l = 1 , . . . , Lr. The setDr defines sequence-dependent delay requirements between oper-ations on a specific resource r. The process time is assumed to bedeterministic and continuous. The problem is to select a singlemode for each operation and, accordingly, to allocate and schedulethe resources in order to minimize the makespan time (MinimizeCmax).

Samaddar, Rabinowitz, and Mehrez (1999) proposed an optimalbranch-and-bound (B&B) algorithm to solve the RSSP. Later,Samaddar et al. (2005) performed a comprehensive experimentalanalysis for solving a monolithic formulated RSSP by this B&B algo-rithm. They studied a set of 16 problem instances in order to pre-dict the computational effort needed to solve this problem. A mainconclusion of their analysis was that since the formulation size ex-plodes for a problem of even modest size, a heuristics to solve theRSSP is crucial.

This paper addresses this challenge by introducing a new genet-ic algorithm (GA) to solve the RSSP. The GA first introduced by Hol-land in 1975, mimics the principles of biological evolution bywhich it essentially recombines existing solutions to obtain newones and thus serves as a meta-heuristic for solving hard optimiza-tion problems. For an introduction to GA theory, see Goldberg(1989), Reeves and Rowe (2003), and Melanie (2001). For an intro-duction to ways to implement a GA approach for scheduling prob-lems see Chan, Wong, and Chan (2006) and Damak, Jarboui, Siarry,and Loukil (2009). We develop a new way to encode a solution forthe 0/1 variables of the RSSP that mimics the hierarchy of a DNA.The full solution, i.e., the schedule related to the DNA encoding,is generated by solving a linear-programming (LP) problem. Toour knowledge, this is the only heuristic approach available tosolve a large-scale RSSP with realistic assumptions of non-preemp-tive, multiple resources, resource collaboration, multiple opera-tions, multiple modes, and continuous time.

We compare the effectiveness and runtime of our GA versusSamaddar’s B&B algorithm and versus two truncated versions ofthe B&B algorithm that we developed. For the purpose of the com-parison we have performed experiments on a set of 118 probleminstances (16 of which were taken from the literature).

The remainder of this paper is organized as follows. Section 2presents the model formulation and the B&B algorithm. Section 3describes our GA and Section 4 presents the two truncated B&Balgorithms. Section 5 presents the results of the performance com-parison between our GA, the B&B algorithm and the truncated B&Balgorithms. Section 6 concludes the paper.

2. Model formulation and the B&B algorithm

For the purpose of our presentation, we provide the RSSP mono-lithic formulation introduced by Rabinowitz et al. (1991) in Section2.1–2.2, and the B&B algorithm proposed by Samaddar et al. (1999)in Section 2.3.

2.1. Model notations

Indices

i, j indices for operations m, n indices for modes of operation r index for resources l index for resource tasks

Sets

R set of RRs I set of operations Mi set of modes for operation i Ri subset of R required to perform operation i for all its

modes {m e Mi}, Ri # R

Ri,m subset of R required to perform operation i in mode m;

Ri;m # Ri

Mr

{(i, m): r e Ri,m} set of all (i, m)s requiring resource r S {(i, j): j is the immediate successor of i} set of precedence

relationships among operations

Dr {{(i, m), (j, n)}: (i, m) and (j, n) e Mr, and di,m,j,n,r > 0} set of

pairs of (i, m)s that use resource r and, if selected asconsecutive tasks, necessitate its delay by di,m,j,n,r units oftime for setup

Parameters

ts

i;m;r

instant of time when mode m of operation i starts using r tf

i;m;r

instant of time when mode m of operation i stops using r ti,m total processing time of operation i in mode

m = maxr{tfi;m;r} �minr{ts

i;m;r}, where r e Ri,m

di,m,j,n,r

minimal delay required by r to perform (j, n) afterperforming (i, m)

N

a sufficiently large number

Decision variables

Xi,m,r,l equals 1, if mode m is chosen for operation i, i is assigned

as the lth task of resource r. Otherwise it equals 0

Ti starting time of operation i Tr,l starting time of the lth task of resource r Zr,l the time by which resource r has to delay its lth task after

it has performed its l � 1 task

Ci completion time of operation i Cmax makespan time

2.2. Model constraints and objective function

Two groups of constraints are used in the formulation of theRSSP. The first group can be viewed as assignment or selection-type constraints which involve 0–1 variables. These variablesguarantee a feasible selection of one mode for each operationand the assignment of tasks for the RRs required by each (i,m). The second group of constraints can be viewed as time-typeconstraints. They involve continuous time variables in addition to0–1 variables, and deal with (a) relating the starting times ofoperations Ti to their precedence relationships; (b) relating thestarting times of resource tasks Tr,l to setup delays Zr,l; and (c)synchronizing the starting times of operations (Ti) and their re-sources tasks (Tr,l).

Page 3: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143 1133

2.2.1. Selection-type constraintsConstraint (1) allows only one mode for each operation, where

Lr is the set of indices of tasks that r can handle,

Xm2Mi

Xl2Lr0

Xi;m;r0 ;l ¼ 1; 8i 2 I; where r0 ¼ r : minr2Ri;m

jLrj� �

: ð1Þ

Constraint (2) assures that the mode selected for an operationreceives its required resources,Xl2Lr0

Xi;m;r0 ;l �Xl2Lr

Xi;m;r;l ¼ 0; 8r 2 ðRi;m � r0Þ; m 2 Mi; i 2 I: ð2Þ

Constraint (3) guarantees that (a) at most one (i, m) is assignedto one task l of r and (b) task l of r is not used unless all of its pre-vious tasks are occupied,

1 �Xði;mÞ2Mr

Xi;m;r;1 �Xði;mÞ2Mr

Xi;m;r;2 � � � �Xði;mÞ2Mr

Xi;m;r;jLr j; 8r 2 R: ð3Þ

2.2.2. Time-type constraintsConstraint (4) maintains the precedence relationships among

all the operations,

Ti1 þX

m2Mi

ti1 ;m1

Xl2Lr

Xi;m;r0 ;l � Ti2 ; 8ði1; i2Þ 2 S: ð4Þ

Constraint (5) assigns the minimal changeover delay requiredbetween the (l � 1)th task and the lth task of r,

Zr;l � di1 ;m1 ;i2 ;m2 ;r � ðXi1 ;m1 ;r;l�1 þ Xi2 ;m2 ;r;l � 1Þ;8½ði1;m1Þ; ði2;m2Þ� 2 Dr; l ¼ 2; . . . ; jLr j; r 2 Rd: ð5Þ

Constraint (6) guarantees that the time difference between Tr,l

and Tr,l�1 equals at least the sum of the processing time requiredfor task (l � 1) of r and the needed delay Zr,l before it can startsits lth task,

Tr;l � Tr;l�1 þXði;mÞ2Mr

ðtfi;m;r � ts

i;m;rÞ � Xi;m;r;l�1 þ Zr;l 8l ¼ 2; . . . ; jLr j; r 2 R:

ð6Þ

Constraint (7) ties the starting time of operation i (Ti), to thestarting time of the lth task of r (Tr,l),

N �Xði;mÞ2Mi

Xi;m;r;l � 1

" #6 Ti � Tr;l þ

Xði;mÞ2Mi

Xi;m;r;l � tsi;m;r

6 N � 1�Xði;mÞ2Mi

Xi;m;r;l

" #8l 2 Lr ;

r 2 Ri; i 2 I: ð7Þ

2.2.3. Objective functionThe objective function of problem P is to minimize the process-

ing time required to finish all operations (Eq. (8)). Constraint (9)guarantees that Cmax is the makespan time,

Minimize Cmax; ð8Þ

Cmax ¼maxi2I

Ci ¼ Ti þX

m2Mi

ti;m �Xl2Lr0

Xi;m;r0 ;l

8<:

9=;: ð9Þ

2.3. The B&B algorithm

To ease the presentation of the B&B algorithm, we consider theformulation in Section 2.2 with the makespan time objective func-tion x(Xi,m,r,l, Ti, Tr,l, Zr,l, Ci, Cmax) that has to be minimized. First,problem P is decomposed into a finite number of sub-problems(SPcs), one for each feasible combination of modes Cc. Second, a

0–1 MILP is formulated for the SPc of P and a 0–1 decision variableXi,m,r,l is used to detect the assignment of operation i in mode m asthe task l of resource r. Each branch of SPc represents a choice of afeasible task sequence for a particular resource r. The B&B tree has|R| levels, one for each resource r. The resource that corresponds tolevel k is denoted by r(k) and R(k) = {r(1) , . . ., r(k)}, wherek = 1, . . . , |R|. The task sequence of resource r(k) is denoted byq(k) and any node is specified by a path r = {q(1), . . . , q(k)}. Thispath consists of branches from the root of the sub-tree. The num-ber of 0–1 variables being fixed at level k is given by |Lr(k)|2. At theroot of the SPc, r = {}, and no Xi,m,r,l is fixed. At the leaf, that is, at thebottom of the tree, r = {q(1), . . . , q(k), . . . , q(|R|)} and all Xi,m,r,ls arefixed. Thus, the problem can be represented by a directed graphwhere the operations are nodes, and the precedence constraintsand the sequence of the operations on the resources are arcs. Byusing this representation, the problem may be solved by a custom-ized critical path method (CPM). The development and examina-tion of this CPM procedure is beyond the scope of this paper.Therefore, it will be solved as a general LP.

The B&B algorithm solves P through solving the SPcs as follows(see Fig. 1). The search is controlled in the B&B tree from level k = 1(top) to k = |R| (bottom). This includes navigating arbitrarily amongsub-trees, moving depth-first within each sub-tree, and solving anLP routine for each node (i.e., computing a lower bound for eachnode). The LP at the bottom node (at level k = |R|) is formulatedand solved which, if feasible, provides a solution for P. The objec-tive value of P supplies an upper bound (UB) and if the UB is thesmallest so far, it updates the general upper bound (GUB), whereGUB is the best UB of problem P in any stage of the B&B algorithm.The algorithm trims a sub-tree when the LP solution at its root islarger or equal to the GUB, and switches to another sub-tree. Foreach node r of a sub-problem c, a relaxed version of SPr

c is defined(denoted by LSPr

c ) by replacing the integrality constraints of theunfixed 0–1 variables with the condition 0 6 Xi,m,r,l 6 1. The valueof the objective function for the optimal solution of LSPr

c servesas a lower bound (LB) for any solution that branches through noder (denoted as LBr

c ). The algorithm starts by solving a relaxed ver-sion of each SPc (denoted as LSPc) and selecting the SPc with thelowest solution to solve it (denoted as LBc). The algorithm stopswhen there is no unsolved SPc with an LB smaller than the currentGUB.

3. The development of the proposed GA

3.1. Basic schema of the GA

The first step of the GA we propose is to create the initial pop-ulation, i.e., the first generation of the genetic process. The set ofindividuals in the generation is denoted as J, and each of the indi-viduals is encoded according to a specific representation which re-flects the scheduling problem. Then the GA determines the fitnessvalues (i.e., objective function values) of these individuals. Afterthat, we apply a selection operator to randomly partition the gen-eration into pairs of individuals (i.e., pairs of parents). To eachresulting pair of parents, we apply the crossover operator to pro-duce two new offspring. Subsequently, we apply the mutationoperator to the newly produced offspring. A major issue in the ge-netic process is the feasibility of the offspring. An arbitrary cross-over of two feasible solutions may produce an offspring thatviolates constraint (3) of the RSSP (see Section 2.2), namely aninfeasible one. This can result from one of three types of situations:(a) two operation-modes are assigned with the same resource tasknumber l; (b) the operation precedence constraints are violated; or(c) gaps of unused resource task numbers arise. To ensure feasibil-ity of the offspring, we apply a repair operator to the newly

Page 4: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Start

Moving depth-first find the next dangling node σ with more than one branch in SP

If σth level λ<|Rc|?

Solve LSPσ

No

Select the next unfathomed SP with the lowest LB

An unfathomed SPexists?

No

For each SP solve an LSP and select to fathom the one with the lowest solution

Fathom each node σ with LB σ GUB

The SP is fully fathomed?Yes

GUB=UB(σ)

Yes

Yes

End

NoUB(σ)<GUB?

Solve all leafs of node σ and UB(σ) is equal to the lowest solution

No

Yes

c >|

c

c

c

c

c

c

c c

Fig. 1. The B&B algorithm.

1134 G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143

produced offspring. Unfortunately, we could not adopt the ‘‘scrapthem” strategy to eliminate offspring since most of our offspringare infeasible and therefore we would risk missing entire regionsof the solution space and much of the computation effort wouldbe spent in vain. Thus, we repaired the offspring by the followingprocedure. For a type (a) violation, the process moves the sequenceof one of the two operation-modes randomly forward or back-wards according to the precedence constraints. For a type (b) vio-lation, the process reorders the operation-modes so the sequence isprecedence feasible. Finally, for a type (c) violation, the processrenumbers the tasks for each operation-mode on the resource suchthat no unused task arises.

After applying the repair operator, we add the offspring to anew generation, which leads to a generation size of |J|. Then we re-place the parent generation with the offspring generation and forthe new generation we apply the same process (fitness determina-tion, selection, crossover, mutation and repair). This process is re-peated for a pre-specified number of generations denoted by thesize |G|. More formally, the basic schema can be described as fol-lows, where j denotes the current individual, and g is the currentgeneration number.

Begin the GAProduce initial generation of individuals of size |J|;Compute the fitness for individual’s jeJ;g = 1;While g < |G| Do

g = g + 1;Select fitted individuals for reproduction;Recombine individuals by crossover;

Mutate some offspring;Repair infeasible offspring;Compute the fitness of all offspring;

End WhileEnd

3.2. DNA representation

Each one of the individuals participating in the genetic processis encoded according to a specific representation which reflects thescheduling problem. We refer to this representation as a DNA rep-resentation. According to Griffiths (2000), a population evolvesfrom generation to generation, where each individual is character-ized by its DNA. Each DNA is divided into several chromosomes,each chromosome consisting of several genes, and each gene con-sisting of a sequence of a few nucleic-acid types. For encoding asolution for the RSSP, we adopt the hierarchy of a DNA in natureas follows (see Fig. 2 for the DNA string representation). A solutionsearch (or run) mimics the evolution through |G| generations ofsolutions, (g = 1, . . . , |G|). In each generation g we keep a constantnumber |J| of solutions/DNAs (j = 1, . . . , |J|). A single solution j con-sists of |I| operations/chromosomes (i = 1, . . . , |I|), where each oper-ation i has |Mi| alternative modes/genes (mi = 1, . . . , |Mi|). Aparticular operation i in mode m(i, m) is executed by a set Ri,m ofneeded resources, thus for each (i, m) there are |Ri,m| resources/ nu-cleic-acids (r e Ri,m). Each nucleic-acid (i, m, r) consists of a set of 0/1 variables Xi,m,r,ls (l = 1, . . . , |Lr|), which determines the task num-ber (l) of the (i, m) on resource r. Other data including the timing of

Page 5: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Fig. 2. The DNA string representation.

G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143 1135

using resource r by operation-mode (i, m) is also included in nu-cleic-acid (i, m, r).

3.3. The GA procedure

Producing the initial population of solutions is performed byrepeatedly and randomly selecting the next schedulable operation,choosing its mode, and scheduling it as the next task. This processis repeated until there are |J| feasible DNAs. Each DNA is assigned areproduction probability based on its fitness function value, whichin our case is the schedule makespan time. The schedule makespantime (Cmax) is calculated once a feasible solution of the binary con-straints is obtained by solving an LP problem. Since the fitnessfunction is of a minimization type, the lower the fitness function,the higher the reproduction probability is expected to be. There-fore we need to apply a transformation function in order to convertthe fitness function value of a DNA into a reproduction probability.We construct such a transformation function as follows (Mich-alewicz, 1996; Oguz & Ercan, 2005):

1. Let f(j) = 1/Cmax denote the transformation function value ofDNA j; j = 1, . . . , J.

2. Find the total value of the population (Eq. (10)),

F ¼XjJjj¼1

f ðjÞ: ð10Þ

3. Calculate the reproduction probability (Eq. (11)) for DNA j,j = 1, . . . , J, as follows:

pj ¼f ðjÞF: ð11Þ

According to the reproduction probability of each individual inthe population, we used the ‘‘roulette wheel sampling” method(Goldberg, 1989) to select the parent solutions that will be usedfor ‘‘breeding”. A parent can be selected more than once or not atall. Once the two parents are selected we use a one-point crossoverapproach to produce the two offspring. The reason why we studiedonly a one-point crossover operator is because it preserves build-ing blocks very well (Holland, 1975). This is important for us be-cause the repair process and the mutation mechanisms mix thebuilding blocks rather quickly. The crossover point is randomlychosen between operations/chromosomes. Hence, operation i is al-ways located in the ith chromosome. By performing the crossoverin this way, we guarantee that constraints (1) and (2) of the RSSP

are fulfilled. Subsequently, we apply with a low probability themutation operator to the newly produced offspring. In order to re-duce the infeasibility rate of the offspring we carry out the muta-tion only on the gene level, and replace a mode of one of theoperations. More specifically, we randomly select an operationi(i e I) that consists of more than one mode (|Mi| > 1). Then themode m of operation i is replaced by randomly selecting a modefrom the set Mi �m. Because genetic processes may cause a viola-tion of constraint (3), a repair process operates on the nucleic-acidlevel. This process checks and repairs only the offspring task se-quence on the resources.

3.4. An example of how the GA solves the RSSP

We now demonstrate how the proposed GA procedure cansolve the RSSP. Let us say there are three non-preemptive opera-tions, I = {1, 2, 3}, with precedence relationship constraints,S = {(1, 2)}. It is possible to perform each operation by alternativemodes such that, M1 = {1, 2}, M2 = {1, 2}, and M3 = {1, 2}. A set offour resources, R = {1, 2, 3, 4} is used to perform these operations.Other data including the set of resources for each operation-mode(Ri,m) and the timing of their use are as in Fig. 3 (note that in thefigure ‘Res’ means resource and that the operation-mode numberappears inside each rectangle).

A feasible solution (i.e., a DNA) of the RSSP consists of threeoperations (i.e., three chromosomes), where the number of modes(i.e., the number of genes) for each operation is two. For operation-modes (i.m)s (1, 1), (1, 2), (2, 1), (2, 2), (3, 1) and (3, 2), the numberof nucleic-acids are |R1,1| = 2, |R1,2| = 2, |R2,1| = 2, |R2,2| = 1, |R3,1| = 2and |R3,2| = 2, respectively. In order to provide an initial generation,we randomly generate four feasible DNAs (i.e., individuals), andmake these our initial population. In Figs. 4 and 5 we provide thestring and Gantt representations of the four individuals (note thatin the figures ‘Chr’ means chromosome and that the operation-mode number appears inside each rectangle in both the represen-tations). The string representation of the first generated DNA,including its chromosomes, genes, nucleic-acids and 0/1 variables(only those equal to one) is provided in Fig. 6. The schedule make-span is calculated for each DNA in the initial population by solvingan LP problem. The makespan time and the reproduction probabil-ity (in parentheses) of DNA1, DNA2, DNA3, and DNA4, are 17(0.173),11(0.288), 15(0.212), and 9(0.327), respectively.

Using the ‘‘roulette wheel sampling” method, parents DNA3 andDNA4 are selected for the purpose of ‘‘breeding”. Once the two par-ents are selected we use a one-point crossover approach to pro-duce the two offspring, as shown in Fig. 7.

4. Truncated B&B algorithms

In this subsection we describe the two truncated B&B algo-rithms we developed for solving the RSSP. The justification of atruncated B&B algorithm is that much of the B&B algorithm execu-tion time is frequently spent on two processes: (1) decomposing allsub-problems and solving a relaxed version of SPr

c for each sub-problem c, and/or (2) proving the optimality of an existing solu-tion. Our truncated B&B algorithms try to diminish the time con-sumed by these two processes.

The first B&B truncated algorithm (denoted TB&B#1) is identicalto the B&B algorithm, the only difference being that it stops whenthe runtime reaches the average time required by our GA to solveproblem P. Clearly, because the algorithm begins by calculating theLBs of all SPcs, in certain cases even one feasible solution may notbe produced. The second B&B truncated algorithm (denotedTB&B#2) does the same (i.e., it stops when the runtime reachesthe average time required by our GA). However, in addition, it

Page 6: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Fig. 3. The example input data.

Fig. 4. The example initial population (DNA1 and DNA2).

1136 G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143

Page 7: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Fig. 5. The example initial population (DNA3 and DNA4).

Fig. 6. String representation of DNA1.

G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143 1137

randomly selects the next sub-problem SPc which it decomposesand solves, as opposed to both the B&B and TB&B#1 which calcu-lates the LBs of all SPcs before solving even the first sub-problem.Thus, TB&B#2 may find a feasible solution to problem P in a smallruntime.

5. Results

In this section we present the results of our experiments, whichcompared the performance of the proposed GA with the optimalB&B algorithm and its truncated versions. The experiments weredesigned as follows. The GA was coded in Visual Basic (V.B.) 6 un-der Windows. Samaddar’s B&B algorithm and our truncated ver-sions were coded in C++, compiled with the g++ compiler underLinux. The experiments were performed on two computers, sincethe GA and the B&B algorithms require different operation sys-tems. The GA was performed on an IBM-compatible personal com-

puter with 3 GHz clock-pulse and 2 GB RAM and the B&B algorithmwas performed on a Pentium-based IBM-compatible personal com-puter with 3 GHz clock-pulse and 4 GB RAM. The more powerfulcomputer was chosen for the B&B algorithms so that the betterperformance of the GA would not be attributed to the type of com-puter. The information system architecture is presented in Fig. 8.The problem instance data are input via a user interface into thedatabase. To solve the problem instance by one of the B&B-typealgorithms, the data of the problem is output from the databaseand a C++ application under Linux is performed. Similarly, to solvea problem instance by the GA a V.B. application under Windows isperformed. During the run of both the applications, a DLL file ofcommercial software (Lindo API) to solve LP problems is used.The problem instance solution data is saved in the database anddisplayed to the user via an interface.

In these experiments, we tested a large number of GA parametersincluding different selection methods, population sizes, numbers of

Page 8: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Fig. 7. Two parents crossover.

Fig. 8. Information system architecture.

1138 G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143

offspring in the generation, mutations and elitism rates on a numberof instances. However, due to space limitations we restrict the exper-iments to the set of GA parameters whose performance was amongthe best, namely: ‘‘roulette wheel sampling,” 38 generations of size16, a mutation rate of 4% and an elitism rate of 10%.

5.1. Data generation

To compare the algorithms’ performance we used 16 probleminstances of Samaddar et al. (2005) and 102 problem instances sys-tematically and randomly constructed by the RSSP generator devel-oped by Ainbinder (2006). We used the RSSP generator to createproblem instances that on the one hand represent a variety of char-acteristics and on the other hand can be solved in a reasonableamount of time by at least some of the algorithms. Hence, we re-stricted the ranges of the characteristics (presented in Table 1 and2) such that only one or two of them may be relatively large. It isimportant to note that the literature contains no other test data

for the RSSP. The 16 instances of Samaddar are limited to eightoperations with a maximum of eight RRs with four modes per oper-ation allowed. The 102 instances of Ainbinder are limited to 26operations with a maximum of 34 RRs with six modes per operationallowed. Tables 1 and 2 list the characteristics of all 118 instances(Inst. index) of problem P. For each instance, we provide its numberof operations (|I|), number of resources (|R|), average number ofmodes per operation (Avg

i2I:fjMijg) and average number of resources

per operation-mode ( Avgm2Mi ;i2I

:fjRi;mjg). We designed a database of

these instances that can be used in future studies for developingnew algorithms to solve the RSSP, which is available upon request.

5.2. Experimental procedure

The experiments were performed as follows. Each problem in-stance was solved repeatedly, 10 times via the GA and the

Page 9: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Table 1Instance characteristics (instances 1–60).

Inst. index |I| |R| Avg. |Mi| Avg. |Ri,m| Inst. index |I| |R| Avg. |Mi| Avg. |Ri,m| Inst. index |I| |R| Avg. |Mi| Avg. |Ri,m|

1 8 6 1.63 1.54 21 8 8 1.78 2.47 41 12 14 2.15 1.092 8 8 2.08 1.77 22 8 10 2.22 3.15 42 12 14 2.18 1.053 8 6 2.13 2.05 23 8 12 2.28 2.20 43 12 24 2.18 1.294 8 8 1.89 2.00 24 8 14 2.28 2.14 44 12 24 2.18 1.055 8 6 1.99 2.14 25 8 14 2.29 5.13 45 12 24 2.18 1.046 8 8 1.87 2.16 26 8 14 2.29 2.32 46 14 12 2.16 1.047 8 6 1.86 1.70 27 8 14 2.29 3.15 47 14 14 2.15 2.048 8 8 2.23 1.61 28 8 16 2.29 2.20 48 10 8 1.81 2.009 8 6 1.78 1.63 29 8 16 2.29 1.14 49 10 20 1.48 2.31

10 8 8 2.22 2.10 30 8 16 2.29 1.07 50 10 8 1.35 2.6111 8 6 2.28 1.63 31 8 16 2.29 1.07 51 10 12 1.63 2.9112 8 8 1.78 1.64 32 10 10 2.23 6.05 52 10 16 1.56 3.3513 8 6 2.35 1.63 33 10 12 2.22 1.30 53 10 20 1.66 3.0214 8 8 1.92 1.66 34 10 20 2.22 2.07 54 12 20 1.55 2.0015 8 6 1.86 2.13 35 10 24 2.22 2.10 55 12 20 1.30 2.6416 8 8 2.23 2.20 36 10 34 2.22 2.11 56 12 20 1.69 4.5617 10 9 2.22 2.76 37 10 12 1.62 2.36 57 14 20 1.69 2.3418 16 7 1.64 2.16 38 12 10 2.14 2.10 58 14 20 1.69 2.9719 6 6 1.77 3.24 39 12 12 2.18 2.09 59 14 20 1.55 4.0020 11 10 2.16 3.87 40 10 16 1.82 2.07 60 14 20 1.54 4.05

Table 2Instance characteristics (instances 61–118).

Inst. index |I| |R| Avg. |Mi| Avg. |Ri,m| Inst. index |I| |R| Avg. |Mi| Avg. |Ri,m| Inst. index |I| |R| Avg. |Mi| Avg. |Ri,m|

61 14 20 1.54 4.05 81 16 28 1.77 2.62 101 14 10 1.61 1.4562 16 20 1.72 2.12 82 18 24 1.71 2.68 102 14 10 1.69 1.6163 16 20 1.67 2.88 83 18 28 1.43 2.99 103 14 10 1.62 2.0364 16 20 1.54 3.69 84 20 24 1.67 2.50 104 16 10 1.60 1.8865 18 20 1.70 1.75 85 20 28 1.58 2.68 105 18 10 1.70 2.1066 18 20 1.54 3.11 86 23 30 1.55 1.84 106 18 10 1.54 2.7067 18 20 1.75 3.94 87 22 24 1.66 2.00 107 18 10 1.42 2.2468 20 20 1.74 1.85 88 22 28 1.58 2.91 108 18 10 1.30 2.2869 20 20 1.59 3.16 89 23 20 1.59 2.14 109 16 10 2.27 2.1270 10 14 2.26 3.25 90 24 10 1.57 2.56 110 14 10 2.23 1.9771 10 14 2.53 2.10 91 6 4 3.59 2.63 111 12 10 2.44 2.7072 12 14 2.38 2.04 92 24 28 1.57 3.22 112 10 10 2.74 2.4773 12 14 2.28 3.04 93 18 20 1.68 3.32 113 10 10 2.07 3.3674 22 20 1.51 2.94 94 18 20 1.43 3.76 114 10 10 2.51 1.7575 22 20 1.52 2.94 95 16 20 1.59 2.78 115 10 10 2.75 1.6776 24 20 1.56 3.22 96 16 10 1.54 1.73 116 16 10 1.86 1.5177 24 20 1.57 3.23 97 20 10 1.38 2.60 117 16 10 1.80 2.0978 14 24 1.83 2.30 98 22 20 1.47 1.60 118 20 10 1.69 2.0079 14 28 1.63 3.01 99 24 20 1.56 1.6380 16 24 1.35 2.70 100 26 20 1.60 1.49

Table 3Groups of instances.

Group WithinGroup

Instances whose:

A1 A GA runtime was less than the runtime of the B&B algorithmA1.1 A1 GA runtime was less than the B&B algorithm runtime to find all

LSPcsA1.2 A1 B&B algorithm runtime to find all LSPcs was less than the GA

runtimeA2 A B&B algorithm runtime was less than the runtime of the GAB1 B GA runtime was less than the B&B algorithm runtime to find all

LSPcsB2 B B&B algorithm runtime to find all LSPcs was less than the GA

runtime

G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143 1139

TB&B#2, but only once via the B&B algorithm and the TB&B#1since for these two methods repeated runs would give identical re-sults. Note that for each instance the time limit for both TB&B#1and TB&B#2 is equal to the average GA runtime.

The optimal solution was obtained by the B&B algorithm for all16 instances from Samaddar’s study and for 72 of the 102 instancesfrom Ainbinder’s study. Thus, out of 118 instances in total, 88(termed as instances of Group-A) needed at most 36 h to obtaina solution and prove optimality. For the remaining 30 instances(termed as instances of Group-B) the optimal solution could notbe obtained (in 36 h) by the B&B algorithm, and the best solution,if found, was saved as the GUB. For all the instances in Group-Bthat had no optimal solution an LB for problem P was calculatedby replacing the integrality constraints of the unfixed 0–1 variablesby 0 6 Xi,m,r,l 6 1 and solving a linear programming problem. Theinstances in Group-A, and in Group-B were divided into severalsub-groups as depicted in Table 3.

Table 4 specifies the experiment procedure. TB&B#1 was notused to solve the 37 instances of Group-A1.1 and the 21 instancesof Group-B1 since according to the GA time limit this algorithmcannot solve these instances. Also TB&B#1 was not used to solve

the 39 instances of Group-A2 since the B&B algorithm found theoptimal solution within the time limit of the GA. Likewise, wedid not execute TB&B#2 for the 39 instances of Group-A2 sinceits solution, if found within the GA time limit, would be equal toor inferior to the B&B algorithm.

For comparing the effectiveness of the algorithms, we calcu-lated the following statistics. Since an optimal solution was found

Page 10: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Table 4The experimental procedure.

Group # of instances Runtime GA<B&B Runtime GA<B&B LSPcs Solved by

GA B&B TB&B#2 TB&B#1

A A1 A1.1 37 + + + + + � (cannot)A1.2 12 + � + + + +

A2 39 � � + + + Inferior to B&B + Same as B&BB B1 21 + + + � (cannot) + � (cannot)

B2 9 + � + � (cannot) + +

1140 G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143

for Group-A, we calculated the average percentage deviation of thebest solution’s objective found from the optimal makespan. ForGroup-B, since we do not have an optimal solution we calculatedthe average percentage deviation of the best solution’s objectiveversus the LB of P, and in addition versus the GUB found by theB&B algorithm. Note that the average percentage deviation fromthe GUB may be negative since the best solution of one of the algo-rithms may be better from the GUB.

5.3. Computational results

5.3.1. RuntimeThe algorithms’ runtime results are presented in seconds (s). Ta-

ble 5 presents the GA and the B&B algorithm runtime results forthe 88 instances of Group-A. As noted before, each instance wasrun repeatedly 10 times by the GA, thereby obtaining a total of88 � 10 runs. The GA obtained the optimal solution in 661 runs(75.11% of all the runs). The different runtime statistics (minimal,maximal, average, median) showed that the B&B algorithm run-time is much greater than our GA for the majority of the 88 in-stances, and by far for all the large-sized instances as drivenfrom the 95% confidence interval (CI) results. In Table 5 we alsoshow the runtime results for the instances of Group-A separatedinto two types of instances: the 16 instances of Samaddar (labeledas 1–16 in Table 1) and the 72 instances of Ainbinder. The differ-ence between the runtime statistics of these two types of instancesindicate that in the 16 instances of Samaddar the GA runtime isgreater than the runtime needed by the B&B algorithm to obtainthe optimal solution. However, for the 72 instances of Ainbinderthe runtime of the GA is 700-fold shorter than the B&B algorithm.This significant difference in runtime is because the sizes of most ofthe 16 instances of Samaddar are much smaller than the 72 in-stances of Ainbinder regarding the number of operations, resourcesand other characteristics (see Table 2). Moreover, the GA runtimewas much shorter and less sensitive to the problem size(4.84 ± 0.57 with a 95% CI) than the B&B algorithm(3390.62 ± 3171.77 with a 95% CI).

Fig. 9 displays the runtime of the GA versus the B&B algorithmon logarithmic scale. The dashed line on the figure represents equalruntime. It is clear that for some instances, the B&B algorithm runsabout one fold faster than the GA and for other instances the GAruns four fold faster. Furthermore, for all the set of instances the

Table 5B&B and GA runtimes for instances of Group-A.

Algorithm Number of instances Runtime (s)

Minimal

B&B GA All 88 0.081.78

B&B GA 16 of Samaddar 0.112.08

B&B GA 72 of Ainbinder 0.081.78

runtime of the B&B algorithm is six fold in comparison to one foldof the GA.

5.3.2. Deviation from the best solutionTables 6–9 compare the various algorithms by their success rate

in solving the RSSP and the relative distance from an optimal solu-tion. When the B&B algorithm could not find an optimal solutionwe compared the algorithms by their relative distance from theLB and GUB. The success rate may relate to solved instances or tosolved runs. Notice that for TB&B#1 the success rate of solved in-stances is equal to the success rate of solved runs, since as notedbefore, the number of runs per problem instance of TB&B#1 isone. In each specific comparison (each comparison presented in asingle table), we consider only instances that were successfullysolved by each of the compared algorithms.

Table 6 presents the GA and the TB&B#2 percentage deviationfrom the optimal solution for instances of Group-A1. The GAreached 38 generations � 16 solutions for all 490 (49 � 10) runs.The TB&B#2 solved all instances of Group-A1, however in 11 runsout of 490 not even a single feasible solution was obtained (2% ofthe runs). As for the percentage deviation from the optimal solu-tion, the GA outperformed the TB&B#2 (P-value < 0.01) for all thestatistics (minimal, maximal, average, median) as presented in Ta-ble 6. Moreover, the GA obtained the optimal solution in 75.11% ofthe runs.

Fig. 10 displays, the average value of the best solution obtainedby the GA (i.e., best objective function value) versus the optimalvalue for the 88 instances of Group-A. The results show that theGA succeeded in obtaining the optimal solution in most of the runsand that the correlation coefficient between the optimal solutionsand the GA results is very strong (R2 = 0.9953) with a slope of al-most 45� (tangent of the slope angle is 1.0084).

We also calculated the LB for each of the instances of Group-A.The results show that the average percentage deviation was twowith a 95% CI equal to ±1%. Based on these results, we assume thatthe LB is a good predictor for the optimal solution of the instancesin Group-B. For the instances of Group-B, this result justifies thecomparison of the percentage deviation from the LB of the resultobtained by the GA and TB&B#2.

Table 7 presents the GA and the TB&B#2 percentage deviationfrom the optimal solution for instances of Group-B. The GA reached38 � 16 solutions in each of the 300 (30 � 10) runs, while TB&B#2

Average Maximal Median 95% CI

3390.62 111963 11.03 ±3171.774.84 15.21 3.95 ±0.57

0.48 1.08 0.41 ±0.072.93 4.08 2.82 ±0.11

4143.99 111963 17.34 ±3490.625.27 15.21 4.82 ±0.59

Page 11: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

1

10

100

B&B runtime

GA

run

time

0.0 0.1 1.0 10.0 100.0 1,000.0 10,000.0 100,000.0 1,000,000.0

Fig. 9. The runtime of the GA versus the runtime of the B&B algorithm.

Table 6Comparison between the GA and TB&B#2 for instances of Group-A1.

Algorithm Solved instances (%) Solved runs (%) % deviation from the optimal solution

Minimal Average Maximal Median 95% CI

GA 100 100 0.00 2.26 26.83 0.29 ±1.47TB&B#2 100 98 0.00 21.41 117.56 16.67 ±6.29

Table 7Comparison between the GA and TB&B#2 for instances of Group-B.

Algorithm Solved instances (%) Solved runs (%) % deviation from the LB

Minimum Average Maximum Median 95% CI

GA 100 100 0.36 13.84 61.47 6.77 ±6.19TB&B#2 86.67 65 6.11 60.19 138.62 51.27 ±13.31

Algorithm Solved instances (%) Solved runs (%) % deviation from the GUB

Minimum Average Maximum Median 95% CIGA 100 100 �50.90 �12.50 16.91 �5.55 ±7.05TB&B#2 86.67 65 �30.11 20.25 74.15 12.83 ±10.27

Table 8Algorithm comparison for Group-A1.2 of instances.

Algorithm Solved instances (%) Solved runs (%) % deviation from the optimal solution

Minimum Average Maximum Median 95% CI

GA 100 100 0.00 0.54 3.30 0.22 ±0.53TB&B#1 100 100 0.00 10.46 20.31 11.22 ±3.83TB&B#2 100 95 2.98 12.68 27.81 11.75 ±4.32

G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143 1141

did not reach even a single feasible solution in a total of 105 out ofthe 300 runs (35% of the runs). Furthermore, for four of the in-stances no solution was obtained in any of their runs. Since in mostof the instances, TB&B#2 found at least one feasible solution, weused the best one as a GUB for comparing the performance of theother algorithms (see Table 7). In terms of percentage deviationsfrom both the LB and the GUB, the GA outperformed the TB&B#2in all the statistics presented in Table 7.

The total runtime of the B&B algorithm that solved the in-stances of Group-A can be divided into three categories: (1) theruntime to find all SPcs LBs which took on the average 3391 s; (2)

the runtime to find the optimal solution which took on the average1795 s; and (3) the runtime to prove optimality which took on theaverage 1533 s. Thus, while the majority of time is consumed toobtain the optimal solution, a great deal of time is also consumedfor proving the optimality of a GUB. Therefore, the average runtimeconsumed to find all SPcs LBs relative to the other two runtimetypes is 25-fold smaller. This property of the B&B algorithm moti-vated us to find instances in which the first truncated versionTB&B#1 may be useful. Such instances must satisfy the conditionthat the GA runtime is greater than the time required for theB&B algorithm to find all SPcs LBs, and yet smaller than the total

Page 12: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

Table 9Algorithm comparison for Group-B.2 of instances.

Algorithm Solved instances (%) Solved runs (%) % deviation from the LB

Minimum Average Maximum Median 95% CI

GA 100 100 0.36 3.89 10.13 1.82 ±2.78TB&B#1 89 89 5.20 35. 65 93.33 33.25 ±18.37TB&B#2 100 74 6.11 43.86 117.78 38.44 ±22.97

Algorithm Solved instances (%) Solved runs (%) % deviation from the GUB obtained by the B&B

Minimum Average Maximum Median 95% CIGA 100 100 �29.62 �15.04 2.28 �16.22 ±10.05TB&B#1 89 89 0.00 8.49 32.82 3.16 ±8.24TB&B#2 100 74 �3.41 15.56 49.62 4.84 ±15.01

0

50

100

150

200

250

250200150100500

Optimum value

GA

val

ue

Fig. 10. Best GA solution versus the optimal value for the instances of Group-A.

1142 G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143

runtime of the B&B algorithm. We found 21 such instances (see Ta-ble 4), 12 of them with a known optimal solution (termed asGroup-A1.2) and nine with an unknown optimal solution (termedas in Group-B2). For Group-A1.2 of instances the performance ofthe algorithms was compared with regard to the optimal solution(see Table 8), but for the Group-B2 of instances the performancewas compared with regard to the LB and GUB found by the B&Balgorithm (see Table 9). The GA outperformed the TB&B#1 (P-va-lue < 0.05) in all the percentage deviations from the optimal solu-tion statistics (presented in Table 9) with a smaller CI.

6. Conclusions

In this paper we presented a GA and two truncated B&B algo-rithms as new heuristics for solving the RSSP. The theoretical con-tribution of this work is three fold. First, we succeeded inemploying a new DNA encoding to represent a solution of the RSSPwhich enables treating infeasibility effectively. Second, we devel-oped a GA heuristic that is capable of solving practical-sized RSSPs,while maintaining their monolithic formulation characteristics.Third, we developed truncated versions of the Samaddar’s B&Balgorithm which enabled us to search for solutions using the struc-ture of the B&B tree. To the best of our knowledge, these are theonly heuristics available to solve the RSSP.

Our computational results showed that the GA not only enablesus to solve RSSPs larger than the 16 instances previously intro-duced in the literature but that they also outperformed the twotruncated B&B algorithms. Furthermore, the GA succeeded to reachan effective objective function solution within a very short run-time. This impressive performance may indicate that the overall

success derives from a combination of ‘‘good building blocks”namely the DNA representation and the genetic operators (cross-over, mutation and repair).

The next challenge is to find new ways to accelerate the run-time of the heuristics we suggested, one of which way may be touse parallel processing. With the rapid advancements in computerhardware and software, the use of parallel processing is becomingan attractive solution to reduce the runtime of solution procedures.Due to their structure, the B&B algorithm and its truncated ver-sions and the GA lend themselves to be paralleled. For example,problem P may be partitioned into its SPcs (sub-problems). EachSPc could be defined as problem Pc where Pc # P, and different Pcsmay be solved by our algorithms simultaneously using parallelprocessing.

Acknowledgement

This research was partially supported by Intel Inc.

References

Agnetis, A. (2000). Scheduling no-wait robotic cells with two and three machines.European Journal of Operational Research, 123, 303–314.

Ainbinder, I. (2006). Scheduling and allocation. M.Sc., dissertation. Beer-Sheva,Israel: Ben-Gurion University.

Bostrom, N. (2003). When machines outsmart humans. Futures, 35, 759–764.Caramia, M., Dell’Olmo, P., & Onori, R. (2004). Minimum makespan task sequencing

with multiple shared resources. Robotics and Computer-IntegratedManufacturing, 20, 143–150.

Chan, F. T. S., Wong, T. C., & Chan, L. Y. (2006). Flexible job-shop scheduling problemunder resource constraints. International Journal of Production Research, 44(11),2071–2089.

Page 13: A genetic algorithm-based approach for solving the resource-sharing and scheduling problem

G. Pinto et al. / Computers & Industrial Engineering 57 (2009) 1131–1143 1143

Damak, N., Jarboui, B., Siarry, P., & Loukil, T. (2009). Differential evolution for solvingmulti-mode resource-constrained project scheduling problems. Computers &Operations Research, 36(9), 2653–2659.

Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machinelearning. Massachussetts: Addison-Wesley.

Griffiths, A. J. F. (2000). An introduction to genetic analysis (7th ed.). New York: W.H.Freeman.

Holland, H. J. (1975). Adaptation in natural and artificial systems. Ann Arbor,Michigan: The University of Michigan Press.

Lawler, E. L., Lenstra, J. K., Rinooy Kan, A. H. G., & Shmoys, D. B. (1993). Sequencingand scheduling: Algorithms and complexity. In S. C. Graves, A. H. G. RinnooyKan, & P. H. Zipkin (Eds.). Handbooks in operations research and managementscience: Logistics of production and inventory (Vol. 4, pp. 445–522). Amsterdam:NorthHolland.

Mehra, A., Minis, I., & Proth, J. M. (1996). Hierarchical production planning forcomplex manufacturing systems. Advances in Engineering Software, 26(3),209–218.

Melanie, M. (2001). An introduction to genetic algorithms (7th ed.). London: MITPress.

Michalewicz, L. (1996). Genetic algorithms + data structures = evolution programs (3rded.). New York: Springer-Verlag.

Oguz, C., & Ercan, F. (2005). A genetic algorithm for hybrid flow-shop schedulingwith multiprocessor tasks. Journal of Scheduling, 8, 323–351.

Pinedo, M. (2005). Planning and scheduling in manufacturing and services. New York:Springer-Verlag.

Rabinowitz, G., Mehrez, A., & Samaddar, S. (1991). Scheduling model for multi-robotassembly cells. The International Journal of Flexible Manufacturing Systems, 3,149–180.

Reeves, C. R., & Rowe, J. E. (2003). Genetic algorithms: Principles and perspectives.London: Kluwer Academic Publishers.

Riane, F., Artiba, A., & Iassinovski, S. (2001). An integrated production planning andscheduling system for hybrid flowshop organizations. International Journal ofProduction Economics, 74, 33–48.

Samaddar, S., Rabinowitz, G., & Mehrez, A. (1999). Resource sharing and schedulingfor cyclic production in a computer-integrated manufacturing cell. Computers &Industrial Engineering, 36(3), 525–547.

Samaddar, S., Rabinowitz, G., & Zhang, G. P. (2005). An experimental analysis ofsolution performance in a resource sharing and scheduling problem. EuropeanJournal of Operational Research, 165, 139–156.

Sawik, T. (2002). Monolithic vs. hierarchical balancing and scheduling of a flexibleassembly line. European Journal of Operational Research, 143, 115–124.

Schneeweiss, C. (1999). Hierarchical in distributed decision making. Berlin: Springer.