Вы находитесь на странице: 1из 50

ABSTRACT

The allocation of day-to-day planning of resources is called scheduling. The


scheduling problem arises when one faces the situation where he has to determine the order
in which a number of jobs are to processed on a number of facilities. In scheduling problem,
the main objective function mainly includes minimizing idle time, which in turn minimizes
the flow time.
Flow shop scheduling and job shop scheduling are types of scheduling. In both
these models, the machines are commonly known as resources and jobs commonly called as
tasks. Flow shop models deal with continuous production where as job shop models deal with
intermittent production systems where a number of variety of products are produced.
In a dynamic job shop, jobs arrive at the shop with inter arrival times described by a
specified probability distribution. Scheduling a job essentially involves deciding the order of
priority for jobs waiting to be processed at each machine so as to satisfy the technological
constraints and to meet the desired objective. The decision as to which job is to be loaded on
a machine when it becomes free, is normally made with the help of priority rules.
A classical job shop typically contains n jobs where each job follows a predetermined
route. In classical problem, every job usually includes an equal number of operations, and so
every machine will process an equal number of operations and there could be a maximum of
n jobs competing for each machine in a job shop problem. This is completely different in
practical problems and there can be variation of number of operations for each job and for
each machine. Further a job can be processed by the same machine more than once thereby
making the problem more complex. This aspect of revisiting the same machine is known as
recirculation and variation in number of operations for each job is treated as unequal job
machine assignment.
In this project, the given job shop scheduling problem is solved using three heuristic
methods namely most work remaining heuristic without earliest start time, most work
remaining heuristic with earliest start time and critical single machine scheduling heuristic.
The solution obtain using dispatching rules is compared with the three proposed
heuristics methods most work remaining heuristic without earliest start time, most work
remaining heuristic with earliest start time and critical single machine scheduling heuristic.

1
CHAPTER
1

2
1. INTRODUCTION TO SCHEDULING
1.1 Introduction
Sequencing and Scheduling is a form of decision-making that plays a crucial role in
manufacturing and service industries. In the current competitive environment effective
sequencing and scheduling has become a necessity for survival in the market place.
Companies have to meet shipping dates that have been committed to customers, as failure to
do so may result in a significant loss of goodwill. They also have to schedule activities in
such a way as to use the resources available in an efficient manner. Scheduling deals with the
allocation of scarce resources to tasks over time. It is a decision making process with the goal
of optimizing one or more objective functions. The resources may be machines in a
workshop, runways at an airport, crew at a construction site and so on. The tasks may be
operations in a production process, take-offs and landings at an airport, stages in a
construction project. Scheduling is the allocation of start and finish time to each particular
task. Therefore scheduling can bring productivity in shop floor by providing a calendar for
processing a set of tasks. It is nothing but scheduling various tasks on a set of resources such
that certain performance measures are optimized.

1.2 Scheduling
Scheduling decisions allocate workloads to specific work centers and determine the
sequence in which the operations are to be performed within the available capacity. Detailed
day-to-day planning of operations is called scheduling. It deals with following questions.
Which work centre will do which job?
When should an operation be started and when should it end?
On which equipment should it be done and why?
What is the sequence in which jobs are to be handled on the equipment?

Day-to-day implies a short time horizon and the literal meaning. Continuous
production system, such as assembly lines may not have much need for day to day planning
because the operations are repetitive or continuous. The production levels the necessary
production facilities inputs and man power requirements have to be planned for a long stretch
of time, as long as the production runs. In project type of production analysis helps in
planning and controlling the component jobs.

3
1.3 Scheduling Environment
Scheduling involves decisions of how to allocate and utilize limited resources to
accomplish a set of tasks. The role of scheduling in manufacturing is depicted within the flow
of information and products as shown in figure 1.1. As illustrated in the figure, scheduling
activities interface with many aspects of an organization and have a direct influence on the
company's performance. Job requirements are generated as a result of sales activities as
orders flow into an organization. A standard lead time is often quoted when accepting an
order and is used when estimating delivery dates. These standard lead time quotations may
assume infinite capacity and may neglect the processing time associated with the job. In
practice, delivery dates are in fact affected by the processing times of the jobs, available
capacity, work already scheduled and the efficiency of the operation.
Operating efficiencies are directly impacted by the performance of the scheduling
method in reducing the amount of idle time and increasing the throughput of work per unit
time. Poor scheduling decisions can strain material requirements planning, shop floor control,
capacity utilization, and working capital resources. Ultimately poor performance of a
scheduling methodology can lead to decisions that adversely affect a company's sales and
profitability.
In a manufacturing environment, several operations may be required to transform
components and fabricate items into finished products. These transformations can occur as a
result of processing operations on one or more resources. To accomplish these
transformations, manufacturing job orders are often released to perform certain tasks on these
resources in a specified sequence. Depending upon the type of operating environment, the
sequence for each job may perhaps be determined by the scheduler.
Production function encompasses the activities of procurement, allocation and
utilization of resources. The main objective of production function is to produce the goods
and services demanded by the customers in the most efficient and economical way. Therefore
efficient management of the production function is of utmost importance in order to achieve

4
Fig 1.1 Production Scheduling Interfaces

1.4. Purpose of scheduling


Production control is the task of predicting, planning and scheduling the work taking
into account manpower, materials availability and capacity restrictions so as to achieve
proper quality and quantity at the time it is needed and then following up the schedule to see
that the plan is carried out.
There are a number of reasons why a manufacturing organization wants to develop a
production schedule for some time period into the future. Proper scheduling helps in
achieving high efficiency of the system by optimally utilizing the machines and maintaining
low work-in-process inventory. Shop floor personnel use the schedule to guide their action,
positioning work in a way that will smooth the execution of the schedule. Another potential
use of scheduling is to provide a yardstick by which the performance of the shop floor
personnel is measured.

1.5. Objectives of scheduling


Some of the most common objectives of scheduling are
1. Meet Due dates.
2. Minimize average flow time through the system.
3. Minimize the total number of tardy jobs.

5
4. Minimize the average tardiness of the jobs.
5. Minimize the maximum tardiness of the jobs.
6. Minimize work-in-process inventory.
7. Provide for high machine utilization and
8. Minimize production costs.

