You are on page 1of 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
Division, ACC= DRYM, 204 Dodd Blvd., Ste. 226, Langley AFB, VA 23665, USA 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
b Department a Analysis

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 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 with re-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 re ect the o cial policy or position of the United States Air Force, the Department of Defense or the United States government. (Approved for Public Release, Distribution Unlimited) Prepublication draft. Please do not quote without the authors written permission. Corresponding author. Tel.: +1-937-255-6565= 4325; fax: +1937-656-4943. E-mail address: richard.deckro@at.edu (R.F. Deckro). 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

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 operations begin (if it was even initially accurate). Robust scheduling procedures have long been a goal of researchers and practitioners alike. While optimization approaches 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 e ects 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 inappropriate 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

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 scheduling problem (PSP). In order to obtain an initial solution to the problem, a heuristic is developed based on key concepts from scheduling theory. A tabu search (TS) procedure then 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 e ort of previous research 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 concentrates on the re-planning that must be done prior to the start of the workday. It suggests new plans based on the resources, 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 approach applied is a lexicographic GP formulation that maximizes 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 review. The planner may then select the most desirable option for the current operational situation from the list. This process uses the options developed by the heuristic, coupled 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 programming, 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 Oracle or Access database. The use of ANSI-compliant SQL augments the portability of these procedures. These queries pull only the attributes from di erent 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 scheduling 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 di erences. 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 results and a brief illustrative example are then presented. The paper 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 operational settings. It is a key to e ective resource utilization by world-class organizations. A project is a systematic enterprise designed to accomplish 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 between 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 before its successor activity may start. Other common types of precedence constraints are startnish, startstart, and nishnish [2, p. 321]. Lag times are another important consideration. Certain activities must lag others by a particular 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 successor 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 resources 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,

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 often 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 that has the largest number of total successors in the precedence 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 be advantageous 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 formulation [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]

158

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

resource types in the problem and k K . 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 k is the limit dictated by Nk =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 constraint, while Eq. (3) enforces the renewable resource constraint. 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 enforces the applicable constraint and relaxes the redundant constraints. As the delta ( ijm n ) can be positive or negative, 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 extremely time-consuming. 2.7. Tabu search TS is a meta-heuristic procedure for solving large combinatorial optimization problems. TS has proven to be successful in solving to optimality or near-optimality a variety of classical and practical problems [10, p. 74]. Scheduling provides a fruitful area for heuristic techniques 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 procedure outperformed the other methods with respect to (adjusted) CPU time and the quality of the generated makespans [12, p. 808].

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 organization re ecting rm-specic requirements. Di erential 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 contractual considerations. This classication could be based on utilization of key resources or personnel, political sensitivity or visibility, precedence, or simply cost, for example. 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 deviations, di . It is possible that all of the ximt variables equal to 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 formulation (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 su ciently completed. To avoid this, the initial solution heuristic assigns resources to 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 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 feasible 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).

3. Methodology This section provides details of the approach used to solve the problem. A GP model and formulation for the planning and re-planning problems are presented. The section concludes with a detailed look at the TS application developed to provide planners and managers with scheduling and re-scheduling options.

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 Parameters A1 A2 A3 A d eim lim Mi Si
im ijmn

K rimk Rk Nk g Variables ximt Pl dl d4

the set of all priority one activities the set of all priority two activities the set of all priority three activities the set of all activities (A1 + A2 + A3 ) the index of the terminal activity the earliest completion time for activity i in mode m the latest completion time for activity i in mode m the set of all execution modes for activity i the duration of activity i in mode m the set of generalized successors of activity i the minimum lag between the start time of activity i in mode m and the start time of activity j Si in mode n the set of all double constrained resources the amount of resource k required by activity i when being executed in mode m the per period availability of resource k the total amount of resource k available the deadline for the project under consideration =1 if activity i starts in period t and is executed in mode m, 0 otherwise The weight of goal, with P P+1 # of Priority activities not covered, =1; 2; 3 The makespan of the schedule

Step 3. Further sort the modes by ascending activity duration 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 1 4 for the next highest priority activities. Continue until all activities are scheduled or until there are no more resources available. This heuristic is a pseudo-GP as it schedules each activity 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 long periods 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 activities, 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

160

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


Initial Solution Method Invoked, time = 0

Resources and tasks uncovered?

No

Terminate

Yes Get next mode

Task Covered?

Yes

No No Resources available?

Yes Find time window for the activity. Check for successor violation. Yes Yes No Assign activity. Perform calculations. No

Successor Violations?

Resources available?

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 initial 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 solution 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 alternates 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

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 the candidate 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 di erence during the TS is that 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 constraints, 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 a ected 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 Goal 2 Goal 3 Goal 4 Maximize P1 activity coverage Maximize P2 activity coverage Maximize P3 activity coverage Minimize makespan of the schedule

