Nilesh Sivaramakrishnan

advertisement
SCHEDULING AND
SCHEDULING PHILOSOPHIES
Nilesh Sivaramakrishnan
Master of science graduate student
Submitted in Partial Completion of the Requirements of
IEM 5303
Advanced Manufacturing Systems Design
Fall 1999
This paper was developed to assist students in partial fulfillment of course
requirements. No warranty of any kind is expressed or implied. Readers of this
document bear sole responsibility for verification of its contents and assume any/all
liability for any/all damage or loss resulting from its use.
Table of Contents
Scheduling and scheduling philosophies .......................................................................... 1
Introduction........................................................................................................................ 1
Definitions and Measures in scheduling .................................................................................. 1
Definitions................................................................................................................... 1
Measures ..................................................................................................................... 2
Classification of Production Scheduling .......................................................................... 4
Requirements Generation ........................................................................................................ 4
Open Shop ................................................................................................................... 4
Closed shop ................................................................................................................. 4
Processing Complexity .............................................................................................................. 4
One stage, one-processor problem .............................................................................. 5
One stage, parallel processor problem ........................................................................ 5
Multistage Problem ..................................................................................................... 5
Multistage, Flow shop problem .................................................................................. 5
Multistage, Job shop problem ..................................................................................... 5
Scheduling Criteria ................................................................................................................... 5
Requirements specification ...................................................................................................... 6
Scheduling Environment .......................................................................................................... 6
Scheduling within a manufacturing organization............................................................ 7
Classification of scheduling approaches ........................................................................... 9
Conventional or traditional scheduling approaches .............................................................. 9
Algorithmic solutions.................................................................................................. 9
Enumeration Methods ............................................................................................... 10
Scheduling heuristics ................................................................................................ 12
Discrete event simulation .......................................................................................... 14
Knowledge Based approach ................................................................................................... 15
Distributed problem solving approach.................................................................................. 15
Page i
Drawbacks of traditional approach ................................................................................. 16
Conclusion........................................................................................................................ 18
Bibliography ..................................................................................................................... 19
List of Figures
Figure 1 Information flow diagram in a manufacturing system [2] ............................... 7
Figure 2. Categories of scheduling Approaches [7] ......................................................... 9
Figure 3 Branch and Bound Method [5] ........................................................................ 11
Page ii
Abstract
Production scheduling is the allocation of available production resources to
best satisfy some criteria. The intent of this paper is to provide the basic definitions
and notations used in scheduling theory, it then describes the broad classification of
production scheduling and describes in brief the traditional approaches used to
solve scheduling problems through literature survey. This paper concludes by
describing the various drawbacks of traditional approaches and by highlighting the
necessary steps that need to be taken to bridge the gap between the theory and
practice of scheduling methods.
Page iii
SCHEDULING AND SCHEDULING PHILOSOPHIES
INTRODUCTION
Sequencing and scheduling are the forms of decision making which play a crucial
role in manufacturing as well as in service industries. In the current competitive
environment effective sequencing and scheduling have become a necessity for survival in
the market place [2].
Production scheduling concerns the efficient allocation of resources over time for the
manufacture of goods. Scheduling problems occur whenever a common set of resources –
labor, material, and equipment – must be used to make a variety of different products,
during the same period of time. The objective of scheduling is to find a way to assign and
sequence these shared resources such that the production constraints are satisfied and
production costs are minimized [1].
DEFINITIONS AND MEASURES IN SCHEDULING
Definitions
Scheduling
Morton and Pentico (1993)[3] define scheduling as
“ Scheduling is the process of organizing, choosing and timing resource usage to carry out all the
activities necessary to produce the desired outputs at desired times, while satisfying a large number of time
and relationship constraints among the activities and the resources.”
This definition implies that, if resources are not limited, a scheduling problem does
not exist [4].
Jobs
Jobs are the activities to be done. Some examples of jobs in a manufacturing
environment are, a part to be processed, a product waiting to be shipped etc. It is assumed
that each job has a known processing time. Unless otherwise stated, once work on a job
begins, it must be continuously processed until finished, preemption is not allowed. It
must have a due time or date by which it should be completed. A job may or may not
depend upon other jobs. It is assumed that if more then one machine must processes the
job, the job can only be processed by one machine at any given time [4].
Page 1
Machines
Machines process jobs. In a manufacturing environment machine might be an
automatic molding machine, drilling machine etc. The machine environment can be
broken down into single machine, parallel machine, flow shop, job shop and open shop
based on the number of machines and the sequence of processing [4].
Measures
The best schedule implies that a measure of performance. Maximizing profit and
minimizing cost are obvious measures, but it is difficult to estimate the financial
parameters that relate to schedule cost and profit [4].
Proxy objectives are used to approximate some relevant costs. The proxy measures
are functions of completion time in which the objective is to minimize the function, and
in which the function only increases if at least one completion time in the schedule
increases [4].
Notations
n = Number of jobs to process
m = Number of jobs to process
pik = the time to process job і on machine k (pi if m = 1)
ri = the release time (or release date) for job і
di = the due time or (or due date) for job і
wi = the weight (importance or value) of job і relative to other jobs
Given a particular schedule, the following are defined for job і [4]
Ci = the completion time for job і
Fi = Ci - ri, the flow time of job і (Fi > 0)
Li = Ci - di, the lateness of job і (Li < 0 denotes earliness)
Ti = Max {0, Li }, is the tardiness of job і
Ei = max {0, - Li }, the earliness of job і
δi = 1 if the job і is tardy (i.e., Ti > 0)
δi = 0 if job і is on time or early (i.e., Ti = 0)
Cmax = Maxi=1,n {Ci}, the maximum completion time of all jobs or is the make span
Page 2
Lmax = Maxi=1,n {Li}, the maximum lateness of all the jobs
Tmax = Maxi=1,n {Ti}, the maximum tardiness of all the jobs
Assumptions made for most scheduling problems [4]:

