planning and replanning in project and production scheduling

Upload: jonathan-santiago

Post on 03-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    1/16

    Omega 30 (2002) 155170

    www.elsevier.com/locate/dsw

    Planning and re-planning in project and productionscheduling

    Kevin M. Calhouna, Richard F. Deckrob;, James T. Mooreb, James W. Chrissisb,John C. Van Hovec

    aAnalysis Division, ACC=DRYM, 204 Dodd Blvd., Ste. 226, Langley AFB, VA 23665, USAbDepartment of Operational Sciences, Air Force Institute of Technology, AFIT=ENS, Bldg. 640, 2950 P Street,

    Wright-Patterson Air Force Base, OH 45433-7765, USAcOperations Analysis Division, Air Force Wargaming Institute, 401 Chennault Circle, Maxwell AFB, AL 36112-6428, USA

    Received 10 January 2001; accepted 14 December 2001

    Abstract

    Scheduling is a time and labor-intensive task. In addition, problems arise due to the lag time between the publication of the

    schedule and the start of the scheduled work period. During this time, conditions in the dynamic environment can, and often

    do, change (equipment breaks, orders are cancelled or increased, work force levels do not meet expectations, or a task simply

    takes longer than planned, for example). While the scheduling literature is broad, very little of it addresses re-planning and

    re-scheduling.

    This research explores the use of tabu search (TS) seeded with a robust initial solution to determine good solutions for a

    posted schedule. It considers preemptive tasking priorities. The procedure then adapts the TS to focus on generating re-planning

    and re-scheduling options in a project or production setting. The TS procedure was implemented in Java to be portable and tomake the objects available for reuse and adaptation elsewhere in the planning hierarchy. Published by Elsevier Science Ltd.

    Keywords: Scheduling; Planning; Re-scheduling; Project management

    1. Introduction

    Scheduling is a central function of all organizations. A

    great deal of literature exists for scheduling projects and

    job shops. Unfortunately, little of this literature deals withre-planning or re-scheduling activities. What literature does

    exist generally focuses on dispatching rules and questions

    The views expressed in this paper are those of the authors and

    do not reect the ocial policy or position of the United States

    Air Force, the Department of Defense or the United States govern-

    ment. (Approved for Public Release, Distribution Unlimited) Pre-

    publication draft. Please do not quote without the authors written

    permission. Corresponding author. Tel.: +1-937-255-6565=4325; fax: +1-

    937-656-4943.

    E-mail address: [email protected] (R.F. Deckro).

    of local changes vs. schedule regeneration. It is a commonly

    held belief among operational schedulers, however, that the

    schedule begins to be out of date from the moment opera-

    tions begin (if it was even initially accurate).

    Robust scheduling procedures have long been a goal ofresearchers and practitioners alike. While optimization ap-

    proaches to scheduling are essential for eciently building

    schedules and planning resource usage, the imprecision of

    the existing data, the dynamic operational environment, and

    the eects of uncontrollable events have always meant that

    the schedule is a suggested plan. Without the ability to

    re-plan and re-schedule, the schedule can become an in-

    appropriate baseline for gauging performance.

    This research focuses on schedule planning, re-planning,

    and re-scheduling. A distinction is made between

    re-planning and re-scheduling. Re-planning, as dened in

    this paper, refers to that aspect of operations concerned with

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

    P I I : S 0 3 0 5 - 0 4 8 3 ( 0 2 ) 0 0 0 2 4 - 5

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    2/16

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

    xing the schedule before the start of the work period.

    Re-scheduling refers to re-assigning tasks and resources, as

    circumstances warrant, during the work period.

    The overall problem is formulated as a project schedul-

    ing problem (PSP). In order to obtain an initial solution

    to the problem, a heuristic is developed based on key con-

    cepts from scheduling theory. A tabu search (TS) procedurethen uses the result from the initial solution heuristic and

    improves upon it. The TS procedure was tested by solving

    PSPs with known optimal solutions.

    The TS procedure presented herein takes advantage of

    the structure of the planning, re-planning, and re-scheduling

    problems. The research extends the eort of previous re-

    search by capturing task priorities through the use of a goal

    programming (GP) model.

    A TS procedure for re-planning is developed. The study

    has two re-planning objectives. The rst objective concen-

    trates on the re-planning that must be done prior to the

    start of the workday. It suggests new plans based on theresources, requirements and personnel currently available.

    In many respects, the TS for re-planning is similar to that

    used to generate the initial plan. The second objective of the

    study was to modify the TS to perform quick re-scheduling

    of activities during the workday. For both objectives, the ap-

    proach applied is a lexicographic GP formulation that max-

    imizes the number of high priority tasks that are scheduled

    and then minimizes the number of tasks and resources to be

    re-scheduled.

    The TS generates a list of options for the planner to re-

    view. The planner may then select the most desirable op-

    tion for the current operational situation from the list. This

    process uses the options developed by the heuristic, cou-pled with the decision makers experience and knowledge,

    to develop a plan. It is acknowledged that the methodology

    developed here is a tool to be used by, not a replacement

    for, experienced planners and schedulers. The goal of this

    research was to rapidly provide improved options to support

    the decision maker.

    To best exploit the advantages of object-oriented pro-

    gramming, the heuristic procedures developed in this study

    are written in Java. This makes the procedure portable

    so that it can run on most platforms. The procedures

    make Structured Query Language (SQL) calls to an Or-

    acle or Access database. The use of ANSI-compliantSQL augments the portability of these procedures. These

    queries pull only the attributes from dierent tables in

    the database that are necessary to solve the planning

    problem.

    As noted earlier, the TS procedure results are compared

    for accuracy to the lower bounds of a test set of schedul-

    ing problems. CPU processing times for the solutions are

    reported for each problem to demonstrate how processing

    times grow with the size of the problem. Inter-procedure

    comparison of processing times is of limited value because

    of computer platform dierences. Once the TS procedure

    was validated against these test cases, it was modied

    and applied to sample project planning, re-planning and

    re-scheduling problems.

    In the remainder of the paper, a brief literature review

    is presented, followed by details of the development of the

    TS procedure used to solve the GP models for the planning,

    re-planning and re-scheduling problems. Computational re-

    sults and a brief illustrative example are then presented. Thepaper concludes with a summary of the research, a review

    of its contributions, and recommendations for future work.

    2. Background

    Scheduling concerns the allocation of limited resources

    to tasks over time. It is a decision-making process that has

    as a goal the optimization of one or more objectives [1,

    p. 1]. The scheduling process exists in virtually all opera-

    tional settings. It is a key to eective resource utilization by

    world-class organizations.

    A project is a systematic enterprise designed to accom-

    plish some specic non-routine or low-volume task [2, p.

    1]. For the purpose of this research, a project is a nite set

    of activities with limited resources that must be scheduled

    in agreement with certain precedence requirements between

    activity pairs.

    Precedence constraints dene timing requirements be-

    tween activity pairs within projects. The most common type

    of precedence constraints is of the nishstart variety and

    is used to specify that a predecessor activity must end be-

    fore its successor activity may start. Other common types

    of precedence constraints are startnish, startstart, and

    nishnish [2, p. 321]. Lag times are another importantconsideration. Certain activities must lag others by a partic-

    ular interval. This gives rise to a minimum or maximum lag

    time that may constrain the start time for successor activities.

    The formulation of these generalized precedence

    constraints can become complex with the addition of

    multi-modal activities. Taken together, the minimum and

    maximum lag times make up a time window for the suc-

    cessor activity. The approach developed in this research

    incorporates lag times to model staggered activities and

    suggests start times.

    2.1. Resource constraints

    The simple PSP model does not account for limited re-

    sources that are used by the activities. Hence, an optimal

    solution to a PSP may be infeasible if resource constraints

    are present. An expansion of the PSP model developed to

    handle limited resources is the Resource Constrained Project

    Scheduling Problem (RCPSP).

    2.2. Heuristics

    The RCPSP integer linear programming (ILP) model

    yields an optimal solution if one exists. However,

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    3/16

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

    depending on the number of variables involved, it can be

    time-consuming to solve. Therefore, decision makers are of-

    ten interested in priority rulestechniques that yield good,

    but not necessarily optimal, solutions quickly. A priority rule

    frequently used when jobs are subject to arbitrary precedence

    constraints and arbitrary job processing times is the

    largest number of successors (LNS) rule. The job thathas the largest number of total successors in the prece-

    dence constraints graph has the highest priority and would

    be scheduled rst, subject to any additional constraints

    [1, p. 71].

    When job j can only be processed on a subset of the

    available machines, the least exible job rst (LFJ) rule is

    sometimes used. Every time a machine is freed, the LFJ rule

    selects the job that can be processed on the smallest subset

    of machines, with ties broken arbitrarily.

    When multiple machines are freed simultaneously, the

    LFJ rule does not specify which machine to consider rst.

    If a number of machines are free at the same time, it may beadvantageous to consider the least exible machine (LFM)

    rule. This rule assigns a job to the machine that can process

    the smallest subset of remaining jobs [1, p. 71].

    A combination of the preceding two rules gives priority

    to the least exible jobs on the LFM. That is, for each time,

    t, the LFM would be assigned the least exible feasible

    job. This heuristic (dispatching rule) is abbreviated as the

    LFMLFJ rule [1, p. 72]. The heuristics discussed in this

    section were developed with the objective of minimizing the

    makespan of the project.

    2.3. The multi-modal resource constrained project

    scheduling problem (MMRCSPSP)

    The standard resource constrained project scheduling for-

    mulation [3] or [4] may be extended to include the situation

    where the activities can be completed in one of a number of

    possible execution modes (MMRCPSP). The amount and

    type of resources consumed and the processing time depend

    on the mode selected [5, p. 350].

    2.4. The generalized MMRCPSP

    Generalized precedent constraints may be used to enforce

    any timing requirement called for in an operational scenario

    and are therefore required. The generalized MMRCPSP has

    the abbreviation, MMGRCPSP.

    2.5. Doubly constrained resources

    In the formulation in Fig. 1 (following the work of

    Sprecher and Sprecher et al. [6,7]), let K be the set of

    Fig. 1. Van Hoves complete MMGRCPSP model formulation [8, p. 49]

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    4/16

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

    resource types in the problem and kK. The renewable

    aspect of k is bounded at Rk, the per period availability of

    renewable resource k[8, p. 43]. The non-renewable aspect of

    resource kis the limit dictated byNk=rimk [8, p. 43]. Each unit

    in the model is a doubly constrained resource. Therefore,

    the resource types are both renewable and non-renewable.

    2.6. MMGRCPSP formulation

    In the formulation of the MMGRCPSP problem (Fig. 1),

    the objective function, (1), minimizes the makespan of the

    schedule. Eq. (2) enforces the non-renewable resource con-

    straint, while Eq. (3) enforces the renewable resource con-

    straint. The binary decision variable, ximt, is equal to one if

    activity i starts in period t and is executed in mode m. Eq.

    (4) enforces the lag times between predecessor=successor

    activities. The binary decision variable xjnt selectively en-

    forces the applicable constraint and relaxes the redundantconstraints. As the delta (ijmn) can be positive or nega-

    tive, both minimum and maximum precedence constraints

    can be expressed by using this constraint twice, once for

    precedence pair (i; j) and once for precedence pair (j; i) [9].

    While the model generates an optimal schedule in terms of

    makespan, it does not model task priority classications, nor

    does it model maximum lag times or re-planning. For any

    realistically-sized problem, schedule generation can be ex-

    tremely time-consuming.

    2.7. Tabu search

    TS is a meta-heuristic procedure for solving large com-

    binatorial optimization problems. TS has proven to be suc-

    cessful in solving to optimality or near-optimality a variety

    of classical and practical problems [10, p. 74].

    Scheduling provides a fruitful area for heuristic tech-

    niques in general and for TS in particular [11, p. 127].

    Nowicki and Smutnicki [12] tested their TS application

    for job shop scheduling against a benchmark set of

    problems and compared their results to those of a shifting

    bottleneck heuristic and simulated annealing. Their pro-

    cedure outperformed the other methods with respect to

    (adjusted) CPU time and the quality of the generatedmakespans [12, p. 808].

    3. Methodology

    This section provides details of the approach used to solve

    the problem. A GP model and formulation for the plan-

    ning and re-planning problems are presented. The section

    concludes with a detailed look at the TS application devel-

    oped to provide planners and managers with scheduling and

    re-scheduling options.

    3.1. Goal program

    For the examples tested in this research, three priority

    categories were used although the procedure is not limited

    to three. Priority classes would be developed for an or-

    ganization reecting rm-specic requirements. Dierential

    weighting within classes is possible.For this GP model, the three priorities are assumed to be

    preemptive. Tasks were classied as either Priority 1, 2, or

    3. Classication would be pursuant to operational or con-

    tractual considerations. This classication could be based

    on utilization of key resources or personnel, political sen-

    sitivity or visibility, precedence, or simply cost, for exam-

    ple. Goal i is to schedule tasks in Priority class i with the

    available resources and within the generalized precedence

    constraints. The minimization of makespan was used as the

    lowest priority goal (goal 4 in this case).

    In Figure 2, Eqs. (5)(14) give the constraints on the de-

    viations, di. It is possible that all of the ximt variables equalto zero for activity i, making the dxi variable equal to one.

    This condition would occur for tasks that have no resources

    assigned to them. The di variables are therefore constrained

    to be equal to the number of priority i tasks that do not have

    jobs scheduled against them in the optimal solution. The rest

    of the model is identical to Van Hoves MMGRCPSP for-

    mulation (Fig. 2) except that objective function (1) becomes

    the constraint in Eq. (9) that denes Goal 4, minimizing the

    makespan of the generated schedule (Table 1).

    3.2. Initial solution heuristic

    The objective in project or job shop scheduling is often to

    minimize the makespan subject to precedence and resource

    constraints. This suggests a heuristic to generate an initial

    solution for tasking allocated resources to activities. The

    heuristic is a combination of the LNS rule and the LFMLFJ

    rule (referred to as the LNSLFMLFJ rule). The LNS

    LFMLFJ rule provides a sound initial solution.

    If an activity with many successors is assigned a late

    start time, then a condition known as a bottleneck might

    occur. That is, all of the successor activities would be on

    hold until this key activity is suciently completed. To

    avoid this, the initial solution heuristic assigns resources tofeasible tasks (predecessors met, resources available) with

    many successors and shortest duration times. Finally, to be

    a good initial solution for the GP TS, the heuristic strives

    for a solution that satises the goal priorities of the GP.

    Therefore, the heuristic given below considers the activities

    in priority order.

    Step 1. Starting with the highest priority unscheduled fea-

    sible activities, order the appropriate modes for each activity

    by the LNS rule.

    Step 2. Within priorities order the modes rst by LFM

    (least exible machine or mode) then by LFJ (least exible

    activity or resource).

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    5/16

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

    Fig. 2. The MMGRCPSP goal programming model.

    Table 1

    Parameters and variables for the MMGRCPSP GP formulation

    ParametersA1 the set of all priority one activities

    A2 the set of all priority two activities

    A3 the set of all priority three activities

    A the set of all activities (A1 + A2 + A3)

    d the index of the terminal activity

    eim the earliest completion time for activity i in mode m

    lim the latest completion time for activity i in mode m

    Mi the set of all execution modes for activity i

    im the duration of activity i in mode m

    Si the set of generalized successors of activity i

    ijmn the minimum lag between the start time of activity i

    in mode m and the start time of activity j Si in

    mode n

    K the set of all double constrained resourcesrimk the amount of resource k required by activity i when

    being executed in mode m

    Rk the per period availability of resource k

    Nk the total amount of resource k available

    g the deadline for the project under consideration

    Variables

    ximt =1 if activity i starts in period t and is executed in

    mode m, 0 otherwise

    Pl The weight of goal, with P P +1dl # of Priority activities not covered, =1; 2; 3

    d4 The makespan of the schedule

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

    ration times. This ensures that the modes with the quickest

    completion times are paired up with the activities that have

    the most successors, reducing bottlenecks.

    Step 4. Schedule each activity in the resulting order from

    Steps 1 to 3.

    Step 5. After scheduling the highest priority unscheduled

    activities, repeat Steps 14 for the next highest priority ac-

    tivities. Continue until all activities are scheduled or until

    there are no more resources available.

    This heuristic is a pseudo-GP as it schedules each ac-

    tivity by priority (goal) in descending order. It provides a

    feasible, good starting solution for the TS application of the

    GP model. While it does not explicitly consider makespan,

    makespan is implicitly captured via the LFMLFJ rule. The

    sorting of activity duration times was done to attempt to

    eliminate situations where activities are waiting for longperiods for predecessors after a bottleneck. Fig. 3 presents

    the owchart for the initial solution heuristic.

    3.3. Initial solution evaluation

    To judge how well the initial solution schedules the activ-

    ities, the number of unscheduled activities for each priority

    level is totaled. The makespan (last goal in the planning

    problem) is determined by the nish time of the last task

    completed. In a problem with four goals, an array of four

    integers is used to represent the quality of the solution.

    For instance, if the initial solution covered all of the P1

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    6/16

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

    Terminate

    InitialSolutionMethod

    Invoked,time = 0

    Resourcesand tasks

    uncovered?

    Yes

    No

    Get nextmode

    Task

    Covered?

    Yes

    Resourcesavailable?

    Yes

    No

    No

    Find time window for

    the activity. Check forsuccessor violation.

    SuccessorViolations?

    YesAssign activity.Performcalculations.

    NoResourcesavailable?

    Yes

    No

    Fig. 3. Initial solution heuristic owchart.

    activities, all but one of the P2 activities, and all but ve

    of the P3 activities, while achieving a makespan of 550

    time units, then the objective function vector would be

    [0,1,5,550].

    3.4. Tabu search for the project planning problem

    The initial solution heuristic provides a robust schedule

    that can be used on its own but is intended as a good starting

    point for the Tabu Search for the Project Planning Problem

    (TS3P). Parameters for TS3P such as tabu tenure and total

    number of iterations must rst be specied. The aspiration

    criterion is the best objective function value found. The ini-

    tial solution is passed to the TS engine and TS3P starts.

    3.5. Move manager

    The move type chosen for this research is the toggle.

    Toggling consists of taking one of the elements in the binary

    solution vector and switching it to the opposite position; this

    may be the easiest type of move to implement. Employing

    a toggle allows activities that were not initially scheduled to

    rotate into the plan.

    It is easy to see that there are n neighbors for any solu-

    tion of an n-variable problem. While the toggle move may

    seem simplistic, successive toggles achieve results similar

    to other move types. The rst consideration for TS3P is the

    move neighborhood. A decision must be made concerning

    which of the activities in the current solution are eligible for

    toggling; the eligible set of activities is called the candidate

    list.The Move Manager selects the candidate list. This

    method considers activities associated with only one specic

    priority category at a time for inclusion on the candidate

    list. The activity priority category under consideration alter-

    nates at each iteration; only P1 activities may be considered

    at iteration 1, only P2 tasks are considered at iteration 2,

    and only P3 activities are considered at iteration 3. Then,

    the cycle repeats. The reasoning behind this strategy is: if

    activities from all categories were included on the candidate

    list and an unimproving move was necessary (an activity

    must be turned o), then only tasks associated with P3

    activities would be selected. The TS would never select a

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    7/16

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

    task assigned to a P2 activity or P1 activity to toggle o if a

    resource assigned to a P3 activity was available. In essence,

    the candidate list would then only consist of P3 activities

    and only those P1 and P2 activities that have not yet been

    scheduled. This would result in little or no inter-modal swaps

    and an overly restrictive neighborhood.

    The Move Manager selects P1 tasks for inclusion on thecandidate list if one of the following criteria is met: either no

    resources are currently assigned to the associated task or, the

    activity under consideration is assigned a specic mode with

    an activity completion time equal to the makespan of the

    schedule. A move that toggles o resources to a P1 activity is

    the worst kind of unimproving move (the deviation variable

    for goal one would increase by one). Therefore, including

    this type of move in the candidate list requires a very good

    rationale. We allow an assigned P1 task on the candidate list

    only if it is associated with the makespan. This decreases

    the size of the candidate list while allowing a decrease in

    the makespan.Selecting move candidates among P2 and P3 tasks is less

    complex. An activity is placed on the candidate list if either

    the task has no resources assigned to it or if the task is an

    assigned task and its current mode of operation is set to

    zero.

    3.6. Move

    Each element of the candidate list is operated upon by

    the Move method. First, the mode selected to execute the

    task is toggled (turned o if it was previously on and vice

    versa). Next, the Solution Modier method is called.

    The Solution Modier method performs quickly because

    it has no loops. It only calculates the marginal change in

    makespan resulting from the move under consideration.

    Consider a potential move where a mode is toggled o; its

    corresponding element in the solution vector is changed to

    zero and the marginal change in makespan is determined.

    When the mode was toggled on, the method checks to

    see if there are enough resources left to execute that task.

    If not, the method skips to the next task on the list. If there

    are enough resources, an attempt is made to locate a time

    window for the activity in a fashion similar to that of the

    Initial Solution method. The dierence during the TS isthat even if successor violations exist, the time window is

    assigned to the activity, an objective function penalty is

    incurred, and the next move is evaluated. This keeps the

    search moving quickly.

    If a move is chosen that does violate any successor con-

    straints, the successors that are in violation are the only

    moves allowed on the candidate list until all violations are

    reconciled. For example, say elements 5, 12, and 21 of the

    solution code array are successor activities and all three are

    violating precedence constraints. On the next three moves,

    only these three elements will be on the candidate list. Once

    these are all dropped from the schedule, TS3P can proceed

    choosing its candidates as before. Fig. 4 is a owchart that

    illustrates this process.

    3.7. Move evaluation

    The appropriate element of the objective function vector

    is decremented or incremented by one depending on whether

    a task was toggled on or o. The makespan of the current

    move is also evaluated. After the current move is evaluated,

    it needs to be inspected to determine if it is an allowable

    move. If not, then the aspiration criteria are checked. If the

    move is admissible, the index of the move and its objective

    function value are stored until all the moves on the candidate

    list are considered and evaluated. When this is accomplished,

    the best move is selected and a new iteration is begun.

    Fig. 5 is a owchart of the move evaluation method.

    4. Re-planning

    Re-planning often occurs during the operational time

    frame. Plans are often developed days, weeks or months

    before they are to be executed. Should any changes occur

    to the plan during this time, the activities aected by the

    changes may have to adjust. The impact of any change

    should be minimized. In the following section, we propose a

    methodology for minimizing the impact of changes to a plan.

    4.1. GP model for re-planning

    A slightly modied GP model is appropriate for

    re-planning. Consider the GP for the planning example. It

    consisted of four goals:

    Goal 1 Maximize P1 activity coverage

    Goal 2 Maximize P2 activity coverage

    Goal 3 Maximize P3 activity coverage

    Goal 4 Minimize makespan of the schedule

    These goals, however, are not sucient for the re-planning

    application. An additional goal has been inserted betweengoals 3 and 4 (although it could be inserted wherever the

    project manager or planner feels it is appropriate). In order

    to minimize the impact of a change to the planned schedule,

    the number of activities aected should be minimized.

    Goal 1 Maximize P1 activity coverage

    Goal 2 Maximize P2 activity coverage

    Goal 3 Maximize P3 activity coverage

    Goal 4 Minimize number of changed activities

    Goal 5 Minimize makespan of the schedule

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    8/16

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

    Initiate TS3P

    Move Manager

    generatescandidate list

    Solution Modifierunassigns activities

    updates

    timeWindow, and

    resources

    Mode

    on?

    Move methodtoggles next

    mode on list

    Solution Modifierassigns activity,

    updates timeWindow

    and resourcesremaining, calculates

    activity duration times

    Move Lag

    enforces lag

    times for mode

    Move Evaluation

    calculates objectivefunction value for

    current move

    Determine ifmove is

    allowable

    No

    Yes

    Is this mode

    last on the

    candidate list?

    Select bestcandidate, iteration

    complete

    Max iterations

    reached?

    No

    Yes

    Yes No

    Terminate TS3P, report results, store

    solution in database

    Fig. 4. TS3P ow chart.

    4.2. Tabu search for re-planning

    Since the theoretical formulation of the GP model for

    re-planning is similar to that in planning, the toggle move

    is used for the re-planning TS. Likewise the tabu tenure

    and aspiration criterion are identical. To model the goal of

    minimizing the number of activities to be re-planned, the

    only change that needed to be made to the TS3P application

    to obtain the Tabu Search for Activity Re-planning (TSAR)

    was to incorporate an additional deviational variable and its

    corresponding constraint.

    When TS3P was used to solve each planning problem

    instance, a copy of the best solution obtained was saved to

    the database. For TSAR, an initial solution based on the

    current scenario situation is obtained using the LNSLFM

    LFJ heuristic. This initial solution is evaluated just as in

    TS3P, but with one dierence. The solution vectors from

    the TS3P best solution and the TSAR initial solution are

    compared to one another. Each time the value of element

    i in one vector diers from the value of element i in the

    other vector, the value of the deviational variable associated

    with re-planning activities is incremented by one. At each

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    9/16

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

    Initiate the EvaluateMethod

    Is currentmode

    assigned?

    Increment assignedtargets for

    appropriate targetory

    Get next mode

    Is this the

    last mode?

    Subtract assignedmodes from number oftargets for each priority

    class

    Calculate latest

    job completiontime

    Report objective functionvector and terminate method

    No

    No

    Yes

    Yes

    categ

    Fig. 5. Flow chart for evaluate method.

    iteration, every neighbor to the current solution is likewise

    compared to the TS3P best solution; the TSAR attempts to

    minimize this value as well as the values for the other goals.

    This approach allows for a rapid comparison of the

    re-planning solution with the original plan. By minimizingthe value of the deviational variable associated with the

    re-planning goal, the operational impact of a change to

    the schedule is decreased. If this number is small, most

    of the activities in the original plan can be executed as

    scheduled.

    5. Re-scheduling

    Re-scheduling is dened in this research as re-assigning

    activities, as circumstances warrant, while the current work

    package or planning horizon is already being executed. It

    diers from re-planning by the amount of time planners

    have available to nd a solution and, subsequently, by the

    amount of time that work crews have available to retool (if

    necessary), develop new detailed work plans and times, and

    review operational instructions associated with a new task.This means that an application for re-scheduling must work

    rapidly. The solution obtained should, if possible, impact

    the scheduled plan to an even lesser extent than that for

    re-planning.

    The re-scheduling application developed for this re-

    search reduces operational impact by liberally using a

    feature that allows locking in activities. While a plan-

    ner may selectively lock in any specic activities, for the

    examples discussed below all unchanged tasks assigned

    to priority one and two were locked, thus allowing only

    unchanged tasks currently assigned to priority three to be

    considered for re-assignment. Should the magnitude of the

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    10/16

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

    re-scheduling situation be such that reassigning all of the

    activities assigned to priority three is not sucient to cover

    all priority one tasks, some or all of the priority two tasks

    could be unlocked. This restricted approach allows for rapid

    re-scheduling.

    The re-scheduling problem is solved by modifying TSAR

    to create Tabu Search for Activity Re-scheduling (TSARS).By locking in a quantity of activities, the value of the devi-

    ational variable corresponding to the change goal is already

    quite small, presenting a good starting solution for the TS.

    In addition, the candidate list becomes quite small, thus al-

    lowing the TS to execute rapidly. This extra speed may be

    necessary in a dynamic environment. Fig. 6 is a owchart

    of the overall process.

    6. Results

    This section presents the outcome of applying TS3P to

    several MMGRCPSP problems having known optimal or

    lower bound solutions. In addition, a case study is described

    and the results of applying TS3P and TSAR are provided.

    6.1. Problem sets

    The problem sets used for testing TS3P were generated

    using the ProGen problem generator [4,13]. A total of ve

    10-job problems, three 30-job problems, three 60-job prob-

    lems, and two 90-job problems were used for testing.

    Each of the 10-job problems could be executed in three

    dierent modes; each mode uses dierent quantities and

    types of resources and has dierent processing times. The

    30- 60- and 90-job problems consisted of jobs that may be

    executed from a choice of one, two, or three possible modes.

    Again, each mode uses dierent resources and processing

    times. The doubly constrained resources each carried vary-

    ing quantities of renewable and non-renewable assets. The

    problems within each set also diered in their network con-

    guration and complexity. The number of successors and

    YesYes

    Initiate

    Application

    Re-plan?

    Invoke Initial

    Solution

    Method

    Evaluate

    Initial

    Solution

    Re-plan?

    Start TS3P

    Re-schedule?

    Start TSAR

    Start TSARS

    End

    Get Current

    Solution

    RetrieveInitial Data

    Yes

    No

    No No

    Fig. 6. Flow chart for overall application.

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    11/16

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

    predecessors for each job were varied among the problems

    to give an array of network structures.

    The lag times between a predecessor=successor pair de-

    pends on the mode combination being used. For example,

    predecessor job J1 executed in mode A followed by suc-

    cessor job J2 executed in mode A would have a dierent

    lag time than predecessor job J1 executed in mode A fol-lowed by successor job J2 executed in mode B. Random

    maximum (negative value) or minimum (positive value) lag

    times were generated for each predecessor=successor mode

    combination. The lag times were uniformly distributed, ran-

    domly generated integers restricted to be in the range from

    negative one-half the duration of the predecessor activity to

    the duration of the predecessor activity. For example, if the

    predecessor activity had a duration of 10, then the lag times

    associated with the successor activity would be in the inter-

    val [ 5; 10].

    Optimal solutions were available for four of the ve

    10-job problems. However, relaxed optima, using only thenon-renewable resource constraint, were obtained for the

    remaining 10-job problem and for one of the 30-job prob-

    lems. The true optima for the doubly constrained problems

    cannot be less than the relaxed solution; the relaxed optima

    are lower bounds on the fully constrained problems. If any

    of the heuristics, which do satisfy all the constraints, nds

    a solution that has the same objective function value as the

    relaxed optima, that solution is optimal. For the rst phase

    of testing of the initial solution heuristic and the general TS

    heuristic, goals were not considered. The objective in these

    tests was to minimize makespan. However, other goals are

    considered in the case study.

    The remaining 30-, 60-, and 90-job problems had noobtainable lower bounds within the limited time and

    resources available. Results of TS3P for these jobs are

    reported in this research for two primary reasons: rst,

    to determine how problem size aects solution time and

    second, to measure the performance of the initial solution

    heuristic vs. the TS.

    7. TS3P results

    Barr et al. [14] suggest the following experimentation

    steps for heuristics [14, p. 1128]:

    1. Dene the goal of the experiment.

    2. Choose measures of performance and factors to explore.

    3. Design and execute the experiment.

    4. Analyze the data and draw conclusions.

    5. Report the experiments results.

    The goal of this initial testing was to show that the initial

    solution heuristic and the TS perform quickly and provide

    reasonable solutions when compared to a lower bound on

    the makespan for the problem.

    The relaxed (no renewable resource constraint) integer

    programs were solved using HyperLingoJ Version 5.0

    on a Pentium II with a clock speed of 400 MHz and 256

    megabytes of memory. TS3P was run on a Pentium II with

    a clock speed of 300 MHz and 128 megabytes of memory.

    All times reported for TS3P were for 1000 iterations and a

    tabu tenure of 13. As there was potential value inherent in

    the initial solution heuristic itself, solution times and values

    were recorded for the initial solution heuristic as well as forTS3P.

    The results are presented in Tables 25. The statistics

    for the 10-job problems are reported in Table 2 where the

    delta column is the raw dierence between the solution

    obtained via the specied heuristic approach and the lower

    bound. The % delta column is the percentage away from

    the lower bound for the specied heuristic (i.e. (delta=lower

    bound)%). Table 5 contains data including minimum, max-

    imum, and mean solution times as well as the standard

    deviations and condence intervals for each size problem.

    For the 10-job problems, the relaxed TS3P achieved

    optimality three times, while the initial solution heuristicattained the relaxed optimum twice. On one occasion, the

    solution found by TS3P for the fully-constrained problem

    equaled the relaxed optimum and therefore is known to

    be optimal for the fully-constrained problem. TS3P was

    able to improve the solution obtained by the initial solution

    heuristic three out of ve times (on the other two occasions,

    the initial solution heuristic found the relaxed optimum).

    TS3P improved the fully-constrained initial solution for all

    but one of the ve 10-job test problems.

    Only one lower bound was available for a 30-job prob-

    lem. For this one problem, TS3P for the relaxed problem

    was within 8% of the optimum. In all but two of the larger

    problems, TS3P was able to improve the initial solution. Forthe cases where the initial solution heuristic failed to sched-

    ule all of the jobs, TS3P was able to nd a solution where all

    jobs were scheduled, sometimes with a subsequent longer

    makespan, but since makespan is a lower priority goal, these

    solutions are still an improvement. All solutions were fea-

    sible. Table 6 summarizes solution times.

    Solution times for the test problems naturally increased

    as the problem size increased. Graphs of the TS3P (Figs. 7

    and 8) and the initial solution heuristic times show that they

    follow similar, although dierently scaled curves. The initial

    solution heuristic is very fast for the problem sizes tested.

    Regression analysis indicated an exponential relationshipbetween the number of jobs in the problem and solution

    time.

    Overall, the initial solution heuristic and the TS both gave

    rapid, feasible answers to the job shop models on which

    they were applied. The initial solution heuristic gives fea-

    sible answers in a very short time. The TS generally gives

    solutions with better objective function values, taking some-

    what longer than the initial solution heuristic, but it is sub-

    stantially faster than optimization. Since the solution times

    for both methods grow as the number of jobs increase, test-

    ing the methods against larger problems needs to be accom-

    plished.

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    12/16

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

    Table 2

    Solution statistics for 10-job problems

    Job size Method CPU time Cmax Delta % Delta Jobs not

    10 (s) (solutionLB) (delta=LB) scheduled

    Problem 1 Lower bound (LB) 83.00 10 0

    Relaxed initial soln. 0.03 10 0 0 0Relaxed TS 10.80 10 0 0 0

    Fully const. init. soln. 0.03 13 3 30 0

    Fully const. TS 14.90 11 1 10 0

    Problem 2 Lower bound 64.00 11 0

    Relaxed initial soln. 0.03 19 8 73 0

    Relaxed TS 11.20 11 0 0 0

    Fully const. init. soln. 0.02 27 16 145 0

    Fully const. TS 11.40 15 4 36 0

    Problem 3 Lower bound 569.00 9 0

    Relaxed initial soln. 0.03 11 2 22 0

    Relaxed TS 12.00 11 2 22 0

    Fully const. init. soln. 0.03 18 9 100 0

    Fully const. TS 11.00 16 7 78 0

    Problem 4 Lower bound 81.00 9 0

    Relaxed initial soln. 0.03 13 4 44 0

    Relaxed TS 10.50 9 0 0 0

    Fully const. init. soln. 0.02 13 4 44 0

    Fully const. TS 10.60 9 0 0 0

    Problem 5 Lower bound 182.00 9 0

    Relaxed initial soln. 0.02 18 9 100 0

    Relaxed TS 10.50 11 2 22 0

    Fully const. init. soln. 0.03 18 9 100 0

    Fully const. TS 12.50 12 3 33 0

    Delta = heuristic solution lower bound, %Delta = (delta=lower bound)%.

    Table 3

    Solution statistics for 30-job problems

    Job size 30 Method CPU time Cmax Delta % Delta Jobs not

    (s) scheduled

    Lower bound 2734.00 26 0

    Problem 1 Relaxed initial soln. 0.12 44 18 41 0

    Relaxed TS 34.20 28 2 7.90 0Fully const. init. soln. 0.11 60 34 131 1

    Fully const. TS 36.80 57 31 119 0

    Problem 2 Relaxed initial soln. 0.12 21 1

    Relaxed TS 27.00 23 0

    Fully const. init. soln. 0.08 41 1

    Fully const. TS 30.62 41 0

    Problem 3 Relaxed initial soln. 0.08 39 1

    Relaxed TS 29.50 23 0

    Fully const. init. soln. 0.08 21 1

    Fully const. TS 33.18 39 0

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    13/16

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

    Table 4

    Solution statistics for 60-job problems

    Job size 60 Method CPU time Cmax Jobs not

    (s) scheduled

    Problem 1 Relaxed initial soln. 0.86 32 0

    Relaxed TS 110.10 30 0Fully const. init. soln. 0.67 40 0

    Fully const. TS 137.40 40 0

    Problem 2 Relaxed initial soln. 0.26 32 0

    Relaxed TS 111.70 30 0

    Fully const. init. soln. 0.26 60 0

    Fully const. TS 130.00 32 0

    Problem 3 Relaxed initial soln. 0.26 32 0

    Relaxed TS 108.80 30 0

    Fully const. init. soln. 0.26 50 0

    Fully const. TS 111.20 50 0

    Table 5

    Solution statistics for 90-job problems

    Job size 90 Method CPU time Cmax Jobs not

    (s) scheduled

    Problem 1 Relaxed initial soln. 1.57 29 2

    Relaxed TS 253.55 30 0

    Fully const. init. soln. 1.64 46 3

    Fully const. TS 264.30 46 0

    Problem 2 Relaxed initial soln. 0.62 33 0Relaxed TS 227.90 30 0

    Fully const. init. soln. 0.54 44 0

    Fully const. TS 255.60 41 0

    8. Case study

    The case study for this research is the 100 activities, 4

    machine types, 296 mode planning scenario described in

    detail in Van Hove [8, Chapter 7]. It was adapted for thisresearch by designing and populating a database to store all

    of the scenario data.

    This problem is larger than the 90-job problems dis-

    cussed in the previous section. In the 90-job problems,

    each job could be executed in one mode from a selec-

    tion of from one to three modes, resulting in roughly

    530 predecessor=successor mode combinationsthe real

    driving force behind the size of the problem. In Van Hoves

    [8] scenario, each activity could be accomplished from

    a selection of either two or four modes, resulting in 999

    predecessor=successor mode combinationsalmost double

    the size of the 90-job problems.

    The objective function in Van Hoves model was to min-

    imize makespan, while the objective of TS3P is threefold:

    maximize activity coverage, minimize operational impact

    (for re-planning=re-scheduling), and minimize makespan.

    One of Van Hoves assumptions for his model was thatadequate resources were available to implement the plan.

    During the early stages of the plan, that may be the case.

    Optimization is valid in pre-operation planning to shape re-

    source requirements. By the time the process reaches de-

    tailed planning, new solutions may be needed. Therefore,

    TS3P was applied to the scenario as Van Hove originally

    designed it, but the scenario was also solved more than once

    with varied amounts of assets.

    The rst application of TS3P was against a scenario with

    sucient renewable and non-renewable assets planned. This

    was done to obtain a baseline case to see how the solutions

    would be aected by varying the quantities of each asset,

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    14/16

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

    Table 6

    Solution time statistics

    Initial solution TS3P

    (1000 iterations)

    10 Jobsa

    Min 0.02 10.4Max 0.03 14.9

    Mean 0.027 11.53

    St. deviation 0.00483 1.360596

    95% conf. int. (0.024, 0.029) (10.686, 12.373)

    30 Jobsa

    Min 0.08 27

    Max 0.12 36.8

    Mean 0.0983 31.65

    St. deviation 0.0204 3.475

    95% conf. int. (0.082, 0.115) (28.869, 34.431)

    60 Jobsa

    Min 0.26 110.2Max 0.861 137.4

    Mean 0.429 118.2

    St. deviation 0.268 12.2727

    95% conf. int. (0.214, 0.643) (108.38, 128.02)

    90 Jobsa

    Min 0.541 227.9

    Max 1.642 264.3

    Mean 1.0934 250.338

    St. deviation 0.594 15.667

    95% conf. int. (0.270, 1.917) (234.984, 265.691)

    a

    As there was no statistical dierence between the mean solutiontimes of relaxed vs. fully constrained problems within a job size,

    the statistics are pooled for each job size.

    in turn. Table 7 shows that tightening the non-renewable

    resource constraint had little impact on the solution, while

    tightening the renewable resource constraint had a consid-

    erable impact on the solution. Interestingly, TS3P was

    unable to improve the initial solution for the non-resource

    constrained problem instance.

    The levels of both types of resources were then set at

    the threshold. TS3P was applied to the scenario at thislevel and then at resource levels of 95%, 90%, 85%, and

    80% of the threshold level of the non-renewable resource.

    At the 95% level, and each subsequent level, tasks were

    uncovered, but in each case, TS3P was able to improve the

    initial heuristic solution.

    Two re-planning scenarios were run, one with the attrition

    of four pieces of equipment from the rst work crew, and the

    other with an entire crew unavailable. Recall that the fourth

    goal in TSAR is to minimize the impact of any changes in

    the overall plan. In both cases TSAR was able to reduce the

    number of jobs re-planned vs. the solution obtained by the

    initial solution heuristic. Results are summarized in Table 7.

    TSACP-Time per 1000 Iterations

    S

    econds

    0

    50

    100

    150

    200

    250

    300

    10 Job 30 Job 60 Job 90 Job

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

    0

    0.2

    0.4

    0.6

    0.8

    1

    1.2

    10 Job 30 Job 60 Job 90 Job

    Secon

    ds

    Solution Times for Initial Heuristic

    Fig. 8. Graph of solution time for initial heuristic.

    9. Conclusions and recommendations

    Several important contributions were provided through

    this research. The rst contribution is a fast heuristic ap-

    proach for the project planning problem incorporating

    activity priority classications and generalized precedence

    constraints, as well as specialized machine and least ex-

    ible activity. The initial solution heuristic developed here

    considers an array of schedule attributes. This heuristic, as

    well as the tabu search, reads from a database so as to more

    closely replicate conditions in an operational environment.

    Options allow specic jobs to be frozen and priority

    classes of activities to be considered.

    While the initial solution heuristic was designed to pro-

    vide the tabu search with a good starting solution, as a

    stand-alone application the initial solution heuristic workswell. Indeed, the quality of the solutions obtained by the ini-

    tial solution heuristic was such that, on several of the test

    problems, the tabu search was unable to improve upon its

    starting solutions. The initial solution heuristic found the op-

    timal solution for two of the test problems. Moreover, this

    heuristic works very quickly, obtaining good solutions in a

    fraction of a second for the smaller problems (up to job size

    60) and in less than two seconds for the larger problems,

    including the case study.

    Another contribution of this research is the construction

    of a tabu search that operates on a goal programming for-

    mulation of the planning problem. The tabu search yielded

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    15/16

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

    Table 7

    Results of applying TS3P to the planning scenario

    Renewable Non-renewable Method Times Goal one Goal two Goal three Goal four Goal ve

    (S) deviation deviation deviation deviation deviation

    Innite Innite (Makespan)Initial solution 1.70 0 0 0 NA 389

    TS 1000 iters. 152.05 0 0 0 NA 389

    Innite 330

    Initial solution 1.64 0 0 0 NA 471

    TS 1000 iters. 145.62 0 0 0 NA 389

    120 Innite

    Initial solution 1.69 0 0 0 NA 728

    TS 1000 iters. 139.73 0 0 0 NA 648

    Threshold

    120 330

    Initial solution 1.77 0 0 0 NA 748

    TS 1000 iters. 179.6 0 0 0 NA 677

    120 314

    Initial solution 1.61 0 1 1 NA 635

    TS 1000 iters. 180.47 0 0 4 NA 568

    120 298

    Initial solution 1.54 0 4 2 NA 687

    TS 1000 iters. 197 0 3 0 NA 593

    120 282

    Initial solution 1.51 0 5 2 NA 670

    TS 1000 iters. 203.25 0 3 3 NA 552

    120 266

    Initial solution 1.48 0 7 4 NA 666

    TS 1000 iters. 211.1 0 5 4 NA 518

    Re-plan Loss of 4 machines from rst unit116 324

    Initial solution 1.98 0 0 1 10 748

    One unit TS 1000 iters. 184.5 0 0 0 6 736

    Lost

    84 250

    Initial solution 1.76 0 0 10 50 755

    TS 1000 iters. 204.52 0 0 10 40 735

    good solutions with consideration to task priority classica-

    tion, and generalized precedence relationships. A list of the

    best k solutions oers options for planners to use during theplanning process. The tabu search worked quickly, even on

    the larger test problems and the case study, therefore demon-

    strating its potential to operate within a planning tool.

    The methods developed in this study were applied to the

    problem of re-planning. In many situations, a great deal of

    time, money, and personnel hours is spent up front gener-

    ating a comprehensive plan of operation. Should the plan

    break down due to unforeseen circumstances, planners fre-

    quently have no option but to cobble together an ad hoc x,

    especially when time is a critical factor. These quick xes

    to the overall plan may mean extensive re-planning by the

    managers of the individual jobs and tasks. By using TSAR,

    planners can generate new solutions with regard to the cur-

    rent situation while attempting to minimize the impact of

    changes throughout the system.

    References

    [1] Pinedo, Michael. Scheduling theory, algorithms, and systems.

    New Jersey: Prentice-Hall, 1995.

    [2] Shtub A, Bard J, Globerson S. Project management

    engineering, technology, and implementation. New Jersey:

    Prentice-Hall, 1994. p. 1321.

    [3] Pritsker A, Watters L, Wolfe P. Multi-project scheduling

    with limited resources: a zero-one programming approach.

    Management Science 1969;16(1):93108.

  • 7/28/2019 Planning and Replanning in Project and Production Scheduling

    16/16

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

    [4] Kolisch R, Sprecher A, Drexl A. Characterization and

    generation of a general class of resource-constrained project

    scheduling problems. Manuskripte aus den Instituten fur

    Betriebswirtschaftslehere, No. 301, University of Kiel,

    Germany, December 1992.

    [5] Boctor FF. A new and ecient heuristic for scheduling

    projects with resource restrictions and multiple execution

    modes. European Journal of Operational Research

    1996;90(2):34961.

    [6] Sprecher A. Resource-constrained project scheduling: exact

    methods for the multi-mode case. Berlin: Springer, 1994.

    [7] Sprecher A, Kolisch R, Drexl A. Semi-active, active, and

    non-delay schedules for the resource-constrained project

    scheduling problem. European Journal of Operational

    Research 1995;80:94102.

    [8] Van Hove JC. An integer program decomposition approach

    to combat planning. Dissertation, Air Force Institute of

    Technology, Wright-Patterson Air Force Base, OH, October

    1998.

    [9] Van Hove JC. Personal E-mail. Air Force Logistics

    Management Agency, USAF, Maxwell AFB, Gunter Annex,16 March 2000.

    [10] Glover F. Tabu search: a tutorial. Interfaces 1990;20(4):

    7494.

    [11] Glover F, Laguna M. Tabu search, In: Colin R. Reeves (Ed.),

    Modern heuristic techniques for combinatorial problems. New

    York, Wiley, 1993 (Chapter 3).

    [12] Nowicki E, Smutnicki C. A fast taboo search algorithm for the

    job shop problem. Management Science 1996;42(6):797813.

    [13] Kolisch R, Sprecher A, Drexl A. Characterization and

    generation of a general class of resource-constrained project

    scheduling problems. Management Science 1995;41(11):

    1693703.

    [14] Barr RS, Golden BL, Kelly JP, Resende MGC, Stewart WR,

    Jr. Designing and reporting on computational experiments

    with heuristic methods. Journal of Heuristics 1995;1(1):

    932.

    Further reading

    [15] Deckro, Richard, John Hebert. Polynomial goal programming:

    a procedure for modeling preference trade-os. Journal of

    Operations Management 1988;7(4):149 64.

    [16] DellAmico M, Trubian M. Applying tabu search to the

    job-shop scheduling problem. Annals of Operations Research

    1993;41:23152.

    [17] Glover F, Laguna M. Tabu search. Boston: Kluwer Academic

    Publishers, 1997.

    [18] Koewler, David A. An approach for tasking allocated combatresources to targets. Thesis, Air Force Institute of Technology,

    Wright-Patterson Air Force Base, OH, March 1999.

    [19] Laguna M, Barnes J, Glover F. Scheduling jobs with linear

    delay penalties and sequence dependent setup costs using

    tabu search. Research report, Department of Mechanical

    Engineering, University of Texas-Austin, April 1989.