Sie sind auf Seite 1von 14

Combinative method using simulated annealing and tabu

search for solving resource leveling problem.

First Ruei-Bin Jung, Second 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
First Ruei-Bin Jung, Second 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
In Resource leveling for projects with
resource availability for each resource type and
[1]
schedule-dependent time windows proposed an
time period. The time horizon is fixed. The
approach using dependent adjustment time
authors propose priority rule heuristics for this
windows between activities to allocate the
problem with a variety of different objective
activities into the schedule. In their research, the
functions. However, in the above literature,
earliest start time and latest start time of an
attention has only been paid to the jobs to be
activity are updated repeatedly, aiming at
scheduled, and no adjustment is ever made to the
First Ruei-Bin Jung, Second Wen-Chung Chang.

reducing the total float time over and over again. procedure and follows search directions that
Meanwhile, all activities are allocated into the improve the objective function value. While
schedule at its optimal start time. My research is exploring solution space, the SA method offers
carried out based on the above literature. First we the possibility to accept worse neighbor solutions
carry out the algorithm proposed in that literature in a controlled manner in order to escape from
to be initial solution, then use the proposed TSSA local minima. More precisely, in each iteration,
approach in this paper to improve the initial for a current solution x characterized by an
solution. By using TSSA approach, successfully objective function value f ( x ) , a neighbor x  is
improve the optimal start time of each activity. selected from the neighborhood of
2.2 Tabu search x denoted N ( x ) , and defined as the set of all its
immediate neighbors. For each move, the
In A tabu search approach for the flow shop objective difference   f ( x )  f ( x ) is
[2]
scheduling problem proposed the basic form of evaluated. For minimizationx problems
Tabu search (TS) is founded on ideas proposed replaces x whenever   0 . Otherwise, x
by Glover in 1986. TS is a meta-heuristic that could also be accepted with a probability
guides a local heuristic search procedure to P  e (  ) / T . The acceptance probability is
explore the solution space beyond local compared to a number yrandom  [0,1] generated
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. guaranteeing asymptotic convergence toward the
optimal solution. They require however infinite
2.3 Simulated annealing
computing time. In practice, much simpler and
finite computing time schedules are preferred
In A multi-objective production scheduling even if they do not guarantee an optimal solution.
[3]
case study solved by simulated annealing A typical finite time implementation of SA
proposed SA is a local search method that finds
consists in decreasing the temperature T in S
its 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
First Ruei-Bin Jung, Second Wen-Chung Chang.

temperature T0 is supposed to be high enough to activity and the start time j of another activity
should be keep d
min
allow acceptance of any new neighbor proposed ij
away from each other, i.e.
in the first step. In each step s, the procedure S j  Si  d min
ij
. On the other hand, d ij
max
defines
generates a fixed number of neighbor solutions the maximum distance of the start times of two
N sol and evaluates them using the current activities, meaning the start times of two
temperature value Ts   T0 . The whole process activities cannot exceed d ij , i.e. S j  Si  d ijmax .
s max

is commonly called ‘‘cooling chain’’ or also In this research, the distance of the start times of
‘‘markov chain’’. Adaptation of SA to an activities are defined by d ijmin and d ijmax ,
optimization problem consists in defining its positive numbers representing minimum time
specific components: a solution representation of lags while negative numbers representing
the problem, a method for the objective function maximum time lags. All the activities within the
value calculation, a neighbor generation activities network must be restricted by these
mechanism for solution space exploration and a restrictions. Therefore, the start times are very
cooling scheme including stopping criteria. 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 Resource
scheduling. First, we assume that there are N
leveling for projects with schedule-dependent
activities to be scheduled, then activities network
time windows[1], careful consideration has been
is introduced to describe the relations between
made upon the allocation of activities, but it only
activities. The activities are indexed from 0 to
focused on the unscheduled activities and
n  1 , representing the start time as well as the
calculated when would be the optimal start times
completion time of the schedule, respectively.
of those unscheduled activities. No efforts have
The processing time of each activity is greater
been made on the already scheduled activities.
than zero Pj  0 , and S j  0 , and the start time
Therefore, in this research, an optimization
of the whole schedule is zero S0  0 , which
procedure is proposed to make adjustments after
means the schedule is started at time 0. Sn 1
all activities are scheduled. All these adjustments
defines the schedule duration or makespan. It is
are made according to the restrictions of
assumed that there’s a fixed given length d ,
d ijmin and d ijmax . More details will be provided in
thus the constraint Sn 1  d can be obtained.
the following. This research employs a single

