0% found this document useful (0 votes)
15 views

New Sequential and Parallel Algorithm For Dynamic Resource Constrained Project Scheduling Problem

Uploaded by

Junliang Chen
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

New Sequential and Parallel Algorithm For Dynamic Resource Constrained Project Scheduling Problem

Uploaded by

Junliang Chen
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

New sequential and parallel algorithm for Dynamic Resource Constrained Project

Scheduling Problem

André Renato Villela da Silva, Luiz Satoru Ochi


Computing Institute
Federal Fluminense University
Niterói, Brazil
avillela,[email protected]

Abstract (positive integer values). There is also a planning horizon


represented by a time interval composed of H time units.
This paper proposes a new Evolutionary Algorithm for the This model has a potential application on industrial
Dynamic Resource Constrained Project Scheduling Problem. production and public service expansion projects which
This algorithm has new features that get around some must be done in several stages. Some companies typically
problems like premature convergence and other ones. The expand their services using the profits provided by their own
indirect representation approach was used because it allows businesses. Therefore, it is very important to select which
the construction of a feasible solution from any input pri- projects are profitable or not.
orities. A parallel version is also proposed, making good There are some concepts of the DRCPSP modeling, such
use of multicore processors available nowadays. The results as Activation that is the entry of a task i into current partial
of sequential and parallel versions were very significant, solution, against payment of a cost ci . After the activation,
improving in almost all ways the best results present in a profit pi will be generated at each time unit.
literature. • Available task: a task i is available, if all its predecessor
Keywords: scheduling algorithm; solution representation; tasks are activated or the task has no precedence.
evolutionary algorithms; parallel metaheuristics • Planning Horizon is a set of time units, [1..H], when
the tasks can be activated.
1. Introduction • Available Resources (Qt ) are the amount of resources
that can be used to activate tasks, at the end of time
Project Scheduling Problems consists of executing a set unit t.
of tasks over a planning horizon (time units), in order to • Accumulated Profit (Pt ) is the sum of all profits that
achieve some objective usually related with the last time will be returned at the end of time unit t. These profits
unit used, also called makespan. will become available resources at time unit t + 1.
Often, scheduling problems are resource constrained The objective of the DRCPSP is to maximize the available
(RCPSP - Resource Constrained Project Scheduling Prob- resources at the end of the planning horizon. In order to earn
lem): to activate a task i, we need to pay a cost ci (retrieved resources, the only way is by activating some tasks, which
from an amount of available resources). Therefore, a new generate these resources according to the respective profit of
set of objective functions can be elaborated mixing the the task (pi ) and the time when the task is activated - a task
makespan with the amount of resources. There are a lot of activated earlier generates more resources. A task remains
modelings for the RCPSP that use both makespan and the activated until the end of the planning horizon, thus, the
available resources. The reader is referred to [3], [4], [5], earlier the activation, the greater the amount of generated
[7], [8], [9], [10], [11]. resources.
Dynamic Resource Constrained Project Scheduling Prob- Table 1 and Fig. 1 show an example of a scheduling
lem (DRCPSP) was originally proposed in [12]. Its main algorithm that uses priority assigned to each task in order to
difference among other scheduling problems is the task define which one must be scheduled first. Supposing H = 4,
component called profit. After a task activation, it generates Q0 = 4, P0 = 0 (simplified notation of Q and P are used
resources that can be used to activate other tasks. in example) and priorities computated just for this example,
DRCPSP can be described as follows. Let G = (V, A) we can see how a scheduling is generated from a priority
be a directed acyclic graph (DAG), where V is the set of list.
vertices and A is the set of arcs that represent the tasks At start of time t = 1 we have two available tasks 1 and
(activities) and their precedences, respectively. Associated 2 (in gray). Other tasks are unavailable (in black) due to
to each task i there are an activation cost ci and a profit pi precedence constraints. Task 2 has higher priority and, so,

Authorized licensed use limited to: UNIVERSITY OF SYDNEY. Downloaded on April 05,2010 at 22:20:27 EDT from IEEE Xplore. Restrictions apply.
Table 1. Task’s informations used in scheduling 2. Literature Review of DRCPSP
example

