planning and replanning in project and production scheduling
TRANSCRIPT
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
1/16
Omega 30 (2002) 155170
www.elsevier.com/locate/dsw
Planning and re-planning in project and productionscheduling
Kevin M. Calhouna, Richard F. Deckrob;, James T. Mooreb, James W. Chrissisb,John C. Van Hovec
aAnalysis Division, ACC=DRYM, 204 Dodd Blvd., Ste. 226, Langley AFB, VA 23665, USAbDepartment of Operational Sciences, Air Force Institute of Technology, AFIT=ENS, Bldg. 640, 2950 P Street,
Wright-Patterson Air Force Base, OH 45433-7765, USAcOperations Analysis Division, Air Force Wargaming Institute, 401 Chennault Circle, Maxwell AFB, AL 36112-6428, USA
Received 10 January 2001; accepted 14 December 2001
Abstract
Scheduling is a time and labor-intensive task. In addition, problems arise due to the lag time between the publication of the
schedule and the start of the scheduled work period. During this time, conditions in the dynamic environment can, and often
do, change (equipment breaks, orders are cancelled or increased, work force levels do not meet expectations, or a task simply
takes longer than planned, for example). While the scheduling literature is broad, very little of it addresses re-planning and
re-scheduling.
This research explores the use of tabu search (TS) seeded with a robust initial solution to determine good solutions for a
posted schedule. It considers preemptive tasking priorities. The procedure then adapts the TS to focus on generating re-planning
and re-scheduling options in a project or production setting. The TS procedure was implemented in Java to be portable and tomake the objects available for reuse and adaptation elsewhere in the planning hierarchy. Published by Elsevier Science Ltd.
Keywords: Scheduling; Planning; Re-scheduling; Project management
1. Introduction
Scheduling is a central function of all organizations. A
great deal of literature exists for scheduling projects and
job shops. Unfortunately, little of this literature deals withre-planning or re-scheduling activities. What literature does
exist generally focuses on dispatching rules and questions
The views expressed in this paper are those of the authors and
do not reect the ocial policy or position of the United States
Air Force, the Department of Defense or the United States govern-
ment. (Approved for Public Release, Distribution Unlimited) Pre-
publication draft. Please do not quote without the authors written
permission. Corresponding author. Tel.: +1-937-255-6565=4325; fax: +1-
937-656-4943.
E-mail address: [email protected] (R.F. Deckro).
of local changes vs. schedule regeneration. It is a commonly
held belief among operational schedulers, however, that the
schedule begins to be out of date from the moment opera-
tions begin (if it was even initially accurate).
Robust scheduling procedures have long been a goal ofresearchers and practitioners alike. While optimization ap-
proaches to scheduling are essential for eciently building
schedules and planning resource usage, the imprecision of
the existing data, the dynamic operational environment, and
the eects of uncontrollable events have always meant that
the schedule is a suggested plan. Without the ability to
re-plan and re-schedule, the schedule can become an in-
appropriate baseline for gauging performance.
This research focuses on schedule planning, re-planning,
and re-scheduling. A distinction is made between
re-planning and re-scheduling. Re-planning, as dened in
this paper, refers to that aspect of operations concerned with
0305-0483/02/$ - see front matter Published by Elsevier Science Ltd.
P I I : S 0 3 0 5 - 0 4 8 3 ( 0 2 ) 0 0 0 2 4 - 5
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
2/16
156 K.M. Calhoun et al. / Omega 30 (2002) 155 170
xing the schedule before the start of the work period.
Re-scheduling refers to re-assigning tasks and resources, as
circumstances warrant, during the work period.
The overall problem is formulated as a project schedul-
ing problem (PSP). In order to obtain an initial solution
to the problem, a heuristic is developed based on key con-
cepts from scheduling theory. A tabu search (TS) procedurethen uses the result from the initial solution heuristic and
improves upon it. The TS procedure was tested by solving
PSPs with known optimal solutions.
The TS procedure presented herein takes advantage of
the structure of the planning, re-planning, and re-scheduling
problems. The research extends the eort of previous re-
search by capturing task priorities through the use of a goal
programming (GP) model.
A TS procedure for re-planning is developed. The study
has two re-planning objectives. The rst objective concen-
trates on the re-planning that must be done prior to the
start of the workday. It suggests new plans based on theresources, requirements and personnel currently available.
In many respects, the TS for re-planning is similar to that
used to generate the initial plan. The second objective of the
study was to modify the TS to perform quick re-scheduling
of activities during the workday. For both objectives, the ap-
proach applied is a lexicographic GP formulation that max-
imizes the number of high priority tasks that are scheduled
and then minimizes the number of tasks and resources to be
re-scheduled.
The TS generates a list of options for the planner to re-
view. The planner may then select the most desirable op-
tion for the current operational situation from the list. This
process uses the options developed by the heuristic, cou-pled with the decision makers experience and knowledge,
to develop a plan. It is acknowledged that the methodology
developed here is a tool to be used by, not a replacement
for, experienced planners and schedulers. The goal of this
research was to rapidly provide improved options to support
the decision maker.
To best exploit the advantages of object-oriented pro-
gramming, the heuristic procedures developed in this study
are written in Java. This makes the procedure portable
so that it can run on most platforms. The procedures
make Structured Query Language (SQL) calls to an Or-
acle or Access database. The use of ANSI-compliantSQL augments the portability of these procedures. These
queries pull only the attributes from dierent tables in
the database that are necessary to solve the planning
problem.
As noted earlier, the TS procedure results are compared
for accuracy to the lower bounds of a test set of schedul-
ing problems. CPU processing times for the solutions are
reported for each problem to demonstrate how processing
times grow with the size of the problem. Inter-procedure
comparison of processing times is of limited value because
of computer platform dierences. Once the TS procedure
was validated against these test cases, it was modied
and applied to sample project planning, re-planning and
re-scheduling problems.
In the remainder of the paper, a brief literature review
is presented, followed by details of the development of the
TS procedure used to solve the GP models for the planning,
re-planning and re-scheduling problems. Computational re-
sults and a brief illustrative example are then presented. Thepaper concludes with a summary of the research, a review
of its contributions, and recommendations for future work.
2. Background
Scheduling concerns the allocation of limited resources
to tasks over time. It is a decision-making process that has
as a goal the optimization of one or more objectives [1,
p. 1]. The scheduling process exists in virtually all opera-
tional settings. It is a key to eective resource utilization by
world-class organizations.
A project is a systematic enterprise designed to accom-
plish some specic non-routine or low-volume task [2, p.
1]. For the purpose of this research, a project is a nite set
of activities with limited resources that must be scheduled
in agreement with certain precedence requirements between
activity pairs.
Precedence constraints dene timing requirements be-
tween activity pairs within projects. The most common type
of precedence constraints is of the nishstart variety and
is used to specify that a predecessor activity must end be-
fore its successor activity may start. Other common types
of precedence constraints are startnish, startstart, and
nishnish [2, p. 321]. Lag times are another importantconsideration. Certain activities must lag others by a partic-
ular interval. This gives rise to a minimum or maximum lag
time that may constrain the start time for successor activities.
The formulation of these generalized precedence
constraints can become complex with the addition of
multi-modal activities. Taken together, the minimum and
maximum lag times make up a time window for the suc-
cessor activity. The approach developed in this research
incorporates lag times to model staggered activities and
suggests start times.
2.1. Resource constraints
The simple PSP model does not account for limited re-
sources that are used by the activities. Hence, an optimal
solution to a PSP may be infeasible if resource constraints
are present. An expansion of the PSP model developed to
handle limited resources is the Resource Constrained Project
Scheduling Problem (RCPSP).
2.2. Heuristics
The RCPSP integer linear programming (ILP) model
yields an optimal solution if one exists. However,
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
3/16
K.M. Calhoun et al. / Omega 30 (2002) 155 170 157
depending on the number of variables involved, it can be
time-consuming to solve. Therefore, decision makers are of-
ten interested in priority rulestechniques that yield good,
but not necessarily optimal, solutions quickly. A priority rule
frequently used when jobs are subject to arbitrary precedence
constraints and arbitrary job processing times is the
largest number of successors (LNS) rule. The job thathas the largest number of total successors in the prece-
dence constraints graph has the highest priority and would
be scheduled rst, subject to any additional constraints
[1, p. 71].
When job j can only be processed on a subset of the
available machines, the least exible job rst (LFJ) rule is
sometimes used. Every time a machine is freed, the LFJ rule
selects the job that can be processed on the smallest subset
of machines, with ties broken arbitrarily.
When multiple machines are freed simultaneously, the
LFJ rule does not specify which machine to consider rst.
If a number of machines are free at the same time, it may beadvantageous to consider the least exible machine (LFM)
rule. This rule assigns a job to the machine that can process
the smallest subset of remaining jobs [1, p. 71].
A combination of the preceding two rules gives priority
to the least exible jobs on the LFM. That is, for each time,
t, the LFM would be assigned the least exible feasible
job. This heuristic (dispatching rule) is abbreviated as the
LFMLFJ rule [1, p. 72]. The heuristics discussed in this
section were developed with the objective of minimizing the
makespan of the project.
2.3. The multi-modal resource constrained project
scheduling problem (MMRCSPSP)
The standard resource constrained project scheduling for-
mulation [3] or [4] may be extended to include the situation
where the activities can be completed in one of a number of
possible execution modes (MMRCPSP). The amount and
type of resources consumed and the processing time depend
on the mode selected [5, p. 350].
2.4. The generalized MMRCPSP
Generalized precedent constraints may be used to enforce
any timing requirement called for in an operational scenario
and are therefore required. The generalized MMRCPSP has
the abbreviation, MMGRCPSP.
2.5. Doubly constrained resources
In the formulation in Fig. 1 (following the work of
Sprecher and Sprecher et al. [6,7]), let K be the set of
Fig. 1. Van Hoves complete MMGRCPSP model formulation [8, p. 49]
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
4/16
158 K.M. Calhoun et al. / Omega 30 (2002) 155 170
resource types in the problem and kK. The renewable
aspect of k is bounded at Rk, the per period availability of
renewable resource k[8, p. 43]. The non-renewable aspect of
resource kis the limit dictated byNk=rimk [8, p. 43]. Each unit
in the model is a doubly constrained resource. Therefore,
the resource types are both renewable and non-renewable.
2.6. MMGRCPSP formulation
In the formulation of the MMGRCPSP problem (Fig. 1),
the objective function, (1), minimizes the makespan of the
schedule. Eq. (2) enforces the non-renewable resource con-
straint, while Eq. (3) enforces the renewable resource con-
straint. The binary decision variable, ximt, is equal to one if
activity i starts in period t and is executed in mode m. Eq.
(4) enforces the lag times between predecessor=successor
activities. The binary decision variable xjnt selectively en-
forces the applicable constraint and relaxes the redundantconstraints. As the delta (ijmn) can be positive or nega-
tive, both minimum and maximum precedence constraints
can be expressed by using this constraint twice, once for
precedence pair (i; j) and once for precedence pair (j; i) [9].
While the model generates an optimal schedule in terms of
makespan, it does not model task priority classications, nor
does it model maximum lag times or re-planning. For any
realistically-sized problem, schedule generation can be ex-
tremely time-consuming.
2.7. Tabu search
TS is a meta-heuristic procedure for solving large com-
binatorial optimization problems. TS has proven to be suc-
cessful in solving to optimality or near-optimality a variety
of classical and practical problems [10, p. 74].
Scheduling provides a fruitful area for heuristic tech-
niques in general and for TS in particular [11, p. 127].
Nowicki and Smutnicki [12] tested their TS application
for job shop scheduling against a benchmark set of
problems and compared their results to those of a shifting
bottleneck heuristic and simulated annealing. Their pro-
cedure outperformed the other methods with respect to
(adjusted) CPU time and the quality of the generatedmakespans [12, p. 808].
3. Methodology
This section provides details of the approach used to solve
the problem. A GP model and formulation for the plan-
ning and re-planning problems are presented. The section
concludes with a detailed look at the TS application devel-
oped to provide planners and managers with scheduling and
re-scheduling options.
3.1. Goal program
For the examples tested in this research, three priority
categories were used although the procedure is not limited
to three. Priority classes would be developed for an or-
ganization reecting rm-specic requirements. Dierential
weighting within classes is possible.For this GP model, the three priorities are assumed to be
preemptive. Tasks were classied as either Priority 1, 2, or
3. Classication would be pursuant to operational or con-
tractual considerations. This classication could be based
on utilization of key resources or personnel, political sen-
sitivity or visibility, precedence, or simply cost, for exam-
ple. Goal i is to schedule tasks in Priority class i with the
available resources and within the generalized precedence
constraints. The minimization of makespan was used as the
lowest priority goal (goal 4 in this case).
In Figure 2, Eqs. (5)(14) give the constraints on the de-
viations, di. It is possible that all of the ximt variables equalto zero for activity i, making the dxi variable equal to one.
This condition would occur for tasks that have no resources
assigned to them. The di variables are therefore constrained
to be equal to the number of priority i tasks that do not have
jobs scheduled against them in the optimal solution. The rest
of the model is identical to Van Hoves MMGRCPSP for-
mulation (Fig. 2) except that objective function (1) becomes
the constraint in Eq. (9) that denes Goal 4, minimizing the
makespan of the generated schedule (Table 1).
3.2. Initial solution heuristic
The objective in project or job shop scheduling is often to
minimize the makespan subject to precedence and resource
constraints. This suggests a heuristic to generate an initial
solution for tasking allocated resources to activities. The
heuristic is a combination of the LNS rule and the LFMLFJ
rule (referred to as the LNSLFMLFJ rule). The LNS
LFMLFJ rule provides a sound initial solution.
If an activity with many successors is assigned a late
start time, then a condition known as a bottleneck might
occur. That is, all of the successor activities would be on
hold until this key activity is suciently completed. To
avoid this, the initial solution heuristic assigns resources tofeasible tasks (predecessors met, resources available) with
many successors and shortest duration times. Finally, to be
a good initial solution for the GP TS, the heuristic strives
for a solution that satises the goal priorities of the GP.
Therefore, the heuristic given below considers the activities
in priority order.
Step 1. Starting with the highest priority unscheduled fea-
sible activities, order the appropriate modes for each activity
by the LNS rule.
Step 2. Within priorities order the modes rst by LFM
(least exible machine or mode) then by LFJ (least exible
activity or resource).
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
5/16
K.M. Calhoun et al. / Omega 30 (2002) 155 170 159
Fig. 2. The MMGRCPSP goal programming model.
Table 1
Parameters and variables for the MMGRCPSP GP formulation
ParametersA1 the set of all priority one activities
A2 the set of all priority two activities
A3 the set of all priority three activities
A the set of all activities (A1 + A2 + A3)
d the index of the terminal activity
eim the earliest completion time for activity i in mode m
lim the latest completion time for activity i in mode m
Mi the set of all execution modes for activity i
im the duration of activity i in mode m
Si the set of generalized successors of activity i
ijmn the minimum lag between the start time of activity i
in mode m and the start time of activity j Si in
mode n
K the set of all double constrained resourcesrimk the amount of resource k required by activity i when
being executed in mode m
Rk the per period availability of resource k
Nk the total amount of resource k available
g the deadline for the project under consideration
Variables
ximt =1 if activity i starts in period t and is executed in
mode m, 0 otherwise
Pl The weight of goal, with P P +1dl # of Priority activities not covered, =1; 2; 3
d4 The makespan of the schedule
Step 3. Further sort the modes by ascending activity du-
ration times. This ensures that the modes with the quickest
completion times are paired up with the activities that have
the most successors, reducing bottlenecks.
Step 4. Schedule each activity in the resulting order from
Steps 1 to 3.
Step 5. After scheduling the highest priority unscheduled
activities, repeat Steps 14 for the next highest priority ac-
tivities. Continue until all activities are scheduled or until
there are no more resources available.
This heuristic is a pseudo-GP as it schedules each ac-
tivity by priority (goal) in descending order. It provides a
feasible, good starting solution for the TS application of the
GP model. While it does not explicitly consider makespan,
makespan is implicitly captured via the LFMLFJ rule. The
sorting of activity duration times was done to attempt to
eliminate situations where activities are waiting for longperiods for predecessors after a bottleneck. Fig. 3 presents
the owchart for the initial solution heuristic.
3.3. Initial solution evaluation
To judge how well the initial solution schedules the activ-
ities, the number of unscheduled activities for each priority
level is totaled. The makespan (last goal in the planning
problem) is determined by the nish time of the last task
completed. In a problem with four goals, an array of four
integers is used to represent the quality of the solution.
For instance, if the initial solution covered all of the P1
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
6/16
160 K.M. Calhoun et al. / Omega 30 (2002) 155 170
Terminate
InitialSolutionMethod
Invoked,time = 0
Resourcesand tasks
uncovered?
Yes
No
Get nextmode
Task
Covered?
Yes
Resourcesavailable?
Yes
No
No
Find time window for
the activity. Check forsuccessor violation.
SuccessorViolations?
YesAssign activity.Performcalculations.
NoResourcesavailable?
Yes
No
Fig. 3. Initial solution heuristic owchart.
activities, all but one of the P2 activities, and all but ve
of the P3 activities, while achieving a makespan of 550
time units, then the objective function vector would be
[0,1,5,550].
3.4. Tabu search for the project planning problem
The initial solution heuristic provides a robust schedule
that can be used on its own but is intended as a good starting
point for the Tabu Search for the Project Planning Problem
(TS3P). Parameters for TS3P such as tabu tenure and total
number of iterations must rst be specied. The aspiration
criterion is the best objective function value found. The ini-
tial solution is passed to the TS engine and TS3P starts.
3.5. Move manager
The move type chosen for this research is the toggle.
Toggling consists of taking one of the elements in the binary
solution vector and switching it to the opposite position; this
may be the easiest type of move to implement. Employing
a toggle allows activities that were not initially scheduled to
rotate into the plan.
It is easy to see that there are n neighbors for any solu-
tion of an n-variable problem. While the toggle move may
seem simplistic, successive toggles achieve results similar
to other move types. The rst consideration for TS3P is the
move neighborhood. A decision must be made concerning
which of the activities in the current solution are eligible for
toggling; the eligible set of activities is called the candidate
list.The Move Manager selects the candidate list. This
method considers activities associated with only one specic
priority category at a time for inclusion on the candidate
list. The activity priority category under consideration alter-
nates at each iteration; only P1 activities may be considered
at iteration 1, only P2 tasks are considered at iteration 2,
and only P3 activities are considered at iteration 3. Then,
the cycle repeats. The reasoning behind this strategy is: if
activities from all categories were included on the candidate
list and an unimproving move was necessary (an activity
must be turned o), then only tasks associated with P3
activities would be selected. The TS would never select a
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
7/16
K.M. Calhoun et al. / Omega 30 (2002) 155 170 161
task assigned to a P2 activity or P1 activity to toggle o if a
resource assigned to a P3 activity was available. In essence,
the candidate list would then only consist of P3 activities
and only those P1 and P2 activities that have not yet been
scheduled. This would result in little or no inter-modal swaps
and an overly restrictive neighborhood.
The Move Manager selects P1 tasks for inclusion on thecandidate list if one of the following criteria is met: either no
resources are currently assigned to the associated task or, the
activity under consideration is assigned a specic mode with
an activity completion time equal to the makespan of the
schedule. A move that toggles o resources to a P1 activity is
the worst kind of unimproving move (the deviation variable
for goal one would increase by one). Therefore, including
this type of move in the candidate list requires a very good
rationale. We allow an assigned P1 task on the candidate list
only if it is associated with the makespan. This decreases
the size of the candidate list while allowing a decrease in
the makespan.Selecting move candidates among P2 and P3 tasks is less
complex. An activity is placed on the candidate list if either
the task has no resources assigned to it or if the task is an
assigned task and its current mode of operation is set to
zero.
3.6. Move
Each element of the candidate list is operated upon by
the Move method. First, the mode selected to execute the
task is toggled (turned o if it was previously on and vice
versa). Next, the Solution Modier method is called.
The Solution Modier method performs quickly because
it has no loops. It only calculates the marginal change in
makespan resulting from the move under consideration.
Consider a potential move where a mode is toggled o; its
corresponding element in the solution vector is changed to
zero and the marginal change in makespan is determined.
When the mode was toggled on, the method checks to
see if there are enough resources left to execute that task.
If not, the method skips to the next task on the list. If there
are enough resources, an attempt is made to locate a time
window for the activity in a fashion similar to that of the
Initial Solution method. The dierence during the TS isthat even if successor violations exist, the time window is
assigned to the activity, an objective function penalty is
incurred, and the next move is evaluated. This keeps the
search moving quickly.
If a move is chosen that does violate any successor con-
straints, the successors that are in violation are the only
moves allowed on the candidate list until all violations are
reconciled. For example, say elements 5, 12, and 21 of the
solution code array are successor activities and all three are
violating precedence constraints. On the next three moves,
only these three elements will be on the candidate list. Once
these are all dropped from the schedule, TS3P can proceed
choosing its candidates as before. Fig. 4 is a owchart that
illustrates this process.
3.7. Move evaluation
The appropriate element of the objective function vector
is decremented or incremented by one depending on whether
a task was toggled on or o. The makespan of the current
move is also evaluated. After the current move is evaluated,
it needs to be inspected to determine if it is an allowable
move. If not, then the aspiration criteria are checked. If the
move is admissible, the index of the move and its objective
function value are stored until all the moves on the candidate
list are considered and evaluated. When this is accomplished,
the best move is selected and a new iteration is begun.
Fig. 5 is a owchart of the move evaluation method.
4. Re-planning
Re-planning often occurs during the operational time
frame. Plans are often developed days, weeks or months
before they are to be executed. Should any changes occur
to the plan during this time, the activities aected by the
changes may have to adjust. The impact of any change
should be minimized. In the following section, we propose a
methodology for minimizing the impact of changes to a plan.
4.1. GP model for re-planning
A slightly modied GP model is appropriate for
re-planning. Consider the GP for the planning example. It
consisted of four goals:
Goal 1 Maximize P1 activity coverage
Goal 2 Maximize P2 activity coverage
Goal 3 Maximize P3 activity coverage
Goal 4 Minimize makespan of the schedule
These goals, however, are not sucient for the re-planning
application. An additional goal has been inserted betweengoals 3 and 4 (although it could be inserted wherever the
project manager or planner feels it is appropriate). In order
to minimize the impact of a change to the planned schedule,
the number of activities aected should be minimized.
Goal 1 Maximize P1 activity coverage
Goal 2 Maximize P2 activity coverage
Goal 3 Maximize P3 activity coverage
Goal 4 Minimize number of changed activities
Goal 5 Minimize makespan of the schedule
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
8/16
162 K.M. Calhoun et al. / Omega 30 (2002) 155 170
Initiate TS3P
Move Manager
generatescandidate list
Solution Modifierunassigns activities
updates
timeWindow, and
resources
Mode
on?
Move methodtoggles next
mode on list
Solution Modifierassigns activity,
updates timeWindow
and resourcesremaining, calculates
activity duration times
Move Lag
enforces lag
times for mode
Move Evaluation
calculates objectivefunction value for
current move
Determine ifmove is
allowable
No
Yes
Is this mode
last on the
candidate list?
Select bestcandidate, iteration
complete
Max iterations
reached?
No
Yes
Yes No
Terminate TS3P, report results, store
solution in database
Fig. 4. TS3P ow chart.
4.2. Tabu search for re-planning
Since the theoretical formulation of the GP model for
re-planning is similar to that in planning, the toggle move
is used for the re-planning TS. Likewise the tabu tenure
and aspiration criterion are identical. To model the goal of
minimizing the number of activities to be re-planned, the
only change that needed to be made to the TS3P application
to obtain the Tabu Search for Activity Re-planning (TSAR)
was to incorporate an additional deviational variable and its
corresponding constraint.
When TS3P was used to solve each planning problem
instance, a copy of the best solution obtained was saved to
the database. For TSAR, an initial solution based on the
current scenario situation is obtained using the LNSLFM
LFJ heuristic. This initial solution is evaluated just as in
TS3P, but with one dierence. The solution vectors from
the TS3P best solution and the TSAR initial solution are
compared to one another. Each time the value of element
i in one vector diers from the value of element i in the
other vector, the value of the deviational variable associated
with re-planning activities is incremented by one. At each
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
9/16
K.M. Calhoun et al. / Omega 30 (2002) 155 170 163
Initiate the EvaluateMethod
Is currentmode
assigned?
Increment assignedtargets for
appropriate targetory
Get next mode
Is this the
last mode?
Subtract assignedmodes from number oftargets for each priority
class
Calculate latest
job completiontime
Report objective functionvector and terminate method
No
No
Yes
Yes
categ
Fig. 5. Flow chart for evaluate method.
iteration, every neighbor to the current solution is likewise
compared to the TS3P best solution; the TSAR attempts to
minimize this value as well as the values for the other goals.
This approach allows for a rapid comparison of the
re-planning solution with the original plan. By minimizingthe value of the deviational variable associated with the
re-planning goal, the operational impact of a change to
the schedule is decreased. If this number is small, most
of the activities in the original plan can be executed as
scheduled.
5. Re-scheduling
Re-scheduling is dened in this research as re-assigning
activities, as circumstances warrant, while the current work
package or planning horizon is already being executed. It
diers from re-planning by the amount of time planners
have available to nd a solution and, subsequently, by the
amount of time that work crews have available to retool (if
necessary), develop new detailed work plans and times, and
review operational instructions associated with a new task.This means that an application for re-scheduling must work
rapidly. The solution obtained should, if possible, impact
the scheduled plan to an even lesser extent than that for
re-planning.
The re-scheduling application developed for this re-
search reduces operational impact by liberally using a
feature that allows locking in activities. While a plan-
ner may selectively lock in any specic activities, for the
examples discussed below all unchanged tasks assigned
to priority one and two were locked, thus allowing only
unchanged tasks currently assigned to priority three to be
considered for re-assignment. Should the magnitude of the
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
10/16
164 K.M. Calhoun et al. / Omega 30 (2002) 155 170
re-scheduling situation be such that reassigning all of the
activities assigned to priority three is not sucient to cover
all priority one tasks, some or all of the priority two tasks
could be unlocked. This restricted approach allows for rapid
re-scheduling.
The re-scheduling problem is solved by modifying TSAR
to create Tabu Search for Activity Re-scheduling (TSARS).By locking in a quantity of activities, the value of the devi-
ational variable corresponding to the change goal is already
quite small, presenting a good starting solution for the TS.
In addition, the candidate list becomes quite small, thus al-
lowing the TS to execute rapidly. This extra speed may be
necessary in a dynamic environment. Fig. 6 is a owchart
of the overall process.
6. Results
This section presents the outcome of applying TS3P to
several MMGRCPSP problems having known optimal or
lower bound solutions. In addition, a case study is described
and the results of applying TS3P and TSAR are provided.
6.1. Problem sets
The problem sets used for testing TS3P were generated
using the ProGen problem generator [4,13]. A total of ve
10-job problems, three 30-job problems, three 60-job prob-
lems, and two 90-job problems were used for testing.
Each of the 10-job problems could be executed in three
dierent modes; each mode uses dierent quantities and
types of resources and has dierent processing times. The
30- 60- and 90-job problems consisted of jobs that may be
executed from a choice of one, two, or three possible modes.
Again, each mode uses dierent resources and processing
times. The doubly constrained resources each carried vary-
ing quantities of renewable and non-renewable assets. The
problems within each set also diered in their network con-
guration and complexity. The number of successors and
YesYes
Initiate
Application
Re-plan?
Invoke Initial
Solution
Method
Evaluate
Initial
Solution
Re-plan?
Start TS3P
Re-schedule?
Start TSAR
Start TSARS
End
Get Current
Solution
RetrieveInitial Data
Yes
No
No No
Fig. 6. Flow chart for overall application.
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
11/16
K.M. Calhoun et al. / Omega 30 (2002) 155 170 165
predecessors for each job were varied among the problems
to give an array of network structures.
The lag times between a predecessor=successor pair de-
pends on the mode combination being used. For example,
predecessor job J1 executed in mode A followed by suc-
cessor job J2 executed in mode A would have a dierent
lag time than predecessor job J1 executed in mode A fol-lowed by successor job J2 executed in mode B. Random
maximum (negative value) or minimum (positive value) lag
times were generated for each predecessor=successor mode
combination. The lag times were uniformly distributed, ran-
domly generated integers restricted to be in the range from
negative one-half the duration of the predecessor activity to
the duration of the predecessor activity. For example, if the
predecessor activity had a duration of 10, then the lag times
associated with the successor activity would be in the inter-
val [ 5; 10].
Optimal solutions were available for four of the ve
10-job problems. However, relaxed optima, using only thenon-renewable resource constraint, were obtained for the
remaining 10-job problem and for one of the 30-job prob-
lems. The true optima for the doubly constrained problems
cannot be less than the relaxed solution; the relaxed optima
are lower bounds on the fully constrained problems. If any
of the heuristics, which do satisfy all the constraints, nds
a solution that has the same objective function value as the
relaxed optima, that solution is optimal. For the rst phase
of testing of the initial solution heuristic and the general TS
heuristic, goals were not considered. The objective in these
tests was to minimize makespan. However, other goals are
considered in the case study.
The remaining 30-, 60-, and 90-job problems had noobtainable lower bounds within the limited time and
resources available. Results of TS3P for these jobs are
reported in this research for two primary reasons: rst,
to determine how problem size aects solution time and
second, to measure the performance of the initial solution
heuristic vs. the TS.
7. TS3P results
Barr et al. [14] suggest the following experimentation
steps for heuristics [14, p. 1128]:
1. Dene the goal of the experiment.
2. Choose measures of performance and factors to explore.
3. Design and execute the experiment.
4. Analyze the data and draw conclusions.
5. Report the experiments results.
The goal of this initial testing was to show that the initial
solution heuristic and the TS perform quickly and provide
reasonable solutions when compared to a lower bound on
the makespan for the problem.
The relaxed (no renewable resource constraint) integer
programs were solved using HyperLingoJ Version 5.0
on a Pentium II with a clock speed of 400 MHz and 256
megabytes of memory. TS3P was run on a Pentium II with
a clock speed of 300 MHz and 128 megabytes of memory.
All times reported for TS3P were for 1000 iterations and a
tabu tenure of 13. As there was potential value inherent in
the initial solution heuristic itself, solution times and values
were recorded for the initial solution heuristic as well as forTS3P.
The results are presented in Tables 25. The statistics
for the 10-job problems are reported in Table 2 where the
delta column is the raw dierence between the solution
obtained via the specied heuristic approach and the lower
bound. The % delta column is the percentage away from
the lower bound for the specied heuristic (i.e. (delta=lower
bound)%). Table 5 contains data including minimum, max-
imum, and mean solution times as well as the standard
deviations and condence intervals for each size problem.
For the 10-job problems, the relaxed TS3P achieved
optimality three times, while the initial solution heuristicattained the relaxed optimum twice. On one occasion, the
solution found by TS3P for the fully-constrained problem
equaled the relaxed optimum and therefore is known to
be optimal for the fully-constrained problem. TS3P was
able to improve the solution obtained by the initial solution
heuristic three out of ve times (on the other two occasions,
the initial solution heuristic found the relaxed optimum).
TS3P improved the fully-constrained initial solution for all
but one of the ve 10-job test problems.
Only one lower bound was available for a 30-job prob-
lem. For this one problem, TS3P for the relaxed problem
was within 8% of the optimum. In all but two of the larger
problems, TS3P was able to improve the initial solution. Forthe cases where the initial solution heuristic failed to sched-
ule all of the jobs, TS3P was able to nd a solution where all
jobs were scheduled, sometimes with a subsequent longer
makespan, but since makespan is a lower priority goal, these
solutions are still an improvement. All solutions were fea-
sible. Table 6 summarizes solution times.
Solution times for the test problems naturally increased
as the problem size increased. Graphs of the TS3P (Figs. 7
and 8) and the initial solution heuristic times show that they
follow similar, although dierently scaled curves. The initial
solution heuristic is very fast for the problem sizes tested.
Regression analysis indicated an exponential relationshipbetween the number of jobs in the problem and solution
time.
Overall, the initial solution heuristic and the TS both gave
rapid, feasible answers to the job shop models on which
they were applied. The initial solution heuristic gives fea-
sible answers in a very short time. The TS generally gives
solutions with better objective function values, taking some-
what longer than the initial solution heuristic, but it is sub-
stantially faster than optimization. Since the solution times
for both methods grow as the number of jobs increase, test-
ing the methods against larger problems needs to be accom-
plished.
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
12/16
166 K.M. Calhoun et al. / Omega 30 (2002) 155 170
Table 2
Solution statistics for 10-job problems
Job size Method CPU time Cmax Delta % Delta Jobs not
10 (s) (solutionLB) (delta=LB) scheduled
Problem 1 Lower bound (LB) 83.00 10 0
Relaxed initial soln. 0.03 10 0 0 0Relaxed TS 10.80 10 0 0 0
Fully const. init. soln. 0.03 13 3 30 0
Fully const. TS 14.90 11 1 10 0
Problem 2 Lower bound 64.00 11 0
Relaxed initial soln. 0.03 19 8 73 0
Relaxed TS 11.20 11 0 0 0
Fully const. init. soln. 0.02 27 16 145 0
Fully const. TS 11.40 15 4 36 0
Problem 3 Lower bound 569.00 9 0
Relaxed initial soln. 0.03 11 2 22 0
Relaxed TS 12.00 11 2 22 0
Fully const. init. soln. 0.03 18 9 100 0
Fully const. TS 11.00 16 7 78 0
Problem 4 Lower bound 81.00 9 0
Relaxed initial soln. 0.03 13 4 44 0
Relaxed TS 10.50 9 0 0 0
Fully const. init. soln. 0.02 13 4 44 0
Fully const. TS 10.60 9 0 0 0
Problem 5 Lower bound 182.00 9 0
Relaxed initial soln. 0.02 18 9 100 0
Relaxed TS 10.50 11 2 22 0
Fully const. init. soln. 0.03 18 9 100 0
Fully const. TS 12.50 12 3 33 0
Delta = heuristic solution lower bound, %Delta = (delta=lower bound)%.
Table 3
Solution statistics for 30-job problems
Job size 30 Method CPU time Cmax Delta % Delta Jobs not
(s) scheduled
Lower bound 2734.00 26 0
Problem 1 Relaxed initial soln. 0.12 44 18 41 0
Relaxed TS 34.20 28 2 7.90 0Fully const. init. soln. 0.11 60 34 131 1
Fully const. TS 36.80 57 31 119 0
Problem 2 Relaxed initial soln. 0.12 21 1
Relaxed TS 27.00 23 0
Fully const. init. soln. 0.08 41 1
Fully const. TS 30.62 41 0
Problem 3 Relaxed initial soln. 0.08 39 1
Relaxed TS 29.50 23 0
Fully const. init. soln. 0.08 21 1
Fully const. TS 33.18 39 0
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
13/16
K.M. Calhoun et al. / Omega 30 (2002) 155 170 167
Table 4
Solution statistics for 60-job problems
Job size 60 Method CPU time Cmax Jobs not
(s) scheduled
Problem 1 Relaxed initial soln. 0.86 32 0
Relaxed TS 110.10 30 0Fully const. init. soln. 0.67 40 0
Fully const. TS 137.40 40 0
Problem 2 Relaxed initial soln. 0.26 32 0
Relaxed TS 111.70 30 0
Fully const. init. soln. 0.26 60 0
Fully const. TS 130.00 32 0
Problem 3 Relaxed initial soln. 0.26 32 0
Relaxed TS 108.80 30 0
Fully const. init. soln. 0.26 50 0
Fully const. TS 111.20 50 0
Table 5
Solution statistics for 90-job problems
Job size 90 Method CPU time Cmax Jobs not
(s) scheduled
Problem 1 Relaxed initial soln. 1.57 29 2
Relaxed TS 253.55 30 0
Fully const. init. soln. 1.64 46 3
Fully const. TS 264.30 46 0
Problem 2 Relaxed initial soln. 0.62 33 0Relaxed TS 227.90 30 0
Fully const. init. soln. 0.54 44 0
Fully const. TS 255.60 41 0
8. Case study
The case study for this research is the 100 activities, 4
machine types, 296 mode planning scenario described in
detail in Van Hove [8, Chapter 7]. It was adapted for thisresearch by designing and populating a database to store all
of the scenario data.
This problem is larger than the 90-job problems dis-
cussed in the previous section. In the 90-job problems,
each job could be executed in one mode from a selec-
tion of from one to three modes, resulting in roughly
530 predecessor=successor mode combinationsthe real
driving force behind the size of the problem. In Van Hoves
[8] scenario, each activity could be accomplished from
a selection of either two or four modes, resulting in 999
predecessor=successor mode combinationsalmost double
the size of the 90-job problems.
The objective function in Van Hoves model was to min-
imize makespan, while the objective of TS3P is threefold:
maximize activity coverage, minimize operational impact
(for re-planning=re-scheduling), and minimize makespan.
One of Van Hoves assumptions for his model was thatadequate resources were available to implement the plan.
During the early stages of the plan, that may be the case.
Optimization is valid in pre-operation planning to shape re-
source requirements. By the time the process reaches de-
tailed planning, new solutions may be needed. Therefore,
TS3P was applied to the scenario as Van Hove originally
designed it, but the scenario was also solved more than once
with varied amounts of assets.
The rst application of TS3P was against a scenario with
sucient renewable and non-renewable assets planned. This
was done to obtain a baseline case to see how the solutions
would be aected by varying the quantities of each asset,
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
14/16
168 K.M. Calhoun et al. / Omega 30 (2002) 155 170
Table 6
Solution time statistics
Initial solution TS3P
(1000 iterations)
10 Jobsa
Min 0.02 10.4Max 0.03 14.9
Mean 0.027 11.53
St. deviation 0.00483 1.360596
95% conf. int. (0.024, 0.029) (10.686, 12.373)
30 Jobsa
Min 0.08 27
Max 0.12 36.8
Mean 0.0983 31.65
St. deviation 0.0204 3.475
95% conf. int. (0.082, 0.115) (28.869, 34.431)
60 Jobsa
Min 0.26 110.2Max 0.861 137.4
Mean 0.429 118.2
St. deviation 0.268 12.2727
95% conf. int. (0.214, 0.643) (108.38, 128.02)
90 Jobsa
Min 0.541 227.9
Max 1.642 264.3
Mean 1.0934 250.338
St. deviation 0.594 15.667
95% conf. int. (0.270, 1.917) (234.984, 265.691)
a
As there was no statistical dierence between the mean solutiontimes of relaxed vs. fully constrained problems within a job size,
the statistics are pooled for each job size.
in turn. Table 7 shows that tightening the non-renewable
resource constraint had little impact on the solution, while
tightening the renewable resource constraint had a consid-
erable impact on the solution. Interestingly, TS3P was
unable to improve the initial solution for the non-resource
constrained problem instance.
The levels of both types of resources were then set at
the threshold. TS3P was applied to the scenario at thislevel and then at resource levels of 95%, 90%, 85%, and
80% of the threshold level of the non-renewable resource.
At the 95% level, and each subsequent level, tasks were
uncovered, but in each case, TS3P was able to improve the
initial heuristic solution.
Two re-planning scenarios were run, one with the attrition
of four pieces of equipment from the rst work crew, and the
other with an entire crew unavailable. Recall that the fourth
goal in TSAR is to minimize the impact of any changes in
the overall plan. In both cases TSAR was able to reduce the
number of jobs re-planned vs. the solution obtained by the
initial solution heuristic. Results are summarized in Table 7.
TSACP-Time per 1000 Iterations
S
econds
0
50
100
150
200
250
300
10 Job 30 Job 60 Job 90 Job
Fig. 7. Graph of TS3P time for 1000 iterations.
0
0.2
0.4
0.6
0.8
1
1.2
10 Job 30 Job 60 Job 90 Job
Secon
ds
Solution Times for Initial Heuristic
Fig. 8. Graph of solution time for initial heuristic.
9. Conclusions and recommendations
Several important contributions were provided through
this research. The rst contribution is a fast heuristic ap-
proach for the project planning problem incorporating
activity priority classications and generalized precedence
constraints, as well as specialized machine and least ex-
ible activity. The initial solution heuristic developed here
considers an array of schedule attributes. This heuristic, as
well as the tabu search, reads from a database so as to more
closely replicate conditions in an operational environment.
Options allow specic jobs to be frozen and priority
classes of activities to be considered.
While the initial solution heuristic was designed to pro-
vide the tabu search with a good starting solution, as a
stand-alone application the initial solution heuristic workswell. Indeed, the quality of the solutions obtained by the ini-
tial solution heuristic was such that, on several of the test
problems, the tabu search was unable to improve upon its
starting solutions. The initial solution heuristic found the op-
timal solution for two of the test problems. Moreover, this
heuristic works very quickly, obtaining good solutions in a
fraction of a second for the smaller problems (up to job size
60) and in less than two seconds for the larger problems,
including the case study.
Another contribution of this research is the construction
of a tabu search that operates on a goal programming for-
mulation of the planning problem. The tabu search yielded
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
15/16
K.M. Calhoun et al. / Omega 30 (2002) 155 170 169
Table 7
Results of applying TS3P to the planning scenario
Renewable Non-renewable Method Times Goal one Goal two Goal three Goal four Goal ve
(S) deviation deviation deviation deviation deviation
Innite Innite (Makespan)Initial solution 1.70 0 0 0 NA 389
TS 1000 iters. 152.05 0 0 0 NA 389
Innite 330
Initial solution 1.64 0 0 0 NA 471
TS 1000 iters. 145.62 0 0 0 NA 389
120 Innite
Initial solution 1.69 0 0 0 NA 728
TS 1000 iters. 139.73 0 0 0 NA 648
Threshold
120 330
Initial solution 1.77 0 0 0 NA 748
TS 1000 iters. 179.6 0 0 0 NA 677
120 314
Initial solution 1.61 0 1 1 NA 635
TS 1000 iters. 180.47 0 0 4 NA 568
120 298
Initial solution 1.54 0 4 2 NA 687
TS 1000 iters. 197 0 3 0 NA 593
120 282
Initial solution 1.51 0 5 2 NA 670
TS 1000 iters. 203.25 0 3 3 NA 552
120 266
Initial solution 1.48 0 7 4 NA 666
TS 1000 iters. 211.1 0 5 4 NA 518
Re-plan Loss of 4 machines from rst unit116 324
Initial solution 1.98 0 0 1 10 748
One unit TS 1000 iters. 184.5 0 0 0 6 736
Lost
84 250
Initial solution 1.76 0 0 10 50 755
TS 1000 iters. 204.52 0 0 10 40 735
good solutions with consideration to task priority classica-
tion, and generalized precedence relationships. A list of the
best k solutions oers options for planners to use during theplanning process. The tabu search worked quickly, even on
the larger test problems and the case study, therefore demon-
strating its potential to operate within a planning tool.
The methods developed in this study were applied to the
problem of re-planning. In many situations, a great deal of
time, money, and personnel hours is spent up front gener-
ating a comprehensive plan of operation. Should the plan
break down due to unforeseen circumstances, planners fre-
quently have no option but to cobble together an ad hoc x,
especially when time is a critical factor. These quick xes
to the overall plan may mean extensive re-planning by the
managers of the individual jobs and tasks. By using TSAR,
planners can generate new solutions with regard to the cur-
rent situation while attempting to minimize the impact of
changes throughout the system.
References
[1] Pinedo, Michael. Scheduling theory, algorithms, and systems.
New Jersey: Prentice-Hall, 1995.
[2] Shtub A, Bard J, Globerson S. Project management
engineering, technology, and implementation. New Jersey:
Prentice-Hall, 1994. p. 1321.
[3] Pritsker A, Watters L, Wolfe P. Multi-project scheduling
with limited resources: a zero-one programming approach.
Management Science 1969;16(1):93108.
-
7/28/2019 Planning and Replanning in Project and Production Scheduling
16/16
170 K.M. Calhoun et al. / Omega 30 (2002) 155 170
[4] Kolisch R, Sprecher A, Drexl A. Characterization and
generation of a general class of resource-constrained project
scheduling problems. Manuskripte aus den Instituten fur
Betriebswirtschaftslehere, No. 301, University of Kiel,
Germany, December 1992.
[5] Boctor FF. A new and ecient heuristic for scheduling
projects with resource restrictions and multiple execution
modes. European Journal of Operational Research
1996;90(2):34961.
[6] Sprecher A. Resource-constrained project scheduling: exact
methods for the multi-mode case. Berlin: Springer, 1994.
[7] Sprecher A, Kolisch R, Drexl A. Semi-active, active, and
non-delay schedules for the resource-constrained project
scheduling problem. European Journal of Operational
Research 1995;80:94102.
[8] Van Hove JC. An integer program decomposition approach
to combat planning. Dissertation, Air Force Institute of
Technology, Wright-Patterson Air Force Base, OH, October
1998.
[9] Van Hove JC. Personal E-mail. Air Force Logistics
Management Agency, USAF, Maxwell AFB, Gunter Annex,16 March 2000.
[10] Glover F. Tabu search: a tutorial. Interfaces 1990;20(4):
7494.
[11] Glover F, Laguna M. Tabu search, In: Colin R. Reeves (Ed.),
Modern heuristic techniques for combinatorial problems. New
York, Wiley, 1993 (Chapter 3).
[12] Nowicki E, Smutnicki C. A fast taboo search algorithm for the
job shop problem. Management Science 1996;42(6):797813.
[13] Kolisch R, Sprecher A, Drexl A. Characterization and
generation of a general class of resource-constrained project
scheduling problems. Management Science 1995;41(11):
1693703.
[14] Barr RS, Golden BL, Kelly JP, Resende MGC, Stewart WR,
Jr. Designing and reporting on computational experiments
with heuristic methods. Journal of Heuristics 1995;1(1):
932.
Further reading
[15] Deckro, Richard, John Hebert. Polynomial goal programming:
a procedure for modeling preference trade-os. Journal of
Operations Management 1988;7(4):149 64.
[16] DellAmico M, Trubian M. Applying tabu search to the
job-shop scheduling problem. Annals of Operations Research
1993;41:23152.
[17] Glover F, Laguna M. Tabu search. Boston: Kluwer Academic
Publishers, 1997.
[18] Koewler, David A. An approach for tasking allocated combatresources to targets. Thesis, Air Force Institute of Technology,
Wright-Patterson Air Force Base, OH, March 1999.
[19] Laguna M, Barnes J, Glover F. Scheduling jobs with linear
delay penalties and sequence dependent setup costs using
tabu search. Research report, Department of Mechanical
Engineering, University of Texas-Austin, April 1989.