Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Combinative method using simulated annealing and tabu

search for solving resource leveling problem.

Ruei-Bin Jung, Wen-Chung Chang

Department of Electronic Engineering, Southern Taiwan University


Tainan, TAIWAN
E-mail: M9435204@webmail.stut.edu.tw
Abstract. In this research I have introduced a new heuristic approach combing Tabu search (TS) with
Simulated annealing (SA) which is called TSSA to solve resource leveling problem. The problems used in
this research are the activity scheduling applications solved under resource limitations (resource upper
limit and the unit cost of the resource) and activity constraints (maximal time interval and minimal time
interval between each two activities). K. Neumann and J. Zimmermann (1999) proposed an algorithm in
which each activity is given an optimal start time by using a priority rule, and after that, the activity is
arranged into the schedule with that start time. However, the proposed algorithm of K. Neumann and J.
Zimmermann did not adjust the start times of activities that have already been arranged into the
schedule. Therefore, improvements have been made in this aspect in this research.

Keywords: resource leveling, Tabu search (TS), Simulated annealing (SA), maximal time interval,
minimal time interval.
1 Introduction between these three goals are discussed as
follows. First, when we consider about the
In recent years, increasing competition has leveling of resource, it is of significant
been seen among corporations with the importance that all the resource should be used in
development of expanding globalization. As a an effective way, because in a sense, more
result, how to be more competitive in the global resources means more costs. Therefore, how to
market is an important issue to many enterprises. use the resource most effectively so that best
For many manufacturers, the employment of production performance and highest profits can
better production scheduling tools means a direct be achieved is the No.1 item that should be taken
and effective way to control cost expenditure. A into consideration. In addition, attention should
good production scheduling tool should take into be attached to avoid extra cost expenditure, for
account a lot of production limitations, including example, the extra cost occurred when resource is
costs, resource loadings, etc. overloaded. Thus, the leveling of resource is
equivalent to the effective utilization of resource.
In this research, a heuristic approach has been
proposed to control both the costs and resource Second, resource has its own capacity, below
loadings according to given standards and which the unit cost of production is fixed and
achieve resource leveling as well. The relations
Ruei-Bin Jung, Wen-Chung Chang.

above which the unit cost rises as the overloading already scheduled jobs. But actually, after all the
occurs, in which case the profit would be activities have been allocated into the schedule,
impaired with the increased cost. To solve this improvements can still be made upon the
problem, importance has been attached to the schedule. Therefore, in this research, the
resource capacity in this research in order to algorithm proposed in the literature is used to
allocate jobs and make adjustments under the create the initial solutions. After that, Tabu search
circumstance that all resource should not be and Simulated annealing are combined together
overloaded and all jobs are not disturbed in their in TSSA to perform the search of optimal
sequence, which can consequently reduce the solutions. It is known that the features of Tabu
extra cost from resource overloading. search is that it will not perform search to the
same area, therefore, it is able to jump out of the
Finally, as for the control of costs, efforts have local minimum deadlock. Since in the Simulated
been made on finding such a time when the costs annealing algorithm, the same area will be
are lowest and the resource value can be inevitably searched over and over again, Tabu
maximized. Thus a time is set to be the starting search is combined with Simulated annealing to
time of a job, so that even new jobs are added, the avoid such disadvantage, and the combined new
resource costs will not significantly increase. If algorithm is applied to the problem of resource
attention is only paid to the leveling of resource, leveling. More details about TSSA will be given
resource capacity may be transgressed, or costs in 3.
may increase. Therefore, how to balance and
satisfy the above three goals simultaneously The composition of this paper is: 2 gives an
become the core of this research. Since the introduction of the research background, 3
processing sequence of jobs must be taken into describes the research approach, 4 is the
account, maximum and maximum time lags are simulation and result analysis of the experiment,
set to different jobs in this research in order to and finally 5 contains the conclusion and future
restrict the starting time of jobs. work.

In K. Neumann and J. Zimmermann (1999) the 2 Literature review