Task Priority Cost Profit


In the first work about DRCPSP ([12]), two Evolutionary
2 2.23 3 2 Algorithms (EA1 and EA2) were proposed. Both used a
3 1.78 4 4 greedy randomized constructive algorithm, called ADDR.
4 1.56 1 2
1 0.98 2 1
This algorithm makes a list of available tasks for each
6 0.45 4 5 time unit. Using an α parameter, like in Greedy Random-
5 0.21 2 3 ized Adaptive Search Procedure (GRASPs) algorithms [6],
ADDR chooses some tasks to be activated and update the
amount of accumulated profit and available resources for
this time unit.
A set of Enhancement Techniques (ETs) to be used
with ADDR proved to be very important to improve final
results. They try to help ADDR when it has to choose
which tasks will be scheduled. Basically, these ETs stop
ADDR from activating tasks considered non-profitable. Two
local searches (LS1 and LS2) were also proposed, but their
improvements are tiny and occur at a low frequency in some
instances because they do a similar work as the ETs do. If
ETs are well adjusted, LS1 and LS2 will hardly do anything
promising.
Each individual of the proposed EAs uses a direct rep-
resentation, which means that each task is represented by
a non-negative integer. A value on this array indicates
the activation time of the respective task. All evolutionary
Figure 1. Example of new scheduling algorithm operators make use of this representation, trying to evolve
the individuals.
The second paper about DRCPSP [13] worked with a
it is scheduled first. We need to retrieve 3 units of resource different metaheuristic approach. Two GRASP versions were
from Q (available resources) and add 2 units to P (profits proposed: GR1 and GR2. The main reason to change the
earned so far). Task 1 is the only available task, but its cost metaheuristic is the restart provided by GRASP algorithm.
is greater than Q = 1. Task 1 cannot be scheduled now. If a poor solution is generated and it is hard to improve,
Moving to next time t = 2, profit P is added to available the GRASP just discard it at the next iteration. In the other
resources Q, and at this point we have 3 units of resources hand, EA1 and EA2 should keep that solution for many
to spend among tasks. Task 2 is already scheduled (in white) generations if no better solutions are found. Actually, GR1
and tasks 1 and 4 are available. Task 4 has higher priority and GR2 use almost all algorithm proposed by [12], but
and, for this reason, it is scheduled first. We retrieve its cost the way they were used by GRASP makes difference. The
from Q and add its profit to P . Task 1 can also be scheduled, constructive phase is composed of ADDR and the search
because we still have 2 units of available resources. Task 1 phase is composed of LS1, LS2 or LS3 (proposed in this
is scheduled and we finish this time unit having no resources paper). LS3 reconstructs solutions using a good one as a
(Q = 0), but profit P = 5. Moving to next time, we have seed. It chooses a time unit and remove all tasks activated
Q = 5, P = 5 and only task 3 is available. We schedule after that. Then, it reconstruct a different solution with a
it and finish time unit t = 3 having Q = 1 and P = 9. more random criterion than used in ADDR. Again, a direct
At the last time unit t = 4, tasks 5 and 6 are available. We representation was used in this paper.
first schedule task 6 and then task 5. Our scheduling finishes In [14], a new Evolutionary Algorithm (EA3) was pro-
and final solution quality is given by the sum of Q = 4 and posed. It fixed the premature convergence problem, present
P = 17 (21 units of resource). in EA1 and EA2, through a complete removing of the
The remainder of this paper is organized as follows. stagnant population and its subsequent recreation by LS3.
Section 2 provides an analysis of literature algorithms and However, the reconstruction works well only if a reasonable
their benefits. Section 3 presents the algorithms proposed to good solution is used. To provide that, a partial solution is
solve DRCPSP. The instances used are outlined in Section 4. generated by CPLEX [1] and passed to EA3 to be improved.
Section 5 shows the computational results. The conclusion This partial solution is a scheduling constrained to half of
remarks and a brief discussion about further research are planning horizon; EA3 continues the scheduling activating
present in Section 6. more tasks in order to improve the solution value. The