Now we allocate n+2 nodes ranging from 0 to resource where K is used to represent the
n+1 into the activities network. It is assumed that resource. Let us first suppose that the capacity of
a fixed distance d
min
ij
is set between each two available resource Rk  0 , and if activity j is
activities, meaning the start time i of one allocated to resource K , it will cost a capacity of
First Ruei-Bin Jung, Second Wen-Chung Chang.

rjk  0 , satisfying 0  rjk  Rk . In other words,


k

f ( R )   Ck max rks (t ) (4)


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

rjk is supposed to be a constant satisfying the

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

subject to S j  Si  d ij (1) k d 1

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

S0  0 (2)
The third objective function aims at
minimizing the difference between resource
Sn  1  d (3) usage at day t and resource usage at day t-1. In
real life, the leveling of resource is extremely
3.2 Different classes of objective functions important, therefore the value of this function
should also be the less the smaller the better. If

Here is some brief introduction about the this function value is smaller, it means resource K

three objective functions used in this research. All is well utilized for every unit time.

the three functions must be minimized in order to


k d
get a well-balanced resource profile. f ( R )   Ck  [ rks (t )  rks (t  1)] (6)
k 1 t 0

The first objective function relates to the


The above functions have been extensively
usage of resource per unit time. In (4), Ck  0
discussed in many literatures and are proved to be
represents the unit cost of resource K, the goal of
effective. Accordingly, the three functions are
this function is to minimize the sum of the
introduced in this research, too, to evaluate the
maximum resource costs per period. This
schedules. In addition, the evaluation performed
function reflects the resource investment
by this research does not depend only on a single
problem.
First Ruei-Bin Jung, Second Wen-Chung Chang.

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 Resource leveling
The start time and completion time is divided into for projects with schedule-dependent time
the earliest start time ES j , the latest start windows [1]
, it depends on the priority rule to
time LS j , the earliest completion time ES j , and allocate activities into the schedule. The priority
the latest completion time LS j . And it is defined rule of selecting the next activity is based on both
that: Latest Start Time (LST) and Greatest Resource
Demand (GRD). To be more detailed, first

LS j  S j  EC j for t  0,...d  1 (7) calculate the latest start time of all activities, find
out the activity with the smallest LST. In the case
that more than one activity have the same
Therefore, the total float time
smallest LST, more calculation will be performed
is TFj  LS j  ES j  LC j  EC j . In this research,
on these activities using GRD and the activity
the activities that enable TFj  0 are called
with the largest GRD will be selected as the final
critical activities, because the positions of these
candidate to be allocated into the schedule.
activities cannot be changed from the beginning
LST Latest Start Time
of the production period. As a result, these
activities should be allocated into the schedule extiu (i )  min
iu
LSi (10)
immediately, therefore, the start times of these
GRD Greatest Resource Demand
critical activities should be S j  ES j . In
k
reference Resource leveling for projects with extiu (i )  max
iu
pi  rik (11)
k 1
[1]
schedule-dependent time windows , the
algorithm proposed by the author re-defines
the ES j and LS j of an activity j after the activity
3.5 TSSA algorithm
is allocated into the schedule by considering the
First Ruei-Bin Jung, Second Wen-Chung Chang.

In this chapter, the TSSA approach proposed in ability to carry out the global search. However, as
this paper will be described in details. It is known the same searching area may be searched many
that tabu search is a heuristic with memories, in times, the search efficiency is hampered. Hence,
that searched paths are kept in the tabu list. In this in this research, TSSA algorithm is proposed to
way, searched paths will not be searched again. combine the advantages of simulated annealing
On the other hand, simulated annealing approach and tabu search. Simulated annealing is employed
employs a temperature-reducing process in which at first to search the optimal solution, which the
neighboring solutions worse than the current searched areas are stored into the tabu list to
solution can be accepted by a certain ratio for a avoid repeated searches. In the meanwhile, the
specific temperature. At a high temperature, such advantage of simulated annealing, that
ratio is high; while with the temperature neighboring solutions worse than the current
reduction, the ratio also becomes lower. Such solution may also be accepted, is preserved,
feature gives simulated annealing a stronger which gives TSSA a strong search ability.

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