In these objectives, (1) - (5) are aimed primarily at providing a high level of customer
service and (6) - (8) are aimed mainly at providing high level of plant efficiency. The
objectives mentioned above are often conflicting. One can do a better job meeting due dates
if more capacity is provided and if the work center capacity is less utilized. Similarly, more
capacity will typically reduce flow time, but at reduced capacity utilization.
1.6. Functions of scheduling:
The different Functions of Schedulling regarding the type of Operations are :
1. In process industries, such as chemicals and pharmaceuticals, scheduling might consist of
determining the mix of ingredients that goes into a vat or when the system should stop
producing one type of mixture, clean out the vat, and start producing another. Linear
programming can find the lowest-cost mix of ingredients, and the economic order quantity
with no instantaneous replenishment can determine the optimum length of a production run.
2. For mass production, the schedule of production is pretty much determined when the
assembly line is laid out. Products simply flow down the assembly line from one station to
the next in the same prescribed, nondeviating order every time. Day-to-day scheduling
decisions consist of determining how fast to feed items into the line and how many hours per
day to run the line. On a mixed-model assembly line, the order of products assembled also
has to be determined.
3. For projects, the scheduling decisions are so numerous and interrelated that specialized
project-scheduling techniques such as PERT and CPM have been devised.
4. For batch or job shop production, scheduling decisions can be quite complex.
Scheduling determines to which machine a part will be routed for processing, which worker
will operate a machine that produces a part, and the order in which the parts are to be
processed. Scheduling also determines which patient to assign to an operating room, which
doctors and nurses are to care for a patient during certain hours of the day, the order in which
a doctor is to see patients, and when meals should be delivered or medications dispensed.

6
1.7. Priority rules for scheduling
The quantities Flow Time, Lateness and Tardiness are important measures for
evaluating schedules. Often, these measures are aggregated over all the jobs in the system,
and different schedules are compared using a single performance measure, such as Average
Flow Time, Mean Tardiness, Maximum Flow Time, Maximum Tardiness or number of Tardy
Jobs. The other measure of performance of a schedule is the "MAKESPAN" which is equal
to the length of the time required to complete all jobs.

Some common scheduling priority rules are as follows:

1. First come first serve (FCFS) rule


The job that arrives first at the work station has the highest priority under this
rule. This rule is the simplest and the most commonly used rule which is used as a
default priority rule. It is used when operating at low-capacity levels. FCFS allows the
shop to operate essentially without sequencing jobs. When the workload at a facility is
light, any sequencing rule will do, and FCFS is certainly the easiest to apply.
2. Shortest processing time (SPT) rule
Shortest processing time is a dispatching rule which directs the sequencing of
jobs in ascending order by processing times. This means that the highest priority job
is the one with the shortest operation time. The result is that the small jobs move fast
and the jobs with a long operation time can stay independently. Although it does not
prioritize work to meet customer delivery dates, it can be used to move, work quickly
on to a starving downstream work center. Here, scheduling the shorter tasks before
the longer ones minimize the flow time. In other words it means that SPT rules sets in
addition to minimizing flow time also minimize mean lateness and mean waiting
time. The SPT rule in general also performs well when measured in mean flow time
and work in process inventory.
Its major disadvantage is that by using it, some jobs may be delayed for a long
time, because it suffers from high variance with respect to flow time. To avoid this a
'time out', or 'cut-off limit should be introduced, meaning that if any job waits for the
specific 'cut-off time' it automatically assigned to the front of the queue. Another

7
solution is to change automatically the weight factor of these jobs, which had to wait
longer than a specified time limit.
3. Weighted shortest processing time (WSPT) rule
The weighted shortest processing time rule is a variation of the SPT rule and is
used when the completion order of the different jobs carry different importance or
weight.
4. Last come first serve (LCFS) rule
The job that arrived at the work station last has the highest priority under a last
come , first served(LCFS) rule.

5. Earliest due date (EDD) rule