Data are known with certainty

Set-up times are independent of order of processing

All jobs are immediately available

No precedence exists between jobs

Once a job starts processing, it cannot be interrupted
Formal mathematical notations have been developed to classify scheduling problems
[5], the notation consists of four parameters [5]:
n|m|A|B where:
1. n is the number of jobs
2. m is the number of machines
3. A describes the flow pattern or discipline within the factory, i.e.:
a. F for flow shop case which assumes that all tasks are to be processed on
the same set of machines with an identical ordering of the processing steps
b. P for the permutation flow-shop case. Here the search for a schedule is
restricted to the case where the job order is the same for each machine
c. G is the general job-shop case where there are no restrictions on the
processing steps for each task
d. When there is only one machine, A is left blank
4. B describes the performance measure by which the schedule is to be evaluated
Page 3
CLASSIFICATION OF PRODUCTION SCHEDULING
Numerous schemes have been developed for categorizing the production scheduling
problems. The intent of any classification is to provide a semblance of organization so
that the major differentiating dimensions of the problems classes are identified [6].
Stephen Graves (1981)[6] provides a broad classification that encompasses the general
characteristics of scheduling theory and scheduling practice. The author provides three
dimensions for classifying production-scheduling problems [6]
1. Requirements generation
2. Processing complexity
3. Scheduling criteria
REQUIREMENTS GENERATION
Requirements can be generated either directly by customer orders or indirectly
through inventory replenishments decisions. This distinction is often made in terms of
open shop and closed shop [6].
Open Shop
In an open shop all the production orders are by customer request and no inventory is
stocked. The scheduling problem in its simplest form is a simple sequencing problem in
which open orders are sequenced at each facility [6].
Closed shop
In a closed shop all customer requests are serviced from inventory, and production
tasks are more inventory replenishment decisions. The scheduling problem for a closed
shop is involved not only in the sequencing decisions, but also with the lot-sizing
decisions associated with inventory replenishment processes [6].
Although a pure open shop or closed shop is rare, most production environments are a
primarily an either open, closed or a combination of both [6].
PROCESSING COMPLEXITY
Processing complexity is concerned with the number of processing steps associated
with each production task. The common breakdown for processing complexity is as
follows [6].
Page 4

One-stage, one-processor (facility)

One-stage, parallel processors (facilities)

Multistage, flow shop