Authorized licensed use limited to: UNIVERSITY OF SYDNEY. Downloaded on April 05,2010 at 22:20:27 EDT from IEEE Xplore. Restrictions apply.
main drawback of that hybrid approach is the utilization will only occur with some pair of tasks: two tasks that
of an exact method to solve the partial scheduling. The could be activated in the same time unit (according to graph
hybrid algorithm performed very well in instances having topology) but were activated in different time units. This
large number of tasks, but few time units. In hard instances, criterion was defined to investigate the reason why those
CPLEX may find many problems because it has to handle tasks were not activated at the same time. It probably occurs
a lot of binary variables. because those tasks have very different priorities. In this
The most recent paper about DRCPSP [15] used a dif- case, exchanging them might result in a different individual.
ferent solution representation: each task is represented by a After the last priority exchange, we always have a solution
real number which indicates the task priority. The scheduling value equal to or better than the original solution.
algorithm uses the priority list to choose the tasks that will LS Swap works very well on small and medium in-
be activated. This representation scheme always produces stances. For large instances, we have to use it at some
a feasible solution for any set of priorities. There is no specific times, otherwise the computational time will be very
more need to check the feasibility of solutions generated high. We propose to use LS Swap especially when a new
by crossover or mutation algorithms. best solution is found in order to explore the neighborhood
Therefore, EA priority proposed in [15] is the fastest al- of this new solution.
gorithm proposed so far. The premature convergence present Crossover and mutation are the same proposed by
in older EAs is not a serious problem for EA priority, EA priority: crossover generates a priority tasks list comput-
as is showed in [15], but the crossover operator (average ing the average priority for each priority from parent tasks;
between two priorities from parents) does not allow a wider mutation randomly changes the priority of a task.
exploration on the space of solutions. Generated offspring are often similar to their parents (due
to crossover computation) and mutation cannot improve
3. New Algorithms to Solve DRCPSP them because randomly changes are not enough to substan-
tially modify the stagnant population.
We propose a new Evolutionary Algorithm starting from This convergence is very common but undesirable in
the best EA proposed so far: EA priority. All features of metaheuristic approaches. To avoid it two mechanisms are
that version are maintained, but new operators are added proposed. If thirty offspring populations are generated with-
to improve the overall performance. This new EA will be out improving the best solution, we explore the neighbor-
called EA ages. hood of all solutions in subpopulation class A, composed
Solution refinement is a very important operation because, of 20% best solutions, using LS Swap on them. These
at scheduling time, the priorities of tasks are not concerned solutions have very good fitness, but they may be in different
about saving resources. After the scheduling, however, it is places of the solution space. If this is true, exploring these
very simple to check if there are waste resources. Starting solutions might cover a great area of this solution space
from the last time unit, we check if a task i and all its and we have good probability to find a better solution. This
successors generate more resources than the ones used to Large Exploration may take some time and it is used only
activate them. If this is true, we keep task i and its successors when population is stagnated.
into analyzed solution, otherwise, the tasks are removed. In some cases, the best solutions might be very similar
Every time we remove one or more tasks, we go back to and applying LS Swap on them might not find any better
the last time unit and restart the analysis. This refinement is solutions. In this case, there is nothing to be done. We need
used after each individual creation (initial population), but to discard the whole stagnant population and restart using
to put those tasks i down we set their priorities to zero. a new one. This new population must use the best priority
The above refinement and previously proposed local list generated so far. Therefore, the best solution is used as
searches (LS1 and LS2) hardly use the concept of neigh- a seed in order to generate different and good solutions. We
borhood of a solution. They are deterministic improvement propose to add a random factor λ to each priority of best
methods that are concerned about improving specific parts solution. Generated solutions are near the best one in space
of solution. This way of improving is objective and fast, of solutions and future operators may intensify the search of
but does not explore the space of solutions. The indirect solutions in this subspace. The proposed Evolutionary Algo-
representation allows any priority list to generate a feasible rithm tries to keep alive strong individuals and make them
solution. So, we define a neighbor solution S ′ as a solution continue their genotype in the following generations. The
similar to S but with two exchanged priorities. Local Search generations between two consecutive reconstructions com-
Swap makes a list of all pairs of tasks and randomly sorts pose an Age. Population Reconstructions can be understood
it. Then, LS Swap exchanges the priority of two tasks from as natural disasters that extinguish almost all living beings.
the list and schedules using these priorities. If a generated Next, one of them starts the repopulation of environment.
solution S ′ is better than original solution S, the exchange is Every Age will only begin after some generations without
maintained, otherwise, it is undone. Moreover, the exchange improvements.

