Vous êtes sur la page 1sur 16

Omega 30 (2002) 155 – 170

www.elsevier.com/locate/dsw

Planning and re-planning in project and production


scheduling 
Kevin M. Calhouna , Richard F. Deckrob;∗ , James T. Mooreb , James W. Chrissisb ,
John C. Van Hovec
a AnalysisDivision, ACC=DRYM, 204 Dodd Blvd., Ste. 226, Langley AFB, VA 23665, USA
b Department of Operational Sciences, Air Force Institute of Technology, AFIT=ENS, Bldg. 640, 2950 P Street,
Wright-Patterson Air Force Base, OH 45433-7765, USA
c Operations 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 to
make 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 of local changes vs. schedule regeneration. It is a commonly


held belief among operational schedulers, however, that the
Scheduling is a central function of all organizations. A schedule begins to be out of date from the moment opera-
great deal of literature exists for scheduling projects and tions begin (if it was even initially accurate).
job shops. Unfortunately, little of this literature deals with Robust scheduling procedures have long been a goal of
re-planning or re-scheduling activities. What literature does researchers and practitioners alike. While optimization ap-
exist generally focuses on dispatching rules and questions proaches to scheduling are essential for e@ciently building
schedules and planning resource usage, the imprecision of
the existing data, the dynamic operational environment, and
 The views expressed in this paper are those of the authors and
the eHects of uncontrollable events have always meant that
do not re?ect the o@cial policy or position of the United States the “schedule” is a suggested plan. Without the ability to
Air Force, the Department of Defense or the United States govern-
re-plan and re-schedule, the “schedule” can become an in-
ment. (Approved for Public Release, Distribution Unlimited) Pre-
publication draft. Please do not quote without the authors’ written
appropriate baseline for gauging performance.
permission. This research focuses on schedule planning, re-planning,
∗ Corresponding author. Tel.: +1-937-255-6565=4325; fax: +1- and re-scheduling. A distinction is made between
937-656-4943. re-planning and re-scheduling. Re-planning, as deGned in
E-mail address: richard.deckro@aGt.edu (R.F. Deckro). this paper, refers to that aspect of operations concerned with

0305-0483/02/$ - see front matter Published by Elsevier Science Ltd.


PII: S 0 3 0 5 - 0 4 8 3 ( 0 2 ) 0 0 0 2 4 - 5
156 K.M. Calhoun et al. / Omega 30 (2002) 155 – 170

“Gxing” the schedule before the start of the work period. and applied to sample project planning, re-planning and
Re-scheduling refers to re-assigning tasks and resources, as re-scheduling problems.
circumstances warrant, during the work period. In the remainder of the paper, a brief literature review
The overall problem is formulated as a project schedul- is presented, followed by details of the development of the
ing problem (PSP). In order to obtain an initial solution TS procedure used to solve the GP models for the planning,
to the problem, a heuristic is developed based on key con- re-planning and re-scheduling problems. Computational re-
cepts from scheduling theory. A tabu search (TS) procedure sults and a brief illustrative example are then presented. The
then uses the result from the initial solution heuristic and paper concludes with a summary of the research, a review
improves upon it. The TS procedure was tested by solving of its contributions, and recommendations for future work.
PSPs with known optimal solutions.
The TS procedure presented herein takes advantage of
the structure of the planning, re-planning, and re-scheduling 2. Background
problems. The research extends the eHort of previous re-
search by capturing task priorities through the use of a goal “Scheduling concerns the allocation of limited resources
programming (GP) model. to tasks over time. It is a decision-making process that has
A TS procedure for re-planning is developed. The study as a goal the optimization of one or more objectives” [1,
has two re-planning objectives. The Grst objective concen- p. 1]. The scheduling process exists in virtually all opera-
trates on the re-planning that must be done prior to the tional settings. It is a key to eHective resource utilization by
start of the workday. It suggests new plans based on the world-class organizations.
resources, requirements and personnel currently available. A project is a systematic enterprise designed to accom-
In many respects, the TS for re-planning is similar to that plish some speciGc non-routine or low-volume task [2, p.
used to generate the initial plan. The second objective of the 1]. For the purpose of this research, a project is a Gnite set
study was to modify the TS to perform quick re-scheduling of activities with limited resources that must be scheduled
of activities during the workday. For both objectives, the ap- in agreement with certain precedence requirements between
proach applied is a lexicographic GP formulation that max- activity pairs.
imizes the number of high priority tasks that are scheduled Precedence constraints deGne timing requirements be-
and then minimizes the number of tasks and resources to be tween activity pairs within projects. The most common type
re-scheduled. of precedence constraints is of the Gnish–start variety and
The TS generates a list of options for the planner to re- is used to specify that a predecessor activity must end be-
view. The planner may then select the most desirable op- fore its successor activity may start. Other common types
tion for the current operational situation from the list. This of precedence constraints are start–Gnish, start–start, and
process uses the options developed by the heuristic, cou- Gnish–Gnish [2, p. 321]. Lag times are another important
pled with the decision maker’s experience and knowledge, consideration. Certain activities must lag others by a partic-
to develop a plan. It is acknowledged that the methodology ular interval. This gives rise to a minimum or maximum lag
developed here is a tool to be used by, not a replacement time that may constrain the start time for successor activities.
for, experienced planners and schedulers. The goal of this The formulation of these generalized precedence
research was to rapidly provide improved options to support constraints can become complex with the addition of
the decision maker. multi-modal activities. Taken together, the minimum and
To best exploit the advantages of object-oriented pro- maximum lag times make up a time window for the suc-
gramming, the heuristic procedures developed in this study cessor activity. The approach developed in this research
are written in Java. This makes the procedure portable incorporates lag times to model staggered activities and
so that it can run on most platforms. The procedures suggests start times.
make Structured Query Language (SQL) calls to an Or-
acle or Access database. The use of ANSI-compliant 2.1. Resource constraints
SQL augments the portability of these procedures. These
queries pull only the attributes from diHerent tables in The simple PSP model does not account for limited re-
the database that are necessary to solve the planning sources that are used by the activities. Hence, an optimal
problem. solution to a PSP may be infeasible if resource constraints
As noted earlier, the TS procedure results are compared are present. An expansion of the PSP model developed to
for accuracy to the lower bounds of a test set of schedul- handle limited resources is the Resource Constrained Project
ing problems. CPU processing times for the solutions are Scheduling Problem (RCPSP).
reported for each problem to demonstrate how processing
times grow with the size of the problem. Inter-procedure 2.2. Heuristics
comparison of processing times is of limited value because
of computer platform diHerences. Once the TS procedure The RCPSP integer linear programming (ILP) model
was validated against these test cases, it was modiGed yields an optimal solution if one exists. However,
K.M. Calhoun et al. / Omega 30 (2002) 155 – 170 157