Multistage, job shop.
One stage, one-processor problem
This is the simplest problem form, here all tasks require one processing step, which
must be done on the one production facility [6].
One stage, parallel processor problem
This is similar to the one-processor problem except that each task requires a single
processing step, which may be performed on any of the parallel processors [6].
Multistage Problem
For a multistage problem, each task requires processing at a set of distinct facilities.
Here there is a strict precedence ordering of the processing steps for a particular task [6].
Multistage, Flow shop problem
The flow shop problem assumes that all tasks are to be processed on the same set of
facilities with an identical precedence ordering of the processing steps [6].
Multistage, Job shop problem
The multistage job shop problem is the most general production-scheduling problem.
Here there are no restrictions on the processing steps for a task, and alternative routings
for a task may be allowed. This characterization of processing complexity seems capable
of capturing the nature of most production environments [6].
SCHEDULING CRITERIA
Scheduling criteria indicates the measures upon which schedules are to be evaluated.
Two broad classes of criteria are schedule cost and schedule performance [6].
Schedule cost includes the fixed costs associated with the production setups and
changeovers, variable production and overtime costs, inventory holding costs, shortage
costs for not meeting deadlines or stocking out, and possibly expediting costs for
Page 5
implementing the schedule in a dynamic environment. The system costs for
implementing the schedule and for monitoring the progress of the schedule also need to
be included in the schedule costs [6].
The performance of the schedule may be measured in many ways. Common measures
are the utilization level of the production resources, the percentage of late tasks, the
average of minimum tardiness for a set of tasks, and the average or maximum flow time
for a set of tasks. In addition service criteria may be used to evaluate the production
schedule of a closed shop [6].
In most production environments, the schedule evaluation is based on the mixture of
both cost and performance criteria [6].
Two other classifications, which are commonly seen in literature, are based on the
requirements specification and the scheduling environment [6].
REQUIREMENTS SPECIFICATION
Depending upon how the requirements are generated, the specification of the
requirements may be termed as deterministic or stochastic. For instance for an open shop,
the processing time can for each step of the task may be known, or may be a random
variable with specified probability distribution. Similarly, for a closed shop, the customer
demand process, which drives the inventory replenishment processes, may be
deterministic or stochastic [6].
SCHEDULING ENVIRONMENT
The scheduling environment deals with the assumptions on the availability of
information on the future requirements. A common distinction is made between a static
and dynamic environment. In a Static environment, the scheduling problem is defined
with respect to a finite set of fully specified requirements; no additional requirements will
be added to this set, nor will any of the specifications be altered. As a contrast in a
dynamic environment, the scheduling problem is defined not only for the known
requirements, but also with respect to the anticipations for additional requirements and
specifications generated over the future time periods [6].
Page 6
SCHEDULING WITHIN A MANUFACTURING ORGANIZATION
Production planning,
Orders,
master scheduling
Demand forecasts
Capacity
Quantities due
status
dates
Material requirements,
Materials
planning,
requirements
Capacity planning
Scheduling
Shop orders,
constraints
Release dates
Scheduling and
Detailed
rescheduling
Scheduling
Schedule
Schedule
performance
Dispatching
Shop status
Shop floor management
Job loading
Data collection
Shop floor
FIGURE 1 INFORMATION FLOW DIAGRAM IN A MANUFACTURING SYSTEM [2]
The scheduling function in an organization or any system has to interface with many
other functions. These interfaces are system dependent and may differ substantially from
one situation to another [2].
In a manufacturing system orders have to be released and have to be translated into
jobs with associated due dates. The jobs have to be processed by the machines in a work
center in a given order or sequence. Jobs may have to wait for processing on machines
that are busy, and preemptions may occur when high priority jobs arrive at the machines
Page 7
and have to proceed at once. Detailed scheduling of the tasks to be performed in a
production system is necessary to maintain efficiency and control of operations [2].
The scheduling function has to interface with several other important functions in an
organization. It is affected by the production planning process, which handles medium-to
long term planning for the entire organization. This process must consider inventory
levels, forecasts, and resource requirements to optimize at a higher level the product mix
and long-term resource allocation. Scheduling also receives input from shop floor
control. Unexpected events on the shop floor, such as machine breakdowns or processing
times that are longer then anticipated, have to be taken into account because they may
have a major impact on the schedules [2].
Factories today often have elaborate manufacturing information systems in place. It
typically has a central computer and a central database. Connected to this central
computer are local area networks of personal computers, workstations, and data entry
terminals. The scheduling function is done on a personal computer or a workstation
connected to the factory's main computer. Terminals at key locations may be connected
to the scheduling computer to provide departments access to the necessary scheduling
information and to enable the departments to provide the scheduling systems with the
relevant information such as status of machines, changes in job data, and so on [2].
Page 8
CLASSIFICATION OF SCHEDULING APPROACHES
V.Suresh and D.Chaudhuri (1993) [7] group scheduling approaches into three broad
categories
Scheduling Approach
Conventional
Knowledge
Distributed
Based
Solving
FIGURE 2. CATEGORIES OF SCHEDULING APPROACHES [7]
This paper concentrates only on the conventional or the traditional scheduling
approaches.
CONVENTIONAL OR TRADITIONAL SCHEDULING APPROACHES
The approaches to developing possible scheduling algorithms vary, some of the
famous traditional scheduling approaches are
Algorithmic solutions
An algorithm is a recipe for obtaining a solution to a model. An instance is a
particular set of data for the model. Exact algorithms give an optimal solution to every
instance of problem. This paper discusses two algorithms [5] based on an initial
algorithm developed by Johnson [5]
The objective of Johnson’s algorithm is to minimize flow time [Fmax] [5].
1. n|2|F|Fmax
In this problem the, n jobs must be processed through two machines, so that the
maximum flow time is minimized. The algorithm is as follows [5]:
a. Start processing with the job having the shortest processing time on machine 1
Page 9
b. Finish processing with the job having the shortest processing time on machine
2 (since this is the that the machine 1 has to be idle).
If the smallest time is the same for two jobs, then an arbitrary selection is made [5].
2. n|2|G|Fmax
This solution is for a job shop and each job shop has to be processed in the same
order through each of the two machines, the jobs can be divided into four different
categories A, B, C, and D.
A: those jobs to be processed on machine M1 only
B: those jobs to be processed on machine M2 only
C: Those jobs to be processed on both machines, in the order M1 followed by M2
D: Those jobs to be processed on both machines, in the order M2 followed by M1
The development of an optimal schedule is as follows
a. Schedule the jobs of type A in any order to give the sequence SA.
b. Schedule the jobs of type B in any order to give the sequence SB
c. Schedule the jobs of type C using Johnson’s Algorithm for n/2/F/Fmax
d. Schedule the jobs of type D using Johnson’s algorithm for n/2/f/ Fmax to give
the sequence Sd
The drawback of the two algorithms presented here is that, majority of the scheduling
problems cannot be approximated to any of these algorithms. It is widely acknowledged
that the larger of the scheduling problems are not Non-Polynomial (NP) complete, that is,
the number of possible solutions increases exponentially with the size of the scheduling
problem [5]. Cunningham (1986)[8] showed that for a simple n jobs and m machines
case, the upper bound on the number of solutions is (n!) m which is almost 25 billion for
a five machine-five job problem [8].
Enumeration Methods
The enormity of the potential solution place, forced the development of viable
solution techniques with the objective of eliminating large groups of non-optimal
solutions. An enumeration method lists, or enumerates all possible schedules and then
eliminates the non-optimal possibilities from the list, leaving those, which are optimal
.Two, such enumeration techniques are [5]:
Page 10