Authorized licensed use limited to: UNIVERSITY OF SYDNEY. Downloaded on April 05,2010 at 22:20:27 EDT from IEEE Xplore. Restrictions apply.
The last difference between EA ages and EA priority divided into three classes: class A - composed of 20% best
is the stop criterion. EA priority has a fixed number of individuals; class C - composed of 20% worst individuals;
generations to provide a final solution. EA ages also has class B - remaining individuals. Parent Selection operator
a number of generations, but it is not fixed. Anytime it takes one random parent from class A and other random
generate a new best solution the number of remaining parent from class B.
generations is added to β, where β is computated by Eq.
1. Crossover uses these two parents to generate two new
individuals as follows. For each task priority, we compute
the average parent priority and add a random number to
 
generation
β= +4 (1) provide two slightly different offspring. After generating 100
20
offspring individuals, we use the elitist criterion to define
Generation corresponds to the generation number when which individuals will be discarded and which ones will
the new best solution is found. This formula was defined compose the next generation.
based on preliminary tests made with many instances. These
extra generations are very useful for the new EA because Mutation operator consists of changing the tasks priority
it can work harder on instances where it is easy to find of an individual. Each one has 5% chance of being mutated.
better solutions. Moreover, if EA ages finds a better solu- If it is chosen to be mutated, we add a random number
tion in later generations it must need more generations to into each task priority just as the second part of crossover
keep improving than if it find the best solution in earlier operator. Mutated individual is kept in the population even it
generations. So, the Eq. 1 provides more generations to new is worse than the original one. After mutation, the remaining
EA if it demonstrate to be working well. Fig. 3 shows the population is sorted.
evolutionary scheme.
When these evolutionary operators end, we need to know
if the stop criterion was met. If this is true, evolutionary
algorithm stops and shows the best solution found so far.
Otherwise, we analyze improvements obtained at this gen-
eration as follows.

• There is an improvement: extra generations are given


to generation limit (stop criterion) and Parent Selection
takes place for the next generation;
• There is no improvement for less than thirty gen-
erations: no extra generations are given and Parent
Selection also takes place;
• The last improvement occurred thirty or more genera-
tions ago: Large Exploration tries to improve any of
class A individuals by applying LS Swap on them.
Next, Parent Selection starts a new generation process.
The next Large Exploration will only happen if there
are more thirty generations without improvements.
• Four Large Explorations were done and there were
no improvements: it is time to focus on the best
solution neighborhood. Current population is discarded
and a new one is created based on the best individ-
ual. Reconstruction makes previous Age finishes and
starts a new one. It is very similar to restarting the
evolutionary algorithm, but instead of using an initial
Figure 2. Evolutionary scheme of new proposed random population, we use a population composed of
EA ages best solution neighbors. However, the generation limit
is not changed. For example: if we finish an Age
In Fig. 2, we can see that EA ages starts with an having only five remaining generations to meet the stop
Initial Population (100 individuals) randomly generated. criterion, the next Age will have only five generations
Refinement is applied on each individual of this population to work. If this Age not improves its best individual in
which is sorted by individual fitness. Current population is five generations, the algorithm finishes.

Authorized licensed use limited to: UNIVERSITY OF SYDNEY. Downloaded on April 05,2010 at 22:20:27 EDT from IEEE Xplore. Restrictions apply.
4. Instances Table 2. Average Results of Evolutionary Algorithms

Instance EA age EA prior. Improv. Time(s)