Figure 1 Flow chart of TSSA algorithm


First Ruei-Bin Jung, Second Wen-Chung Chang.

The procedure of TSSA algorithm proposed in activity j and its predecessors and its successors
this research can be described as follows: are calculated as follows:

PART 1 : Initial solution: an initial solution is ESi  max( ESi ,( Si  d ji )) (12)


obtained by using the algorithm proposed by for all i  j predecessor
Resource leveling for projects with LSi  min( LSi ,( S j  d ij )) (13)
schedule-dependent time windows [1]
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
First Ruei-Bin Jung, Second Wen-Chung Chang.

oldest information stored in the tabu list will be 4.1 Parameter set for experimental cases
deleted when the list is full and more new
information is coming into the list.
In the following, the parameter setting in this
paper will be detailed. The parameters in this
PART 4 : Metropolis acceptance criteria: this is
paper include the initial temperature, final
a mechanism that simulated annealing features,
temperature, cooling rate and tabu length. The
which is activated when a neighboring solution
setting of parameters as follows:
worse than the current solution is produced. At
first, a random number is produced within the
Initial temperature: 15
range [0,1], then an exponential value is
generated according to the current temperature Final temperature: 0.005
and the difference between the current solution
and the neighboring solution. If the exponential Cooling rate: 0.96

value is greater than the random number, the


Times of temperature reduction: 197
neighboring solution worse than the current
solution will be accepted. Therefore, when the Tabu length: 55
temperature is high, such solutions are more
likely to be accepted; and when the temperature
gets lower, it gets harder and harder for such Besides, the benchmark problem used in this
solutions to be accepted. The formula is given as: paper is never used on resource leveling problems
by other researchers except Resource leveling for
PART 5 : Cooling scheme: when a certain
projects with schedule-dependent time windows
times of loop are finished, TSSA will
automatically reduce the temperature by using the [1]
, therefore, in this research, in order to obtain
following equation:
near-optimal solution, increase the initial
New temperature  current tempterature  cooling rate (14) temperature to 60 and the cooling rate to 0.99.

PART 6 : Termination criteria: the TSSA 4.2 Experiment result

algorithm will terminate when the temperature of

TSSA has reduced to the final temperature. 20 examples have been selected in this
research for simulation. For each example, an
initial schedule, or initial solution, is first
4 Simulation Result
obtained by the algorithm proposed in the
The proposed TSSA algorithm was reference literature. After that, the TSSA
implemented in JAVA language on a personal proposed in this paper will be used to search the
computer Pentium 3.0GHz. In order to evaluate optimal solution for resource leveling based on
and compare the performance of TSSA algorithm, the initial solution. The simulation data is given
we tested on the 20 well-known cases taken from in the table 1 below:
ProGen.
First Ruei-Bin Jung, Second Wen-Chung Chang.

Table 1 Result of simulation

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
First Ruei-Bin Jung, Second Wen-Chung Chang.

4.3 Experiment analysis

From simulation results, two important conclusions can be got. First, significant improvement can be
made by TSSA to the initial solution got by using the algorithm proposed in the reference literature. This
proves that it is an effective way to re-calculate the start time of the initial activity and adjust the start
time. Second, it can be noticed that the solutions got by TSSA are very similar to near-optimal solutions.
This proves that the TSSA algorithm, which combines tabu search and simulated annealing, has a strong
ability of searching and is able to find solutions similar or equivalent to near-optimal solutions.

Four figures are given to show the results of simulation:

Blue color: initial solution

Red color: TSSA solution

Orange color: near-optimal solution

T he fig ure of sim ulation result

1200

1000

800
Objective value

literature
600 TSSA min.
near-optimal
400

200

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

Figure 2 Comparison between initial solution, the minimal value of TSSA and near-optimal

T he fig ure of sim ulation result

1200

1000

800
Objctive value

literature
600 TSSA max.
near-optimal
400

200

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

Figure 3 Comparison between initial solution, the maximal value of TSSA and near-optimal
The fig ure of sim ulation result