Dynamic programming

Branch and Bound method
Dynamic Programming
Dynamic programming originates from Bellam (1957) [9]. He applied dynamic
programming ideas to sequencing problems and obtained solutions to the single machine
problem. The major drawback of dynamic programming is the amount of calculation
required. French (1982) [10], showed that the gross estimate on the computer time
needed solve dynamic programming scheduling problems increases exponentially as the
problem size increases. He concluded that dynamic programming may be used suitably
for solving relatively small problems [5].
Branch and Bound method
Branch and Bound is a form of implicit enumeration. It involves the formation of an
elimination tree, which lists possible permutations. Branches in this tree may then be
eliminated if it is evident that the solution will not approach the optimal [5].
To illustrate this approach consider an example taken from Cunningham and Browne
(1986) [8][5], which lists the possible sequence of four jobs A, B, C, and D on one
machine. The assumption for this example is that job A is selected first.
A
7
1
3
C
B
3
4 2
C
D
4
7
4
D
B
C
D
4
D
1
D
3
3
B
C
2
2
B
B
C
FIGURE 3 BRANCH AND BOUND METHOD [5]
Page 11
Since the assumption is that we start with job A, the possible number of solutions is
6[5]. In the figure above the numbers represent the cost of scheduling jobs in that order,
and this cost is based on the number of set up changes that are involved. The branch and
bound procedure is as follows [5]
First branch on AB, which results in the possibilities ABC and ABD. Since they are
longer than AC, then branch on AC to produce ACB and ACD. Again, evaluate the
shortest permutation, which in this case is ABC and then produce ABCD. Then eliminate
ACBD and ACBD since they are longer than ABCD. After that, ACDB is preferable to
ABCD, and AD is eliminated because of its length. This results in ACDB being accepted
as the final solution [5].
To overcome the computation time, a heuristic schedule is developed which reduced
the possible solution space. The authors claim that the problem becomes more
manageable if the list of jobs to be sequenced were divided into groups containing similar
jobs, and then the branch and bound scheduler was used to schedule individual jobs [5].
Scheduling heuristics
Barr (1981)[11] describes a heuristic as
“A rule of thumb, strategy, trick, simplification, or any other kind of device, which drastically limits
the search for solutions in large problems … all that can be said for a useful heuristic is that it offers
solutions which are good enough most of the time
”
Blackstone (1981)[12] compared several rules based on results of published
studies. They identified several rules that exhibited good performance in general; they
identified 34 rules and presented them in terms of:
Rules involving processing times
The two main rules are based on the shortest imminent operation time of jobs
awaiting processing in a workstation queue [5].

