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.

maximum resource costs per period. This


other words, rjk is supposed to be a constant
function reflects the resource investment
satisfying the above restriction. Now we want to problem.
create a schedule S , whose t  0,1,..., d  1 . All
k

activities should be allocated into 0  t  d . f ( R )   Ck max rks (t ) (4)


k 1 t  0,1,... d 1

Resource profile is used to represent the loading


per unit time within the production period. Three
objective functions in the following are used to The second objective function is used to

calculate the loading per unit time of the resource calculation the error, which refers to the deviation

profile. The results got will be considered the between the initially given capacity of the
resource lk  0 and the actual loading per unit
evidence of determining the start time of an
activity. The general resource leveling problem time of the resource. lk can also be called the

can then be formulated as follows: average loading of resource or the capacity of


resource. Objective value can be positive or
min f ( R ) negative. When Objective value is negative, it
means that no overload occurs during this unit
time. Therefore, in this research, attention is
subject to S j  Si  d ij (1) mainly paid to the unit time t where Objective
value is positive. The value of function is the

S0  0 (2) smaller the better, which means the control of


resource K is well performed.

Sn  1  d (3) k d 1

f ( R )   Ck  [rks (t )  lk ] (5)
k 1 t 0

The basic concepts of resource constrained


project as shown in these Schwindt C[7], Arno The third objective function aims at

Sprecher[8], Younis, M.A[9], Seibert, J.E[10]. minimizing the difference between resource
usage at day t and resource usage at day t-1. In
3.2 Different classes of objective functions real life, the leveling of resource is extremely
important, therefore the value of this function

Here is some brief introduction about the should also be the less the smaller the better. If

three objective functions used in this research. All this function value is smaller, it means resource K

the three functions must be minimized in order to is well utilized for every unit time.

get a well-balanced resource profile.


k d

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


k 1 t 0
The first objective function relates to the
usage of resource per unit time. In (4), Ck  0
The above functions have been extensively
represents the unit cost of resource K, the goal of
discussed in many literatures and are proved to be
this function is to minimize the sum of the
effective. Accordingly, the three functions are
Ruei-Bin Jung, Wen-Chung Chang.

introduced in this research, too, to evaluate the algorithm proposed by the author re-defines
schedules. In addition, the evaluation performed the ES j and LS j of an activity j after the activity
by this research does not depend only on a single is allocated into the schedule by considering the
objective function, but get the objective value of work of its neighboring activities (predecessor
the three functions; hence three objective activities and successor activities). Its target is to
functions are combined to form one objective obtain a smaller TFj , and make the activities into
function by the weights, in order to obtain a critical activities, so that the activities can be
well-balanced schedule. The weights are given by allocated into the schedule immediately. When
problem definitions. However there are many more and more activities are allocated into the
objective functions in production scheduling, how schedule, the TFj of the unscheduled activities
to select the objective functions depend on become smaller and smaller. Such approach can
different problem definitions. be presented by:

3.3 Time interval of activity ES j  max ( d 0 j , max ( Si  d ij )) (8)

LS j  min( d  d j , n 1 , min( Si  d ji )) (9)


More details are to be discussed about activity.
First, it should be noted that each activity
3.4 Priority rules
contains many elements, for example, processing
time, quantity, start time and completion time. In the algorithm proposed by K. Neumann and
The start time and completion time is divided into J. Zimmermann (1999), it depends on the priority
the earliest start time ES j , the latest start rule to allocate activities into the schedule. The
time LS j , the earliest completion time ES j , and priority rule of selecting the next activity is based
the latest completion time LS j . And it is defined on both Latest Start Time (LST) and Greatest
that: Resource Demand (GRD). To be more detailed,
first calculate the latest start time of all activities,

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

3.5 TSSA algorithm ability to carry out the global search. However, as
the same searching area may be searched many

In this chapter, the TSSA approach proposed in times, the search efficiency is hampered. Hence,

this paper will be described in details. It is known in this research, TSSA algorithm is proposed to

that tabu search is a heuristic with memories, in combine the advantages of simulated annealing

that searched paths are kept in the tabu list. In this and tabu search. Simulated annealing is employed

way, searched paths will not be searched again. at first to search the optimal solution, which the

On the other hand, simulated annealing approach searched areas are stored into the tabu list to

employs a temperature-reducing process in which avoid repeated searches. In the meanwhile, the

neighboring solutions worse than the current advantage of simulated annealing, that

solution can be accepted by a certain ratio for a neighboring solutions worse than the current

specific temperature. At a high temperature, such solution may also be accepted, is preserved,

ratio is high; while with the temperature which gives TSSA a strong search ability.

reduction, the ratio also becomes lower. Such


feature gives simulated annealing a stronger

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

Yes
PART 4 PART 3
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


Ruei-Bin Jung, Wen-Chung Chang.

Figure 1 Flow chart of TSSA algorithm

The procedure of TSSA algorithm proposed in are calculated as follows:


this research can be described as follows:
ESi  max( ESi ,( Si  d ji )) (12)
PART 1 : Initial solution: an initial solution is for all i  j predecessor
obtained by using the algorithm proposed K. LSi  min( LSi ,( S j  d ij )) (13)
Neumann and J. Zimmermann (1999) of which a for all i  j successors
brief introduction will be given in the following.
The algorithm of literature can be largely divided For all activity i , a new TFi can be obtained.

into two parts: Step 1, Step 2, Step 1 is the Then, check again if any activity satisfies

initialization. First, get the sequence relations TF  0 after its ES j and LS j are updated.

between all activities, calculate the distances If there are such activities, these activities will be

d ijmin and d ijmax between the activities, then considered critical activities and be put into the

initiate the ES j and LS j of all activities, and set M . Furthermore, the start time of these

check if any activity satisfies the activities will be updated as Si  ESi . Then

condition TFj  0 . If some activities do satisfy update resource profile again. The above Step 1,

the condition, these activities will be allocated Step 2, and update resource profile are repeated

immediately, and the updating of resource profile again and again until all the activities have been

will be performed accordingly. Step 2 is the allocated into the schedule, which means the

scheduling of activities. First, select the next original algorithm is finished.

activity (activity j ) to be allocated into the


schedule by using the priority rules. The priority
rules are simply written as {LST , GRD} . The PART 2 : The neighborhood structure: the

schedule is made according to only one objective method to produce neighboring solutions is that

function at a time. As mentioned before, in order randomly select an activity in the current solution,

to define the optimal start time of activity j , re-calculate its earliest start time and latest start

ES j and LS j should be put into the objective time, and specify a new start time by using a

function, respectively, the their impact on the random distributed number, in this way, a

resource profile will be reflected in the objective neighboring solution produced.

value. In this way, an optimal start time of


PART 3 : Tabu list: the basic concept of tabu
activity j can be obtained according to the
list is that searched areas should be avoided to be
minimum objective value. In the case that more
searched again. In this research, a neighboring
than one optimal start time exist, the earliest start
solution is only different in the start time of one
time will be selected as the start time of activity j .
activity. Hence, in the tabu list, only the activity
After that, activity j will be put into a set M
index and the new start time of the activity are
that stores all the activities whose start times have
stored. The length of the tabu list is fixed, and the
been determined. Then, the relations between
oldest information stored in the tabu list will be
activity j and its predecessors and its successors
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