depending on the number of variables involved, it can be LFM–LFJ rule [1, p. 72]. The heuristics discussed in this
time-consuming to solve. Therefore, decision makers are of- section were developed with the objective of minimizing the
ten interested in priority rules—techniques that yield good, makespan of the project.
but not necessarily optimal, solutions quickly. A priority rule
frequently used when jobs are subject to arbitrary precedence 2.3. The multi-modal resource constrained project
constraints and arbitrary job processing times is the scheduling problem (MMRCSPSP)
largest number of successors (LNS) rule. The job that
has the largest number of total successors in the prece- The standard resource constrained project scheduling for-
dence constraints graph has the highest priority and would mulation [3] or [4] may be extended to include the situation
be scheduled Grst, subject to any additional constraints where the activities can be completed in one of a number of
[1, p. 71]. possible execution modes (MMRCPSP). The amount and
When job j can only be processed on a subset of the type of resources consumed and the processing time depend
available machines, the least ?exible job @rst (LFJ) rule is on the mode selected [5, p. 350].
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. 2.4. The generalized MMRCPSP
When multiple machines are freed simultaneously, the
LFJ rule does not specify which machine to consider Grst. Generalized precedent constraints may be used to enforce
If a number of machines are free at the same time, it may be any timing requirement called for in an operational scenario
advantageous to consider the least ?exible machine (LFM) and are therefore required. The generalized MMRCPSP has
rule. This rule assigns a job to the machine that can process the abbreviation, MMGRCPSP.
the smallest subset of remaining jobs [1, p. 71].
A combination of the preceding two rules gives priority 2.5. Doubly constrained resources
to the least ?exible jobs on the LFM. That is, for each time,
t, the LFM would be assigned the least ?exible feasible In the formulation in Fig. 1 (following the work of
job. This heuristic (dispatching rule) is abbreviated as the Sprecher and Sprecher et al. [6,7]), let K be the set of

Fig. 1. Van Hove’s complete MMGRCPSP model formulation [8, p. 49]


158 K.M. Calhoun et al. / Omega 30 (2002) 155 – 170

resource types in the problem and k ∈ K. The renewable 3.1. Goal program
aspect of k is bounded at Rk , the per period availability of
renewable resource k [8, p. 43]. The non-renewable aspect of For the examples tested in this research, three priority
resource k is the limit dictated by Nk =rimk [8, p. 43]. Each unit categories were used although the procedure is not limited
in the model is a doubly constrained resource. Therefore, to three. Priority classes would be developed for an or-
the resource types are both renewable and non-renewable. ganization re?ecting Grm-speciGc requirements. DiHerential
weighting within classes is possible.
For this GP model, the three priorities are assumed to be
2.6. MMGRCPSP formulation preemptive. Tasks were classiGed as either Priority 1, 2, or
3. ClassiGcation would be pursuant to operational or con-
In the formulation of the MMGRCPSP problem (Fig. 1), tractual considerations. This classiGcation could be based
the objective function, (1), minimizes the makespan of the on utilization of key resources or personnel, political sen-
schedule. Eq. (2) enforces the non-renewable resource con- sitivity or visibility, precedence, or simply cost, for exam-
straint, while Eq. (3) enforces the renewable resource con- ple. Goal i is to schedule tasks in Priority class i with the
straint. The binary decision variable, ximt , is equal to one if available resources and within the generalized precedence
activity i starts in period t and is executed in mode m. Eq. constraints. The minimization of makespan was used as the
(4) enforces the lag times between predecessor=successor lowest priority goal (goal 4 in this case).
activities. The binary decision variable xjnt selectively en- In Figure 2, Eqs. (5) – (14) give the constraints on the de-
forces the applicable constraint and relaxes the redundant viations, di . It is possible that all of the ximt variables equal
constraints. As the delta (ijm n ) can be positive or nega- to zero for activity i, making the dxi variable equal to one.
tive, both minimum and maximum precedence constraints This condition would occur for tasks that have no resources
can be expressed by using this constraint twice, once for assigned to them. The di variables are therefore constrained
precedence pair (i; j) and once for precedence pair (j; i) [9]. to be equal to the number of priority i tasks that do not have
While the model generates an optimal schedule in terms of jobs scheduled against them in the optimal solution. The rest
makespan, it does not model task priority classiGcations, nor of the model is identical to Van Hove’s MMGRCPSP for-
does it model maximum lag times or re-planning. For any mulation (Fig. 2) except that objective function (1) becomes
realistically-sized problem, schedule generation can be ex- the constraint in Eq. (9) that deGnes Goal 4, minimizing the
tremely time-consuming. makespan of the generated schedule (Table 1).