SI: The shortest imminent operation rule, selects the processing that job for
which the operation can be completed in the least time [5]
Page 12

Truncated SI: This rule, a modified version of the SI rule, ensures that jobs
with long process times which have been waiting for a certain time period, are
given priority so that they may meet their due dates [5]
Dynamic scheduling rules
With dynamic scheduling heuristics, jobs are scheduled in real time based on the
current state of the system. A well-known dynamic heuristic is the minimum slack time
heuristic, which calculates the amount of time remaining for each job in the system. This
calculation is based on the due date of the job (d), the current date (p) and the sum of the
remaining processing times (sum)[5]
Minimum slack time = d-p-sum
Another effective dynamic rule is the least slack per operation rule, which is based on
the total number of remaining operations [5]
Least slack per operation = [d-p-sum]/[number of remaining operations]
Rules involving due dates
The principle advantage of having due-dates based rules over processing time-based
rules is a smaller variance of job lateness, and often a smaller number of tardy jobs [].
Conway (1967)[13], has shown that this advantage is especially manifest when due dates
are established as some multiple of total processing time. Conway also studied three due
date based rules: earliest due date, least slack due date and least slack per operation, and
of these it was found that the least slack per operation produces a smaller variance of job
lateness and a smaller number of tardy jobs than the other two measures [13].
Simple rules
The most commonly used simple heuristic is the First-In-First-Out (FIFO), and a
number of researchers have found that this rule performs substantially the same as
random with respect to mean flow time or mean lateness. FIFO is an attractive alternative
due to its simplicity of definition and usage [5]. The priority rule is another simple
method for selecting jobs from a queue. The priority rule requires that a priority value be
assigned to each job, and those with highest priority value be processed first [5].
Page 13
Discrete event simulation
Pritsker (1994)[15] described digital simulation as
‘ The establishment of a mathematical logical model of a system, and the experimental manipulation of the
system on the computer’.
As a result of experimentation with a simulation model, inferences can be drawn
about the modeled system. The main advantage of the simulation approach is that the
information may be obtained about the system prior to implementation, thus enabling the
system designers to pinpoint the risks and benefits of a proposed system.
Wichman (1990)[14] developed an excellent methodology for implementing
scheduling forecasting systems. He divided the approach into four different phases [14]:
1) Problem Analysis

Define the objectives, analyze and understand the problem

Define the production goal of the factory, and the criteria on how to best solve the
production and scheduling tasks

Develop conceptual models for the scheduling systems, its functionality, and the
required data structures