authors study the problem of resources leveling in
project scheduling, where activities are subject to 2.1 The overview of resource leveling
minimum and maximum time lags and explicit problem (RLP)
resource constraints, i.e., there is a maximum
[1]
In K. Neumann and J. Zimmermann
resource availability for each resource type and
proposed an approach using dependent
time period. The time horizon is fixed. The
adjustment time windows between activities to
authors propose priority rule heuristics for this
allocate the activities into the schedule. In their
problem with a variety of different objective
research, the earliest start time and latest start
functions. However, in the above literature,
time of an activity are updated repeatedly, aiming
attention has only been paid to the jobs to be
at reducing the total float time over and over
scheduled, and no adjustment is ever made to the
Ruei-Bin Jung, Wen-Chung Chang.

again. Meanwhile, all activities are allocated into exploring solution space, the SA method offers
the schedule at its optimal start time. My research the possibility to accept worse neighbor solutions
is carried out based on the above literature. First in a controlled manner in order to escape from
we carry out the algorithm proposed in that local minima. More precisely, in each iteration,
literature to be initial solution, then use the for a current solution x characterized by an
proposed TSSA approach in this paper to objective function value f ( x ) , a neighbor x  is
improve the initial solution. By using TSSA selected from the neighborhood of
approach, successfully improve the optimal start x denoted N ( x ) , and defined as the set of all its
time of each activity. immediate neighbors. For each move, the
2.2 Tabu search objective difference   f ( x )  f ( x ) is
evaluated. For minimizationx problems
The basic form of Tabu search (TS) is founded replaces x whenever   0 . Otherwise, x
on ideas proposed by Glover in 1986. TS is a could also be accepted with a probability
meta-heuristic that guides a local heuristic search P  e (  ) / T . The acceptance probability is
procedure to explore the solution space beyond compared to a number yrandom  [0,1] generated
local optimality. Tabu search starts from an initial randomly and x is accepted whenever
solution and moves at each iteration from initial P  yrandom .The factors that influence acceptance
solution to its best neighbor, until a stopping probability are the degree of objective function
criterion is satisfied. The most important is that value degradation  (smaller degradations
the cost of neighbor is not necessarily less than induce greater acceptance probabilities) and the
initial cost. There are two main components of parameter T called temperature (higher values of
TS. The first one is a search that uses an T give higher acceptance probability). The
operation called “move” to define the temperature can be controlled by a cooling
neighborhood of any given solution. Another scheme specifying how it should be progressively
main component of TS is its use of “memory”, reduced to make the procedure more selective as
which creates a more flexible search behavior the search progresses to neighborhoods of good
Memory-based strategies are therefore the solutions. There exist theoretical schedules
hallmark of Tabu search approaches. The basic guaranteeing asymptotic convergence toward the
concepts of Tabu search as shown in these M. optimal solution. They require however infinite
Ben-Daya [2] Nai-Hsin Pan [3], Taicir Loukil [4]. computing time. In practice, much simpler and
finite computing time schedules are preferred
2.3 Simulated annealing
even if they do not guarantee an optimal solution.
A typical finite time implementation of SA
The SA is a local search method that finds its
consists in decreasing the temperature T in S
inspiration in the physical annealing process steps, starting from an initial value and using
studied in statistical mechanics. An SA algorithm attenuation factor  (0    1) . The initial
repeats an iterative neighbor generations temperature T0 is supposed to be high enough to
procedure and follows search directions that allow acceptance of any new neighbor proposed
improve the objective function value. While
Ruei-Bin Jung, Wen-Chung Chang.