2.7. Tabu search 3.2. Initial solution heuristic

TS is a meta-heuristic procedure for solving large com- The objective in project or job shop scheduling is often to
binatorial optimization problems. TS has proven to be suc- minimize the makespan subject to precedence and resource
cessful in solving to optimality or near-optimality a variety constraints. This suggests a heuristic to generate an initial
of classical and practical problems [10, p. 74]. solution for tasking allocated resources to activities. The
Scheduling provides a fruitful area for heuristic tech- heuristic is a combination of the LNS rule and the LFM–LFJ
niques in general and for TS in particular [11, p. 127]. rule (referred to as the LNS–LFM–LFJ rule). The LNS–
Nowicki and Smutnicki [12] tested their TS application LFM–LFJ rule provides a sound initial solution.
for job shop scheduling against a benchmark set of If an activity with many successors is assigned a late
problems and compared their results to those of a shifting start time, then a condition known as a bottleneck might
bottleneck heuristic and simulated annealing. Their pro- occur. That is, all of the successor activities would be “on
cedure outperformed the other methods with respect to hold” until this key activity is su@ciently completed. To
(adjusted) CPU time and the quality of the generated avoid this, the initial solution heuristic assigns resources to
makespans [12, p. 808]. feasible 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 satisGes the goal priorities of the GP.
3. Methodology Therefore, the heuristic given below considers the activities
in priority order.
This section provides details of the approach used to solve Step 1. Starting with the highest priority unscheduled fea-
the problem. A GP model and formulation for the plan- sible activities, order the appropriate modes for each activity
ning and re-planning problems are presented. The section by the LNS rule.
concludes with a detailed look at the TS application devel- Step 2. Within priorities order the modes Grst by LFM
oped to provide planners and managers with scheduling and (least ?exible machine or mode) then by LFJ (least ?exible
re-scheduling options. activity or resource).
K.M. Calhoun et al. / Omega 30 (2002) 155 – 170 159

Fig. 2. The MMGRCPSP goal programming model.

Step 3. Further sort the modes by ascending activity du-


Table 1 ration times. This ensures that the modes with the quickest
Parameters and variables for the MMGRCPSP GP formulation completion times are paired up with the activities that have
Parameters
the most successors, reducing bottlenecks.
A1 the set of all priority one activities Step 4. Schedule each activity in the resulting order from
A2 the set of all priority two activities Steps 1 to 3.
A3 the set of all priority three activities Step 5. After scheduling the highest priority unscheduled
A the set of all activities (A1 + A2 + A3 ) activities, repeat Steps 1– 4 for the next highest priority ac-
d the index of the terminal activity tivities. Continue until all activities are scheduled or until
eim the earliest completion time for activity i in mode m there are no more resources available.
lim the latest completion time for activity i in mode m This heuristic is a “pseudo-GP” as it schedules each ac-
Mi the set of all execution modes for activity i tivity by priority (goal) in descending order. It provides a
im the duration of activity i in mode m
feasible, good starting solution for the TS application of the
Si the set of generalized successors of activity i
ijmn the minimum lag between the start time of activity i
GP model. While it does not explicitly consider makespan,
in mode m and the start time of activity j ∈ Si in makespan is implicitly captured via the LFM–LFJ rule. The
mode n sorting of activity duration times was done to attempt to
K the set of all double constrained resources eliminate situations where activities are waiting for long
rimk the amount of resource k required by activity i when periods for predecessors after a bottleneck. Fig. 3 presents
being executed in mode m the ?owchart for the initial solution heuristic.
Rk the per period availability of resource k
Nk the total amount of resource k available 3.3. Initial solution evaluation
g the deadline for the project under consideration
To judge how well the initial solution schedules the activ-
Variables
ities, the number of unscheduled activities for each priority
ximt =1 if activity i starts in period t and is executed in
mode m, 0 otherwise level is totaled. The makespan (last goal in the planning
Pl The weight of goal, with P ¿ ¿ ¿ P+1 problem) is determined by the Gnish time of the last task
dl # of Priority activities not covered, =1; 2; 3 completed. In a problem with four goals, an array of four
d4 The makespan of the schedule integers is used to represent the quality of the solution.
For instance, if the initial solution covered all of the P1
160 K.M. Calhoun et al. / Omega 30 (2002) 155 – 170