1200

1000

800
Objective value

literature
600 TSSA avg.
near-optimal
400

200

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

Figure 4 Comparison between initial solution, the average value of TSSA and near-optimal
The standard dev iation of TSSA

25.00

20.00
Standard deviation value

15.00
TSSA
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
Case No.

Figure 5 Standard deviation of TSSA


5 Conclusions

This research aims at resource leveling. The benchmark used in this research is the activity scheduling
obtained according to resource limitations (resource upper limit and the unit cost of the resource). There
are maximal time interval and minimal time interval between each two activities. Resource leveling for
projects with schedule-dependent time windows [1] used the same benchmark problem for resource
leveling research, and 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.
First Ruei-Bin Jung, Second Wen-Chung Chang.

However, the proposed algorithm of Resource leveling for projects with schedule-dependent time
windows [1] 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. First, an initial solution is got by
the algorithm of Resource leveling for projects with schedule-dependent time windows [1], after that,
TSSA algorithm which combines tabu search and simulated annealing is used to improve the initial
solution. In Chapter 4, the analysis of experimental data proved that the TSSA algorithm proposed in this
paper can not only improve the initial solution, but also achieve a near-optimal solution. Therefore,
TSSA heuristic is proved to be very effective for such resource leveling problems.

The future work

1. The resource leveling research can be continued on multiple resource problems instead of the
single resource problem described in this research.
2. Take into account more limitations of real-word production in research, for example: the processing
time of activity is not fixed, which may cause the earliness cost (inventory cost) and tardiness cost
(penalty).

References

[1] K. Neumann and J. Zimmermann 1999, Theory and Methodology Resource leveling for projects with
schedule-dependent time windows, European Journal of Operational Research 117.

[2] M. Ben-Daya , M. Al-Fawzan 1997, A tabu search approach for the flow shop scheduling
problem, European Journal of Operational Research 109 (1998) 88-95.
[3] Taicir Loukil, Jacques Teghem, Philippe Fortemps 2007, A multi-objective production scheduling
case study solved by simulated annealing, European Journal of Operational Research 179 (2007)
88-95.

[4] Schwindt C, Minimizing earliness-tardiness costs of resource-constrained projects. In: Inderfurth K,


SchwIodiauer G, Domschke W, Juhnke F, Kleinschmidt P and WIascher G, editors. Operations
Research Proceedings 1999. Berlin: Springer, 2000.

[5] Resources. Lecture notes in economics and mathematical systems (508), Springer.

[6] Younis, M.A. and Saad, B., 1996. Optimal resource leveling of multi-resource projects. Computers
and Industrial Engineering 31, 1-4

[7] Seibert, J.E. and Evans, G.W., 1991. Time-constrained resource leveling. Journal of Construction
Engineering and Management 117, 503-520.

[8] Chao Yong Zhang, PeiGen Li, YunQing Rao, ZaiLin Guan, 2008, A very fast TS/SA algorithm for
First Ruei-Bin Jung, Second Wen-Chung Chang.

the job shop scheduling problem, Computers & Operations Research 35 282-294.

[9] 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.

[10] Nai-Hsin Pan, Po-Wen Hsaio, Kuei-Yen Chen, 2008, A study of project scheduling optimization
using Tabu search algorithm, Engineering Application of Artificial Intelligence 21 1101-1112.

[11] Arno Sprecher, Rainer Kolisch, Andereas Drexl, 1995, Semi-active, active, and non-delay
schedules for the resource-constrained project scheduling problem. European Journal of
Operational Research 80 94-102.

[12] Lin-Yu Tseng, Shih-Chieh Chen, 2006, Ahybrid netaheuristic for the resource-constrained project
scheduling problem. European Journal of Operational Research 175 707-721.

[13] Peter Brucker, Sigrid Knust, Arno Schoo, Olaf Thiele, 1998, A branch and bound algorithm for the
resource-constrained project scheduling problem. European Journal of Operational Research 107
272-288.

[14] Rachid Chelouah, Patrick Siarry, 2000, Tabu search applied to global optimization. European
Journal of Operational Research 123 256-270.
First Ruei-Bin Jung, Second Wen-Chung Chang.

Das könnte Ihnen auch gefallen