in the first step. In each step s, the procedure activity and the start time j of another activity
should be keep d
min
generates a fixed number of neighbor solutions ij
away from each other, i.e.
N sol and evaluates them using the current S j  Si  d min
ij
. On the other hand, d ij
max
defines
temperature value Ts   sT0 . The whole process the maximum distance of the start times of two
is commonly called ‘‘cooling chain’’ or also activities, meaning the start times of two
activities cannot exceed d ij , i.e. S j  Si  d ijmax .
max
‘‘markov chain’’. Adaptation of SA to an
optimization problem consists in defining its In this research, the distance of the start times of
specific components: a solution representation of activities are defined by d ijmin and d ijmax ,
the problem, a method for the objective function positive numbers representing minimum time
value calculation, a neighbor generation lags while negative numbers representing
mechanism for solution space exploration and a maximum time lags. All the activities within the
cooling scheme including stopping criteria. The activities network must be restricted by these
basic concepts of Simulated annealing as shown restrictions. Therefore, the start times are very
[5] [6]
in these Rachid Chelouah , T.K Varadharajan . important to the whole scheduling, since all the
activities must be restricted by these rules in
3 Building the TSSA for arranging the order to be allocated into the schedule. Under
RLP such scheduling rule, it is likely that loadings
would become uneven and the cost would
3.1 Problem definition
increase accordingly. Another case is that some
activities cannot be allocated into the schedule
This research is carried out for activities
within a limited period of time. In K. Neumann
scheduling. First, we assume that there are N
and J. Zimmermann (1999), careful consideration
activities to be scheduled, then activities network
has been made upon the allocation of activities,
is introduced to describe the relations between
but it only focused on the unscheduled activities
activities. The activities are indexed from 0 to
and calculated when would be the optimal start
n  1 , representing the start time as well as the
times of those unscheduled activities. No efforts
completion time of the schedule, respectively.
have been made on the already scheduled
The processing time of each activity is greater
activities. Therefore, in this research, an
than zero Pj  0 , and S j  0 , and the start time
optimization procedure is proposed to make
of the whole schedule is zero S0  0 , which
adjustments after all activities are scheduled. All
means the schedule is started at time 0. Sn 1
these adjustments are made according to the
defines the schedule duration or makespan. It is
restrictions of d ijmin and d ijmax . More details will
assumed that there’s a fixed given length d ,
be provided in the following. This research
thus the constraint Sn 1  d can be obtained.
employs a single resource where K is used to
Now we allocate n+2 nodes ranging from 0 to represent the resource. Let us first suppose that

n+1 into the activities network. It is assumed that the capacity of available resource Rk  0 , and if
a fixed distance d
min
ij
is set between each two activity j is allocated to resource K , it will cost
activities, meaning the start time i of one a capacity of rjk  0 , satisfying 0  rjk  Rk . In
Ruei-Bin Jung, Wen-Chung Chang.

calculation the error, which refers to the deviation


other words, rjk is supposed to be a constant
between the initially given capacity of the
satisfying the above restriction. Now we want to resource lk  0 and the actual loading per unit
create a schedule S , whose t  0,1,..., d  1 . All time of the resource. lk can also be called the
activities should be allocated into 0  t  d . average loading of resource or the capacity of
Resource profile is used to represent the loading resource. Objective value can be positive or
per unit time within the production period. Three negative. When Objective value is negative, it
objective functions in the following are used to means that no overload occurs during this unit
calculate the loading per unit time of the resource time. Therefore, in this research, attention is
profile. The results got will be considered the mainly paid to the unit time t where Objective
evidence of determining the start time of an value is positive. The value of function is the
activity. The general resource leveling problem smaller the better, which means the control of
can then be formulated as follows: resource K is well performed.
k d 1
min f ( R ) f ( R )   Ck  [rks (t )  lk ] (5)
k 1 t 0

subject to S j  Si  d ij (1)
The third objective function aims at
S0  0 (2) minimizing the difference between resource
usage at day t and resource usage at day t-1. In
Sn  1  d (3)
real life, the leveling of resource is extremely
The basic concepts of resource constrained important, therefore the value of this function
[7]
project as shown in these Schwindt C , Arno should also be the less the smaller the better. If
Sprecher[8], Younis, M.A[9], Seibert, J.E[10]. this function value is smaller, it means resource K
is well utilized for every unit time.
3.2 Different classes of objective functions
k d

f ( R )   Ck  [ rks (t )  rks (t  1)] (6)


k 1 t 0

Here is some brief introduction about the