Initial
Solution
Method
Invoked,
time = 0

Resources No
and tasks Terminate
uncovered?

Yes

Get next
mode

Yes
Task
Covered?

No

No
Resources
available?

Yes

Find time window for


the activity. Check for
successor violation.

Yes

Assign activity.
Yes No Perform No
Successor Resources
Violations? calculations. available?

Fig. 3. Initial solution heuristic ?owchart.

activities, all but one of the P2 activities, and all but Gve a toggle allows activities that were not initially scheduled to
of the P3 activities, while achieving a makespan of 550 rotate into the plan.
time units, then the objective function vector would be It is easy to see that there are n neighbors for any solu-
[0,1,5,550]. tion of an n-variable problem. While the toggle move may
seem simplistic, successive toggles achieve results similar
to other move types. The Grst consideration for TS3P is the
3.4. Tabu search for the project planning problem
move neighborhood. A decision must be made concerning
which of the activities in the current solution are eligible for
The initial solution heuristic provides a robust schedule
toggling; the eligible set of activities is called the candidate
that can be used on its own but is intended as a good starting
list.
point for the Tabu Search for the Project Planning Problem
The Move Manager selects the candidate list. This
(TS3P). Parameters for TS3P such as tabu tenure and total
method considers activities associated with only one speciGc
number of iterations must Grst be speciGed. The aspiration
priority category at a time for inclusion on the candidate
criterion is the best objective function value found. The ini-
list. The activity priority category under consideration alter-
tial solution is passed to the TS engine and TS3P starts.
nates at each iteration; only P1 activities may be considered
at iteration 1, only P2 tasks are considered at iteration 2,
3.5. Move manager and only P3 activities are considered at iteration 3. Then,
the cycle repeats. The reasoning behind this strategy is: if
The move type chosen for this research is the toggle. activities from all categories were included on the candidate
Toggling consists of taking one of the elements in the binary list and an unimproving move was necessary (an activity
solution vector and switching it to the opposite position; this must be turned oH), then only tasks associated with P3
may be the easiest type of move to implement. Employing activities would be selected. The TS would never select a
K.M. Calhoun et al. / Omega 30 (2002) 155 – 170 161

task assigned to a P2 activity or P1 activity to toggle oH if a choosing its candidates as before. Fig. 4 is a ?owchart that
resource assigned to a P3 activity was available. In essence, illustrates this process.
the candidate list would then only consist of P3 activities
and only those P1 and P2 activities that have not yet been
3.7. Move evaluation
scheduled. This would result in little or no inter-modal swaps
and an overly restrictive neighborhood.
The appropriate element of the objective function vector
The Move Manager selects P1 tasks for inclusion on the
is decremented or incremented by one depending on whether
candidate list if one of the following criteria is met: either no
a task was toggled on or oH. The makespan of the current
resources are currently assigned to the associated task or, the
move is also evaluated. After the current move is evaluated,
activity under consideration is assigned a speciGc mode with
it needs to be inspected to determine if it is an allowable
an activity completion time equal to the makespan of the
move. If not, then the aspiration criteria are checked. If the
schedule. A move that toggles oH resources to a P1 activity is
move is admissible, the index of the move and its objective
the worst kind of unimproving move (the deviation variable
function value are stored until all the moves on the candidate
for goal one would increase by one). Therefore, including
list are considered and evaluated. When this is accomplished,
this type of move in the candidate list requires a very good
the best move is selected and a new iteration is begun.
rationale. We allow an assigned P1 task on the candidate list
Fig. 5 is a ?owchart of the move evaluation method.
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 4. Re-planning
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 Re-planning often occurs during the operational time
assigned task and its current mode of operation is set to frame. Plans are often developed days, weeks or months
zero. before they are to be executed. Should any changes occur
to the plan during this time, the activities aHected by the
changes may have to adjust. The impact of any change
3.6. Move should be minimized. In the following section, we propose a
methodology for minimizing the impact of changes to a plan.
Each element of the candidate list is operated upon by
the Move method. First, the mode selected to execute the 4.1. GP model for re-planning
task is toggled (turned oH if it was previously on and vice
versa). Next, the Solution Modi@er method is called. A slightly modiGed GP model is appropriate for
The Solution Modi@er method performs quickly because re-planning. Consider the GP for the planning example. It
it has no loops. It only calculates the marginal change in consisted of four goals:
makespan resulting from the move under consideration.
Consider a potential move where a mode is toggled oH; its Goal 1 Maximize P1 activity coverage
corresponding element in the solution vector is changed to
Goal 2 Maximize P2 activity coverage
zero and the marginal change in makespan is determined.
When the mode was toggled on, the method checks to Goal 3 Maximize P3 activity coverage
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 Goal 4 Minimize makespan of the schedule
are enough resources, an attempt is made to locate a time
window for the activity in a fashion similar to that of the These goals, however, are not su@cient for the re-planning
Initial Solution method. The diHerence during the TS is application. An additional goal has been inserted between
that even if successor violations exist, the time window is goals 3 and 4 (although it could be inserted wherever the
assigned to the activity, an objective function penalty is project manager or planner feels it is appropriate). In order
incurred, and the next move is evaluated. This keeps the to minimize the impact of a change to the planned schedule,
search moving quickly. the number of activities aHected should be minimized.
If a move is chosen that does violate any successor con- Goal 1 Maximize P1 activity coverage
straints, the successors that are in violation are the only
moves allowed on the candidate list until all violations are Goal 2 Maximize P2 activity coverage
reconciled. For example, say elements 5, 12, and 21 of the
solution code array are successor activities and all three are Goal 3 Maximize P3 activity coverage
violating precedence constraints. On the next three moves, Goal 4 Minimize number of changed activities
only these three elements will be on the candidate list. Once
these are all dropped from the schedule, TS3P can proceed Goal 5 Minimize makespan of the schedule
162 K.M. Calhoun et al. / Omega 30 (2002) 155 – 170

