2017 2nd International Conference on Advances in Management Engineering and Information Technology (AMEIT 2017) ISBN: 978-1-60595-457-8
Forward-backward Improvement for Genetic Algorithm Based
Optimization of Resource Constrained Scheduling Problem
Jian-cheng WANG
1,*and Wen-ran LIU
2,31
Department of Equipment Command, Equipment Academy, Beijing 101416, China
2
Department of Graduate Management, Equipment Academy, Beijing 101416, China
3
92081 Troops, China
*Corresponding author
Keywords: Resource constrained, Project duration optimization, Equipment support, Forward- backward improvement, Genetic algorithm, Network planning, Activity on arc network, Scheduling generation scheme.
Abstract. Due to the development of management idea and the scarcity of some resources, the lean
management has become the necessary request to implement effective control of resource constrained project. Resource constrained project scheduling is the significant guarantee to attain the lean management. Genetic algorithm is one of the basic heuristics to solve the resource constrained project scheduling problem (RCPSP), the precedence relations of which is described by an activity-on-arrow (AOA) network. The chromosomes are encoded as the extended priority value list (EPL) and decoded by the parallel schedule generation scheme (PSGS). To enhance the exploitation ability, the iterative forward-backward improvement as the local search procedure is applied upon all generated solutions using PSGS. The chromosomes supplied by the genetic algorithm are then adjusted to reflect the solutions obtained by the improvement procedure. The overall framework of the GA with forward-backward improvement for RCPSP is developed and the algorithm of FBI is schematically designed. Comparative computational experiments demonstrate the effectiveness of the proposed algorithm in solution to a medium-sized benchmark RCPSP with its precedence relation of activities being diagramed as an AOA network.
Introduction
Resources are important foundation to fulfill a task. In the field of equipment support, however, some kinds of the resources are usually limited. On account of the limited resource units that can be assigned to activities, the predicted task completion time will most likely be longer than that without taking into account the resource usage limit. How to properly schedule the activities in a project under constraint of limited resources belongs to the resource constrained project schedule problem (RCPSP) [1-3]. To assist task managers or decision-maker in well organizing and carrying out the task, it necessary to develop efficient solution method for solving medium-sized or even large-sized RCPSP. The genetic algorithm (GA) is one of the usually adopted meta-heuristics. To the best of the authors’ knowledge, RCPSP with precedence relationship expressed in an activity-on-node (AON) format is well studied, but little efforts are given to solution of RCPSP with precedence relationship expressed in an activity-on-arc (AOA) format.
Problem Formulation
The relationship among activities of a project can be described either as an AOA network or an AON network. The latter one is usually utilized in most research papers, but the former one is especially adopted here for purpose of comparison study. The AOA network is a directed acyclic diagram (DAG)
G(V, A) where V is the set of nodes and A is the set of activities between which a finish-start precedence relationship with time lag 0 exists. Each activity can be distinguished either by number index or by node pair (p, q). In normal case, the number index expression of an activity in AOA network is adopted for simplicity and ease of description. The node pair expression of an activity is used where necessary. Sets of all immediate predecessor and successor activities of an activity j are denoted by Pj and Sj, respectively.
[image:2.612.131.488.242.357.2]The AOA network of the network in AON format in reference [4] is shown in Fig. 1. The non-virtual activities correspondence between AOA network and AON network is shown in Table 1.
Figure 1. AOA network for the instance example with 12 nodes and 15 activities including 4 dummy ones.
Table 1. Non-virtual activities correspondence between AOA network and AON network.
Activity No
AOA network 2 3 4 5 8 9 10 11 12 13 14 AON network 2 5 3 4 7 8 10 6 9 11 12
The RCPSP is as follows: a project consists of N activities in all including the dummy ones. The activities are interrelated by two types of constraints. The first one is a precedence relation between j
and i∈Pj which forces activity j not to be started before any one of its immediate predecessor
activities, i∈Pj, has been finished. This type of constraint is determined by the corresponding AOA
network of the project and the activity durations. The constraint of the second type is related to the resource requirements. The renewable resources are considered here. The set of renewable resource
types is K. While being processed, activity j requires
r
jk units of resource type k∈K, during each timeperiod of its non-preemptable duration dj. Resource type k has a limited capacity of Rk, constant over
the project execution, which cannot be violated at any time period, i.e., the sum of resource usage of all ongoing activities At in time instance t should not exceed Rk units of resource type k∈K. The
parameters dj, k j
r
, and Rk are assumed to be nonnegative, deterministic, and integer.The objective for RCPSP is to find a schedule such that the project duration is minimized subject to precedence and resource constraints. The problem is formulated as an optimization problem as in (1),
(2), (3) and (4).The decision variable is the actual start time of activity j,
t
ASj .min
max
{
|
}
AS
A
j
d
t
T
p=
j+
j∈
. (1)
s.t.
j i
i
j
t
d
j
A
i
P
t
AS≥
AS+
,
∈
\
{
1
},
∈
, (2)
10 9
2
1 11 12
5 6
4 3
7
K k T t R t r k t A j k j t ∈ = ≤
∑
∈ ( ) π , 1,, , , (3)A j tASj ≥0, ∈
. (4) In which, At is the set of ongoing activities in time instant t, as defined in (5):
}
1
,
0
,
|
{
∈
≠
AS≤
≤
AS+
−
=
j j j
j
t
j
j
A
d
t
t
t
d
A
. (5)
An upper bound on the project’s makespan is denoted as
∑
== N
j dj
T 1 , and k t R
π is the
as-yet-unused resource units of type k at time instant t.
The objective function (1) minimizes the makespan of the project. Constraints (2) take into consideration the precedence relations between activities i and j, where i immediately precedes j. Finally, constraint set (3) limits the total resource usage within each time period to the maximum available amount.
Solution Using Genetic Algorithm with FBI
Being based on GA, genetic algorithm with forward-backward improvement is also an iteration procedure that operates on population of chromosomes generation after generation, which resulting in solution to the decision variables of RCPSP. The overall framework, chromosome expression, forward-backward improvement [5], and chromosome adjustment are given below. For other description of basic components of the heuristics, the reader is referred to [1, 6].
Overall Framework
The overall framework of genetic algorithm with FBI is developed as in Algorithm 1. It is actually constructed as an iteration process. Initialization is done first, and then enters the outermost loop. Within the loop, the population is evaluated. As contrast to the traditional GA, the evaluation is immediately succeeded by FBI. The best individual of current generation and the best individual so far are updated according to the evaluation results. Generation gen is increased by 1. Terminating condition is now checked. If the terminating condition is not satisfied, selection, crossover and mutation operators as well as the elitist strategy are executed to generate the next population, which is the beginning of the next iteration; otherwise, exit outermost loop and necessary quantities are output.
Algorithm 1.Framework of Genetic Algorithm with FBI /* initialization */
set aPopulation.PL=rand(popSize, N) /* main loop */
set gen = 1
repeat if gen>1 then
/* generate next population */ roulette wheel selection
parametrized uniform crossover of aPopulation.PL
mutation of aPopulation.PL
/* perform elitist strategy: replace priority value of a individual by that of current best one */
ip=unidrnd(popSize)
aPopulation.PL(ip, :)= currentBestIndividual.PL end if
/* evaluation loop */
for i = 1 to popSize do
set PLi = aPopulation.PL(i, :)
decode PLi by using PSS to get ALi, SLi and FLi of individual i set aPopulation.AL(i, :) = ALi
set aPopulation.objValue(i) = max(FLi) /* begining of the FBI*/
compute bALi, bSLi and bFLi using backward schedule compute fALi, fSLi and fFLi using forward schedule /* end of the FBI*/
/* chromosome adjustment */ set TPi = max(FLi)
set TP'i = max(fFLi)
ifTP'i < TPithen
compute the priority value, adjPLi, which will have to result in fALi, or fSLi when using PSS obtain other lists adjALi, adjSLi, and adjFLi of the chromosome with priority value adjPLi using PSS /* update PLi, ALi, SLi and FLi of individual i with new ones */
set aPopulation.PL(i, :) = adjPLi set aPopulation.AL(i, :) = adjALi set aPopulation.SL(i, :) = adjSLi set aPopulation.FL(i, :) = adjFLi
set aPopulation.objValue(i) = max(adjFLi)
end if end for
/* find the best individual */ set bestIndividual = aPopulation(1) set bestIndex = 1
for i = 1 to popSize do
if aPopulation.objValue(i)<bestIndividual.objValuethen
set bestIndividual = aPopulation(i) set bestIndex = i
end if end for
/* find out the best individual so far */
if gen=1 then
currentBestIndividual = bestIndividual else
if bestIndividual.objValue<currentBestIndividual.objValuethen currentBestIndividual = bestIndividual
end if end if
set gen = gen + 1
until currentBestIndividual.objValue is good enough or gen>maxGen
/* output results */
output currentBestIndividual
Chromosome Expression
In general, there are two forms of chromosome representations: permutation-based representation and priority-based representation [7,8]. A single permutation-based or priority-based chromosome expression should be extended to enhance the performance of GA-FBI. The latter is adopted here for its remarkable merit that the activity list decoded by an SGS from the priority value of a chromosome after crossover and mutation is still precedence feasible, and no repairing operator is needed to resolve the precedence conflict, which would appear if the former expression of a chromosome is used. In the GA-FBI, a list with the start (finish) time of every activity will be helpful when the backward (forward) schedule is performed.
The extended chromosome representation is proposed and termed as extended priority list (EPL), which contains four parts: (1) a priority value list (PL) {ρ1, ρ2, ..., ρN}, the jth element of which stands
for the priority of activity j, which will be used by the chromosome decoding. For activity j, it would compete with this priority among its competitors in current decision set to be scheduled first; (2) an activity list (AL) {π1, π2, ... , πN}, which is formed by decoding the priority value list; (3) a list with the
start time of every activity (SL) {σ1, σ2, ..., σN}; and (4) a list with the finish time of every activity (FL)
Consider the example in Fig. 1, the EPL representation for a feasible schedule of the example is given in Fig. 2, where the priority value, start time and finish time of each activity can be seen clearly from the EPL representation. For example, for activity 8, the priority value is 1.4, the start time is 13, and the finish time is 16. Note that an EPL is the intact representation of a feasible schedule because the necessary information of all activities, including dummy activities, can be obtained from it.
Forward-backward Improvement
After an initial solution is obtained by the PSS, the forward- backward improvement (FBI) [5] is activated to possibly reduce the makespan of the project. The FBI procedure iteratively schedules the problem by alternating between backward and forward scheduling. The FL of an initial schedule or a forward schedule determines the activity priorities for the backward schedule of the FBI. Similarly, the SL of a backward schedule determines the activity priorities for the forward schedule.
In Fig. 3, a single iteration is used to illustrate procedure of the FBI process. The resource usage profiles of an initial solution scheduled using PSS is shown on the top of Fig. 3(a). As illustrated in the second and third tables of Fig. 3(b), the backward improvement is implemented by shifting each activity (in the descent order of activity finish time) to right as much as possible. In this way, we obtain a schedule with makespan of 20, which can be also read from the middle plot of Fig. 3(a). Forward schedule is used to try to further improve it by shifting activities to left as much as possible. As expected, no further reduction of the project duration is obtained in forward schedule, as shown in the last two tables of Fig. 3(b) and the plot at the bottom of Fig. 3(a), because the exact solution has been searched in the previous pass. As a whole, it is obvious that the FBI is of certain ability to improve the quality of the individual.
(a) A feasible schedule of the example in Figure 1
PL 0.5 0.3 1.2 0.2 0.4 0.9 0.6 1.3 0.8 1.4 0.1 1.5 1.1 1.0 0.7
AL 1 4 2 6 9 5 10 3 7 8 11 12 13 14 15
SL 0 0 0 4 4 8 11 11 13 13 15 16 18 20 23
FL 0 4 4 4 8 11 15 13 13 16 18 18 20 23 23
[image:5.612.105.491.364.567.2](b) EPL representation for the schedule shown in (a)
Figure 2. A feasible schedule and its EPL representation.
Chromosome Adjustment
Computation Experiment
An AOA version of a medium-sized benchmark instance [9] with 27 nodes and 39 activities including 14 dummy ones is used in the experiments. Computation program of the GA with FBI is developed in Matlab Language.
Two computation experiments are executed to evaluate the performance of the proposed heuristic. The basic evolutionary parameters of the program include: popSize= 200, N=39, Pc=0.80, Percm= 75,
TCP=0.7. The maximum generation, maxGen,is 30 and 120 for experiment 1 and 2, respectively. The
first experiment is for the program run of GA with FBI while the second one is for that of GA without FBI. For both experiments, the programs are all randomly run 10 times. In both experiments, all runs have obtained the exact solution of the problem, but the generation in a run at which the exact one has been found for the first time, G*, is different. The computed project duration, Tp, and the
[image:6.612.116.496.283.379.2]corresponding G*, are listed in Table 2 (index to GA running is indicated by IX). The means of these generations in each experiment showed the apparent superiority of the GA with FBI over the GA without FBI in solving RCPSP.
Table 2. Comparison between results of GA solution with FBI and without FBI.
Results IX
1 2 3 4 5 6 7 8 9 10
with FBI (maxGen=30)
Tp 64 64 64 64 64 64 64 64 64 64
G* 2 10 2 4 3 4 7 1 3 5
without FBI (maxGen=120)
Tp 64 64 64 64 64 64 64 64 64 64
G* 15 3 34 17 112 11 21 55 59 15
Conclusions
This paper presents the forward-backward improvement for GA based optimization of RCPSP with precedence relations expressed in AOA format. The overall framework, the EPL representation of the chromosome, and the forward-backward improvement are studied in detail. The experiments show that FBI is an efficient local search technique which can be incorporated into the genetic algorithm for solution to medium or even large sized resource-constrained project scheduling problem.
References
[1] S. Hartmann, R. Kolisch, Experimental evaluation of state-of-the-art heuristics for the resource- constrained project scheduling problem, Eur. J. Oper. Res. 127 (2000) 394-407.
[2] S. Kreter, J. Rieck, J. Zimmermann, Models and solution procedures for the resource-constrained project scheduling problem with general temporal constraints and calendars, Eur. J. Oper. Res. 251 (2016) 387-403.
[3] J.-G. He, X.-D. Chen, X. Chen, A filter-and-fan approach with adaptive neighborhood switching for resource-constrained project scheduling, Computers & Operations Research 71 (2016) 71-81.
[4] H. Wang, T.-L. Li, D. Lin, Efficient genetic algorithm for resource-constrained project scheduling problem, Transactions of Tianjin University 16 (2010) 376-382.
[5] K.Y. Li, R. J. Willis, An iterative scheduling technique for resource constrained project scheduling, European Journal of Operational Research 56 (1992) 370-379.
[7] J. Gonçalves, M. Resende, J. Mendes, A biased random-key genetic algorithm with forward- backward improvement for the resource constrained project scheduling problem, Journal of Heuristics 17 (2011) 467-486.
[8] L. Wang, C. Fang, An effective shuffled frog-leaping algorithm for multi-mode resource- constrained project scheduling problem, Information Sciences 181 (2011) 4804-4822.
(a) (b)
PL 1.1 0.7 0.9 0.2 1.2 1.0 1.3 0.1 0.3 0.4 0.6 1.5 0.5 0.8 1.4
AL 1 2 3 8 7 4 6 11 9 5 10 12 13 14 15
SL 0 0 0 2 2 4 4 5 8 12 15 15 19 21 24
FL 0 4 2 5 2 8 4 8 12 15 19 17 21 24 24
AL 1 3 7 2 6 8 4 11 9 5 12 10 13 14 15
SL 0 0 2 0 4 2 4 5 8 12 15 15 19 21 24
FL 0 2 2 4 4 5 8 8 12 15 17 19 21 24 24
AL 1 3 7 2 6 8 4 11 9 5 12 10 13 14 15
SL 4 4 9 4 9 6 8 9 15 12 22 15 19 21 24
FL 4 6 9 8 9 9 12 12 19 15 24 19 21 24 24
AL 1 2 3 8 4 6 7 11 5 9 10 13 14 12 15
SL 4 4 4 6 8 9 9 9 12 15 15 19 21 22 24
FL 4 8 6 9 12 9 9 12 15 19 19 21 24 24 24
AL 1 2 3 8 4 6 7 11 5 9 10 13 14 12 15
SL 0 0 0 2 4 4 2 5 8 11 11 15 17 17 20
FL 0 4 2 5 8 4 2 8 11 15 15 17 20 19 20
Sort activities according to FT increasingly
Backword schedule
Sort activities according to ST increasingly
[image:8.612.63.730.90.529.2]Forword schedule