The above functions have been extensively
three objective functions used in this research.
discussed in many literatures and are proved to be
effective. Accordingly, the three functions are
The first objective function relates to the
introduced in this research, too, to evaluate the
usage of resource per unit time. In (4), Ck  0
schedules. In addition, the evaluation performed
represents the unit cost of resource K, the goal of
by this research does not depend only on a single
this function is to minimize the sum of the
objective function, but get the objective value of
maximum resource costs per period. This
the three functions; hence three objective
function reflects the resource investment
functions are combined to form one objective
problem.
function by the weights, in order to obtain a
k

f ( R )   Ck max r (t ) k
s
(4) well-balanced schedule. The weights are given by
k 1 t  0,1,... d 1
problem definitions. However there are many
The second objective function is used to
objective functions in production scheduling, how
Ruei-Bin Jung, Wen-Chung Chang.

to select the objective functions depend on be presented by:


different problem definitions.
ES j  max ( d 0 j , max ( Si  d ij )) (8)
3.3 Time interval of activity
LS j  min( d  d j , n 1 , min( Si  d ji )) (9)

More details are to be discussed about activity. 3.4 Priority rules

First, it should be noted that each activity


In the algorithm proposed by K. Neumann, it
contains many elements, for example, processing
depends on the priority rule to allocate activities
time, quantity, start time and completion time.
into the schedule. The priority rule of selecting
The start time and completion time is divided into
the next activity is based on both Latest Start
the earliest start time ES j , the latest start
Time and Greatest Resource Demand. To be more
time LS j , the earliest completion time ES j , and
detailed, first calculate the latest start time of all
the latest completion time LS j . And it is defined
activities, find out the activity with the smallest
that:
LST. In the case that more than one activity have

LS j  S j  EC j for t  0,...d  1 (7) the same smallest LST, more calculation will be
performed on these activities using GRD and the
Therefore, the total float time activity with the largest GRD will be selected as
is TFj  LS j  ES j  LC j  EC j . In this research,
the final candidate to be allocated into the
the activities that enable TFj  0 are called
schedule.
critical activities, because the positions of these LST Latest Start Time
activities cannot be changed from the beginning
extiu (i )  min LSi (10)
of the production period. As a result, these iu

activities should be allocated into the schedule GRD Greatest Resource Demand
immediately, therefore, the start times of these k

critical activities should be S j  ES j . In extiu (i )  max


iu
pi  rik (11)
k 1

reference Resource leveling for projects with


[1]
schedule-dependent time windows , the
algorithm proposed by the author re-defines 3.5 TSSA algorithm
the ES j and LS j of an activity j after the activity
is allocated into the schedule by considering the
In this chapter, the TSSA approach proposed in
work of its neighboring activities (predecessor
this paper will be described in details. It is known
activities and successor activities). Its target is to
that tabu search is a heuristic with memories, in
obtain a smaller TFj , and make the activities into
that searched paths are kept in the tabu list. In this
critical activities, so that the activities can be
way, searched paths will not be searched again.
allocated into the schedule immediately. When
On the other hand, simulated annealing approach
more and more activities are allocated into the
employs a temperature-reducing process in which
schedule, the TFj of the unscheduled activities
neighboring solutions worse than the current
become smaller and smaller. Such approach can
solution can be accepted by a certain ratio for a
Ruei-Bin Jung, Wen-Chung Chang.

specific temperature. At a high temperature, such and tabu search. Simulated annealing is employed
ratio is high; while with the temperature at first to search the optimal solution, which the
reduction, the ratio also becomes lower. Such searched areas are stored into the tabu list to
feature gives simulated annealing a stronger avoid repeated searches. In the meanwhile, the
ability to carry out the global search. However, as advantage of simulated annealing, that
the same searching area may be searched many neighboring solutions worse than the current
times, the search efficiency is hampered. Hence, solution may also be accepted, is preserved,
in this research, TSSA algorithm is proposed to which gives TSSA a strong search ability.
combine the advantages of simulated annealing

Start
PART 1

Generate an initial solution and calculate the objective value, and set initial

Store the initial solution to tabu list and store the objective value to the best
objective value
PART 6

End Yes T < 0.005


No
PART 2

Generate a neighborhood solution

If new solution is not tabu


No

Yes