Initiate TS3P

Yes
Max iterations Terminate TS3P, report results, store
reached? solution in database

No

Move Manager
generates
candidate list

Move method
toggles next
mode on list

Solution Modifier
No unassigns activities
Mode updates
on? timeWindow, and
resources
Yes

Solution Modifier
assigns activity,
updates timeWindow
and resources
remaining, calculates
activity duration times

Move Evaluation
calculates objective
Move Lag function value for
enforces lag current move
times for mode

Determine if
move is
allowable

Select best Yes Is this mode No


candidate, iteration last on the
complete candidate list?

Fig. 4. TS3P ?ow chart.

4.2. Tabu search for re-planning When TS3P was used to solve each planning problem
instance, a copy of the best solution obtained was saved to
Since the theoretical formulation of the GP model for the database. For TSAR, an initial solution based on the
re-planning is similar to that in planning, the toggle move current scenario situation is obtained using the LNS–LFM–
is used for the re-planning TS. Likewise the tabu tenure LFJ heuristic. This initial solution is evaluated just as in
and aspiration criterion are identical. To model the goal of TS3P, but with one diHerence. The solution vectors from
minimizing the number of activities to be re-planned, the the TS3P best solution and the TSAR initial solution are
only change that needed to be made to the TS3P application compared to one another. Each time the value of element
to obtain the Tabu Search for Activity Re-planning (TSAR) i in one vector diHers from the value of element i in the
was to incorporate an additional deviational variable and its other vector, the value of the deviational variable associated
corresponding constraint. with re-planning activities is incremented by one. At each
K.M. Calhoun et al. / Omega 30 (2002) 155 – 170 163

Initiate the Evaluate


Method

Get next mode

Is current No
mode
assigned?

Yes

Increment assigned
targets for
appropriate target
category

No Is this the
last mode?

Yes

Subtract assigned
modes from number of
targets for each priority
class

Calculate latest
job completion Report objective function
time vector and terminate method

Fig. 5. Flow chart for evaluate method.

iteration, every neighbor to the current solution is likewise diHers from re-planning by the amount of time planners
compared to the TS3P best solution; the TSAR attempts to have available to Gnd a solution and, subsequently, by the
minimize this value as well as the values for the other goals. amount of time that work crews have available to retool (if
This approach allows for a rapid comparison of the necessary), develop new detailed work plans and times, and
re-planning solution with the original plan. By minimizing review operational instructions associated with a new task.
the value of the deviational variable associated with the This means that an application for re-scheduling must work
re-planning goal, the operational impact of a change to rapidly. The solution obtained should, if possible, impact
the schedule is decreased. If this number is small, most the scheduled plan to an even lesser extent than that for
of the activities in the original plan can be executed as re-planning.
scheduled. 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-
5. Re-scheduling ner may selectively lock in any speciGc activities, for the
examples discussed below all unchanged tasks assigned
Re-scheduling is deGned in this research as re-assigning to priority one and two were locked, thus allowing only
activities, as circumstances warrant, while the current work unchanged tasks currently assigned to priority three to be
package or planning horizon is already being executed. It considered for re-assignment. Should the magnitude of the
164 K.M. Calhoun et al. / Omega 30 (2002) 155 – 170

re-scheduling situation be such that reassigning all of the lower bound solutions. In addition, a case study is described
activities assigned to priority three is not su@cient to cover and the results of applying TS3P and TSAR are provided.
all priority one tasks, some or all of the priority two tasks
could be unlocked. This restricted approach allows for rapid
6.1. Problem sets
re-scheduling.
The re-scheduling problem is solved by modifying TSAR
The problem sets used for testing TS3P were generated
to create Tabu Search for Activity Re-scheduling (TSARS).
using the ProGen problem generator [4,13]. A total of Gve
By locking in a quantity of activities, the value of the devi-
10-job problems, three 30-job problems, three 60-job prob-
ational variable corresponding to the change goal is already
lems, and two 90-job problems were used for testing.
quite small, presenting a good starting solution for the TS.
Each of the 10-job problems could be executed in three
In addition, the candidate list becomes quite small, thus al-
diHerent modes; each mode uses diHerent quantities and
lowing the TS to execute rapidly. This extra speed may be
types of resources and has diHerent processing times. The
necessary in a dynamic environment. Fig. 6 is a ?owchart
30- 60- and 90-job problems consisted of jobs that may be
of the overall process.
executed from a choice of one, two, or three possible modes.
Again, each mode uses diHerent resources and processing
6. Results times. The doubly constrained resources each carried vary-
ing quantities of renewable and non-renewable assets. The
This section presents the outcome of applying TS3P to problems within each set also diHered in their network con-
several MMGRCPSP problems having known optimal or Gguration and complexity. The number of successors and