The earliest due date rule minimizes the maximum job lateness, or job
tardiness, but unfortunately it tends to need more tasks and increase the mean
tardiness too.
6. Slack time rule
Slack is the difference between the times remaining to a job's due date and the
total shop time remaining, including that of the operation being scheduled. A job's
priority is determined by dividing the slack by the number of operations that remain,
including the one being scheduled , to arrive at the slack for remaining
operations(S/RO)
(Due date -today's date)-Total shop time remaining
S/RO = --------------------------------------------------------------
No of operations remaining
The job with highest priority is the job with the lowest remaining slack time. When
capacity is not severely restrained, a SLACK-oriented rule that takes into account
both due date and processing time will produce good results.

8
7. Most work remaining(MWKR)
Select the operation associated with the job having the most work remaining
to be processed.
8. Least work remaining(LWKR)

Select the operation associated with the job having the least work remaining to be
processed.

9
CHAPTER
2

10
2. TYPES OF SCHEDULING
Typical manufacturing systems produce a variety of products, each requiring a
specified set of operations on specific machines in a predetermined order. Several different
types of manufacturing environments exist in which work requires scheduling. Generally
these environments are classified as flow shops and job shops.
The flow shop environment is a product layout i.e., resources are arranged according
to the sequence of the operations. The flow shop advantages are high speed, low material
handling, short flow time and low unit processing costs. The simple example for this flow
shop is assembly line, beverage plant etc.
The job shop environment is nothing but a functional layout or process layout i.e.,
similar resources are present in the same department. It is best suited for production of low
volume and high variety customized products. The main purpose of this environment is
availability of flexible resources.

Fig. 2.1 flow shop Vs job shop

The above graph between the variety on x-axis and volume on y-axis indicates the
following two cases:
1. When the volume is high and the no of varieties produced are low, then the flow shop
environment is suitable.
2. When the volume of products to be produced is low and the numbers of varieties of
products are more, then job shop is to be opted.

11
2.1 Flow shop scheduling:
A flow shop is an environment in which there are a defined number of machines that
operate in series. The flow shop is characterized by a flow of work that is unidirectional. A
flow shop contains a natural machine order and it is possible to number the machines so that
if the jth operation of any job precedes kth operation , then the machine required for jth
operation has lower number than the machine required by the kth operation. The machines in
the flow shop are numbered 1,2...........,m; and the operations of job I are correspondingly
numbered (i, 1 ),(i,2),......(i,m).
The two-machine flow shop problem with the objective of minimizing make span
is also known as Johnson's problem. The results originally obtained by Johnson are now
standard fundamentals in the theory of scheduling. In the formulation of this problem, job j is
characterized by processing time tji required on machine 1, and tj2 required on machine 2
after the operation on machine 1 is complete. The following scheduling rules to minimize the
make span were developed by Johnson:
Step 1 : Find min (tji, te)
Step 2a : If the minimum processing time requires machine 1, place the associated
job in the first available position in the sequence. Go to step 3.
Step 2b : If the minimum processing time requires machine 2, place the associated
job in the last available position in the sequence. Go to step 3.
Step 3 : Remove the assigned job from consideration and return to step 1 until all
positions in sequence are filled.
These rules can also be applied to larger flow shop scheduling problems.

2.2 Job shop scheduling


In a Flow shop model, all jobs follow the same route. When the routes are fixed but
not necessarily the same for each job, the model is called a Job shop. Unlike the Flow shop
model, there is no initial machine that neither performs only the first operation of a job, nor is
there a terminal machine that performs only the last operation of a job. In a job shop an
operation is described with a triplet (i, j, k) in order to denote the fact that operation j of job i
requires machine k.

12
A job shop scheduling problem consists of a finite set J of n jobs {Jj}i=i to n to be
processed on a finite set M of m machines {Mk}k = i to n -Each job Jj must be processed on
every machine and consists of a chain of operations On, Oj2....., Ojm which have to be
scheduled in a predetermined given order (precedence constraint). There are N operations in
total, Ojk is the operation of job Jj which has to be processed on machine Mk for an
uninterrupted processing time period tjk and no operation may be preempted. Each job has its
own individual flow pattern through the machines, which is independent of the other jobs.
Each machine can process only one job and each job can be processed by only one machine
at a time (capacity constraints). The duration in which all operations for all jobs are
completed is referred to as Make span and the amount of time each job spends in a system is
known as Flow time. Many jobs in industry and elsewhere require completing a collection of
tasks while satisfying temporal and resource constraints. Temporal constraints say that some
tasks have to be finished before others can be started; resource constraints say that two tasks
requiring the same resource cannot be done simultaneously (e.g., the same machine cannot do
two tasks at a time). The objective is to create a schedule specifying when each task is being
processed and what resource it will use which satisfy all the constraints while talking as little
overall time as possible. This is Job-Shop-Schedule problem.

2.3 Description of job shop problem


1 A finite set of n jobs
2 Each job consists of a chain of operations
3 A finite set of m machines
4 Each machine can handle at most one operation at a time
5 Each operation needs to be processed during an uninterrupted period of a given length
on a given machine
6 Purpose is to find a schedule, that is, an allocation of the operations to time intervals
to machines, that has minimal length

2.4 Mathematical formulation of job shop problem


Let N={0,l,2,.....,n} denotes the set of operations, M the set of machines, A the set of
operations constrained by precedence relations and E|< the set of pairs of operations to be
performed on machine k and which therefore cannot overlap in time. Further let dj denote the

13
fixed duration (processing time) and tj the start time of operation i. The problem can then be
started as

Min tn
tj – ti > di, (i,j)€A
tj>0 i€N
tj – ti > di, v ti-tj>di ( i , j € Ek , k € M )

2.5 Assumptions in job shop scheduling problem


In a classical job shop problem, n jobs are processed on m machines, in which the
main assumptions are as follows:
1. All jobs are available at time zero.
2. Each job is processed by one machine at a time.
3. An operation is not preemptable.
4. A machine can process only one operation at a time.
5. The processing times are fixed and sequence independent.
6. The processing order of each job is given and fixed.

2.6 Disjunctive graph for a job shop problem

A job shop scheduling problem can be represented with the help of a disjunctive
graph as shown in the following figure.

14
Conjunctive arcs connecting nodes 0,1,2,3 and 11 represent the route for a job. The
disjunctive arcs (Dashed lines) going in opposite directions connect two operations which
belong to two different jobs and are processed on the same machine. A feasible schedule for a
job shop problem is to select a disjunctive arc between every two operations and the selected
arcs will not result in a cycle on every machine. The length of the critical path on the graph is
the Make span of the feasible schedule. Therefore, to solve a job shop problem with Make
span as the objective is to find a feasible directed graph with the minimal longest path.

15
CHAPTER
3

16
3. LITERATURE REVIEW
Like many operation research (OR) application areas the study of the scheduling
theory began in the early 1950's. Johnson's article is acknowledged as a pioneering work.
Later, several kinds of general optimization procedures were applied to scheduling problems.
These included mixed and pure integer programming formulations, dynamic programming
and branch and bound methods. Meanwhile, heuristic methods were being developed for
problems which were known to be computationally difficult. By the late 1960's, a solid body
of scheduling theory had emerged. In 1970's theoretical work on problem complexity began.
It was found that most problems are NP-hard. The last decade has seen the tendency to
emphasize the practical nature of scheduling problem and to try to bridge the gap between
theory and practice.
Blackstone et al. defined Scheduling rules as: 'rules used to select the next job to
process from jobs waiting for service'. Scheduling rules can be very simple or extremely
complex. Examples of simple rules are: 'select a job at random, or select the job that has been
waiting longest. A more complex rule might be one that selects the job with the 'closest due
date whose customer's inventory is less than a specified amount.
Pierreval, H., and Mebarki, N., Blackstone et al., Baker, Ramasesh have dealt with
many scheduling rules. A universally well accepted result of these studies is that no
scheduling rule performs globally better than any others. The scheduling rule's performance
depends on the configuration of the studied system, the operating conditions and the
performance criterion used to evaluate the scheduling rules. As a consequence, decision
makers often have difficulty in selecting the scheduling rules that are the most suited to their
problems. This has led several researchers to propose various methods for selecting the
scheduling rules best suited to given cases.
Haupt, R classified Scheduling or Dispatching rules as:

 Process-time based rules


 Due-date based rules
 Combination rules and
 Rules that are neither process-time based nor due-date based.
The shortest processing time (SPT) rule is an example of a process-time based rule. The
process-time based rules ignore the due-date information on jobs.

17
Due-date based rules schedule the jobs based on their due-date information. An
example of a due-date based rule is the earliest due-date (EDD) rule.
Blackstone, J.H. et al proposed Combination rules which make use of both process-
time and due-date information, e.g. Least Slack rule, Critical Ratio, etc.
Haupt, R proposed the rules which do not fall into any of the above categories and
loads the jobs depending on shop floor conditions rather than on the characteristics of jobs.
An example of this type of rule is the WINQ rule (total work-content of jobs in the queue for
the next operation on a job).
Conway et al. gave a general notation scheme for scheduling problems based on four
descriptors A/B/C/D which has since been followed by a number of researchers.
Representation of scheduling problems is as follows
 A- Number of jobs (any positive integer, usually 'n')
 B- Number of machines (any positive integer, frequently 'm')
 C- Flow pattern and further technological and management constraints.
Possible values are:
 ||: single machine
 J: job shop
 'F': flow shop
 'O': open shop
 F-perm: permutation flow shop
 k-parallel: k-machines in parallel
 J, k-parallel: job shop with k parallel machines at each stage

 D- Criteria to be optimized.

A range of methods have been developed to solve the scheduling problems which are
classified as follows.
 Scheduling rules and simulation
 Mathematical programming formulation and solution
(Branch and bound techniques, Dynamic programming)

 Artificial Intelligence techniques


(Expert systems and Knowledge based systems)

18
 Heuristic search methods
(Tabu search, Simulated annealing, Genetic algorithms)

While the use of heuristic algorithms is mostly resorted to in the case of static
scheduling problems, scheduling rules are made use of in the case of dynamic scheduling
problems. Scheduling rules are more popular in many real life manufacturing systems than
heuristics, mainly because scheduling rules are simple to implement and use in any shop
floor, and most real-life systems have dynamic arrivals. These rules some times called
dispatching rules or priority rules have led to a substantial amount of research in the last few
decades, especially to solve the dynamic scheduling problem of job shop systems.
Algorithms other than GAs have also been researched. Dauzere-Peres and
Paulli(1997) deal with the multi-processor job shop where every operation has more than one
machine on which it can be performed. They use the objective of minimizing makespan and
consider an integrated approach for assigning machines and scheduling the parts on those
machines using a tabu search algorithm with a new neighborhood structure.
Candido et al. (1998) considered alternative routes by dividing the routes into sub-
processes, where every sub-process is a technologically similar sequence of operations. An
alternative route must be able to perform all sub-processes. They also considered route
changes due to alternate machines that the job can go through. They created an initial for
schedule using dispatch rules such that no operation can start earlier without preempting
another operation. This technique relies on the assumption that some parts are sub-assemblies
for others and must be completed first. A simple hill climbing algorithm is then implemented
to find the local minimum makespan. Lastly, a GA is used to further minimize the makespan.
Alternative routing is only one of seven "constraints" that are used.
Kirn and Egbelu (1999) developed two local search heuristics to find alternative
routings in order to minimize makespan. The heuristics are greedy in nature and terminate at
local optima. The largest problems solved with these procedures are 10 jobs and 10 machines,
with 2-5 routings per job. It is noted that with an increase in the number of jobs or the number
of routings, the heuristic performs worse.
Chryssolouris and Subramaniam (2000) presented a scheduling method based on
extreme value theory (SEVAT) to solve the dynamic job shop problem. SEVAT, which is
traditionally used to predict rare events, in this case creates a "statistical profile of schedules

19
through random selection, and predicts the quality...of a feasible schedule. The objective is to
minimize mean job tardiness and mean job cost.

Thomalla (2001) solved the job shop scheduling problem with alternative routes using
Lagrangian relaxation. The largest problem solved is 6 jobs, 6 machines, and 10 operations
per job with the objective being to minimize the sum of the weighted quadratic tardiness of
the jobs.
Chryssolouris and Subramaniam (2001) presented a GA for scheduling a dynamic job
shop using mean job tardiness and mean job cost as performance measures. The problem they
consider has both random machine breakdowns and alternative job routings. They considered
up to 6 machines and up to 6 different resources to process an operation.
Saygin et al. (2001) presented an algorithm, the Dissimilarity Maximization Method
(DMM), to solve a real-time rescheduling problem that arises due to machine breakdowns
and other unexpected occurrences on the shop floor. The goal of the research is to maximize
the through put rate. They assume that processing times on alternate machines are the same as
on the originally scheduled machine. Alternate routes consists of changing one or two
machines on a route to a parallel alternative. DMM picks which routings to use in order to
maximize the dissimilarity between machines used in the set of routings. The algorithm is
solved on small problems; 6 parts, 7 machines and up to 8 alternate routings per part.
There has been much research involving job shop scheduling with alternative routes.
In the last few years, several papers deal with the use of genetic algorithms (GAs). Kim etal.
(2002) deal with alternative routings in the process planning stage using a co-evolutionary
algorithm in order to minimize makespan and minimize mean flow time over all the jobs.
They integrate process planning and scheduling such that a change in the process planning
stage also changes the scheduling stage. They evaluate alternative routes using all three
possibilities (operations, sequencing, and processing) as well as a network consisting of all
three together. They also assume that there are a large number of process plans for each job.
Their algorithm is tested on problems with 6-18 jobs and 8-22 operations per job.
Choi and Choi (2002) considered alternative routes and sequence dependent setups
together. They developed a mathematical programming model and a local search algorithm
using dispatching rules with an objective of minimizing makespan. Weintraub et al. (1999)
contains an extensive review of the literature up to 1997. Most of these papers, however,

20
consider the problem from a process planning viewpoint rather than that of detailed
scheduling.

Spina et al. (2003) presented an approach that integrated constraint logic


programming and a GA in an application concerning a process that produced sheets for
catalytic converters. In their tests, their approach converged rapidly to a near-optimal solution
but performed well only under certain conditions; in particular, it required preprocessing
techniques to reduce the size of the solution space. In an application involving Circuit Card
(CC) assembly on a single machine, Rossetti and Stanford (2003) used clustering methods to
group CCs and a nearest-neighbor heuristic to sequence groups, requiring CCs in a group to
be processed consecutively.

Gupta and Sivakumar (2005) investigated a multi objective problem in semiconductor


manufacturing and employed simulation to minimize the average cycle time and average
tardiness while maximizing machine utilization. They introduced the concept of conjunctive
simulated scheduling, in which discrete-event simulation is used to evaluate scheduling
criteria. When a machine becomes available, the simulator uses scheduling criteria to select
the job for its next operation and then advances its clock to the next decision instance. They
used compromise programming, which combines multiple objectives into a single objective
in making each decision.

21
CHAPTER
4

22
4. SCHEDULING ALGORITHM

In the present chapter, heuristics based on Maximum Work Remaining with Early
start time & Maximum Work Remaining without Early Start Time Scheduling Heuristics are
proposed. A case problem consisting of 3 jobs, 4 machines is solved using both the heuristics.
If the number of jobs as well as machines is greater than two and technological order
of the machines for all jobs are not same, scheduling problems in job shop becomes complex.
There is no readymade and well-defined methodology to solve the problems. Under such
circumstances Heuristic Approach plays an important role.
Heuristic mean serving to find out" i.e., to find out things oneself. It describes a
particular way to decision making. It utilizes commonsense, logic and above all past
experience to tackle the new problems. It provides most likely solutions, which are good
enough from practical point of view.
Problem

A job shop company got an order of three different jobs in considerable quantity.
Each job requires different machining operations on given four machines. For all jobs, the
technological orders (sequences) of machines are not same. The details are shown below:

Jobs Machine sequence Processing time

A 4 3 2 1 ( 3,4,8,7)

B 3 4 1 2 (6,5,3,8)

C 3 4 2 1 (3,3,7,4)

The company is interested in developing a suitable production schedule of different


jobs on different machines in such a way that total elapsed time should be minimum. Also,
the available facilities should be utilized to maximum extent.

23
4.1. Methodology for maximum work remaining heuristic without
earliest start time
1. Prepare a list of first unscheduled operations of each job. These are operations to be
scheduled. These are listed in column 1 of table-1, (A,1)(B,1)(C,1) indicates first
operations to be performed on each job A,B,C.
2. Calculate the remaining total process time for each job. For (A,l) (B, 1) (C, 1) the
remaining total process time can be calculated as (A, 1)= 3+4+8+7=22 hrs (B, 1)=
6+5+3+8=22 hrs (C, 1)= 3+3+7+4=17 hrs
3. These are listed in column-2. Here job-(A, B) has maximum process time remaining.
Any job can be taken up here multiple sequences occur.
4. Here first operation should be performed on job A on machine M2 and it is shown in
column-3.
5. Starting time of this operation will be zero and since it requires 3 hrs therefore
finishing time will be 3. These are shown in column 5 and 6.
6. The next list of operations is (A, 2) (B, 1) (C, 1) {since (A, 1) is already scheduled}.
Again the same procedure is repeated till all the jobs are scheduled.
7. Next job should be scheduled in such a way that the sequenced machine should be
idle and previous operation should be completed.
8. Repeat the steps above mentioned until all the jobs are scheduled

24
LIST OF PROCESS
(JOB, SCHEDULED
OPERATIONS TIME START FINISHING
OPERATION) ON
(JOB, REMAINING TIME TIME
SCHEDULED MACHINE
OPERATION) (HOURS)

(A,1)(B,1)(C,1) (22,22,17) (A,l) 4 0 3

(A,2)(B,1)(C,1) (19,22,17) (B,l) 3 0 6

(A,2)(B,2)(C,1) (19,16,17) (A,2) 3 6 10

(A,3)(B,2)(C,1) (15,16,17) (C,1) 3 10 13

(A,3)(B,2)(C,2) (15,16,14) (B,2) 4 10 16

(A,3)(B,3)(C,2) (15,11,14) (A,3) 2 16 22

25
LIST OF PROCESS
(JOB, SCHEDULED
OPERATIONS TIME START FINISHING
OPERATION) ON
(JOB, REMAINING TIME TIME
SCHEDULED MACHINE
OPERATION) (HOURS)

(A,4)(B,3)(C,2) (7,11,14) (C,2) 4 13 16

(A,4)(B,3)(C,3) (7,11,11) (B,3) 1 12 18

(A,4)(B,4)(C,3) (7,8,11) (C,3) 2 18 25

(A,4)(B,4)(C,4) (7,8,4) (B,4) 2 18 26

(A,4)(C,4) 7,4) (A,4) 1 22 29