Calculate the objective value of the new solution. Iteration + 1

If new objective value better


No than the best objective value

PART 4 PART 3
Yes
No
Exp (-△V/T) > random [0,1] Store the new solution and objective value
Yes

Iteration times bigger than given max


times No

Yes
PART 5

Current T * cooling rate, set iteration times = 0

Figure 1 Flow chart of TSSA algorithm


Ruei-Bin Jung, Wen-Chung Chang.

been determined. Then, the relations between


activity j and its predecessors and its successors
are calculated as follows:

The procedure of TSSA algorithm proposed in ESi  max( ESi ,( Si  d ji )) (12)


this research can be described as follows: for all i  j predecessor
LSi  min( LSi ,( S j  d ij )) (13)
PART 1 : Initial solution: an initial solution is
for all i  j successors
obtained by using the algorithm proposed K.
Neumann and J. Zimmermann (1999) of which a For all activity i , a new TFi can be obtained.
brief introduction will be given in the following. Then, check again if any activity satisfies
The algorithm of literature can be largely divided TF  0 after its ES j and LS j are updated.
into two parts: Step 1, Step 2, Step 1 is the If there are such activities, these activities will be
initialization. First, get the sequence relations considered critical activities and be put into the
between all activities, calculate the distances set M . Furthermore, the start time of these
d min
ij
and d
max
ij
between the activities, then activities will be updated as Si  ESi . Then
initiate the ES j and LS j of all activities, and update resource profile again. The above Step 1,
check if any activity satisfies the Step 2, and update resource profile are repeated
condition TFj  0 . If some activities do satisfy again and again until all the activities have been
the condition, these activities will be allocated allocated into the schedule, which means the
immediately, and the updating of resource profile original algorithm is finished.
will be performed accordingly. Step 2 is the
scheduling of activities. First, select the next
activity (activity j ) to be allocated into the PART 2 : The neighborhood structure: the
schedule by using the priority rules. The priority method to produce neighboring solutions is that
rules are simply written as {LST , GRD} . The randomly select an activity in the current solution,
schedule is made according to only one objective re-calculate its earliest start time and latest start
function at a time. As mentioned before, in order time, and specify a new start time by using a
to define the optimal start time of activity j , random distributed number, in this way, a
ES j and LS j should be put into the objective neighboring solution produced.
function, respectively, the their impact on the
resource profile will be reflected in the objective PART 3 : Tabu list: the basic concept of tabu
value. In this way, an optimal start time of list is that searched areas should be avoided to be
activity j can be obtained according to the searched again. In this research, a neighboring
minimum objective value. In the case that more solution is only different in the start time of one
than one optimal start time exist, the earliest start activity. Hence, in the tabu list, only the activity
time will be selected as the start time of activity j . index and the new start time of the activity are
After that, activity j will be put into a set M stored. The length of the tabu list is fixed, and the
that stores all the activities whose start times have oldest information stored in the tabu list will be
Ruei-Bin Jung, Wen-Chung Chang.

deleted when the list is full and more new we tested on the 20 well-known cases taken from
information is coming into the list. ProGen.

PART 4 : Metropolis acceptance criteria: this is 4.1 Parameter set for experimental cases
a mechanism that simulated annealing features,
which is activated when a neighboring solution
In the following, the parameter setting in this
worse than the current solution is produced. At
paper will be detailed. The parameters in this
first, a random number is produced within the
paper include the initial temperature, final
range [0,1], then an exponential value is
temperature, cooling rate and tabu length. The
generated according to the current temperature
setting of parameters as follows:
and the difference between the current solution
and the neighboring solution. If the exponential
Initial temperature: 15
value is greater than the random number, the
neighboring solution worse than the current Final temperature: 0.005
solution will be accepted. Therefore, when the
Cooling rate: 0.96
temperature is high, such solutions are more
likely to be accepted; and when the temperature Times of temperature reduction: 197
gets lower, it gets harder and harder for such
solutions to be accepted. The formula is given as: Tabu length: 55

PART 5 : Cooling scheme: when a certain