Initiate
Application

Retrieve
Initial Data

Yes
Re-plan? Get Current
Solution
No

Invoke Initial
Solution
Method

Evaluate
Initial
Solution

Yes
Yes
Re-plan? Start TSARS
Re-schedule?
No No

Start TS3P Start TSAR

End

Fig. 6. Flow chart for overall application.


K.M. Calhoun et al. / Omega 30 (2002) 155 – 170 165

predecessors for each job were varied among the problems on a Pentium II with a clock speed of 400 MHz and 256
to give an array of network structures. megabytes of memory. TS3P was run on a Pentium II with
The lag times between a predecessor=successor pair de- a clock speed of 300 MHz and 128 megabytes of memory.
pends on the mode combination being used. For example, All times reported for TS3P were for 1000 iterations and a
predecessor job J1 executed in mode A followed by suc- tabu tenure of 13. As there was potential value inherent in
cessor job J2 executed in mode A would have a diHerent the initial solution heuristic itself, solution times and values
lag time than predecessor job J1 executed in mode A fol- were recorded for the initial solution heuristic as well as for
lowed by successor job J2 executed in mode B. Random TS3P.
maximum (negative value) or minimum (positive value) lag The results are presented in Tables 2–5. The statistics
times were generated for each predecessor=successor mode for the 10-job problems are reported in Table 2 where the
combination. The lag times were uniformly distributed, ran- “delta” column is the raw diHerence between the solution
domly generated integers restricted to be in the range from obtained via the speciGed heuristic approach and the lower
negative one-half the duration of the predecessor activity to bound. The “% delta” column is the percentage away from
the duration of the predecessor activity. For example, if the the lower bound for the speciGed heuristic (i.e. (delta=lower
predecessor activity had a duration of 10, then the lag times bound)%). Table 5 contains data including minimum, max-
associated with the successor activity would be in the inter- imum, and mean solution times as well as the standard
val [ − 5; 10]. deviations and conGdence intervals for each size problem.
Optimal solutions were available for four of the Gve For the 10-job problems, the relaxed TS3P achieved
10-job problems. However, relaxed optima, using only the optimality three times, while the initial solution heuristic
non-renewable resource constraint, were obtained for the attained the relaxed optimum twice. On one occasion, the
remaining 10-job problem and for one of the 30-job prob- solution found by TS3P for the fully-constrained problem
lems. The true optima for the doubly constrained problems equaled the relaxed optimum and therefore is known to
cannot be less than the relaxed solution; the relaxed optima be optimal for the fully-constrained problem. TS3P was
are lower bounds on the fully constrained problems. If any able to improve the solution obtained by the initial solution
of the heuristics, which do satisfy all the constraints, Gnds heuristic three out of Gve times (on the other two occasions,
a solution that has the same objective function value as the the initial solution heuristic found the relaxed optimum).
relaxed optima, that solution is optimal. For the Grst phase TS3P improved the fully-constrained initial solution for all
of testing of the initial solution heuristic and the general TS but one of the Gve 10-job test problems.
heuristic, goals were not considered. The objective in these Only one lower bound was available for a 30-job prob-
tests was to minimize makespan. However, other goals are lem. For this one problem, TS3P for the relaxed problem
considered in the case study. was within 8% of the optimum. In all but two of the larger
The remaining 30-, 60-, and 90-job problems had no problems, TS3P was able to improve the initial solution. For
obtainable lower bounds within the limited time and the cases where the initial solution heuristic failed to sched-
resources available. Results of TS3P for these jobs are ule all of the jobs, TS3P was able to Gnd a solution where all
reported in this research for two primary reasons: Grst, jobs were scheduled, sometimes with a subsequent longer
to determine how problem size aHects solution time and makespan, but since makespan is a lower priority goal, these
second, to measure the performance of the initial solution solutions are still an improvement. All solutions were fea-
heuristic vs. the TS. 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
7. TS3P results
and 8) and the initial solution heuristic times show that they
follow similar, although diHerently scaled curves. The initial
Barr et al. [14] suggest the following experimentation
solution heuristic is very fast for the problem sizes tested.
steps for heuristics [14, p. 11–28]:
Regression analysis indicated an exponential relationship
between the number of jobs in the problem and solution
1. DeGne the goal of the experiment.
time.
2. Choose measures of performance and factors to explore.
Overall, the initial solution heuristic and the TS both gave
3. Design and execute the experiment.
rapid, feasible answers to the job shop models on which
4. Analyze the data and draw conclusions.
they were applied. The initial solution heuristic gives fea-
5. Report the experiment’s results.
sible answers in a very short time. The TS generally gives
The goal of this initial testing was to show that the initial solutions with better objective function values, taking some-
solution heuristic and the TS perform quickly and provide what longer than the initial solution heuristic, but it is sub-
reasonable solutions when compared to a lower bound on stantially faster than optimization. Since the solution times
the makespan for the problem. for both methods grow as the number of jobs increase, test-
The relaxed (no renewable resource constraint) integer ing the methods against larger problems needs to be accom-
programs were solved using HyperLingoJ Version 5.0 plished.
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) (solution−LB) (delta=LB) scheduled