There are some instances being used since the first paper 100a 304 303 0.3% 0.9
regarding the DRCPSP. They are compiled in a project, 200a 632 636 -0.6% 5.0
called LABIC Project from Universidade Federal Flumi- 300a 2004 1958 2.3% 56.4
400a 6908 5962 13.7% 226.0
nense [2]. Basically, instances have data about cost and profit 500a 13523 11954 11.6% 223.0
of each task and precedence among them. Initial resources 600a 9358 8616 7.9% 578.9
and the size of planning horizon are also present. No other 700a 28500 26217 8.0% 527.5
800a 35001 32354 7.6% 859.7
instances are known for this problem. 900a 34355 29912 12.9% 673.1
Hardness of a instance may be defined based on the 1000a 66399 63512 4.3% 1135.0
number of tasks and the size of planning horizon. For
example, an instance u with 50 tasks is easier than an Table 3. Improvement after 50 generations
instance v with 100 tasks. An instance w with 4 time units
Instance Improvement Total Gens.
is easier than an instance y with 7 time units. This last 100a 0.0% 50
situation occurs because few time units will probably allow 200a 0.0% 66
the activation of fewer tasks than an instance with more 300a 0.9% 174
400a 2.7% 218
time units: the larger the planning horizon, the greater the 500a 1.9% 176
accumulated profit and the greater the number of activated 600a 7.2% 206
tasks. 700a 4.4% 169
800a 2.6% 133
Instances with few time units are very suited for exact 900a 5.6% 157
and hybrid methods because they can find good solu- 1000a 3.2% 143
tions in small amount of time. The hybrid metaheuristic
CPLEX+EA3 [14] worked well on these instances and
achieved good results. But, the most challenging instances improve the solution about 3.6%, in average. The Eq. 1
are used in other papers and have up to 1000 tasks. Planning used to give Extra Generations was defined according to
horizon size is computated as square root of number of preliminary tests. Certainly it would be better if the Eq. 1
tasks. In these instances, the optimal value is not known was adjusted according to each instance characteristics, but
and both heuristics and exact methods are still ineffective it is a very hard work and would demand a large amount of
because they spend much computational time. computational time.
To validate the new proposed EA a set of twenty instances The last strong point of proposed EA is the Age scheme.
were taken from LABIC Project. These instances have up In this scheme, when EA realize that it stagnate, the whole
to 1000 tasks and some of them were used in the paper population is discarded and a new one is created using the
which presented the most effective algorithm proposed so best individual so far as a seed individual. The objective is
far: EA priority. to intensify the operations into the best individual neighbor-
hood. We executed EA ages in some instances with 3600
5. Computational Results seconds as stop criterion. Table 4 shows the fitness of the
best individual at each Age ending. Three instances (400a,
Computational environment used in this work is the same 500a and 600a) were used as example.
used in [15]: Pentium 4 HT 3.0 GHz, 1GB RAM, Windows
XP Professional SP2, source code written in C. Table 4. Average Results of Evolutionary Algorithms
In the first test, we executed the EA ages 30 times for
Age 400a 500a 600a
each instance. Average results and computational times are 1 7010 13787 9488
shown in Table 2. 2 7066 13870 9685
Table 2 shows significant improvements obtained by 3 7066 13945 9704
4 7067 13978 9736
EA ages. Its main strong points are LS Swap, Extra Gen- 5 7068 14000 9773
erations and Ages scheme. The first one is very complicated 6 7069 14030 9773
to measure because at the beginning of EA it improves the 7 – – 9799
individual by 10% but as generations passes, it cannot keep
that performance. The potential of Extra Generations can It is important to remark that an Age finishes because
be seen in Table 3. This Table shows the improvement got the algorithm does not have any expectation to avoid the
after the generation 50 (initial stop criterion) as well as the convergence (stagnate) state. In other words, we have no
average number of total generations. guarantee that keeping that population will provide anymore
Table 3 shows that stopping EA at generation 50 is improvements. So, the Age scheme is an attempt to focus
the same as finishing it prematurely. Extra Generations on an individual that worked well. We did not get important