times of loop are finished, TSSA will
automatically reduce the temperature by using the Besides, the benchmark problem used in this
following equation: paper is never used on resource leveling problems

New temperature  current tempterature  cooling rate (14) by other researchers except K. Neumann and J.
Zimmermann, therefore, in this research, in order

PART 6 : Termination criteria: the TSSA to obtain near-optimal solution, increase the
initial temperature to 60 and the cooling rate to
algorithm will terminate when the temperature of
0.99.
TSSA has reduced to the final temperature.

The concepts of TSSA as shown in these Marek


4.2 Experiment result

Mika[11], Chao Yong Zhang[12].

20 examples have been selected in this


research for simulation. For each example, an
4 Simulation Result
initial schedule, or initial solution, is first
The proposed TSSA algorithm was obtained by the algorithm proposed in the
implemented in JAVA language on a personal reference literature. After that, the TSSA
computer Pentium 3.0GHz. In order to evaluate proposed in this paper will be used to search the
and compare the performance of TSSA algorithm, optimal solution for resource leveling based on
Ruei-Bin Jung, Wen-Chung Chang.

the initial solution. The simulation data is given


in the table 1 below:
Ruei-Bin Jung, Wen-Chung Chang.

Case No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Initial
590.8 534.3 765.9 665 1137 297 884.8 428.4 465.3 831.6 381.6 722.4 275 708.8 478.4 492 698.4 834 477 712.4
solution

Simulation
TSSA Evaluated Value
No.

Min. 438.2 505.7 731.7 639. 1120.2 186.0 875.0 260.4 352.8 828.8 301.0 683.2 221.1 683.2 456.0 379.2 538.0 312.0 438.0 523.9

Max. 467.6 526.5 733.5 648.0 1120.0 201.0 875.0 285.0 362.0 831.0 328.0 683.0 243.0 683.0 478.0 408.0 557.1 387.6 440.0 535.0

Avg. 444.0 514.8 732.5 640.7 1120.2 192.0 875.0 264.6 354.8 829.5 320.1 683.0 233.2 683.0 466.0 389.0 541.8 361.6 438.0 527.2

Standard
9.47 7.99 0.51 3.49 0.00 6.20 0.00 8.16 4.17 0.99 9.88 0.00 10.64 0.00 11.14 10.92 6.09 21.64 0.97 3.42
Deviation

Near-optim
438.2 505.7 731.7 639.1 1120.0 173.0 875.0 248.4 352.8 828.0 249.0 683.2 217.0 683.2 456.0 379.2 456.3 310.8 438.0 523.9
al

Table 1 Result of simulation


T he fig ure of sim ulation result

4.3 Experiment analysis 1200

1000

800
Objective value

literature
600 TSSA min.
near-optimal
400

200

From simulation results, two important 0


1 2 3 4 5 6 7 8 9 10 11
Case No.
12 13 14 15 16 17 18 19 20

conclusions can be got. First, significant Figure 2 Comparison between initial solution, the
minimal value of TSSA and near-optimal
improvement can be made by TSSA to the initial
solution got by using the algorithm proposed in 1200
T he fig ure of sim ulation result

1000

the reference literature. This proves that it is an 800


Objctive value

literature
600 TSSA max.
near-optimal
400

effective way to re-calculate the start time of the


200

0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Case No.

initial activity and adjust the start time. Second, it Figure 3 Comparison between initial solution, the
maximal value of TSSA and near-optimal
can be noticed that the solutions got by TSSA are
The fig ure of sim ulation result

very similar to near-optimal solutions. This


1200

1000

800
Objective value

literature

proves that the TSSA algorithm, which combines


600 TSSA avg.
near-optimal
400

200

tabu search and simulated annealing, has a strong 0


1 2 3 4 5 6 7 8 9 10 11
Case No.
12 13 14 15 16 17 18 19 20

ability of searching and is able to find solutions Figure 4 Comparison between initial solution, the
average value of TSSA and near-optimal
similar or equivalent to near-optimal solutions. The standard dev iation of TSSA

25.00

20.00
Standard deviation value

15.00
TSSA

Four figures are given to show the results of


10.00