Problem 1 Lower bound (LB) 83.00 10 — — 0


Relaxed initial soln. 0.03 10 0 0 0
Relaxed 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 0
Fully 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
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 0
Fully 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 0


Relaxed TS 227.90 30 0
Fully const. init. soln. 0.54 44 0
Fully const. TS 255.60 41 0

8. Case study The objective function in Van Hove’s model was to min-
imize makespan, while the objective of TS3P is threefold:
The case study for this research is the 100 activities, 4 maximize activity coverage, minimize operational impact
machine types, 296 mode planning scenario described in (for re-planning=re-scheduling), and minimize makespan.
detail in Van Hove [8, Chapter 7]. It was adapted for this One of Van Hove’s assumptions for his model was that
research by designing and populating a database to store all adequate resources were available to implement the plan.
of the scenario data. During the early stages of the plan, that may be the case.
This problem is larger than the 90-job problems dis- Optimization is valid in pre-operation planning to shape re-
cussed in the previous section. In the 90-job problems, source requirements. By the time the process reaches de-
each job could be executed in one mode from a selec- tailed planning, new solutions may be needed. Therefore,
tion of from one to three modes, resulting in roughly TS3P was applied to the scenario as Van Hove originally
530 predecessor=successor mode combinations—the real designed it, but the scenario was also solved more than once
driving force behind the size of the problem. In Van Hove’s with varied amounts of assets.
[8] scenario, each activity could be accomplished from The Grst application of TS3P was against a scenario with
a selection of either two or four modes, resulting in 999 su@cient renewable and non-renewable assets planned. This
predecessor=successor mode combinations—almost double was done to obtain a baseline case to see how the solutions
the size of the 90-job problems. would be aHected by varying the quantities of each asset,
168 K.M. Calhoun et al. / Omega 30 (2002) 155 – 170

Table 6 TSACP-Time per 1000 Iterations


Solution time statistics 300

Initial solution TS3P 250


(1000 iterations) 200

Seconds
10 Jobsa 150
Min 0.02 10.4 100
Max 0.03 14.9
50
Mean 0.027 11.53
St. deviation 0.00483 1.360596 0
95% conf. int. (0.024, 0.029) (10.686, 12.373) 10 Job 30 Job 60 Job 90 Job

30 Jobsa Fig. 7. Graph of TS3P time for 1000 iterations.


Min 0.08 27
Max 0.12 36.8
Mean 0.0983 31.65
Solution Times for Initial Heuristic
St. deviation 0.0204 3.475 1.2
95% conf. int. (0.082, 0.115) (28.869, 34.431)
1

60 Jobsa 0.8

Seconds
Min 0.26 110.2 0.6
Max 0.861 137.4
0.4
Mean 0.429 118.2
St. deviation 0.268 12.2727 0.2
95% conf. int. (0.214, 0.643) (108.38, 128.02) 0
10 Job 30 Job 60 Job 90 Job
90 Jobsa
Min 0.541 227.9 Fig. 8. Graph of solution time for initial heuristic.
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) 9. Conclusions and recommendations

a As there was no statistical diHerence between the mean solution


Several important contributions were provided through
times of relaxed vs. fully constrained problems within a job size, this research. The Grst contribution is a fast heuristic ap-
the statistics are pooled for each job size. proach for the project planning problem incorporating
activity priority classiGcations and generalized precedence
constraints, as well as specialized machine and least ?ex-
ible activity. The initial solution heuristic developed here
in turn. Table 7 shows that tightening the non-renewable considers an array of schedule attributes. This heuristic, as
resource constraint had little impact on the solution, while well as the tabu search, reads from a database so as to more
tightening the renewable resource constraint had a consid- closely replicate conditions in an operational environment.
erable impact on the solution. Interestingly, TS3P was Options allow speciGc jobs to be “frozen” and priority
unable to improve the initial solution for the non-resource classes of activities to be considered.
constrained problem instance. While the initial solution heuristic was designed to pro-
The levels of both types of resources were then set at vide the tabu search with a good starting solution, as a
the “threshold”. TS3P was applied to the scenario at this stand-alone application the initial solution heuristic works
level and then at resource levels of 95%, 90%, 85%, and well. Indeed, the quality of the solutions obtained by the ini-
80% of the threshold level of the non-renewable resource. tial solution heuristic was such that, on several of the test
At the 95% level, and each subsequent level, tasks were problems, the tabu search was unable to improve upon its
uncovered, but in each case, TS3P was able to improve the starting solutions. The initial solution heuristic found the op-
initial heuristic solution. timal solution for two of the test problems. Moreover, this
Two re-planning scenarios were run, one with the attrition heuristic works very quickly, obtaining good solutions in a
of four pieces of equipment from the Grst work crew, and the fraction of a second for the smaller problems (up to job size
other with an entire crew unavailable. Recall that the fourth 60) and in less than two seconds for the larger problems,
goal in TSAR is to minimize the impact of any changes in including the case study.
the overall plan. In both cases TSAR was able to reduce the Another contribution of this research is the construction
number of jobs re-planned vs. the solution obtained by the of a tabu search that operates on a goal programming for-
initial solution heuristic. Results are summarized in Table 7. mulation of the planning problem. The tabu search yielded
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 Gve
(S) deviation deviation deviation deviation deviation