Authorized licensed use limited to: UNIVERSITY OF SYDNEY. Downloaded on April 05,2010 at 22:20:27 EDT from IEEE Xplore. Restrictions apply.
improvements, but the algorithm could make a better use of parallel steps. So, there is only one core being used in almost
time limit. half of all processing time.
Other operators like crossover, mutation and parent se- However, there is a positive characteristic in this parallel
lection are the same proposed in [15] and, therefore, their approach: the parallel version generates good solution faster.
benefits were already known. Table 6 shows the best solution value found by each version
We also propose a parallel version of EA ages. In at some specific times (10, 100, 1000 and 3600 seconds).
this version, evolutionary operators have their workload
divided into processing cores of a multicore processor. Table 6. Evolution of best solution using threads
These processors have the ability of executing simultaneous
Instance Threads 10s 100s 1000s 3600s
threads sharing the same memory space without exchanging 1 6519 6979 7025 7025
messages among them. When Crossover, Mutation, Large 400a 2 6424 7000 7100 7167
Exploration and Population Reconstruction take place, some 4 6762 7009 7094 7174
1 25236 28124 29413 29796
threads work only with a part of individuals in question. 700a 2 25916 28277 29661 30108
For example: if we are using two cores in Population 4 26214 28960 29674 30070
Reconstruction, the first thread reconstructs 50 individuals 1 46618 64885 67978 68765
1000a 2 59360 64904 68332 69431
and the second one other 50 individuals. After that, the 4 58992 65795 68710 69494
population is sequentially sorted and algorithm continues
until one of mentioned operator. At that point, the workload
In the three instances chosen for this test, a parallel ver-
is divided again among threads (cores). Each algorithm step
sion using two or four threads always had the best solution.
apart from the four evolutionary operators is sequentially
Moreover, the four threads version was a little better than
executed.
other version. Although it was an expected result, the poor
This parallelism is very interesting because almost all
speedup of this version could have disrupted it. Of course it
recent manufactured processors are multicore and operating
is possible to use more than four cores (or processors) with
systems have a load balance feature that allow each thread to
the parallel version just spreading individuals as equitable
execute in a different processing core. Obviously, operating
as possible among processing units. If sequential parts
system kernel and background applications compete for
of algorithm like individual sorting and natural selection
processor cores. So, using all cores may not provide a very
become parallel, certainly it will be very interesting too.
good speedup, but it is better than using a single core.
The multicore environment used in the following test is
a Intel Core2 Quad (Q6600) 2.4 GHz (each core), 4GB, 6. Concluding Remarks
Linux 2.6.24-19. We made two tests: the first one measured
the average speedup of using two or four threads instead of This paper presented a new Evolutionary Algorithm for
using a single one. Table 5 shows the relative speedup of the Dynamic resource Constrained Project Scheduling Prob-
two and four threads version of EA ages using the same lem (DRCPSP). This EA ages uses a indirect representation
sequential version stop criterion (50 plus extra generations). that can generate a feasible schedule from any priority list.
EA ages got around the population stagnate state using
Table 5. Relative Speedup of multi-thread version an Age scheme that destroy all individuals and reconstruct
new ones from a best individual. Other strong points like
Instance 2 threads 4 threads Extra Generations and the local search LS Swap also con-
300a 45.3% 113.1%
400a 80.2% 165.3% tributed to improve the literature results. Extra Generations
500a 85.1% 127.3% by themselves were responsible for a 3.6% improvement;
600a 79.9% 182.6% LS Swap made worthwhile explorations in the best solution
700a 67.3% 117.6%
800a 92.6% 139.0% neighborhood, mainly at initial generations.
900a 85.5% 107.3% A parallel version of EA ages was also proposed using
1000a 78.8% 130.2% two or four threads in a multicore processor. The speedup
would be better if a not so fine granularity scheme was
We can see in Table 5 that the two threads version got used. However, there is a good benefit of using the parallel
a reasonable speedup, but the same did not occur with four versions: they can find better solution in smaller amount
threads. of time. According to the presented results, the parallel
The reason may be the very fine granularity of EA ages EA ages is the algorithm that best uses the computational
parallelism. The parallel operators end their execution very power of present-day processors in order to find better
fast because they are responsible for few individuals. Se- solution for DRCPSP.
quential steps like sorting population and evaluation of a The literature of Evolutionary Algorithm provides a wide
possible new best individual take almost the same time of set of evolutionary operators. If we assume that each one

