Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

download Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

of 52

Transcript of Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    1/52

    A Simulation-Based Approach

    to Job Shop Scheduling

    Shawn Bray

    A thesis submitted in partial fulfillmentof the requirements for the degree of

    BACHELOR OF APPLIED SCIENCE

    Supervisor: D. Frances

    Department of Mechanical and Industrial Engineering

    University of Toronto

    March 2007

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    2/52

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    Abstract

    The job shop scheduling problem (JSSP) is a complex optimization problem that isencountered in a variety of manufacturing environments. Many heuristic solution

    techniques have been developed for abstract instances of the JSSP, but practitionersoften lack the means to apply these techniques to their particular scheduling activities.A simulation-based, object-oriented model is proposed as a platform for applying

    scheduling heuristics to real world instances of the JSSP.

    After a discussion of JSSP solution techniques which highlights the barriers to

    practical implementation, a detailed design of the simulation-based model is

    presented. The efficiency of the design is verified by demonstrating that the model

    can accommodate a wide variety of different job shop configurations through arelatively small set of external parameters. Finally, plans for future work are

    established by describing the progress of a software implementation of the model, and

    the role of this software implementation in the context of a broader concept: thesimulation-based approach to job shop scheduling.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    3/52

    i

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    Acknowledgements

    Many thanks are extended to Kieran Concannon and Kim Hindle of Visual8

    Corporation, who sponsored this thesis project and provided valuable advice and

    technical support.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    4/52

    ii

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    Table of Contents

    1. Introduction 1

    2. The Job Shop Scheduling Problem 2

    3. Heuristic Scheduling Techniques 4

    4. Applications of Job Shop Simulation 7

    5. System Requirements 9

    5.1 Flexibility 9

    5.1.1 Mandatory Characteristics of the Application Domain 10

    5.1.2 Optional Characteristics of the Application Domain 13

    5.1.3 Characteristics Omitted from the Application Domain 15

    5.2 Efficiency 17

    6. System Design 18

    6.1 Use Case Diagram 19

    6.2 SBS Static Structure Diagram 19

    6.3 ProductionModel Static Structure Diagram 22

    6.4 SchedulingModel Static Structure Diagram 24

    6.5 Resource Statechart Diagram 27

    6.6 assignJobs() Sequence Diagram 28

    6.7 selectnextBatch() Sequence Diagram 29

    7. Design Validation 30

    8. Software Implementation 31

    9. Future Work 33

    10. Conclusion 34

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    5/52

    iii

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    List of Figures

    1. Assembly Line with Sample Production Planning Calculation 36

    2. Job Shop with Sample Production Planning Calculation 36

    3. Simulation-Based Scheduling System (SBS) Use Case Diagram 37

    4. Simulation-Based Scheduling System (SBS) Static Structure Diagram 38

    5. ProductionModel Static Structure Diagram 39

    6. SchedulingModel Static Structure Diagram 40

    7. Resource Statechart Diagram 41

    8. assignJobs() Sequence Diagram 42

    9. selectNextBatch() Sequence Diagram 43

    10. Screenshot of SIMUL8-Planner Software Implementation 44

    11. Production Model Components 44

    List of Tables

    1.Mapping of Application Domain Characteristics to Simulation-Based

    Scheduling System Classes, Attributes and Functions 45

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    6/52

    1

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    1. Introduction

    This report describes the design of a simulation-based, object-oriented model that

    enables a comprehensive definition of the job shop scheduling problem (JSSP). This

    model serves as the foundation of a simulation-based approach to job shop

    scheduling, which is also described in this report. Ultimately, this report aims to

    demonstrate that simulation-based scheduling (SBS) is both a practical and effective

    method for managing real world instances of the JSSP.

    The JSSP is an optimization problem that is encountered by manufacturers in

    virtually every industry. Like any scheduling problem, the essence of the JSSP is to

    determine how to best allocate available resources in this case, the operating time of

    a set of workstations in order to complete all required work as quickly as possible.

    In simple manufacturing configurations, such as the single-product assembly line

    depicted in figure 1 on page 36, scheduling can be as simple as determining the rate at

    which production must take place at each workstation in order to complete the

    required number of finished goods. A job shop, however, is a more complex

    configuration in which the same set of workstations are used to produce multiple

    product types, each potentially requiring a different sequence of manufacturing steps,

    as depicted in figure 2 on page 36. This heterogeneous production environment can

    create highly complex scheduling situations, to the extent that it can prove difficult to

    even define the scheduling problem, let alone solve it [5]. The success of any solution

    technique for the JSSP therefore depends on an efficient framework that is capable of

    managing all constraints and decision variables.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    7/52

    2

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    In addition to its high degree of complexity, job shop scheduling is also a highly time-

    constrained activity; schedules must be generated on-demand in order to respond to

    constantly changing conditions, such as the arrival of a new production order or an

    unexpected machine breakdown. For this reason, the most successful approaches to

    job shop scheduling in practice are those that apply effective heuristics in order to

    quickly obtain good (but not necessarily optimal) schedules [14].

    To overcome these challenges of the JSSP, a simulation-based scheduling (SBS)

    method is proposed. Discrete-event simulation is a highly effective tool for modeling

    complex systems, understanding their behavior over time, and discovering the impact

    of changes to their configuration. SBS leverages these strengths to provide an

    efficient framework for JSSP representation, and to support iterative refinement of

    schedules through rapid schedule generation.

    2. The Job Shop Scheduling Problem

    The classic definition of a job shop, as described by Pinedo [14], can be

    summarized by 9 characteristics, listed below as C1-C9. Ad hoc notation has been

    provided where appropriate to help clarify the meaning of each characteristic.

    C1. There are m>0resources raavailable, represented by the set R={r1,r2,r3,,rm}.

    C2. There are n>0jobs jato perform, represented by the set J={j1,j2,j3,,jn}.

    C3. Each job ja consists of a set of pa > 0 operations oa,b, represented by the set

    Oa={oa,1,oa,2,oa,3,,oa,pa}.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    8/52

    3

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    C4. Each operation oa,bhas an unknown start time sa,b > 0, an unknown end time

    fa,b > 0, and a known duration ta,b > 0.

    C5. Each operation is performed by a resource. A tuple (oa,b , rc) is defined for

    each operation, denoting that operation oa,bis performed by resource rc.

    C6. A resource can only perform 1 operation at a time.

    C7. When a resource starts an operation, it must be performed for the full duration

    without interruption: fa,b =sa,b + ta,b.

    C8. Operation oa,b+1 cannot be started until operation oa,bis completed: sa,b fa,b+1.

    C9. No 2 operations of a single job are performed by the same resource:

    (oa,b, rc) (oa,e,rf) (be) (cf).

    Based on this definition, the objective of the JSSP is to determine the start time sa,bof

    each operation oa,bsuch that the makespan is minimized. The makespan is defined as

    the total time elapsed from the start of the first job to the end of the last job,

    max(fa,b) min(sa,b) [11]. This basic objective will henceforth be referred to as the

    sequencing problem.

    The 4 most common extensions to the JSSP (E1-E4) include:

    E1. Preemption, which permits operations to be interrupted by other operations

    and resumed later. This extension eliminates C7 from the JSSP definition.

    E2. Recirculation, which permits each job to include operations that require the

    same resource. This extension eliminates C9 from the JSSP definition.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    9/52

    4

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    E3. The flexible JSSP, in which some or all operations can be performed by any

    one of several resources (usually representing a job shop with parallel lines)

    [6]. This extension modifies C5 of the JSSP definition to allow multiple tuples

    (oa,b , rc) to exist for each operation. Any feasible solution to the JSSP would

    have to satisfy exactly 1 of these tuples for each operation.

    E4. Job-specific due dates, da > 0. This extension is unique because it entails a

    change to the objective function as opposed to a change to the constraints. An

    example of an appropriate scheduling objective under this extension is to

    minimize the average lateness of jobs [17]:

    n

    Za a=1 ____ ,

    where Za = fa,pa da if fa,pa> da

    n = 0 otherwise.

    Many other practical extensions of the JSSP can be conceived. For example,

    manufacturing processes commonly involve machines that can process batches of

    jobs simultaneously, such as curing ovens. However, academic research on the

    subject of job shop scheduling has focused mainly on the abstract cases listed above,

    since even these relatively simple cases are mathematically intractable [16]. There is

    therefore both a need and an opportunity to develop efficient solution techniques for

    more complex (i.e. realistic) manufacturing systems.

    3. Heuristic Scheduling Techniques

    Due to their complexity, most forms of the JSSP are formally classified as NP-hard

    problems [16]. The major implication of this classification is that there is no known

    solution technique that is guaranteed to obtain an optimal schedule, other than

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    10/52

    5

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    searching through all possibilities. However, an exhaustive search is almost always

    impractical given the vast number of permutations for even relatively small JSSPs.

    Consequently, researchers have focused their efforts on developing heuristic

    techniques that aim to construct the best possible schedule in a limited amount of

    time.

    The heuristic that has received the most attention in academic research is the dispatch

    method, which involves prioritizing the work to be performed by each machine

    according to a rule of thumb. Examples of dispatching rules are the shortest-

    processing-time-first (SPT) rule and earliest-due-date-first (EDD) rule; Blackstone,

    Phillips, and Hogg [3] provide a thorough survey of other common dispatch rules.

    The primary strength of the dispatch method is that it is a highly economical approach

    to scheduling, usually providing an acceptable tradeoff between schedule quality and

    computational effort. Computational efficiency has proven especially important for

    scheduling problems in industries with very complex production sequences, such as

    semiconductor wafer fabrication. Hung and Chen [10] present a study in which

    dispatching rules were successfully employed to reduce the average completion time

    of a semiconductor wafer fabrication process. This study also observes that the choice

    of dispatching rule had a significant impact on the quality of the resulting schedule,

    and that different dispatching rules were most effective for different scheduling

    objectives. These observations are not unique to the semiconductor industry; in fact, a

    great deal of research has been performed in an effort to develop policies for selecting

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    11/52

    6

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    the best dispatch rule in different operating conditions or to achieve specific

    scheduling objectives.

    Researchers have made some progress in establishing general guidelines for dispatch

    rule selection. For example, the consensus is that dispatching rules based on

    processing times (such as the SPT rule) tend to be the most effective in congested

    systems, while rules involving due dates (such as the EDD rule) tend to be the most

    effective in systems with little congestion [9]. However, no single dispatch rule can

    be expected to perform well for all possible instances of the JSSP. Complex system

    interdependencies and multiple schedule criteria benefit from more sophisticated

    implementations of the dispatch heuristic. Perhaps the most obvious extension is to

    apply different dispatch rules at different workstations. Barman [2] uses this approach

    on a 3-machine scheduling problem, and achieves better results with certain

    combinations of rules than with any single dispatch rule. A generalization of the

    mixed-rule approach is the concept of a composite dispatch rule. Composite rules are

    simply functions (for example, a weighted sum) of 2 or more individual dispatch

    rules. The rationale behind composite rules is that they should be able to better

    balance multiple scheduling criteria by combining the strengths of several simpler

    dispatching rules. Recent studies by Jayamohan and Rajendran [11] and John and

    Xiaoming [12] have successfully employed composite dispatching rules to improve

    job shop scheduling performance compared to standard dispatch methods. In addition,

    these studies demonstrate that composite rule development is a generalized form of

    policy development for dispatch rule selection.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    12/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    13/52

    8

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    indeed, all of the studies discussed to so far [2,8,9,10,11,12] employed discrete-event

    simulation, some with and some without elements of uncertainty, in order to evaluate

    the performance of their scheduling heuristics.

    A simulation-based study typically follows an iterative process in which a model of

    the system of interest is used to answer a series of what if? questions, which take

    the form of simulation scenarios. In the aforementioned JSSP studies, the what

    if? questions have been of the form what if dispatch rule X is used to schedule

    work in the job shop?. However, other researchers have taken the simulation-based

    approach one step further, by integrating a simulation component into their solution

    algorithm. Toncich [20] presents the CHESS algorithm, which uses a series of brief

    simulation look-aheads to predict the future impact of scheduling a particular

    operation next. This approach can be viewed as an advanced application of the

    dispatch heuristic, in which the dispatching rule is to schedule the operation that will

    cause the fewest future resource conflicts (as predicted by the look-ahead

    simulations). The experimental results of Toncichs study offer makespan

    performance improvements of over 20 percent as opposed to fixed heuristic

    algorithms. Sun, Li, and Xiong [18] present a similar, simulation-based approach to

    job shop scheduling, but introduce global feedback loops in addition to the local

    feedback loops used by CHESS. The global feedback loop acts as a high-level

    supervisory element for the local dispatch mechanisms, by monitoring scheduling

    performance and dynamically adjusting local dispatch parameters. The researchers

    note that this approach offers the advantage of avoiding subjectivity in dispatch rule

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    14/52

    9

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    selection, since the feedback mechanism is purely performance-driven. This approach

    is also found to be highly successful, offering clear superior performance to a

    variety of other heuristics in terms of both work flow and due date conformance. An

    interesting observation is that both Toncich [20] and Sun et al. [18] explicitly claim to

    be motivated by the need for more practical scheduling strategies, but neither

    provides a sufficiently generalized job shop model to support this effort. The logical

    next step is therefore to adapt the most promising, simulation-based scheduling

    techniques to a more comprehensive job shop model.

    5. System Requirements

    Based on the analysis presented above, there is an outstanding need for an approach

    to job shop scheduling that satisfies 2 fundamental requirements:

    Flexibility: The approach must provide the means to represent and generate

    feasible solutions for as many variations of the JSSP as possible.

    Efficiency: The approach must provide the means to generate feasible solutions

    for all supported variations of the JSSP within a matter of minutes.

    The next 2 sections of the report (5.1 and 5.2) explain the meaning of and rationale

    behind these requirements in more detail.

    5.1 Flexibility

    Above all else, SBS seeks to provide maximum modeling flexibility, to ensure

    maximum applicability to real-world manufacturing environments. The flexibility

    of any model should be defined in terms of the system of interest, or as it is

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    15/52

    10

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    commonly referred to in software engineering, the application domain [4]. A model

    could be said to have maximum flexibility if it can represent all possible instances of

    the application domain. For the purposes of this project, the application domain is an

    extension of the classic JSSP defined in section 2 of this report; its characteristics

    are outlined in sections 5.1.1-5.1.3 below.

    5.1.1 Mandatory Characteristics of the Application Domain

    There are 15 characteristics, labeled M1-M15, common to all possible instances of

    the application domain. This set of characteristics is therefore the minimum set

    required to describe the simplest JSSP scenario of interest. Included in this set are 7

    of the characteristics from the classic JSSP definition and its common extensions

    presented in section 2 of the report; these are included in parenthesis in the

    description of the corresponding M characteristic.

    M1. (C1) There are m>0 resources ra available, represented by the set

    R = {r1, r2, r3, , rm}.

    M2. (C2) There are n > 0 jobs ja to perform, represented by the set

    J = {j1, j2, j3, , jn}.

    M3. (C3) Each job jaconsists of a set of pa > 0 root operations oa,b, represented by

    the set Oa={oa,1, oa,2, oa,3, , oa,pa}.

    M4. Each job rahas a corresponding quantity qa> 0.

    M5. There are u > 0 material units xa available, represented by the set

    X = {x1, x2, x3, , xu}.

    M6. Each material unit xahas a corresponding size za> 0.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    16/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    17/52

    12

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    M15. There is a limit to the number of material units that can be in progress in the

    job shop at once. This is primarily intended to represent physical space

    constraints in the job shop, but could also be used to represent more complex

    constraints such as the availability of material handling equipment (assembly

    fixtures, containers, etc.).

    The scheduling objective for this minimal description of the application domain can

    be broken down into 2 sub-objectives. The first of these sub-objectives is an

    assignment problem between jobs and material units; more specifically, the Ib,a sets

    (as defined by M7) must be constructed to maximize the number of jobs that are fully

    allocated, where fully allocated is defined by the following inequality:

    za qba

    b,a

    This sub-objective will henceforth be referred to as the assignment problem.

    The second sub-objective is functionally equivalent to the sequencing problem

    defined in section 2: to determine the start time sa,b,cof each operation oa,b,csuch that

    the makespan, max(fa,b,c) min(sa,b,c), is minimized.

    Besides the expanded set of objectives, there are 4 key differences to note between

    the application domain presented in this section and the classic JSSP presented in

    section 2:

    The concept of a material unit (M5-M8) is introduced as a vehicle for job

    fulfillment.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    18/52

    13

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    Flexible routing (M9) is allowed by default.

    M10 replaces C6, giving resources the potential to perform multiple operations

    simultaneously.

    C9 has been omitted, which implies that recirculation is allowed by default.

    5.1.2 Optional Characteristics of the Application Domain

    The 8 optional characteristics listed below (O1-O8), when combined with the

    mandatory characteristics presented in section 5.1.1 (M1-M15), define the full range

    of JSSP configurations to be considered. As in section 5.1.1, equivalent

    characteristics from section 2 are indicated in parenthesis. Also note that since many

    of these characteristics are inherently more complex than any of the mandatory

    characteristics, ad hoc notation has been omitted for some characteristics in favor of

    more thorough text descriptions.

    O1. (E4) Each job jais assigned its own due date da.

    O2. A material unit can be assigned to multiple jobs until it has been completely

    assigned (i.e. the sum of the job quantities assigned to the material unit are

    equal to its size). All jobs assigned to a particular material unit must have

    compatible properties and operations, where the definition of compatible

    varies with the particular scenario.

    O3. Before starting an operation, resources incur an additional delay referred to as

    a changeover. The duration of a changeover and the conditions under which

    it are incurred may be resource-specific (for example, a resource may require

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    19/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    20/52

    15

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    operations initially in progress at each resource (if any), and the initial

    utilization of all sub-resources.

    Of the 8 optional characteristics presented above, only O1 (job-specific due dates)

    and O2 (multiple job assignments) affect the form of the scheduling objective

    presented in section 5.1.1; the other 6 optional characteristics can be interpreted as

    constraints.

    With O1 in effect, the sequencing problem must be expanded to account for job-

    specific due dates in addition to makespan minimization. This new sub-objective

    could potentially take several forms, provided it is based on a function of the job due

    dates. As suggested in section 2, an example of such an objective is to minimize the

    average lateness of the jobs. Other appropriate approaches include minimizing the

    lateness of the latest job, minimizing the total number of late jobs, or a weighted

    combination of these objectives.

    With O2 in effect, the sequencing problemmust be further modified to account for

    the possibility of multiple due dates associated with the same material unit, due to the

    possibility of multiple job assignments. This suggests further application of a

    weighted combination approach to performance measurement.

    5.1.3 Characteristics Omitted from the Application Domain

    While sections 5.1.1 and 5.1.2 provide a thorough description of the application

    domain, it is also important to note what JSSP scenarios have not been accounted for

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    21/52

    16

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    and why. This section explains the rationale behind the 2 most relevant omissions,

    and suggests alternative strategies to help manage these scenarios.

    The most notable omission is that of preemption, or the ability of a resource to

    complete operations in a piecemeal fashion. During the design phase, it was decided

    that the increase in computational complexity required to fully integrate this option

    was not justified. In addition, Queyranne and Sviridenko have shown that the

    preemptive scenario can be successfully approximated by dividing operations into

    multiple, shorter operations [15]. Section 6.3 of the design description will explain

    how such an approximation can be accommodated.

    The other notable omission from the application domain is the concept of a bill of

    materials (BOM). BOM-driven production planning, in which aggregate material and

    production requirements are derived from customer orders by tracing backwards

    through the appropriate BOM hierarchies, is a common practice in industry [19].

    Support for hierarchical, BOM-driven scheduling within a single SBS model is an

    appealing possibility, but as for the preemption scenario, it was determined that the

    subsequent increase in modeling complexity was not justified. In addition to

    increased modeling complexity, the presence of subassemblies necessitates additional

    coordination of assembly operations, which further increases scheduling complexity.

    To overcome the inherent complexities of BOM management, a more practical

    divide and conquer approach to BOM-driven scheduling will be suggested in

    section 9.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    22/52

    17

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    5.2 Efficiency

    After flexibility, one the most important tenets of SBS is that schedule generation

    should be very fast in the range of a few minutes. This allows the scheduler to

    respond quickly to a change in operating conditions, such as an unexpected machine

    breakdown. Another approach to coping with uncertainty is to maximize schedule

    robustness, or the ease with which a schedule can be altered in order to account for

    unexpected events. Schedule robustness can be pursued in a variety of ways,

    including the 3 listed below.

    1. Worst-case scenario scheduling, which at least guarantees a feasible schedule and

    minimal disruption to the actual production sequence.

    2. Probabilistic job shop models, which incorporate measurements such as resource

    reliability and operating time variability into the scheduling procedure. This

    approach is based on the philosophy of expected values, and therefore seeks to

    achieve the optimal long-term tradeoff between schedule performance and the risk

    of selecting a schedule that is later discovered to be infeasible [7].

    3. Multiple-scenario scheduling, which attempts to provide the decision maker with

    multiple sequencing options for different points in time. To achieve this, a number

    of schedules are generated by applying different permutations of operating

    conditions. Areas of compatibility between schedules are then identified, resulting

    in a network of schedules that can account for different possibilities. The

    scheduler can then consult this network to identify different scheduling options

    whenever new operating conditions are encountered. This can be a highly

    effective but computationally expensive approach to robustness, since its

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    23/52

    18

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    effectiveness is heavily dependent on the number of different schedules that are

    generated [1].

    It is proposed that SBSs emphasis on responsiveness via rapid schedule generation

    could also facilitate a robustness strategy similar in approach to strategy #3. In fact,

    the automated iterative schedule refinement extension discussed in section 9 would

    provide most of the required framework, with only minor additions required to

    support rapid recall of archived schedules.

    6. System Design

    Having defined the application domain, the next step taken in this thesis project was

    to document the solution domain (i.e. the SBS approach) using Unified Modeling

    Language (UML) [21]. UML offers a highly structured approach to systems

    modeling, and is a recognized standard for software engineering projects. However it

    is still highly accessible to non-experts due to its intuitive graphical format.

    Moreover, documenting the SBS approach with UML provides a concrete plan for a

    practical software implementation (described in section 8 of the report). The design of

    SBS will now be explained through a description of 7 UML diagrams (figures 3-9 on

    pages 37 to 43). This explanation will be followed by a validation of the design in

    section 7 of the report.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    24/52

    19

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    6.1 Use Case Diagram

    Figure 3 on page 37 presents a UML use case diagram for SBS. Use case diagrams

    outline the functional requirements of a system from the perspective of the user. 3

    primary use cases have been identified for SBS: UpdateModel, Schedule, and

    Monitor. The intent of UpdateModelandScheduleare no doubt obvious to the

    reader. Monitorrepresents the process of comparing the progress and performance

    of the generated schedule to the actual state of affairs in the facility. Whenever a

    {schedulediscrepancy}is encountered for example, an unexpected machine

    breakdown occurs, or production is simply not proceeding as quickly as anticipated

    a new Scheduleactivity is triggered in order to obtain an updated schedule.

    The value of the use case diagram is that it forces the system designer to generalize

    specific user activities into functional requirements, and subsequently provides clues

    for the required structure of the systems components. For example, the

    DefineObjectiveuse case represents the requirement for the user to have certain

    influences on the scheduling algorithm, such as being able to prioritize individual

    orders or specifying a maximum allowable work-in-progress level. Section 6.2 below

    provides a description of the use cases addressed by each subsystem.

    6.2 SBS Static Structure Diagram

    Figure 4 on page 38 presents a static structure diagram for the entire SBS system.

    Static structure diagrams are used to describe the relationships between the objects (in

    the sense of object-oriented modeling) that a system is composed of. This static

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    25/52

    20

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    structure diagram is the highest-level view of SBS, identifying its 4 primary

    subsystems. The responsibilities of these 4 subsystems, with reference to the use

    cases described in section 6.1, are as follows:

    The Interfacesubsystem is a special case; since each use case represents an

    interaction between the user and the system, the Interfaceis involved in

    essentially all use cases to some extent. However, it is particularly important for

    the UpdateModel, BuildModel, EvaluateSchedule, and Monitoruse cases,

    since the success of these tasks is highly dependant on the user interface design.

    The ProductionModelsubsystem is an object-oriented representation of the

    production model described in section 5.1. It acts as the primary repository for

    application domain data. The use cases for which the ProductionModelis

    primarily responsible are UpdateModeland BuildModel.

    The SchedulingModelsubsystem stores the intelligence for all scheduling

    heuristics applied to the JSSP. This consists of the algorithms for the assignment

    problem and sequencing problemas well as the data used to prioritize the orders

    and material units considered by these algorithms. An alternative perspective is

    that the ProductionModelis the primary repository of problem constraint data,

    and the SchedulingModelis the primary repository of data related to the

    scheduling objectives. Use cases addressed by the SchedulingModelinclude

    DefineObjective,PrioritizeOrder,LimitWip,and CreateSchedule.

    The Simulatorsubsystem represents the discrete-event simulation engine that is

    the foundation for SBS. It facilitates an incremental approach to the completion of

    theCreateScheduleuse case by incorporating the notion of time into the main

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    26/52

    21

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    sequencing algorithm. This is achieved by way of a scheduling loop, as

    indicated on the static structure diagram. When the CreateScheduleuse case is

    initiated by the user, a scheduling loop begins in which the Simulatorupdates

    the state of the ProductionModelbased on its internal event list (i.e. the

    Simulatorsimulates the sequence of events that take place in the job shop).

    When a decision point is reached (in particular, the completion of an operation,

    triggering the selection of the next operation), the SchedulingModel is called to

    make the decision by running the main sequencing algorithm (described in section

    6.7). The decision is then communicated to the Simulator,which applies the

    decision to the ProductionModeland resumes the simulation of operations until

    another decision point is reached or the simulation reaches the end of the

    scheduling period.

    The ProductionModel andSchedulingModel subsystems have been designed to

    be platform-independent, making no assumptions about the simulation package to be

    employed for the software implementation of this design. As a consequence of this,

    detailed design descriptions for the Interfaceand Simulatorsubsystems are not

    necessary, since successful design of a generic ProductionModel and

    SchedulingModel will ensure that any compatible user interface technology and

    discrete-event simulation engine can be employed. Thus the remainder of the design

    description (sections 6.3-6.7) will focus exclusively on the ProductionModel and

    SchedulingModel subsystems.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    27/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    28/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    29/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    30/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    31/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    32/52

    27

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    6.5 Resource Statechart Diagram

    The Resourceclass has been designed to accommodate a wide variety of potential

    configurations. Its capabilities are illustrated by a UML statechart diagram (figure 7

    on page 41), which documents the 6 possible states of a Resourceand the conditions

    for state transition.

    The initial state of a resource is defined by the initial conditions defined for the

    Downtimeand MaterialUnit objects. A Resourcecan therefore start the simulation

    in the Down state (i.e. performing Downtime) or in the Loading, Working or

    Unloading states (if the currentLocation attributeof at least 1 MaterialUnit

    references the Resource). If none of these initial conditions apply, the Resourcewill

    call selectNextBatch()from theSequencerclassof the SchedulingModelin an

    attempt to identify a Batch of MaterialUnit objects. Failing this, the Resource

    begins the simulation in the Idle state.

    A Resource remains in the Idle state until a new MaterialUnit becomes

    available, which triggers a new call to selectNextBatch(). Once the algorithm

    successfully identifies a feasible Batch, the Resource enters the Changeover state

    (optional) followed by the Loading (optional), Working, and Unloading

    (optional) states sequentially. When the Resource completes the Unloading

    process (or the Working process if no unload is required), selectNextBatch() is

    called again and the cycle is repeated.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    33/52

    28

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    A Resource enters the Down state whenever the earliestStartof its next

    Downtime is reached while the Resourceif Idle, or when the Resourcecompletes

    work and/or unloading within the starting interval (i.e. earliestStartto

    latestStart) of its next Downtime. As suggested in section 6.3, the

    selectNextBatch()sequencing algorithm must account for the next Downtime

    event scheduled for each Resourceto prevent the possibility of scheduling work that

    spans the entire start interval of the Downtime (i.e. latestStart earliestStart).

    These 6 states, combined with policies for issues such as batch sizes and changeover

    frequencies defined through the ProductionModel, account for every desired

    Resource scenario possible in the application domain; a more complete proof of this

    claim will be provided in section 7 of the report.

    6.6 assignJobs()Sequence Diagram

    The functionassignJobs()is the first of 2 scheduling algorithms implemented by

    the SchedulingModel. Its purpose is to generate Assignment objects, which relate

    Job objects to compatible MaterialUnit objects,until the quantity attribute of

    eachJobis satisfied. The sequence of logic required to achieve this is outlined by a

    UML sequence diagram (figure 8 on page 42).

    The assignJobs() function is the first major function invoked by the Scheduler

    when a new schedule()request is received from the user. The Assignerstarts by

    determining priority scores for all Jobobjects (as determined by calls to the

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    34/52

    29

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    PriorityCalculation object). Then the Assigneriterates through all Jobobjects

    in descending order of priority, and creates as many Assignmentobjects as necessary

    to fulfill the quantityof each Job. If no existing MaterialUnitcan satisfy an

    Assignment, RequiredMaterialobjects are created (as well as a Routeobject based

    on the ProductRouteassociated with the Job) to fulfill the Assignment.

    The assignJobs() function is only invoked once for each scheduling request from

    the user, as all required MaterialUnit objects are instantiated immediately even

    those that may be delayed from being sequenced due to the timeFence. This provides

    the selectNextBatch() function with the long-term visibility required to maximize

    the efficiency of sequencing, as discussed in section 6.7 below.

    6.7 selectNextBatch()Sequence Diagram

    Figure 9 on page 42 presents a sequence diagram for the selectNextBatch()

    function, which implements an algorithm to address the sequencing problem. As

    mentioned in section 6.5 during the description of the Resource statechart,

    selectNextBatch() is invoked every time a Resourcecompletes an Operationor

    receives a new MaterialUnitwhile idle. Once the Sequenceris notified of the idle

    Resource, it determines all permutations of MaterialUnit objects available to the

    Resource that can feasibly be processed (with respect to the minLoadand maxLoad

    attributes of the Resource, the value of the timeFence attribute, and any other

    relevant constraints). Once all of these permutations have been identified and

    instantiated as PotentialBatch objects, the next Downtime event for theResource

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    35/52

    30

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    is considered. If no PotentialBatchcan be completed before the next Downtime

    event must begin, the algorithm is delayed until the Downtime event has time to

    complete. Otherwise, the priority ranking of each PotentialBatch is determined via

    the PriorityCalculationobject, and the highest ranking PotentialBatch is

    marked for processing; this involves instantiating the PotentialBatch as aBatch

    and committing the sequencing decision by creating a SequencedEvent to be

    reported to the user as part of the generated schedule.

    Since all MaterialUnitobjects are instantiated at the beginning of the simulation,

    there is an opportunity to enhance this algorithm to also consider batches consisting

    of MaterialUnit objects that are not yet available for processing at a Resource

    (due either to the time fence or a MaterialUnitthat has not yet completed an earlier

    Operation). This would require the Sequencerto evaluate the tradeoff between

    immediately processing a low-priority group of MaterialUnitobjects and delaying

    processing for a short period in order to expedite processing of an upcoming, higher-

    priority group of MaterialUnitobjects.

    7. Design Validation

    To verify the completeness of the system designpresented in section 6, Table 1 on

    page 45 presents a complete mapping between the objects of the 2 SBS subsystems of

    interest (i.e. ProductionModeland SchedulingModel), and the list of mandatory and

    optional characteristics of the application domain presented in sections 5.1.1 and

    5.1.2. Table 1 shows that there is at least 1 object-oriented concept from the SBS

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    36/52

    31

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    system design to account for each of the analytical/descriptive characteristics of the

    application domain. This supports the claim that any JSSP scenario defined with the

    application domain model can also be defined with the SBS object-oriented model.

    Evaluating the other fundamental system requirement efficiency is best conducted

    by means of empirical testing of a software implementation of the SBS system. The

    progress in the ongoing development of an SBS software implementation is described

    in section 8 below.

    8. Software Implementation

    Upon completion of the system design, the most recent project work has focused on

    developing a practical software implementation of the SBS system. The SIMUL8

    software package was selected for this purpose. SIMUL8 was selected over other

    commercial simulation packages for the following reasons:

    SIMUL8 offers a self-contained simulation system development environment,

    with built-in data stores, a fully customizable user interface, and Visual Logic, a

    high-level proprietary programming language. These conveniences have allowed

    the implementation effort to remain focused on the ProductionModeland

    SchedulingModel, as no additional software infrastructure has been required to

    integrate the 4 major SBS subsystems outlined in section 6.2.

    SIMUL8 has recently released an extension to its standard program called

    SIMUL8-Planner. This extension provides additional features to assist developers

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    37/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    38/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    39/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    40/52

    35

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    A comprehensive list of modeling requirements was proposed, followed by a detailed

    design specification that was documented with the industry-standard Unified

    Modeling Language. The model completeness was validated by mapping each of the

    modeling requirements to components of the detailed design. The current state of the

    project is imminent completion of a software implementation of the system using the

    SIMUL8-Planner simulation software package.

    Upon completion of the SIMUL8-Planner software implementation, this ongoing

    development project will focus on identifying a practical test case to demonstrate the

    full range of the software's production modeling capabilities. By quickly generating

    feasible schedules for a complex test case, the simulation-based approach will

    demonstrate its ability to bridge the gap between industry requirements and academic

    research into the job shop scheduling problem.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    41/52

    36

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    11. Figures and Tables

    Figure 1. Assembly Line with Sample Production Planning Calculation

    Figure 2. Job Shop with Sample Production Planning Calculation

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    42/52

    37

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    SBS

    User

    BuildModelUpdateModel

    CreateSchedule

    DefineObjective

    EvaluateSchedule

    Schedule

    uses

    uses

    Monitor

    QueryOrder

    uses

    QueryProcess

    extends

    uses

    uses

    extends

    {schedule

    discrepancy}

    {initial

    development}

    LimitWIP

    PrioritizeOrder

    {WIP

    constraint}

    {urgent

    order}

    extends

    extends

    Simulation-Based Scheduling (SBS) System

    Use Case Diagram

    Figure 3. Simulation-Based Scheduling System (SBS) Use Case Diagram

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    43/52

    38

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    progressed-by

    progresses controlled-by

    controls

    populates

    populated-by

    queries queried-by

    Simulation-Based Scheduling (SBS) System

    Static Structure Diagram

    subsystem

    SchedulingModel

    subsystem

    Simulator

    subsystem

    ProductionModel

    subsystem

    Interface

    activates

    activated-by

    "Scheduling Loop"

    Figure 4. Simulation-Based Scheduling System (SBS) Static Structure Diagram

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    44/52

    39

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    Figure 5. ProductionModel Static Structure Diagram

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    45/52

    40

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    Figure 6. SchedulingModel Static Structure Diagram

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    46/52

    41

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    Figure 7. Resource Statechart Diagram

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    47/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    48/52

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    49/52

    44

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    Figure 10. Screenshot of SIMUL8-Planner Software Implementation

    Process Supervisor Source

    Queue Resource Exit

    Figure 11. Production Model Components

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    50/52

    45

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    Table 1. Mapping of Application Domain Characteristics to Simulation-Based

    Scheduling System Classes, Attributes and Functions

    Application Domain Simulation-Based Scheduling System

    M1. Resource Resource

    M2. Job Job, Product, JobClassification

    M3. OperationRootOperation, RootRoute, ProductRoute,

    MaterialRoute

    M4. Job quantity Job.quantity

    M5. Material Unit MaterialUnit

    M6. Material Unit Size MaterialUnit.size

    M7. Material Unit-to-Job Allocation Assignment, Assigner.assignJobs()

    M8. Material Unit Operation Inheritance Operation, Route

    M9. Resource-to-Operation Mapping Destination, Zone

    M10. Resource Batch Processing Resource.capacity, Batch, BatchContents

    M11. Operation Scheduling Operation.duration, SequencedEvent

    M12. No PreemptionScheduler.idleResource(Resource),

    Sequencer.selectnextBatch(Resource)

    M13. Operation PrecedenceOperation.sequence,

    MaterialUnit.currentOperation

    M14. Material Unit Travel Time TravelTime

    M15. Material Unit Work-in-Progress Limit MaterialUnit.currentLocation,Sequencer.materialLimit

    O1. Job-Specific Due Date Job.dueDate

    O2. Material-Unit-to-Job Multi-AllocationAssignment.quantity,

    MaterialUnit.updateStatus(Job)

    O3. Resource ChangeoverChangeover, Changeover.duration,

    Resource.changeover(duration)

    O4. Resource Batch Loading/Unloading

    Resource.minLoad, Resource.maxLoad,

    Resource.minUnload, Resource.maxUnload,

    Load, Unload

    O5. Resource Downtime Downtime, Resource.downtime(duration)

    O6. Sub-Resources SubResource

    O7. Time FenceSequencer.timeFence,

    Sequencer.getStatus(timeFence)

    O8. Initial Job Shop ConditionsExistingMaterial,

    MaterialUnit.currentLocation

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    51/52

    46

    A Simulation-Based Approach to Job Shop Scheduling Shawn Bray

    References

    [1] Artigues, C., Billaut, J. and Esswein, C., Maximization of solution flexibilityfor robust shop scheduling, European Journal of Operational Research, pp.

    314-328, 2005.

    [2] Barman, S., "Simple priority rule combinations: An approach to improve both

    flow time and tardiness," International Journal of Production Research, vol.

    35, pp. 2857-2870, 1997.

    [3] Blackstone, J. J. H., Phillips, D. T. and Hogg, G. L., A state-of-the-art

    survey of dispatching rules for manufacturing job shop operations,

    International Journal of Production Research, vol. 20, pp. 27-45, 1982.

    [4] Bruegge, B. and Dutoit, A., Object-oriented software engineering: using

    UML, patterns, and java (second edition). New Jersey: Prentice Hall, 2004.

    [5] Buxey, G. Production scheduling: Practice and theory, European Journal of

    Operation Research, vol. 39, pp. 1731, 1989.

    [6] Chan, F. T. S., Wong, T. C. and Chan, L. Y., Flexible job shop scheduling

    problem under resource constraints, International Journal of Production

    Research, vol. 44, pp. 2071-2089, 2006.

    [7] W. Herroelen, and R. Leus, Project scheduling under uncertainty, European

    Journal of Operational Research, pp. 289306, 2005.

    [8] Ho, N.B. and Tay, J. C., Evolving Dispatching Rules for solving the Flexible

    Job-Shop Problem, Proceedings of the IEEE Conference on EvolutionaryComputation (CEC 2005), vol. 3, pp. 2848 2855, Sept. 2nd 5th, 2005.

    [9] Holthaus, O. and Rajendran, C., Efficient rules for dispatching in a jobshop, International Journal of Production Economics, vol. 48, pp. 87-105,

    1997.

    [10] Hung, Y. and Chen, I., A simulation study of dispatch rules for reducing flowtimes in semiconductor wafer fabrication, Production Planning and

    Control,vol.9,pp.714-722,1998.

    [11] Jayamohan, M. S. and Rajendran, C., "Development and analysis of cost-based dispatching rules for job shop scheduling," European Journal of

    Operational Research, vol. 157, pp. 307-321, 2004.

    [12] John, J.K., and Xiaoming, L., "A weighted modified due date rule for

    sequencing to minimize weighted tardiness", Journal of Scheduling, vol. 7, pp.

    261-276, 2004.

  • 8/11/2019 Bray - A Simulation-Based Approach to Job Shop Scheduling - 2007

    52/52