InGnite InGnite (Makespan)


Initial solution 1.70 0 0 0 NA 389
TS 1000 iters. 152.05 0 0 0 NA 389
InGnite 330
Initial solution 1.64 0 0 0 NA 471
TS 1000 iters. 145.62 0 0 0 NA 389
120 InGnite
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 Grst unit


116 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 classiGca- planners can generate new solutions with regard to the cur-
tion, and generalized precedence relationships. A list of the rent situation while attempting to minimize the impact of
best k solutions oHers options for planners to use during the changes throughout the system.
planning 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 References
problem of re-planning. In many situations, a great deal of
[1] Pinedo, Michael. Scheduling theory, algorithms, and systems.
time, money, and personnel hours is spent up front gener-
New Jersey: Prentice-Hall, 1995.
ating a comprehensive plan of operation. Should the plan
[2] Shtub A, Bard J, Globerson S. Project management
break down due to unforeseen circumstances, planners fre- engineering, technology, and implementation. New Jersey:
quently have no option but to cobble together an ad hoc Gx, Prentice-Hall, 1994. p. 1321.
especially when time is a critical factor. These quick Gxes [3] Pritsker A, Watters L, Wolfe P. Multi-project scheduling
to the overall plan may mean extensive re-planning by the with limited resources: a zero-one programming approach.
managers of the individual jobs and tasks. By using TSAR, Management Science 1969;16(1):93–108.
170 K.M. Calhoun et al. / Omega 30 (2002) 155 – 170

[4] Kolisch R, Sprecher A, Drexl A. Characterization and [13] Kolisch R, Sprecher A, Drexl A. Characterization and
generation of a general class of resource-constrained project generation of a general class of resource-constrained project
scheduling problems. Manuskripte aus den Instituten fur scheduling problems. Management Science 1995;41(11):
Betriebswirtschaftslehere, No. 301, University of Kiel, 1693–703.
Germany, December 1992. [14] Barr RS, Golden BL, Kelly JP, Resende MGC, Stewart WR,
[5] Boctor FF. A new and e@cient heuristic for scheduling Jr. Designing and reporting on computational experiments
projects with resource restrictions and multiple execution with heuristic methods. Journal of Heuristics 1995;1(1):
modes. European Journal of Operational Research 9 –32.
1996;90(2):349–61.
[6] Sprecher A. Resource-constrained project scheduling: exact
methods for the multi-mode case. Berlin: Springer, 1994. Further reading
[7] Sprecher A, Kolisch R, Drexl A. Semi-active, active, and
non-delay schedules for the resource-constrained project [15] Deckro, Richard, John Hebert. Polynomial goal programming:
scheduling problem. European Journal of Operational a procedure for modeling preference trade-oHs. Journal of
Research 1995;80:94–102. Operations Management 1988;7(4):149 – 64.
[8] Van Hove JC. An integer program decomposition approach [16] Dell’Amico M, Trubian M. Applying tabu search to the
to combat planning. Dissertation, Air Force Institute of job-shop scheduling problem. Annals of Operations Research
Technology, Wright-Patterson Air Force Base, OH, October 1993;41:231–52.
1998. [17] Glover F, Laguna M. Tabu search. Boston: Kluwer Academic
[9] Van Hove JC. Personal E-mail. Air Force Logistics Publishers, 1997.
Management Agency, USAF, Maxwell AFB, Gunter Annex, [18] Koewler, David A. An approach for tasking allocated combat
16 March 2000. resources to targets. Thesis, Air Force Institute of Technology,
[10] Glover F. Tabu search: a tutorial. Interfaces 1990;20(4): Wright-Patterson Air Force Base, OH, March 1999.
74–94. [19] Laguna M, Barnes J, Glover F. Scheduling jobs with linear
[11] Glover F, Laguna M. Tabu search, In: Colin R. Reeves (Ed.), delay penalties and sequence dependent setup costs using
Modern heuristic techniques for combinatorial problems. New tabu search. Research report, Department of Mechanical
York, Wiley, 1993 (Chapter 3). Engineering, University of Texas-Austin, April 1989.
[12] Nowicki E, Smutnicki C. A fast taboo search algorithm for the
job shop problem. Management Science 1996;42(6):797–813.

Vous aimerez peut-être aussi