Authorized licensed use limited to: UNIVERSITY OF SYDNEY. Downloaded on April 05,2010 at 22:20:27 EDT from IEEE Xplore. Restrictions apply.
can be well suited for specific instances, we can imagine [11] M. Rogalska, W. Bozejko, and Z. Hejducki. Time/cost opti-
a parallel algorithm where each population uses a different mization using hybrid evolutionary algorithm in construction.
configuration of operator. Each population can be improved Automation in Construction, 18:24–31, 2008.
in a different way, exploring better the solutions space. Each [12] A. R. V. Silva and L. S. Ochi. A dynamic resource
population can be executed in a different core, improving the constrained task scheduling problem. In Proc. of Latin-
granularity of Evolutionary algorithm and, consequentially, Ibero-American Congress on Operations Research (CLAIO),
its speedup. Montevideo (Uruguay), November.
Another promising technique consists of using exact
[13] A. R. V. Silva and L. S. Ochi. Effective grasp for the dynamic
methods with the indirect representation. If it is well ad- resource-constrained task scheduling problem. In Proc. of
justed, the exact method might handle only a small part of International Network Optimization Conference (INOC), Spa
the whole scheduling. The indirect representation has the (Belgium), April 2007.
ability to keep the priorities of a good partial schedule by
crossover operator computation. [14] A. R. V. Silva and L. S. Ochi. A hybrid evolutionary algorithm
for the dynamic resource constrained task scheduling problem.
In Proc. of the International Workshop on Nature Inspired
Acknowledgment Distributed Computing (NIDISC), LongBeach (USA), March
2007.
This work was partially supported by CNPq - grant [15] A. R. V. Silva, L. S. Ochi, and H. G. Santos. New effective
141074/2007-8 algorithm for dynamic resource constrained project scheduling
problem. In Proc. of International Conference on Engineering
Optimization (ENGOPT), Rio de Janeiro (Brazil), June 2008.
References

[1] Cplex software web page http://www.ilog.com/products/cplex.

[2] Labic project web page http://www.ic.uff.br/∼labic.

[3] C. Boeres, E. Rios, and L. S. Ochi. Hybrid evolutionary static


scheduling for heterogeneous systems. In Proc. of the IEEE
Conf. on Evolutionary Computation (CEC2005), pages 1929–
1937, Edinburgh (Scotland), 2005.

[4] K. Bouleimen and H. Lecocq. A new efficient simulated an-


nealing algorithm for the resource-constrained project schedul-
ing problem and its multiple mode version. EJOR - European
Journal of Operational Research, 149:268–281, 2003.

[5] P. Brucker, A. Drexl, R. Mohring, K. Neumann, and E. Pesch.


Resource-constrained project scheduling: Notation, classifica-
tion, models, and methods. European Journal of Operational
Research, 12:3–41, 1999.

[6] T. A. Feo and M. G. C. Resende. Greedy randomized adaptive


search procedures. Journal of Global Optimization 6, pages
109–133, 1995.

[7] J. Gonçalves, J. Mendes, and M. G. C. Resende. A hybrid ge-


netic algorithm for the job shop scheduling problem. European
Journal of Operational Research, 167:77–95, 2005.

[8] J. Gonçalves, J. Mendes, and M. G. C. Resende. A genetic


algorithm for the resource constrained multi-project scheduling
problem. EJOR - European Journal of Operational Research,
189:1171–1190, 2008.

[9] S. Liu and C. Wang. Resource-constrained construction project


scheduling model for profit maximization considering cash
flow. Automation in Construction, 17:966–974, 2008.

[10] J. Remy. Resource constrained scheduling on multiple ma-


chines. Information Processing Letters, 91:177–182, 2004.

Authorized licensed use limited to: UNIVERSITY OF SYDNEY. Downloaded on April 05,2010 at 22:20:27 EDT from IEEE Xplore. Restrictions apply.

You might also like