These goals, however, are not su cient for the re-planning application. An additional goal has been inserted between goals 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 a ected should be minimized. Goal 1 Goal 2 Goal 3 Goal 4 Goal 5 Maximize P1 activity coverage Maximize P2 activity coverage Maximize P3 activity coverage Minimize number of changed activities Minimize makespan of the schedule

162

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


Initiate TS3P

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

Move Manager generates candidate list

Move method toggles next mode on list Solution Modifier unassigns activities updates timeWindow, and resources

Mode on? Yes Solution Modifier assigns activity, updates timeWindow and resources remaining, calculates activity duration times

No

Move Lag enforces lag times for mode

Move Evaluation calculates objective function value for current move

Determine if move is allowable

Select best candidate, iteration complete

Yes

Is this mode last on the candidate list?

No

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 di erence. 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 di ers 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

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


Initiate the Evaluate Method

163

Get next mode

Is current mode assigned?

No

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 time

Report objective function vector and terminate method

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 minimizing the 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

di ers 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 research reduces operational impact by liberally using a feature that allows locking in activities. While a planner 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

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 su cient 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 deviational 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 allowing 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
Initiate Application

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 problems, and two 90-job problems were used for testing. Each of the 10-job problems could be executed in three di erent modes; each mode uses di erent quantities and types of resources and has di erent 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 di erent resources and processing times. The doubly constrained resources each carried varying quantities of renewable and non-renewable assets. The problems within each set also di ered in their network conguration and complexity. The number of successors and

Retrieve Initial Data

Re-plan? No

Yes

Get Current Solution

Invoke Initial Solution Method

Evaluate Initial Solution

Yes Re-plan? No No

Yes

Re-schedule?

Start TSARS

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 to give an array of network structures. The lag times between a predecessor= successor pair depends on the mode combination being used. For example, predecessor job J1 executed in mode A followed by successor job J2 executed in mode A would have a di erent lag time than predecessor job J1 executed in mode A followed 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, randomly 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 interval [ 5; 10]. Optimal solutions were available for four of the ve 10-job problems. However, relaxed optima, using only the non-renewable resource constraint, were obtained for the remaining 10-job problem and for one of the 30-job problems. 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 no obtainable 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 a ects 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. 2. 3. 4. 5. Dene the goal of the experiment. Choose measures of performance and factors to explore. Design and execute the experiment. Analyze the data and draw conclusions. 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 for TS3P. 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 di erence 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, maximum, 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 heuristic attained 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 problem. 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. For the cases where the initial solution heuristic failed to schedule 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 feasible. 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 di erently scaled curves. The initial solution heuristic is very fast for the problem sizes tested. Regression analysis indicated an exponential relationship between 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 feasible answers in a very short time. The TS generally gives solutions with better objective function values, taking somewhat longer than the initial solution heuristic, but it is substantially faster than optimization. Since the solution times for both methods grow as the number of jobs increase, testing the methods against larger problems needs to be accomplished.

166 Table 2 Solution statistics for 10-job problems Job size 10 Problem 1 Method Lower bound (LB) Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS Lower bound Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS Lower bound Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS Lower bound Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS Lower bound Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS

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

CPU time (s) 83.00 0.03 10.80 0.03 14.90 64.00 0.03 11.20 0.02 11.40 569.00 0.03 12.00 0.03 11.00 81.00 0.03 10.50 0.02 10.60 182.00 0.02 10.50 0.03 12.50

Cmax 10 10 10 13 11 11 19 11 27 15 9 11 11 18 16 9 13 9 13 9 9 18 11 18 12

Delta (solutionLB) 0 0 3 1 8 0 16 4 2 2 9 7 4 0 4 0 9 2 9 3

% Delta (delta= LB) 0 0 30 10

Jobs not scheduled 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Problem 2

73 0 145 36 22 22 100 78 44 0 44 0 100 22 100 33

Problem 3

Problem 4

Problem 5

Delta = heuristic solution lower bound,

%Delta = (delta= lower bound)%.

Table 3 Solution statistics for 30-job problems Job size 30 Method Lower bound Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS CPU time (s) 2734.00 0.12 34.20 0.11 36.80 0.12 27.00 0.08 30.62 0.08 29.50 0.08 33.18 Cmax 26 44 28 60 57 21 23 41 41 39 23 21 39 Delta 18 2 34 31 % Delta Jobs not scheduled 0 0 0 1 0 1 0 1 0 1 0 1 0

Problem 1

41 7.90 131 119

Problem 2

Problem 3

K.M. Calhoun et al. / Omega 30 (2002) 155 170 Table 4 Solution statistics for 60-job problems Job size 60 Problem 1 Method Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS CPU time (s) 0.86 110.10 0.67 137.40 0.26 111.70 0.26 130.00 0.26 108.80 0.26 111.20 Cmax 32 30 40 40 32 30 60 32 32 30 50 50