5.00

0.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

simulation:
Case No.

Figure 5 Standard deviation of TSSA


Blue color: initial solution 5 Conclusions

Red color: TSSA solution This research aims at resource leveling. The
benchmark used in this research is the activity
Orange color: near-optimal solution
scheduling obtained according to resource
limitations (resource upper limit and the unit cost
Ruei-Bin Jung, Wen-Chung Chang.

of the resource). There are maximal time interval Research 117.


and minimal time interval between each two
activities. K. Neumann and J. Zimmermann [2] M. Ben-Daya , M. Al-Fawzan 1997, A tabu

(1999) used the same benchmark problem for search approach for the flow shop scheduling

resource leveling research, and proposed an problem, European Journal of Operational

algorithm in which each activity is given an Research 109 (1998) 88-95.

optimal start time by using a priority rule, and


[3] Nai-Hsin Pan, Po-Wen Hsaio, Kuei-Yen
after that, the activity is arranged into the
Chen,2008, A study of project scheduling
schedule with that start time. However, the
optimization using Tabu search algorithm,
proposed algorithm of the literature did not adjust
Engineering Application of Artificial
the start times of activities that have already been
Intelligence 21 1101-1112.
arranged into the schedule. Therefore,
improvements have been made in this aspect in
[4] Rachid Chelouah, Patrick Siarry, 2000, Tabu
this research. First, an initial solution is got by
search applied to global optimization.
algorithm of the literature, after that, TSSA
European Journal of Operational Research
algorithm which combines tabu search and
123 256-270.
simulated annealing is used to improve the initial
solution. The analysis of experimental data [5] T.K Varadharajan, Chandrasekhar an
proved that the TSSA algorithm proposed in this Rajendran, 2005, A multi-objective simulated
paper can not only improve the initial solution, annealing algorithm for scheduling in
but also achieve a near-optimal solution. flowshops to minimize the makespan and total
Therefore, TSSA heuristic is proved to be very flowtime of jobs, European Journal of
effective for such resource leveling problems. Operational Research 167 (2005) 772-795.
Important areas for further research are the [6] Taicir Loukil, Jacques Teghem, Philippe
resource leveling research can be continued on Fortemps 2007, A multi-objective
multiple resource problems instead of the single production scheduling case study solved by
resource problem described in this research and simulated annealing, European Journal of
take into account more limitations of real-word Operational Research 179 (2007) 88-95.
production in research, for example: the
processing time of activity is not fixed, which [7] Schwindt C, Minimizing earliness-tardiness

may cause the earliness cost (inventory cost) and costs of resource-constrained projects. In:

tardiness cost (penalty). Inderfurth K, SchwIodiauer G, Domschke W,


Juhnke F, Kleinschmidt P and WIascher G,
References editors. Operations Research Proceedings
1999. Berlin: Springer, 2000.
[1] K. Neumann and J. Zimmermann 1999,
Theory and Methodology Resource leveling [8] Arno Sprecher, Rainer Kolisch, Andereas
for projects with schedule-dependent time Drexl, 1995, Semi-active, active, and
windows, European Journal of Operational non-delay schedules for the
Ruei-Bin Jung, Wen-Chung Chang.

resource-constrained project scheduling


problem. European Journal of Operational
Research 80 94-102.

[9] Younis, M.A. and Saad, B., 1996. Optimal


resource leveling of multi-resource projects.
Computers and Industrial Engineering 31,
1-4.

[10] Seibert, J.E. and Evans, G.W., 1991.


Time-constrained resource leveling. Journal
of Construction Engineering and
Management 117, 503-520.

[11] Marek Mika, Grzegorz Waligora, Jan


Weglarz, 2005, Simulated annealing and
tabu search for multi-mode
resource-constrained project scheduling with
positive discounted cash flows and different
payment models, European Journal of
Operational Research 164 639-668.

[12] Chao Yong Zhang, PeiGen Li, YunQing


Rao, ZaiLin Guan, 2008, A very fast
TS/SA algorithm for the job shop
scheduling problem, Computers &
Operations Research 35 282-294.

You might also like