Describe the input and outputs and the general data requirements
2) Model Development

Specify requirements to model functionality

Model the implementation i.e. create SIMAN model, experiment, animation and
user coded subroutines

Pilot run and model validation
3) Experimentation, integration analysis and prototype development

Establish experimentation plan

Establish schedule objective- scheduling rule relationships for the specific system

Establish and if possible formulate heuristic rules

Implement the objective – rule relationship into the model and create a prototype
with end user menus

Test system prototype
Page 14
4) Implementation, installation and training

Tailor user interfaces and output reports

Install system and train users
Thus the authors provide an extensive framework for the development and
implementation of a computer simulation scheduler, which can capture all the generalities
of a real world system.
KNOWLEDGE BASED APPROACH
The fundamental characteristics of a knowledge-based approach are the manipulation
of knowledge encoded about a particular domain of problem solving, say, scheduling [7].
This knowledge is, of course, acquired from experts in the field. There are three major
approaches to expert system based solutions: rule based, pattern-directed and a
combination of the two [7]. Atabaksh [16] provides a detailed survey of knowledge based
scheduling system.
DISTRIBUTED PROBLEM SOLVING APPROACH
Distributed problem solving is the co-operative solution of problems by a set of
decentralized and loosely connected intelligent problem solving agents. These agents are
processors with local procedures, rules etc., that can be applied to the problem. They need
to co-operate, as none of the agents possess information necessary to solve the global
problem. Speed, reliability, extensibility and fault tolerance are some of the fundamental
characteristics of distributed problem solvers [7]. For a survey of distributed problem
solving techniques, see Decker [17].
Page 15
DRAWBACKS OF TRADITIONAL APPROACH
The previous section describes some of the scheduling algorithms, which can be
categorized as being part of the traditional approach scheduling. With the exception of
discrete event simulation these approaches have failed to bridge the gap between the
theory and practice of scheduling. The reason for this obvious lack of success can be
attributed to their impracticability [5]. Hadavi (1987)[18] echoed his view by stating that
analytical solutions which aim at optimal solutions, is feasible only for a small set of
scheduling problems, namely those which assume highly idealized conditions and small
number of jobs and machines. Hadavi (1987) pointed out that some of the highly
idealized conditions required by these traditional methods are:

Each machine resource is continuously available

There is no rework

Each operation can be performed by only one machine on the shop floor.
These assumptions are not really valid in the context of modern manufacturing
systems. Thus, in the pursuit of optimality, one could argue that reality is lost along the
way [5].
Some of the disadvantages with traditional approaches are as follows
Optimization algorithms
The problems solved using algorithms are usually NP hard for instances larger then
two jobs and two machines [5]. The time required to compute an optimal schedule
increases exponentially with the size of the problem. Problems of larger size cannot be
generally solved to optimality, even with computing power that far exceeds the capacities
of modern super computers [5].
Heuristic solutions
These approaches require skillful schedulers and vary from situation to situation. The
feasibility of the solution depends entirely on the schedulers experience and judgment
[5].
Enumeration Methods
Page 16
This approach gives an optimal solution by complete evaluation of all schedules, if
the problems are small. Otherwise it is sometimes too cumbersome as it involves
extensive calculation due to large number of variables and constraints [5].
Discrete System simulation
The experimental nature of simulation has its principal disadvantage. Simulation
studies are difficult to generalize beyond the specific experimental setting employed and,
as such contribute little to the theory of production scheduling. Using simulation to
produce schedules is costly, both in computer time used to generate schedules and in
human modeling effort required to design and run the simulation model. The accuracy of
a simulation is limited by the judgment and the skill of a programmer and even highly
accurate modeling does not guarantee that optimal solution or even good schedules will
be found experimentally [1].
Knowledge based system
Expert systems are expensive and time consuming to develop. The costs of
developing expert schedulers tailored to specific production environments may well be
prohibitive. Expert systems for reasonably sized problems may result in very slow
computational speeds, the costs of using expert schedulers, therefore may also be
prohibitive. Expert systems strive to automate decisions that are made by genuine human
experts. To reach this goal, it is necessary to capture this high level of expertise of
individuals currently involved in the solution of scheduling problems. Unfortunately, the
quality of human performance in many scheduling tasks is suspect [1].
Page 17
CONCLUSION
No single approach currently appears to offer the basis for a unified theory of
production scheduling to bridge the gap between production scheduling theory and
practice [1]. Future research efforts should be directed towards reducing this gap. One
such opportunity lies in combining the traditional approach with knowledge based
approach. In this framework heuristic solutions and AI search could be used to generate
candidate schedules. The performance of the candidate schedule could be verified using
simulation models, where the simulations could be manipulated interactively by an expert
scheduler. Such a framework would wed the rich modeling aspects of simulation with
solution-oriented techniques of heuristic solutions [1]. This paper is conclude by listing
the essential characteristics of a good scheduling system [18]:

It must be robust enough to handle exception and efficient in terms of meeting due
dates and production costs.

It must be able to use knowledge of constraints, preferences and current information
about the environment during schedule generation.

It must provide enough flexibility to react to disruptions in an efficient and timely
manner.

Scheduling decisions must be based on actual conditions in order to increase the
efficiency of the system in real time.
Page 18
BIBLIOGRAPHY
[1] Rodammer, F.A., and White, K.P., ‘ A Recent Survey Of Production Scheduling’,
IEEE Trans., 1988, SMC-18, (6), pp.841-851
[2] Michael Pinedo, ‘Scheduling: Theory, Algorithms, And Systems’, New Jersey,
Prentice Hill (1995).
[3] Morton, T.E., and Pentico, D.W., ‘Heuristics Scheduling Systems’, New York, John
Wiley & Sons (1993).
[4] Sipper, D. and Bulfin, R.L., ‘Production: Planning, Control, and Integration’, New
York, McGraw Hill (1997).
[5] Baver, A., Bowden, R., Browne, J., Duggan, J., and Lyons, G., ‘Shop Floor Control
Systems: From Design To Implementation’, New York, Chapman & Hill (1991).
[6] Graves, S.C., ‘A Review Of Production Scheduling’, Operat. Res., 1981, 29, (4), pp.
646-675
[7] Suresh, V., and Chaudhuri, D., ‘Dynamic Scheduling: A Survey Of Research’,
International Journal Of Production Economics, 1993, 32, pp. 53-63.
[8] Cunningham, P. and Browne, J., ‘ A LISP- Based Heuristic Scheduler For Automatic
Insertion In Electronics Assembly’, International Journal Of Production Research,
1986, 24, (6), pp. 1395-1408.
[9] Bellman, R., ‘Dynamic Programming’, New York, Princeton University Press (1957).
[10] French, S., ‘Sequencing and Scheduling: An Introduction To The Mathematics Of
The Job Shop’, West Sussex, Ellis Harwood Ltd., (1982).
[11] Barr, A., Feigenbaum (eds), ‘The Handbook of Artificial Intelligence’, Vol1. MA,
Addison-Welsey,(1981).
[12] Blackstone, J.H., Phillips, D.T, Hogg, G.L.‘ A State-Of-The-Art Survey Of
Dispatching Rules For Manufacturing Job Shop Operation’, International Journal of
Production Research, 1982, 20, (1), pp. 27-45.
[13] Conway, R.W., Maxwell, W.L., Miller, L.W., ‘Theory of Scheduling’, Mass,
Addison-Wesley, (1967)
Page 19
[14] Wichmam, K.E., ‘A Methodology For Development Of Simulation Based
Production Schedule Generation Systems’, Proceedings of the 1990 Winter
Simulation Conference, pp. 619-624.
[15] Pritsker, A.B. ‘ An Introduction to Simulation and SLAM II’, System Publishing
Corporation, West Lafayette, (1984).
[16] Atabaksh, H., ‘ A Survey Of Constrained Based Scheduling Systems’, AI Eng.,
1991, 6, pp. 58-73.
[17] Decker, K.S., ‘Distributed Problem Solving Techniques: A Survey’, IEEE
transactions, 1987, SMC, SMC 17, pp. 729-740
[18] Hadavi, K., ‘ An Integrated Planning and Scheduling Environment’, Proceedings of
the conference on Artificial intelligence in manufacturing, Long Beach, California,
Published by the Society of Manufacturing Engineers, (1987)
Page 20
Download