26
LIST OF PROCESS (JOB, SCHEDULED
OPERATIONS TIME OPERATION ON START FINISHING
(JOB, REMAINING ) MACHINE TIME TIME
OPERATION) (HOURS SCHEDULED

(C,4) (4) (C,4) 1 29 33

OUTPUT

B A C

TIME IN
1 0 0 10

6 6 13
TIME OUT

A C B

TIME IN
2 6 13 10

10 16 16
TIME OUT

B A C

TIME IN
3 12 16 18

18 22 25
TIME OUT

27
A B C

TIME IN
4 22 18 29

29 26 33
TIME OUT

THE FLOW TIME IS AS FOLLOWS:


FOR JOB A = 29
FOR JOBB = 26
FOR JOB C-33
AVERAGE FLOW TIME = 29.33
THE TOTAL MAKE SPAN = 33

4.2 Methodology of maximum work remaining (MWKR)


heuristic with earliest start time
Initially it is assumed that all machines are available and all jobs are candidates for
scheduling. The heuristic procedure is basically established with the use of convectional
concept of early start time and maximum work remaining criterion is used as a tie breaking
rule to choose among the contending jobs. The computational procedure of the proposed
heuristic is as follows
1. Prepare a list of first scheduled operations.
2. Compute the early start time (the time at which the operations can begin) of each
operation.
3. Identify the operation with least start time for scheduling. If there is more than one
operation with least early start time go to step 7.
4. Schedule the operation on the machine required for processing and advance
availability time of the machine by the processing time of the operation chosen for
scheduling.
5. Re-compute the early start times of all the operations taking into consideration, the
availability of the require machine and the completion time of the preceding stage.
6. Repeat the procedure until all operations are scheduled.

28
7. If there is more than one operation with smallest early start time, then compute work
remaining for each job and select the job with maximum work remaining for
scheduling.
8. Compute the makespan and the average flow time.

LIST OF (JOB,
EARLIEST SCHEDULED
OPERATIONS OPERATION START FINISHING
START TIME ON
(JOB, ) TIME TIME
(HOURS) MACHINE
OPERATION) SCHEDULED

(A,1)(B,1)(C,1) (0,0,0) (A,l) 4 0 3

(A,2)(B,1)(C,1) (3,0,0) (B,l) 3 0 6

(A,2)(B,2)(C,1) (6,6,6,) (A,2) 3 6 10

(A,3)(B,2)(C,1) (10,6,10) (B,2) 4 6 11

(A,3)(B,3)(C,1) (10,11,10) (C,1) 3 10 13

(A,3)(B,3)(C,1) (10,11,13) (A,3) 2 10 18

29
LIST OF
(JOB, SCHEDULED
OPERATIONS EARLY START START FINISHING
OPERATION) ON
(JOB, TIME (HOURS) TIME TIME
SCHEDULED MACHINE
OPERATION)

(A,4)(B,3)(C,2) (18,11,13) (B,3) 1 11 14

(A,4)(B,4)(C,2) (14,18,13) (C,2) 4 13 16

(A,4)(B,4)(C,3) (14,18,18) (A,4) 1 18 25

(B,4)(C,3) (18,18) (C,3) 2 18 25

(B,4)(C,4) (25,25) (B,4) 2 25 29

30
LIST OF
OPERATIONS EARLY (JOB, SCHEDULED FINISHING
(JOB, START TIME OPERATION) ON START TIME TIME
OPERATION) (HOURS) SCHEDULED MACHINE

(C,4) 25 (C,4) 1 25 29

Output

B A C

TIME IN
1 11 18 25

14 25 29
TIME OUT

A C B

2 TIME IN 10 18 25

18 25 29
TIME OUT

B A C

TIME IN
3 0 6 10

6 10 13
TIME OUT

4 A B C

31
TIME IN 0 6 13

TIME OUT 3 11 16

THE FLOW TIME IS AS FOLLOWS:


FOR JOB A = 25
FOR JOB B = 29
FOR JOB C = 29
AVERAGE FLOW TIME = 27.67
THE TOTAL MAKE SPAN = 29

32
4.3 Critical single machine scheduling heuristic :

Problem
JOB NUMBER MACHINE SEQUENCE PROCESSING TIMES
A 4 3 2 1 3 4 8 7
B 3 4 1 2 6 5 3 8
C 3 4 2 1 3 3 7 4

∑ P1j = 3 + 4 + 8 + 7 = 22
∑ P2j = 6 + 5 + 3 + 8 = 22
∑ P1j = 3 + 3 + 7 + 4 = 17

Maximum Completion Time = P1j = 22

Critical machine identification :-


The critical machine is identified by considering maximum lateness (L max ) one
machine scheduling problems. The first step in determining L max requires computation of the
due dates for each job on each machine. Starting with machine L job A, B, and C must be
processed on this machine. The due date for the jobs are determined by computing he
difference between the maximum job processing time and the remaining processing time and
the remaining processing time to complete the job after he current stage is processed, For Job
B on machine 1, the due date is 22 – 8 = 14.

Release times are determined by computing the earliest time the job could start (i.e.
the sum of the processing times of all proceeding jobs). Computing due dates and release
time from the date in the table provides the results listed below.

Machine 1 :-
Job A B C
Process Time 7 3 4
Earliest start Time 15 11 13
Due Date (Time) 22 14 22

Using this date L max is determined for machine 1 through enumeration of a single
machine scheduling problem. As discussed previously there are (nl)possible schedules for a

33
Job Shop problem. For the one machine case, it reduces to nl. Thus there are six possible
schedules for this machine.

Job In time Out time Job In time Out time


A 15 22 A 15 22
B 22 25 C 22 26
C 25 29 B 26 29

Job In time Out time Job In time Out time


B 11 14 B 11 14
A 15 22 C 14 18
C 22 26 A 18 25

Job In time Out time Job In time Out time


C 13 17 C 13 17
A 17 24 B 17 20
B 24 27 A 20 27

From the above tables :-

Sequence Completion Time


Job A, Job B, Job C 29
Job A, Job C, Job B 29
Job B, Job A, Job C 26
Job B, Job C, Job A 25
Job C, Job A, Job B 27
Job C, Job B, Job A 27

The optimal schedule to minimize L max is :- Job B, Job C, Job A


Completion time for this schedule is 25
Since the due date is established form the job with longest processing time, which is
22, the minimum L max is

Min L max = 25 – 22 = 3
The process considers the next machine (Machine 2) as a potential Critical using the
same computational processes as those used fro machine 1.

Machine 2 :-
Job A B C
Process Time 8 8 7
Earliest start Time 1 14 6
Due Date (Time) 15 22 18

34
Again there are six possible schedules, which are enumerated to determine completion
times.

Job In time Out time Job In time Out time


A 7 15 A 7 15
B 15 23 C 15 22
C 23 30 B 22 30

Job In time Out time Job In time Out time


B 14 22 B 14 22
A 22 30 C 22 29
C 30 37 A 29 37

Job In time Out time Job In time Out time


C 6 13 C 6 13
A 13 21 B 14 22
B 21 29 A 22 30

From the above tables :-

Sequence Completion Time


Job A, Job B, Job C 30
Job A, Job C, Job B 30
Job B, Job A, Job C 37
Job B, Job C, Job A 37
Job C, Job A, Job B 29
Job C, Job B, Job A

The optimal schedule to minimize L max is :- Job C, Job B, Job A


Completion time for this schedule is 29 and the minimum L max = 29 – 22 = 7
Proceedings on to the next machine and performing the same computations result in
the following date :

Machine 3 :-
Job A B C
Process Time 4 6 3
Earliest start Time 3 0 0
Due Date (Time) 15 16 8

Again there are six possible schedules, which are enumerated to determine completion
times.

35
Job In time Out time Job In time Out time
A 3 7 A 3 7
B 7 13 C 7 10
C 13 16 B 10 16

Job In time Out time Job In time Out time


B 0 6 B 0 6
A 6 10 C 6 9
C 10 13 A 9 13

Job In time Out time Job In time Out time


C 0 3 C 0 3
A 3 7 B 3 9
B 7 13 A 9 13

From the above tables :-

Sequence Completion Time


Job A, Job B, Job C 16
Job A, Job C, Job B 16
Job B, Job A, Job C 13
Job B, Job C, Job A 13
Job C, Job A, Job B 13
Job C, Job B, Job A 13

The optimal schedule to minimize L max is :- Job C, Job B, Job A


Job B, Job A, Job C
Job B, Job C, Job A and
Job C, Job A, Job B

Completion time for this schedule is 13 and the minimum L max is ZERO
The first iteration to compute L max in identifying the first critical Machine is
concluded by considering machine 4.

36
Machine 4 :-
Job A B C
Process Time 3 5 3
Earliest start Time 0 6 3
Due Date (Time) 3 11 11

Again there are six possible schedules, which are enumerated to determine completion
times.

Job In time Out time Job In time Out time


A 0 3 A 0 3
B 3 8 C 3 6
C 8 11 B 6 11

Job In time Out time Job In time Out time


B 6 11 B 6 11
A 11 14 C 11 14
C 14 17 A 14 17

Job In time Out time Job In time Out time


C 3 6 C 3 6
A 6 9 B 6 11
B 9 14 A 11 14

From the above tables :-

Sequence Completion Time


Job A, Job B, Job C 11
Job A, Job C, Job B 11
Job B, Job A, Job C 17
Job B, Job C, Job A 17
Job C, Job A, Job B 14
Job C, Job B, Job A 14

Optimal schedule to minimize L max for machine 4 is Job A, Job C, Job B


Completion time for this schedule is 11 and the minimum L max is ZERO

37
Critical machine :-
The cachine with the maximum of he minimum L max ‘s for each machine is
identified as the critical machine
Max (min L max) = max {3,7,0,0} = 7
Machine 2 is Critical and the first machine to be scheduled as a result of the firs
iteration.
Based on machine 2 with sequence job C, Job B, Job A, the other critical machines
are to be determined.

Est & due date computations based on sequence c-b-a on machine 2 :-

Machine 1 :-

Job A B C
Process Time 7 3 4
Earliest start Time 21 11 13
Due Date (Time) 29 21 29

Again there are six possible schedules, which are enumerated to determine completion
times.
Job In time Out time Job In time Out time
A 21 28 A 21 28
B 28 31 C 28 32
C 31 35 B 32 35

Job In time Out time Job In time Out time


B 11 14 B 11 14
A 21 28 C 14 18
C 28 32 A 21 28

Job In time Out time Job In time Out time


C 13 17 C 13 17
A 21 28 B 17 20
B 28 31 A 21 28

FROM THE ABOVE TABLES :-

38
Sequence Completion Time
Job A, Job B, Job C 35
Job A, Job C, Job B 35
Job B, Job A, Job C 32
Job B, Job C, Job A 28
Job C, Job A, Job B 31
Job C, Job B, Job A 28

Optimal schedule to minimize L max for machine 1 is Job C, Job B, Job A and
Job B, Job C, Job A

Completion time for this schedule is 28 and the minimum L max is 28 – 22 = 6.

Proceeding on to the next machine and performing the same computations result in
the following data

Machine 3 :-

Job A B C
Process Time 4 6 3
Earliest start Time 3 0 0
Due Date (Time) 14 13 15

Again there are six possible schedules, which are enumerated to determine completion
times.

Job In time Out time Job In time Out time


A 3 7 A 3 7
B 7 13 C 7 10
C 13 16 B 10 16

Job In time Out time Job In time Out time


B 0 6 B 0 6
A 6 10 C 6 9
C 10 13 A 9 13

Job In time Out time Job In time Out time


C 0 3 C 0 3
A 3 7 B 3 9

39
B 7 13 A 9 13

From the above tables :-


Sequence Completion Time
Job A, Job B, Job C 16
Job A, Job C, Job B 16
Job B, Job A, Job C 13
Job B, Job C, Job A 13
Job C, Job A, Job B 13
Job C, Job B, Job A 13

Optimal schedule to minimize L max for machine 1 is Job C, Job B, Job A


Job B, Job C, Job A
Job C, Job A, Job B and
Job B, Job A, Job C

Completion time for this schedule is 13 and the minimum L max is ZERO

Machine 4 :-
Job A B C
Process Time 3 5 3
Earliest start Time 0 3 3
Due Date (Time) 10 18 18

Again there are six possible schedules, which are enumerated to determine completion
times.
Job In time Out time Job In time Out time
A 0 3 A 0 3
B 3 8 C 3 6
C 8 11 B 6 11

Job In time Out time Job In time Out time


B 3 8 B 3 8
A 8 11 C 8 11
C 11 14 A 11 14

Job In time Out time Job In time Out time

40
C 3 6 C 3 6
A 6 9 B 6 11
B 9 14 A 11 14

From the above tables :-

Sequence Completion Time


Job A, Job B, Job C 11
Job A, Job C, Job B 11
Job B, Job A, Job C 14
Job B, Job C, Job A 14
Job C, Job A, Job B 14
Job C, Job B, Job A 14

Optimal schedule to minimize L max for machine 4 are Job A, Job B, Job C and
Job A, Job C, Job B

Completion time for this schedule is 11 and the minimum L max is ZERO
The machine with the maximum of the minimum L max ‘s for each machine is
identified as the Critical :
Max (min L max) = Max {6,0,0} = 6
Based on machine 2 with sequence Job C, Job B, Job A, and machine 1 with Job C,
Job B, Job A sequence the other critical machines are to be determined.

Est & due date computations based on sequence c-b-a on machine 2 &
on sequence c-b-a on machine 1 :-

Machine 4 :-
Job A B C
Process Time 4 6 3
Earliest start Time 3 0 0
Due Date (Time) 13 12 14

Again there are six possible schedules, which are enumerated to determine completion
times.
Job In time Out time Job In time Out time
A 3 7 A 3 7

41
B 7 13 C 7 10
C 13 16 B 10 16

Job In time Out time Job In time Out time


B 0 6 B 0 6
A 6 10 C 6 9
C 10 13 A 9 13

Job In time Out time Job In time Out time


C 0 3 C 0 3
A 3 7 B 3 9
B 7 13 A 9 13

From the above tables :-

Sequence Completion Time


Job A, Job B, Job C 16
Job A, Job C, Job B 16
Job B, Job A, Job C 13
Job B, Job C, Job A 13
Job C, Job A, Job B 13
Job C, Job B, Job A 13

Optimal schedule to minimize L max for machine 3 are Job C, Job B, Job A
Job B, Job C, Job A
Job C, Job A, Job B and
Job B, Job A, Job C

Completion time for this schedule is 11 and the minimum L max is ZERO

Machine 4 :-

Job A B C
Process Time 3 5 3
Earliest start Time 0 3 3
Due Date (Time) 9 17 17

42
Again there are six possible schedules, which are enumerated to determine completion
times.

Job In time Out time Job In time Out time


A 0 3 A 0 3
B 3 8 C 3 6
C 8 11 B 6 11

Job In time Out time Job In time Out time


B 3 8 B 3 8
A 8 11 C 8 11
C 11 14 A 11 14

Job In time Out time Job In time Out time


C 3 6 C 3 6
A 6 9 B 6 11
B 9 14 A 11 14

From the above tables :-

Sequence Completion Time


Job A, Job B, Job C 11
Job A, Job C, Job B 11
Job B, Job A, Job C 14
Job B, Job C, Job A 14
Job C, Job A, Job B 14
Job C, Job B, Job A 14

Optimal schedule to minimize L max for machine 3 are Job A, Job B, Job C and
Job A, Job C, Job B

Completion time for this schedule is 11 and the minimum L max is ZERO
The machine with the maximum of the minimum L max ‘s for each machine is
identified as the Critical :
Max (min L max) = Max {0,0} = 0
Based on machine 2 with sequence Job C, Job B, Job A, and machine 1 with Job C,
Job B, Job A and machine 3 with Job C, Job A, Job B sequence the other critical machines
are to be determined.

43
Est & due date computations based on sequence c-b-a on machine 2 &
on sequence c-b-a on machine 1 & on sequence c-a-b on machine 3 :-

Machine 4 :-
Job A B C
Process Time 3 5 3
Earliest start Time 0 13 3
Due Date (Time) 9 17 17

Again there are six possible schedules, which are enumerated to determine completion
times.
Job In time Out time Job In time Out time
A 0 3 A 0 3
B 13 18 C 3 6
C 18 21 B 13 18

Job In time Out time Job In time Out time


B 13 18 B 13 18
A 18 21 C 18 21
C 21 24 A 21 24

Job In time Out time Job In time Out time


C 3 6 C 3 6
A 6 9 B 13 18
B 13 18 A 18 21

From the above tables :-

Sequence Completion Time


Job A, Job B, Job C 21
Job A, Job C, Job B 18
Job B, Job A, Job C 24
Job B, Job C, Job A 24
Job C, Job A, Job B 18
Job C, Job B, Job A 21

Optimal schedule to minimize L max for machine 3 are Job A, Job C, Job B
Job C, Job A, Job B

44
Completion time for this schedule is 18 and the minimum L max is ZERO

45
CHAPTER
5

46
5.LEKIN SOFTWARE

Lekin is a scheduling system developed at the Stern School of Business, NYU. Major
parts of the system were designed and coded by Colombia university students. Lekin was
created as an educational tool with the main purpose of introducing the students to scheduling
theory and its applications .Lekin has an interactive scheduling system for machine
environments. Besides that, the system extensibility allows to use it in algorithm
development.
5.1 Lekin features
• Six basic workspace environments are single machines, parallel machines, flow
shop, flexible flow shop, and flexible job shop.
• A set of sample problems.
• Smooth input of user problems.
• Various dispatching rules and heuristics.
• Gantt chart with drag-and-drop support.
• Graphic tool for comparative analysis of different schedules.
• Complete graphic printouts.
• Easy attachments , import and export of external algorithm.

5.2 Lekin machine environments:


single machine
parallel machine
flow shop
job shop
flexible flow shop
flexible job shop

This soft ware helps to find solution to job shop scheduling problem .Its makes use of
dispatching rules like earliest due date, longest processing time, shortest processing time
etc,.

47
In the present thesis, 3 jobs 4 machine scheduling problem in solved with the help of
Lekin Software. The problem is solved using 3 dispatching rules namely earliest due date,
longest processing time, shortest processing time etc,.

The solution obtained using dispatching rule is compared with the three proposed
heuristics namely most work remaining (MWKR) heuristic without earliest start time (EST),
most work remaining (MWKR) heuristic with earliest start time (EST) and critical single
machine scheduling.

48
RESULTS AND CONCLUSIONS

Summary of results
Comparision of most work remaining (MWKR) heuristic without earliest start time
(EST),most work remaining (MWKR) heuristic with earliest start time (EST) and critical
single machine scheduling with the dispatching rules.

Heuristic method Total make span Average flow time

MWKR without EST 33 29.33

MWKR with EST 29 27.67

Critical single machine


29 22.25
scheduling

Dispatching rules Total make span

EDD 29

SPT 33

LPT 29

49
REFERENCES

1. R.Paneer Selvam, Production and Operation Management, Prentice Hall of India


Pvt ltd.
2. Chase Auilano Jacobs, Production And Operation Management, Tata McGraw-
Hill.
3. Conway, R., W.Maxwell, and L. Miller: "Theory of Scheduling", Addison-
Wesley, Reading, MA, 1967.
4. Baker, K.: Introduction to Sequencing and scheduling, John Wiley & Sons, New
York, 1974.
5. A.S. Jain, S. Meeran, Deterministic Job Shop Scheduling: Past, Present and
Future, European journal of Operational Research 113(1999) 390-434
6. S.D.Sharma, Operations Research, Kedar Nath& co.
7. Lee J.Krajewski Larry P.Ritzman, Operations Management, Pearson Education.
8. S.Kalavati, Operations Research, Vikas publishing House Pvt Ltd.
9. P.Rama Murthy, Production and Operation Management, New Age International
Publishers.

50

Вам также может понравиться