167

Jobs not scheduled 0 0 0 0 0 0 0 0 0 0 0 0

Problem 2

Problem 3

Table 5 Solution statistics for 90-job problems Job size 90 Problem 1 Method Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS Relaxed initial soln. Relaxed TS Fully const. init. soln. Fully const. TS CPU time (s) 1.57 253.55 1.64 264.30 0.62 227.90 0.54 255.60 Cmax 29 30 46 46 33 30 44 41 Jobs not scheduled 2 0 3 0 0 0 0 0

Problem 2

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 this research by designing and populating a database to store all of the scenario data. This problem is larger than the 90-job problems discussed in the previous section. In the 90-job problems, each job could be executed in one mode from a selection 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 minimize 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 that adequate 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 resource requirements. By the time the process reaches detailed 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 su cient renewable and non-renewable assets planned. This was done to obtain a baseline case to see how the solutions would be a ected by varying the quantities of each asset,

168 Table 6 Solution time statistics Initial solution 10 Min Max Mean St. deviation 95% conf. int. 30 Jobsa Min Max Mean St. deviation 95% conf. int. 60 Min Max Mean St. deviation 95% conf. int. 90 Min Max Mean St. deviation 95% conf. int.
a As

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


TSACP-Time per 1000 Iterations
300

Jobsa

Seconds

TS3P (1000 iterations) 10.4 14.9 11.53 1.360596 (10.686, 12.373) 27 36.8 31.65 3.475 (28.869, 34.431) 110.2 137.4 118.2 12.2727 (108.38, 128.02) 227.9 264.3 250.338 15.667 (234.984, 265.691)

250 200 150 100 50 0 10 Job 30 Job 60 Job 90 Job

0.02 0.03 0.027 0.00483 (0.024, 0.029) 0.08 0.12 0.0983 0.0204 (0.082, 0.115) 0.26 0.861 0.429 0.268 (0.214, 0.643) 0.541 1.642 1.0934 0.594 (0.270, 1.917)

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

1.2 1

Solution Times for Initial Heuristic

Seconds

Jobsa

0.8 0.6 0.4 0.2 0 10 Job 30 Job 60 Job 90 Job

Jobsa

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 approach for the project planning problem incorporating activity priority classications and generalized precedence constraints, as well as specialized machine and least exible 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 provide the tabu search with a good starting solution, as a stand-alone application the initial solution heuristic works well. Indeed, the quality of the solutions obtained by the initial 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 optimal 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 formulation of the planning problem. The tabu search yielded

there was no statistical di erence between the mean solution times 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 considerable 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 this level 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.

K.M. Calhoun et al. / Omega 30 (2002) 155 170 Table 7 Results of applying TS3P to the planning scenario Renewable Non-renewable Method Times (S) Goal one deviation Goal two deviation Goal three deviation Goal four deviation

169

Goal ve deviation (Makespan) 389 389 471 389 728 648

Innite Innite 120

Innite 330 Innite

Initial solution TS 1000 iters. Initial solution TS 1000 iters. Initial solution TS 1000 iters.

1.70 152.05 1.64 145.62 1.69 139.73

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

NA NA NA NA NA NA

Threshold 120 120 120 120 120

330 314 298 282 266

Initial solution TS 1000 iters. Initial solution TS 1000 iters. Initial solution TS 1000 iters. Initial solution TS 1000 iters. Initial solution TS 1000 iters.

1.77 179.6 1.61 180.47 1.54 197 1.51 203.25 1.48 211.1

0 0 0 0 0 0 0 0 0 0

0 0 1 0 4 3 5 3 7 5

0 0 1 4 2 0 2 3 4 4

NA NA NA NA NA NA NA NA NA NA

748 677 635 568 687 593 670 552 666 518

Re-plan 116 One unit Lost 84

Loss of 4 machines from rst unit 324 Initial solution TS 1000 iters. 250 Initial solution TS 1000 iters.

1.98 184.5 1.76 204.52

0 0 0 0

0 0 0 0

1 0 10 10

10 6 50 40

748 736 755 735

good solutions with consideration to task priority classication, and generalized precedence relationships. A list of the best k solutions o ers options for planners to use during the planning process. The tabu search worked quickly, even on the larger test problems and the case study, therefore demonstrating 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 generating a comprehensive plan of operation. Should the plan break down due to unforeseen circumstances, planners frequently 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 current 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.

170

K.M. Calhoun et al. / Omega 30 (2002) 155 170 [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): 9 32.

[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 e cient 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.

Further reading
[15] Deckro, Richard, John Hebert. Polynomial goal programming: a procedure for modeling preference trade-o s. 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 combat resources 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.

You might also like