C ?n~i4g fA Signiture of Author

advertisement
AN ON LINE PRODUCTION PLANNING SYSTEM
by
WILLIAM CHARLES MICHELS
S.B., Massachusetts Institute of Technology
(1970)
SUBMITTED IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE
DEGREE OF MASTER OF SCIENCE
at the
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
February, 1972
Signiture of Author
fA
C?n~i4g
)-v3
Alfred P. Sloan School of Management, January 21, 1972
Certified by
Thesis Supervisor, Alfred P. Sloan School of Management
Accepted by
Chairman, tepartmental tommitte on Graduate Students
Certified byThesis
per
sor, De artment of Electrical Engineering
Accepted by
Chairman, Departmental Comnfttee on Graduate Students
Archves
MAR 21-1972
1-1@RARI
-2AN ON LINE PRODUCTION PLANNING SYSTEM
by
WILLIAM CHARLES MICHELS
Submitted to the Alfred P. Sloan School of Management and the
Department of Electrical Engineering on January 21, 1972 in
partial
fulfillment of the requirements for the degrees of
Master of Science.
ABSTRACT
Current
production
planning
research
emphasizes
particular techniques for solving specific problems within
large companies. Less emphasis has been placed on integrating
these' tools economically into small companies.
This thesis describes an integrated production planning
an
system designed to help small custom job shops on
interactive, time-shared basis. The heart of the system is an
on-line data base which coordinates the engineering, marketing
and production areas of the firm.
This complex network type
data base consists of 11 multi-chained files. A specialized
data management system
maintains these files and provides
access to them. It permits the user to operate on the data
using only knowledge of its logical structure thereby freeing
physical
him from any need, to understand its internal
representation.
The primary functions of this On-Line Production Planning
(OLPP) system are bill of materials processing, order entry,
time phased requirements generation, due date scheduling,
leveling,
loading,
interactive
load
finite
capacity
and report generation.
generation,
order
manufacturing
Production is scheduled from actual customer orders and not
from forecasts of demand. This reflects the environment of
many small companies and requires the system to be very
It must be capable of undoing old schedules and
flexible.
and
Loading
making new ones quickly and economically.
order
to
manner
in
scheduling are implemented in a heuristic
provide low cost efficiency within a volitile environment.
When weekly work center capacities are reached in the loading
or scheduling process, the system notifies the user of the
problem and of possible solutions to it. It then works with
him to find an acceptable solution.
THESIS SUPERVISOR: David N. Ness
TITLE: Associate Professor of Management
THESIS SUPERVISOR: John J. Donovan
TITLE: Associate Professor of Electrical
Engineering
-3CONTENTS
CHAPTER ONE - A PRODUCTION PLANNING SYSTEM
1.1 -
Introduction to the OLPP System
4
1.2 - Goals of a Master Scheduling System
1.3 - Elements of a Production Planning System
1.4 - Current Developments in Production Planning
8
11
20
1.5 - OLPP System Design Strategy
1.6 - User Command Language
24
27
CHAPTER
2.1
2.2
2.3
2.4
TWO - THE OLPP DATA MANAGEMENT SYSTEM
- A Centralized Information System
- The OLPP Data Management System
- Preliminary Design of the OLPP Data Structures
- Final Design of the OLPP Data Structures
30
32
35
44
2.5
-
Accessing Considerations
55
2.6
-
File System Primitives and Utilities
58
2.7
-
User File Commands
61
CHAPTER
3.1
3.2
3.3
3.4
THREE - LOADING
- Introduction to Loading
- Order Entry
- Feasibility Checking
- Load Leveling
CHAPTER FOUR - SCHEDULING
4.1 - Scheduling Strategy
4.2 - Scheduling Algorithm
64
68
71
76
83
86
4.3 - Generation of Manufacturing Orders
92
4.4 - Updating
95
CHAPTER FIVE - SUMMARY
5.1 - OLPP Capabilities
5.2 - Necessary Implementation Considerations
5.3 - Potential Additions to the OLPP System
BIBLIOGRAPHY
100
103
105
108
-4-
CHAPTER ONE
1.1
-
A PRODUCTION PLANNING SYSTEM
Introduction to the OLPP System
Production Planning
the
varies in complexity
type and size of the company involved.
according
to
This thesis deals
only with the production planning problems of small custom job
shops.
I chose
to
concentrate
on small companies because
their problems have been largely ignored by current
research.
Larger companies have more Tinferesting' problems and have the
ability to support their own
This
efforts.
has
analysis
systems
and
quite naturally led to the present state
where little modern computer technology has been
use
by
small
production
research
companies.
Custom
problems
planning
adapted
for
job shops have a class of
which
make
information systems very attractive to them.
computerized
They fabricate a
large number of possibly complex parts in small lots to meet a
demand
which
varies
in
technological requirements.
jungles
out
of
their
terms
Such
of
variety
production
creates
planning
Continuous manufacturing firms may handle a higher
production,
style
design,
and
paperwork
departments.
volume
of
but their products are generally standardized and
used to maintain inventory levels rather than to meet specific
orders.
Their larger volume also tends to be more capable of
-5-
supporting sophisticated planning systems.
The basic OLPP system is a
planning
production
system
is practical and economical for most small job shops to
which
This target user population must
use.
than
rather
general
of
discrete
system
can
suitability
and
types
not
ina
small
and easily distinguishable states.
be
contracted
for
companies
or
which
may
exactly
not
broadens
This
its
increase
to
extended
fit the
'typical small job shop' mold as defined in this thesis.
flexibility
a
specific classification since firms
a
exist in a continuum of sizes and
number
as
interpreted
be
This
the spectrum of potential system users.
A more accurate definition of'fhe
user
potential
population
would be all those for whom it would be more economical to use
the OLPP system as is, or with slight modifications,
would
be
to
than
it
design, implement and maintain their own system
thereby gai ning the benefits of more precise tailoring.
Before we can define the capabilities whi ch a
planning
system should provide for this type of firm, we must
examine the general area of production plannin g
Planning
is
the
preparing
of
process
estimating the resources that will
company's
goals.
Control
activities as they occur,
plans
be
is the
comparing
for
and
the
control.
future by
to
fulfill
process
of
monitoring
them
to the
pertinent
and taking any corrective action deemed necessary.
becomes
a
subset
of
a
a
needed
OLPP system is a planning system, but by generating
also
production
company's
entire
plans
The
it
production
-6planning and control system.
The area of production planning can be divided into three
considering
by
parts
time
the
horizon and level of detail
being reviewed:
- yearly plant production
1) Long Range Planning
2) Medium Range Scheduling- weekly work center production
- daily man/machine production
3) Short Term Scheduling
These three areas involve a progressively
time
an increasing level of detail.
and
period
shorter
of
In various parts of
the literature the exact definitions of each may vary slightly
and
may
they
be
known
different set of names such as
Stra tegic Planning, Master or Aggregate
Job
and
Scheduling
Shop Scheduling.
Scheduling
Range
Medium
has a level of
complexity that
makes it difficult for small companies to hand le
A maste r
system.
commitments
while
resources.
The
schedules
are
schedule
must
providing
necessary
meet
efficient
information
a
no
in smal 1
history
companies
from
any
these
which
file S.
on which to project the futur e.
existing
estimates by key
its
Long
Range
cannot be formalized as easily
are more established, custom demand
and
of
util ization
since such companies are often new ventures that
or
sales
firm's
developed already exists in most companies and
is economically transferable to computer
Planning
is
capabilities of an inexpens ive computerized
the
within
well
yet
and
sales
forecasts
personel.
Being
Even if they
is poten tially
are
small
usually
little
have
unstable
subjective
it is often
more
-7economical
rely
to
them
for
on
other sources such as the
future.
government or research organizations for views of the
relies upon the Master Schedule for a
Scheduling
Term
Short
global view of the commitments which it must meet.
more
much
minute by
level of data to consider the
detailed
man.
and
minute status of every manufacturing order, machine
such schedules accurate and useful requires the rapid
Keeping
discovery and correction of
implies
This
a
It uses
a
It also may imply
all
from
deviations
plan.
the
large amount of data processing and storage.
time
real
a
or
real
nearly
data
time
Both of these may make Job Shop Scheduling
collection system.
a prohibitively expensive venture for small firms.
This
thesis
only
concerned
with
Master
is an important problem for many small
it
since
Scheduling,
be
will
custom manufacturing companies and is a relatively inexpensive
first
towards computerized planning and control.
step
use the terms
production
system
master
planning
scheduling,
to
describe
as I have developed them
apologize
ahead
aggregate
the
I will
scheduling
and
functions of the OLPP
in this
section.
I will
of time for the inevitable conflict this may
cause for those who rely on other definitions of these terms.
-81.2
Goals of a Master Scheduling System
Before we can design a master scheduling system
examine
the functions it should be capable of performing.
help define these we will first examine the
that
we
currently
arise
various
must
To
problems
in manual production planning systems.
These trouble spots affect many different areas of the company
and
all
parts
of
the
production
planning data base.
following list of problems is sorted by the areas
affect
primarily
and
which
The
they
should help us define the scope of the
OLPP system.
Marketing
- late deliveries of customer orders
- stockouts of fin'ish'ed products
- inconsistent use of engineering changes
- lack of competitive due dates or prices
- no timely feedback of order status
- no idea of possible or probable delivery dates
Production Planning
- sales commitments beyond plant capacity
- poor estimates of future workloads
- no timely feedback on order progress
- lack of clear criteria for make/buy decisions
Production Control
-
frantic search for order status
material stockout or unavailibility
schedules in permanent crisis
too much expediting necessary
- supervisers too busy firefighting to supervise
-
decisions made without proper guidance
thrashing of setup and move operations
simultaneous over and under loading
uneven production rate
Financial
- high inventory costs
- high production costs
poor cost breakdown
poor cash management
-
In analysising
gathering
and
these
problems
dissemination
of
we
can
discover
information
that
the
is in itself a
-9Data
critical problem for manufacturing companies.
and
scattered
voluminous,
hard
to
is
often
This creates a
obtain.
problem area which should be analysed in its own right to help
rectify the problems of all the other areas.
Information
- high storage costs
- conflicting indexing policies
- erroneous data
- data not available until after it is needed
- different interpretations of same data
- lost information
- redundant or useless data
- no formalized information policies
in
The
goals
terms
of
of a production planning system can be stated
solving
machines,materials
problems.
these
and
Costs
of
men,
information must be controlled in the
face of increasingly complex and voluminous operations.
of
Bills
material must be updated to reflect the latest engineering
competitive
prices
within
Schedules must
customer.
varying
must
Competitive quality products
changes.
with
demand
resources.
the
be
Management
must
provided
at
time period demanded by the
generated
efficient
be
will
which
of
utilization
the
the
coordinate
satisfy
firm's
individual
departments which recognize only their own limited objectives.
For example the sales
customer
service
department
and
high
concentrates
levels
department about utilization of
its
primarily
on
of sales, the production
own
resources
the
and
finance department about costs.
An
integrated
production planning system must solve all
these problems in a manner beneficial
to
the
company
as
a
-10Too
whole.
often companies give priority to only one or two
of these areas and must suffer from the neglect of the others.
example
For
their
marketing oriented firms may promise anything to
customers
at
the
cost
of
inefficient production department.
having
a
chaotic
and
Engineering or financially
conscious companies may stress their own strengths so much
as
in the market place.
An
to
lose
the
ability
integrated system
to
compete
will coordinate
these
and produce a more profitable enterprise.
various
activities
-111.3
Elements of a Production Planning System
may
Companies
schedule
from
production
future sales, from customer o rders o r from
a
forecasts
of
combination
of
In large continuous m anufact uring firms, production is
both.
Thi s
often based on sales forecast s.
there
a
exists
is the case either
well define d histo ry of a product's sales or
when inventory is required to buffer the production rate
in
variations
the sales or distrib ution rate.
organized on a functional
they
produce
often
larg e
a
because
numb er of low volume or custom
The same potential ly rand om
predicate
a
generalized
that
production
demand
factors
which
physical layout of a plant may also
be
on
based
In small companies
forecasts.
from
Job shops are
rat her tha n a product basis
products.
dictate
when
sales
rather
than
the 1ow volume of sales and the
smallness of the market often permit effective forecasts to be
made subjectively and informally by top managemant.
I do not consider forecasting to be an integral
planning
production
firms.
for
process
Instead the OLPP
part
of
the
small custom manufacturing
wi 11
system
Therefore
plan
production
from
actual demand as it occurs.
This section will
planning
production
suitability
of
these
introduce the common elements of modern
definition
and
tools
problems of small job shops.
further
It will
systems.
of
description will not occur until
discuss
the
techniques for solving the
Althou gh this
the
also
OL PP
will
system,
lat er chapters.
comprise
the
a
complete
-12its
The initial step in producing a product is defining
Products can be either standard, custom or
bill of materials.
pre-defined
of
bill
of
number
some
standard with
materials
a
for
each
However,
of
sale
engineering
each
for
specifications
marketing, finance and production
materials data base
be
Although
system.
planning
must
.
and
records
use
the
The
production.
departments
and
the
them
for
Consequently a bill of
heart
of
volume
and
the
the
product
these
production
and
costing
pricing,
its
in
step
creates
department
same
the
describe
in a
used
part
each
of
structure
the
product must
custom
of material
bills
These
from
before any price can be quoted or
a detailed bill of material
accepted.
it can be
A product must always have
include a seperate product design.
sale
a
is a
there
product,
times
designed once and produced innumerable
blueprint.
When
options.
any
production
complexity
of
products varies between companies, this is a potentially large
data base.
Inventory
is an area that is closely related to
control
both forecasting and the
production
rate.
Reorder
points,
levels of service, safety stock and other methods of inventory
control of finished products are based on predicted
sales
during
the
restocking
period.
The
rates
of
inherent
uncertainty of demand rates for our type of firm rules out the
inclusion of formal forecasting models in the OLPP system.
also reduces the usefulness of the various types of
It
inventory
-13The alternate concept of
control which are dependent on them.
for
time phased requirements planning is far more suited
OLPP
inventory levels, but
quantity
of
method
This
environment.
parts
rather
and
to
ties
actual
production
sales.
the
not
The
to
exact
subassemblies that will be needed in
future periods to meet sales commitments is determined through
the
of due date scheduling of detailed requirements.
process
and
End prod uct requirements specify only t he quantities
dates
Detail
c f items which have been ordered by a customer
are
part and subassembly requirements
level
by
material s.
level
of
explosion
product's
by
bill
a
of
offset
due date, accordi ng to the level
the
time
to produce the final product from this poi nt.
This
an item occurs within
process is most
levels
end
These requirements are assigned due dates,
backward s from the product's
necessar y
an
calculat d
are
due
the
produ ct
appropriate
structure
where
products
and
have
multiple
of assembly, high cost co nponents, long lead times and
or multi ply used assemblies and parts.
This does not preclude the use of various other inventory
control
schemes
for
parts
whose
use
predicted and whose inventory costs are
can
low.
be
more easily
In fact,
OLPP system recognizes three seperate classes of parts.
are assigned to these classes by what is commonly
ABC
analysis
of part usage versus cost.
items,
such
Parts
call d
Class A items
as airplanes, are low in volume and high in cost, while
C
the
an
such
class
as bolts, are high in volume and low in cost.
-14-
of
inventory
costs are centered in class A items and most of
system
OLPP
The
items.
C
class
in
volume
inventory
most
Usually
Class B items are in the middle of both ranges.
concentrates primarily on the critical high cost class A items
for
class B items it keeps track of time
For
items.
these
Class
put
not
does
phased requirements but
process.
schedules
weekly
and
by generating time phased requirements
scheduling
the
them
C parts are recognized by the system, but do
level
attention
of
time
either
not rate the
high
requirements
planning nor weekly scheduling.
phased
In this way the
system leaves the inventory control of class B & C parts up to
the
desirable
is
This
user.
since class C items are best
suited for the low cost bin tag and
Other
control.
methods
stock
safety
the
OLPP
or
system
of
of inventory control have been well
researched (see ref. #5) and could be easily
in
method
in
the
included
either
manual procedures of stock
control used by the company for these items.
The
system
manufactured
also
recognizes
and purchased parts.
the
distinction
The former is what we have
been discussing up to this point and the later fits
ABC
classification
scheme
but
Instead purchase requirements are
department
early
into
the
does not require scheduling.
output
to
the
purchasing
enough to ensure the ordering and delivery
of the part by the date the requirement was needed.
this
between
Most
of
thesis is concerned with class A manufactured items, but
appropriate mention of the other classes
will
be
made
when
-15-
necessary.
With
time
planning step that
This
entry.
requirements planning, the production
phased
product
follows
an
forms
production
planning
marketing
department.
specification
indirect
and
system
it
the
is
order
interface
between
the
customer
through
the
entails
orders
entering
or
modifications to them into the central data base and accepting
them
if
they
are feasible.
Small firms are often so hungry
for orders that they do not bother to check if they
and
capacity
and
time
the
that are required to fill an order.
resources
They also avoid feasibility checking because
complicated
have
consuming process.
it
is
often
a
Consequently, many
delivery dates are missed, customer relations suffer and so do
the
relations
departments.
production
the
between
A centralized system simplifies
and
marketing
this
task
and
provides benefits to the whole company.
The
next
generation.
gross
step
in
the planning process is requirements
This is the conversion of the order elements into
product
requirements.
It
involves
the
recursive
explosion of an end product's requirements through each
of
its
Levels correspond to simultaneous
product structure.
assembly of one part from its components.
the
final
product
The point at
up
this
stage
which
is completely assembled is referred to as
the zero level of the product structure. The
make
level
are
called
numbers keep rising until the
most
level
components
1 items.
elementary
that
The level
component
is
-16The
described.
of levels is dependent on the
number
total
The higher the
complexity of the end product.
earlier
the
Explosion is the level
process of the end product.
procedure
of
assembly
by
component
multiplying
the
each
requirement
requirements
component
for
that
that
usage
by
level
within
assembly.
an
These
are then offset from the assembly due
date by the lead time by which a
precede
number,
is required in the manufacturing
component
the
level
of its assembly.
component's
due
date
must
This lead time represents the
average setup, assembly and move times for an average size lot
of
that
particular part.
The resulting plan consists of the
exact quantities of each detail
part,
subassembly
and
end
product which are needed to meet sales commitments.
The
next
step
is
necessary to achieve these
center
is
capacity
manufacturing
data base.
standards
specific
of
the
to
Each
objectives.
work
period.
Time
standards
for
the
each part are kept in the bill of materials
obtain
the
load
on
This loading can be
by
these
each work center in each
done
in
either
of
two
the infinite capacity loading scheme, work centers
In
are loaded without any consideration of their total
Potential
resources
Time phased requirements are multiplied
weekly period.
ways.
time
each
of
reserving
with the claims on its labor and machine
'loaded'
for
the
under or over loads are ignored.
implement and
bottlenecks.
may
be
later
used
to
capacity.
This is simple to
focous
attention
on
Production scheduled in this fashion often has a
-17low variation in lead time if the shop itself is proficient at
leveling the load as it occurs.
In
and
relationship between the load being scheduled
center's ability to handle that load.
monitors
loading
capacity
finite
contrast,
each
work
Overloads may influence
overtime,
the user to modify capacity through a commitment to
This decision
or to change the due date or size of the order.
of what to change is difficult to implement
since
there
possible solutions to each overload condition.
many
the
are
The OLPP
system uses finite capacity loading because it forms the basis
Defining the
for a more realistic and useful production plan.
criteria for alleviating overloads forces a firm to
decision
this
This
process.
to
is preferable
by
overloads to be handled in an ad hoc basis
formalize
an
allowing
overworked
and under-informed supervisor.
The
final
step in production planning is the scheduling
of net requirements
economic
batch
manner
in a
quantities
that
the
considers
for each part.
This involves the
setting of start and finish dates, and of quantities
manufacturing
combined
or
manufacturing
load
seperately,
handled
when
converted
on
the
OLPP
into
dates,
the
the work centers may differ slightly
from the load estimated from initial requirements.
reason,
all
Since all requirements within the same
orders.
placed
for
Time phased requirements may be split,
orders.
manufacturing order must have the same completion
actual
most
For
this
system uses two different load estimates.
-18The first is based on initial time phased requirements and
the general feasibility of a sales order.
determine
to
used
is
The second is based on actual manufacturing orders and is used
to
genera te
a
more realistic load estimate on which to base
cannot
manufacturing orders
into
converted
scheduling
the
of
other
In
sales have been made for a given period.
until all
words
be
practically
requirements
because
Two must be used
production schedules.
orders is postponed
manufacturing
until ther e is a high probability that the schedule
will
not
have to be revised by a future sales order. The final schedule
reflects a balanced and efficient use of the firm's resources,
which will meet all promised delivery dates.
such
scheduling,
detailed
More
orders to particular men and mach ines,
job
shop scheduling.
of the individual
become
more
work
efficient
This will
the
assignment of
falls into the realm of
be left up to the supervisors
cen ters.
whe n it
as
can rely on a production plan
which has considered average 1ead times, work center
and
plant
load.
The
enough
A
production
weekly
plan
leeway in it to abso rb so me day to day problems.
may not be sufficient since
subject
capacity
o f any schedule depends on how
val ue
closely it mirrors reality.
should
dispatching
Their
has
This
a co mplex production facility
is
to many random occu rance s such as machine breakdowns,
material shortages and perso nel absences.
cancelled,
modified
or
entered
Sales orders may be
at
Consequently, any planning a lgorithm must be
the
last
flexible
minute.
enough
-19to react swiftly and efficiently to a dynamic environment.
must
some
include
performance
of
its
feedback
mechanism
that
monitors
It
the
schedules, so that future schedules will
continue to be realistic.
-20Current Developments in Production Planning
1.4
Computers have openned many new opportunities in the area
of
the
awesome
of
burden
maintaining
operational areas such as production planning.
charts
and
other
graphical
methods
factory
could not handle complex
voluminous
impetus has shifted to more
the
Lately
records.
financial
In
world, initial computer applications were aimed
business
at reducing
into
unfeasible.
techniques that were previously economically
the
research
stimulating
by
processing
information
Early
Gannt
of production planning
By
environments.
1971
a
of computerized integrated production planning systems
number
were operating as effective day to day tools in progressively
managed
from
firms.
These companies employ techniques which vary
optimization
sophisticated
models
heuristic
to
algorithms.
These systems are found primarily in larger companies who
can afford expensive research and large scale data
systems.
Although some of these systems are in job shops, few
are in small ones.
variable
demand
Small custom job shops suffer from a
than
do
larger
production planning systems must be
capable
processing
of
adjusting
rapidly
ones
and
more
therfore
flexible
and
more
their
more
to short term fluctuations in
orders.
The most complex scheduling techniques
search
for
are
those
which
a mathematically optimal solution, such as linear
programming, dynamic programming or the linear decision
rule.
-21methods are restricted to the solution of very specific
These
or
known
and
the
appropriateness of both
function.
assumptions
on
depends
models
and
the
objective
the
Because of their complexity these models are costly
Either the high cost or the assumption
to develop and to run.
of
these
of
usefulness
a
The
function.
they must maximize or minimize some objective
validity
on
based
To achieve optimality
level of demand.
forecasted
are
today
The ones which are common
problems.
is
demand
known
sufficient
to
make
models
these
inappropriate for small custom job shops.
Simulation models are also widely
They
are
models
mathematical
which
system's response to various inputs.
complex
less
used
alternative
shop
Simulation
models
Simulation
strategies.
in
large
companies
implications
who
factory data collection system.
can
afford
the
The major drawback
is
orders require the entire model to be
modifications
to
This is a
viable
rerun.
of
is widely used for job
with using regular simulation models for master scheduling
that
are
than optimizing ones and consequently they cost
scheduling
necessary
scheduling.
attempt to duplicate a
They allow management to test out the
less.
for
technique
only
when
changes
are
infrequent or where frequent model runs can be afforded.
The
least
scheduling
technique
is
A heuristic is
basically
a
complex
heuristic scheduling.
that
of
nonproven
aid to decision making or, more colloquially, a rule of thumb.
While heuristics do not necessarily lead to optimal solutions,
-22has proven their general usefulness
time
over
experience
rapidly finding good solutions to recurr ng
problems
with
minimum of effort. This may be preferred to finding an optimal
one after a long and costly search.
also
to
attempts
Their
consistently.
not
even
mathematical ones. They can
inexpensive.
it
but
processes
logical
approach
be
simple
depends
value
costs of finding it.
This
small
Heuristics
necessarily
on
benefits of a more precise solution do
planning area of
heuristic
improve a recurring human decision process
by formalizing it and apply ing
are
The
and
rigorous
relatively
the premise that the
not
merit
the
extra
is generally true in the production
companies
who
can
not
absorb
the
overhead of more complex solutions.
This simplicity is doubly
important in 'make to order'
because
firms
of
its
implied
relative reversibility and flexibility.
The heuristic
approach is therefore the most appropriate
scheduling technique for companies who
have
been
to afford computerized production planning.
unable
previously
The order
entry and requirements generation phases in most systems today
are pretty standard.
loading or
planning
Several firms have implemented heuristic
scheduling
systems,
but
phases
within
integrated
the OLPP system is probably unique in
that it is also interactive and time-shared.
capability
is
a
means
production
of
creating
The
interactive
a man-machine decision
system where the experience of the human compliments the
speed
data processing capability of the machine.
high
Availablity
-23on a commercial time-sharing system can free a
from
footing
the
maintainance costs
the
of
system.
company
and hardware
development
software
total
small
Interactive
production
planning systems are rare and primarily exist within companies
who are
system.
big
enough
to
afford
their
own
multiprogramming
I do not know of any time-shared production planning
systems, however some
commercial
time-sharing
offer interactive bill of materials processors.
companies
do
OLPP System Design Strategv
1.5
The
primary
design
goal of the OLPP system is to solve
the production planning problems of small
The
system
custom
job
is an application of current computer technology
which aids this particular class of small firms who
of this technology.
financial.
limitations
First,
have
These missing resources
The
OLPP
system
are
reduces
both
the
human
resource
of computerized production planning in two
ways.
by being an externally developed package, it permits a
company, which does not
to
specialists,
have
utilize
or
can
not
afford
sophisticated software.
being available on a time-shared basis, it permits
pay
not
had the resources necessary to obtain the benefits
previously
and
shops.
only for the hardware resources which they use.
technical
Second, by
firms
to
This may
be a level of expenditure which would not support the purchase
or leasing of high performance hardware.
The
system's first order of responsibility is to solving
the problems of the ultimate user in a manner which is optimal
for
him.
Business
users
are
concerned with the following
criteria:
1) Is OLPP more efficient than a manual system?
2) Is it based on standard production procedures?
3) Does it cost less in time and money than a self
developed package?
4) Does It have flexible I/0, files and programs?
As has been mentioned previously, efficiency
integrating
a
is obtained
by
company's information system and by drawing on
the vast data proceesing power of the computer.
The
standard
-25procedures which the system provides are information retrieval
The information retrieval facility
and master scheduling.
The
it.
which he desires
data desired by a user in the form
the
providing
to
geared
is
algorithm
scheduling
master
is
heuristic in nature and is based on the accepted techniques of
time phased requirements planning, finite capacity loading and
due
Cost involves not only the hardware and
date scheduling.
were
software economies of scale which
previous
This includes the
efficient programs and files, and the
A
heuristics.
particularly
of
use
important
stake
high
relatively
low
environments
has
goal
oriented
use
of
on-line
are various additions to the file system
which would take up space but
relatively
of
consideration is the
tradeoff between the use of CPU time and the
At
definition
be provided, the designing of flexible and
to
functions
storage.
the
paragraph, but also every level of the system design
and implementation process.
the
in
out
brought
cost
cost
of
of
CPU
reduce
time
on-line
processing
when
storage
compared
in
The
time.
time
to
the
shared
caused the OLPP system to freely substitute
storage space for program complexity.
development
In order to facilitate both its initial
its
future
evolution,
the
relatively autonomous modules.
OLPP
system
was
In particular,
designed
three
Interfaces were set up:
1) User/System interface - (User Command Language)
2) Processing programs/File system interface (File System Utilities)
and
in
modular
-263) File system/Operating system interface (File System Primitives)
These
interfaces
allow
easy
adaptation
of
different environments or to perform different
the system to fit
functions.
Each
of them will be discussed later in seperate sections.
The
initial OLPP system was developed on the MULTICS system
at MIT and not on
a
contains
features
several
development.
commercial
time-sharing
which
Most importantly, it
were
system.
very useful
supported
PL/1
MULTICS
in system's
which
is
a
powerful and relatively machine independent higher level language
with an
excellent
MULTICS
also
repertoire
provides
of
data
types
valuable
text
editing
and
structures.
and
debugging
facilities.
In addition to these features, MULTICS is a good example
the
type
would have
of
to
of
environment which a commercial time-sharing system
provide
to
actual
OLPP
users.
Some
of
its
desirable attributes are:
1) Users share the benefits and costs of a powerful
hardware system.
2) Turnaround time is minimized and the user receives
nearly immediate interactive service.
3) The user is constantly aware of the progress of his
job and can terminate it whenever he desires to.
4)
Files and programs are shareable and yet protected
against accidental or malicious damage through the MULTICS
back-up and protection facilities.
5) The system is up most of the time. This should
actually approach all of the time in order to be relied on
by a commercial enterprise.
-271.6
User Command Language
The
major
considerations
in
design of the OLPP user
the
command language are the power of the commands and their ease
use.
The
rationale behind the function of each command will be
explained later
However
the
when
ease
the
of
commands
use
users
themselves
are
presented.
of the command language is a general
criterion which applies equally to
which
of
all
The
commands.
way
in
communicate with the sytem must be simple enough to
allow non-programmers to take advantage of
computer
technology.
Their are four ways in which OLPP acheives this goal:
1) The physical medium is easy to use. Most users are
already familar with the conventional typewriter and thus
can adjust easily to a console.
2) The way in which a terminal user defines his work is
uncomplicated.
He enters commands which resemble English
words to describe the function he wishes to accomplish.
3) If the user is unfamilar with the system he can type
'?'
or
'<command name> ? ', which will
list either all the
legal OLPP commands or all the legal formats of a specific
command.
In some cases he need not provide detailed
parameters since the system can either provide default
values or ask for the missing critical details.
4)
The system always keeps the user aware of what is
happening, so that he knows what to do next.
He converses
with it on a step-by-step basis. The system lets him know
when it is ready to accept OLPP command level
input by
printing out 'INPUT'.
It prints out diagnostics when errors
or important events occur.
He even has two modes of
receiving this
information. The default verbose mode uses
uncomplicated language to explain events. When the messages
become familar to him, he may issue the 'set briefmode'
command which tells the user to use an abbreviated and
faster form for its messages. At any subsequent time he may
issue the 'set verbosemode' command to
restore
the
educational and diagnostic messages to their full form.
These
system characteristics help new users become accustomed to
the system, while at the
same
time
providing
flexible environment for more experienced users.
a
powerful
and
-28OLPP system is designed to be invoked by any authorized
The
level
user who issues the 'olpp' command from the command
commercial
time-sharing
.
system
environment
commands.
The
name
to
a
table
of
the
OLPP
legal
OLPP
command occurs on this list and serves as a
'?'
means of accessing all the currently implemented
OLPP
commands.
legal command names cause the proper processing routine to
These procedures parse the rest of the command
be invoked.
and
for
It parses the first word of all command lines issued to
it and compares this command
Other
a
This routine opens the file
system and becomes the command level
system.
of
carry
out any other Input or output which may be associated
with the command.
legal
options
Each of these commands also has a table of its
which
includes
a
This option causes the
'?'.
When
listing of each legal form of the command.
return
to
line
OLPP
which
types
finished
they
out 'INPUT' and waits for another
command line.
Most commands have several basic
formats.
Each
of
these
exists to serve a specific function more efficiently than would a
single multi-purpose format.
multiple
line
Often there
formats of a command.
efficient input in either high volume
allowed
single
and
This is to permit fast and
or
low.
Arguements
In this
way
data
their
pairing
with
a
are
parameter
can be entered either into an entire
record or just selected portions of it. Furthermore all
names
line
to be either implicitly defined by their position on the
command line or explicitly by
name.
are
command
and options can be truncated to any length which preserves
-29their uniqueness.
This allows experienced users to type less and
enjoy faster response from the system.
-30CHAPTER TWO
2.1
-
THE OLPP DATA MANAGEMENT SYSTEM
A Centralized information System
Production Planning Systems are based on large volumes of
data which are often kept seperately by different departments.
For
there
example
plans
production
interdependent
and
are engineering blueprints, sales orders,
and
cost
reports.
highly
are
These
The
often redundant and or incons istent.
heart of the OLPP system will
be
a
centralized
information
system which collects the entire production planni ng data base
It will
into a single internally consistent unit.
within
a
computerized
departments which must
information
stored
be
file system and made avai lable to the
or
maintain
access
it.
the
Since
will be easier to access when it is stored in one
place, it will be also be easier to group it into
reports
of
any desired level of detail.
Consolidation
of
common data base is not a trivial process,
necessary
into a
files from several departments
however
it
is
a
Data which is redundant or out
and profitable one.
of date may be discovered and and discarded.
Inconsistencies
and corrected.
After
consolidation only one set of archives must be updated.
This
and
inaccuracies
greatly
reduces
may
both
also
the
be
cost
found
of
maintainance
and
the
-31opportunity for error.
production planning data base
A centralized
the
This
within a manufacturing company.
functions
various
coordinates
integration may be more beneficial to the
the
than
company,
efficiency added to the other parts of the production planning
system.
New information is made available to all
In addition
computer
it becomes known to any one of them.
whenever
simultaneously
the
potential
large
intuitive
allows
available capacity to
be
accurate
This
estimates.
all
of
levels
more
with
availability
firm.
higher
efficiently
of
The
more timely and
increased
volumes
the
value
initial accuracy.
with
capacity for
to
than is presently possible.
be
These
of
life
information to any system depends on its
of
Although the chance
of
error
is lowered
the reduction of manual transcription of data, it is not
eliminated.
commonly
be
This reliance
referred
phenomenon.
not
making
business
of
and
detailed
more
computer based benefits must not overshadow the fact
that
the
approximations of factors such as
replaced
the
information also allows
handled
of
capacity
storage
improves the quality of decision
accurate information
at
departments
to
of
a
system
on
its
inputs
is
as the 'Garbage In-Garbage Out' (GIGO)
If work center capacity or product lead time
can
estimated correctly, then the schedules based on them
are not likely to be any more accurate or useful.
-32The OLPP Data Management System
2.2
The
OLPP
system
data
base exists within a specialized
data management system, which consists of three parts:
1) File definitions and contents - The OLPP
contains
a
system
production planning data base.
entire
company's
file
This includes both information which the user inputs and
which
ystem
this
def in
ons
are
da ta
externally variable one.
the
Instead OLPP incl udes
meets
the
or
a
needs
system tailoring
programmers
part
file
oif the system and not an
The user does not have to go through
process of designing his own reco rd formats.
complicated
which
the
managemenit system,
inte gral
an
Since
inputs.
create s from these external
dedicated
a
that
can
by
be
comprehensive
collection
files
of
of most small custom job shops.
done
either
by
OLPP
the
system
a user emp loyed computer specialist.
system is designe d so that the user does
not
have
to
Any
The
incur
this overhead unl ess he chooses to do so.
Accessin g
2)
routines
-
In
order
to
facilitate the
evolution of the OLPP system, two interfaces we re
file system.
the
within
primitive
system
file
between the
file
commands
The first of these i s the interface
and
the
fil e
file system utili ty
file
system
the
loca lize
inner core of the file system.
between
constructed
operating
sytem.
These
machine de pendence to the
The second
is
the
interface
system and the processing p rograms.
routines centralize the co de
functions and consequently
for
These
common
localize the reliance
-33-
operations
basic
maintainance.
as
such
chain
or
searching
chain
perform
utilities
These
on certain file system conventions.
Generalized commands and standard file
formats
were chosen to reduce the complexity of the file system.
additional
users
clarity helps both system designers and
to learn the system.
want
This
who
Since these fil e system i nterf aces
s peed
system,
are the most heavily used routines in the
and
efficiency of execution were critical desig n factors.
User file commands - This portion of the user command
3)
user
language forms the interface between the
and
file
It allows him to manipulate the f i- es without regard
system.
to their internal physical structure.
he must know is the
All
interrelationships among the data.
logical
The commands give
the user the ability to create, m odify , delete c r
record
the
of
any
file.
de signed
ar e
They
output
fc r
any
simplicity,
efficiency of operation and usefu 1ness to the us er.
This file
marketing
system
and
will
engineering
be
on-li ne
of
area s
they
enjoy
immediate
access
critical for the data to be
scheduling
to
data
the
upda ted
production,
h ave
This does not imply
base must be maintained on a real time basis.
may
th e
the comp any.
instantaneous access to any files whic h
right to maintain or query.
to
in
real
deals with orders in futur e weeks.
Each has
have
the
that the data
Each department
bL t it
til
le.
is not as
Master
As we will see
in later chapters, the usefulness of this generalized level of
detail
is rarely degraded by updates which occur as frequently
-34-
as hourly or several times a day.
In a
more
such as short term scheduling this
is not necessarily true.
detailed
arena
-35Preliminary Design of the OLPP Data Structures
2.3
a file system, four basic levels of detail
designing
In
must be considered:
1) FIELD - elementary data item such as part
number, cost or lead time.
set of potentially dissimilar
2) RECORD to some single
pertain
which
(attributes)
fields
part and lead
of
cost
number,
part
as
such
object
part.
produce
to
time necessary
Files
3) FILE - collection of similar records.
file
part
a
such
units
basic
either
may represent
a
as
such
relationships
or
part
per
with one record
per
record
one
with
file
Structure
Product
component/assembly pair.
FILE SYSTEM - collection of all
4)
files within
a particular data base.
a file system, we must examine both
design
properly
To
exist.
will
it
which
The structure of a file system is the
grouping of fields into records and records into
is
structure
most
effective
when
file
a
system
the
for each file.
design
of
the
This
the natural
The
environment
consists of the type and frequency of the
queries to which it will be subjected.
determine
files.
it mirrors
relationships within a company's data base.
of
within
environment
the natural structure of the data and the
characteristics
These
accessing methods which will be most efficient
will
section
This
OLPP
data
develop
the
preliminary
Later sections will
structures.
describe the final design of the file system and the accessing
methods which will be used with it.
Our
starting
point
for
the
structures will be a global view of
data base:
design
the
of
the OLPP data
production
planning
-36Per Manufacturing Order:
- manufacturing order number
- quantity, part number
- start date, finish date
Per Work Center:
- work center number, description
- capacity (regular and maximum) per period
- load (estimated and scheduled) per period
Per Customer:
- customer number
- name, address, phone number
- orders from this customer
Per Sales Order:
- sales order number
- customer information
-
due date
- parts, quantities and costs
Per Part:
-
part number, description
cost, lead time etc.
class A/B/C
type buy/make
order strategy
time phased requirements
components (for assemblies)
routing (operations, work centers, t ime standards)
We will now examine these groups more carefully
determine
their
natural
in
order
to
This will help
inter-relationships.
us find the best representation for them.
The most simple of
order one.
these
groups
is
Its basic unit is the manufacturing order, each of
which has a similar set of attributes.
order
manufacturing
file
records
with
file
of
fixed
length
implemented as a sequential
first
and
last
records,
w ill
So we
correspondence with manufacturing orders.
level
manufacturing
the
records.
predecessor and one successor.
one
The
a
in
a
one-to-one
is
This
a
single
It wil 1 be initially
Except
list of orders.
each
create
will
have
following
for
the
exactly one
diagram
shows
-37the format of a record in the Manufacturing Order file.
Aacana Nt
*06A 1
0
Fie 14
0104f13
..
The
work
center
5TART
W
FIAJ.$H
I
DATe.
'u'
"
I
DT-W
data has very similar characteristics.
This data is a set of descriptions of each of the plant's work
centers.
Although the load per period and capacity per period
attributes involve many data items, they can be represented by
a
standard
number
of
fixed
length
fields.
Since this is
another very simple collection of data, we will again use
most
simple
representation
sequential Work
Center
file,
for
it.
We
of
whose
each
will
our
define
fixed
a
length
records will have the following format:
Fie I A
"it
K
LQAD
NRN (.%,own-
IUftmes
The
next
group which we will examine is the sales data.
Some sample orders will help us illustrate
the
structure
the data in this area:
C%-Yae:
Adare4 -.
0s41
9t
VATe.
ACM MM.
-
C*T#AE: 5ak
CosvNam-- 61aMP'EX
iden
101
dopg g er
01061t
7/0
-0
7- 5.
43 /oo-o
II
f6:12
0:/
Dow
1j~rh7Ai
.MS
C-1.,
4O.o0
CO.8o
/(0.0
:*
- -
-
-
-
on* " 16 b 1o
006MTE -, I/a I
W
IY
/0
MF .
-----
I
3
PArr:
a/l
Iv4vr
2 tVf7
tqis
/6-Y
#V,Do
/$.co
(
(/?443
0
of
-38Here we have three seperate types of data, each with their own
attributes:
1) A variable number of customers
2) A variable number of orders per customer
3) A variable number of items per order
partner
By examining order# 101, we can see that it is a
in
the following relationships:
1) It is a child in the parent-child relationship
between the Acme Mfg Co. and its orders.
2)
It
is
a
brother
in the brother-sister
relationship between order 101 and order 102.
3) It is the parent in the parent-child relationship
between the order and its component items.
Consequently, th is is a th ree level tree where orders have one
parent, a variab le number of brothers and a variable number of
children.
can
We
either represent
this tree with a complex
system of variab le length records or by three types
length
records,
one
for
and
processin g
time.
OLPP
users
wou ld
processing varia ble length
length
ones.
probab y
records
G iven that OLPP uses
we still have two alternative methods
data.
We
inexpensive
than
for
on-line
pay more for
have .to
storing
fixed
nly fixed length records,
for
representing
this
can either insert the chi ld records in between the
parental ones in header-trailer fashi on or use
contiguous
program
ince time-sharing systems
usually have lar ge amounts of relati ely
storage,
of
expense
fixed
Variable
le el of the tree.
each
length records tend to sav e space at the
complexity
of
par ental
seperate children files.
records
Once
to
again
contiguous
the
from
pointers
lists
second
within
method
is
-39and less costly in terms of processing time, so OLPP
simplier
has
separate
contain
contiguous, while parents
child.
and
and
order
customer
Brothers
files.
requirements
name,
customer
are
sisters
pointers
to
order
physically
their
first
Each of these files represents one level of the tree.
The next diagram shows how the records in
these
three
files
represent the three sample orders.
o
90
Am
Oaats
Conot
COST. WaNSas
COV
-
D.,
"
"e
ca.eR !Rej'
c.,r
e
.
50.'e
10 100.10
toM3
/ X1Y.
/01
2q7 3 u/,V
10/
IoS
/0|
3
N -8 WOWW NONMW
9/0 11Y9
-
/
-
final
and
It
is
its
class,
clear
its
used
the parts
in
the
manufacturing
that we need at least a Master Parts
file to hold the description of
time,
#643 3_ 4.oo
most complex portion of the data base is
that pertaining to all
process.
49W.o
.
10v
The
2
cost
each
etc.
part,
its
total
lead
However, the related time
phased requirements, routing and product structure information
adds
a
great
deal of complexity to this one area.
phased requirements are the
each
time
gross
product
period in the planning horizon.
The time
requirements
for
Since this number
of periods is constant these requirements can be contained
in
-40-
a
fixed number of fixed length fields within the Master Parts
record.
The routing data is the sequence of
operations
part must go through while being manufactured.
per
which
period
this
manufacturing of this part.
to
that
of
the
sales
operation
of
in the
take
data, in that it forms a three level
Therefore OLPP will
similar
The
Master
manufactured part will have a
operations
will
number
This data has a structure similar
multi-branched tree.
fashion.
to
for
list
the
in
the
time
of
P4o
ourimca
File
-
Jo ATime
its
in
requirements
The following diagram
records
in
the
Master
Parts, Routing and Time files.
?ft4rS Fde
a
each
Each Routing record will,
of this operation within the Time file.
shows the relationships between
both
record
Parts
pointer
in the Routing file.
handle
turn, contain a pointer to the time phased
Ma,-rS
a
Each operation
has associated with it a work center and the total
hours
which
Tim* Fide
OP
±
NA..b UouAS
a
2
3
I
/df#
1
_____
4?
-41-
The
product
structure data describes all
of each level of assembly of every part.
complicated
than
This
any we have handled so far.
the components
is more
data
Our previously
most complex structures were the three level sales and routing
hierarchies.
diagram represents a typical bill of
next
The
materials.
Product/Assembly
A
Level 0
I
D
Level 2
End items
F
F
E
From this diagram we can see
Subassembly
C
E
B
Level 1
that
a
part
can
either
multiple parents (E) or multiple children (A,B,C).
the bill of materials data a network
represented
the
file).
second
Each
is
a
relationship
Product
component/assembly
pair.
Structure
is
made
Parts
(Master
the
component
possible
part.
file)
file (Product Structure
record
one
contains
The generality of
by
a
network
pointers within the Product
Structure records which point back to the Master Parts
for
be
Each Master Part record contains a
pointer to its first component.
structure
can
by a minimum of two highly inter-dependent files.
The first is the basic description file
and
This makes
It
structure.
have
record
The diagram on the next page shows
the Master Parts and Product Structure records which would
needed to represent the previous sample product structure.
be
-'42MHsTEa ?fPATs
FIle
File
ONcT STROCTURE
.
R5 10
PAAT* Ab
C
p
E
F
C
.
P
I
in
order
to
make it impossible for an infinite loop to
occur within a product structure,
a part (and
may
one
never
component.
master
include
itself
or
of
its
To help the file system avoid this
parts
record
will
contain
a
its
components)
parents
as
problem,
each
low 1evel code, which
indicates the lowest level at which this part is ever used
a
component.
a
Whenever it generates a Produc t Structure,
as
the
file system checks that all assemblies have a larger low level
code
than
any
of
their components.
It als o raises the low
level code of a part whenever it is used at a lower level than
it
previously
was.
When
cons istent manner
ithin
loop, it rejects
.
it
can
a product
set low level codes in a
structure,
because
of
a
The previous diagram incl udes the proper
low level codes for the sample structure.
The preliminary file system which we have developed up to
-43this
point
is summarized
section we will develop a
examining
the
in the next diagram.
more
detailed
In the next
version
various uses of the data.
of
it by
In the rest of this
thesis all files, records and fields will be
referred
to
by
the abbreviations listed in this diagram and the one following
section
2.5.
Field
names
will
rely
on
PL/1
structure,
subscript and underscore notation.
4ASTER PMTs (P)
AT {MP
A
40
MP TV
~~~
Cs
ceA
0 D4
Dr
PT
LT
h
%
M PS
PT.
UCT STMOCTUO(Ps3)
fA
?~
*
r
ATI
TIMEF
PTA..
1* P1
RcJ IUT/A)G (RT )
(eom
Wvfa
sye
*
Cp
ALT.
4Dg
AT
I W.C.
C
ITM
pre
co5ToMER AAkg CCos)
CoT
C sT
AJA#46
CWSTO M0 R
o0lt
11
CA
o4DER
fo (j,
co,r.
oR1e0 a
4,+Y
COS
P#A06 O
AT
S
'I,
MATS 0
P-
9
cCo
PT4
sa
:
Woo
ANow *3.t
'TR
o
~
TIME (TM)
MFG. OADERS (NO)
Coware
a
Olt
iu
tWo
,
Pikle
?u
I
- 00T O
I,
cAsaDs
g$c AiTER (CWc)
ae s
ps
2.4
Final Design of the OLPP Data Structure
Up
this point the sole criterion for structuring the
to
OLLP files has been the 'mirroring of reality'.
sufficient
Is not
This
it does not take into account the potential
since
In particular, we have Ignored three
uses of the data.
basic
problems:
1) How are individual records located within a file?
Most
computer
files are sorted according to the value of a
gains
Sorting
particular field, known as the primary key.
us two important performance characteristics:
A) In a sorted file a record can usually be
retrieved or deemed absent more rapidly than in an
unsorted file. In unsorted files, records are found by
whose performance
linear
search,
exhaustive
an
The processing
size.
with
file
directly
deteriorates
speed and efficiency we can gain by sorting Is critical
to the OLPP system because it lowers cost and Improves
the interactive performance of the system.
B) Any reports generated by the system will be
used by people and people usually require information
to be sorted before they can make effective use of it.
The
system
OLPP
Therefore
environment.
degraded
is designed
its
to
operate
performance
by changes to the file contents.
in a
should
dynamic
not
be
If the files are
to remain sequentially organized and sorted, they would have
to be resorted after the addition or deletion of any record.
Resorting is a time consuming and costly operation.
2) Although our preliminary design includes most of the
information
which
OLPP will require, it does not take into
consideration the possibility of wanting to access a
by
more
than
one
key.
record
In particular a complete system
-45-
should include:
file
by
A) Accessing the Product Structure
of
an
components
component part number within a list of
a
list
of
assemby and by assembly part number within
assemblies using this component.
B) Accessing the Routing file by an operation
for
a
list
sequence number within the routing
particular part and by part number within a list of
parts manufactured in a particular work center.
C) Accessing the Customer Order or Manufacturing
Order file by customer order number or manufacturing
order number to respond to inquiries, and accessing the
Customer Order file by due date within a list of a
customer's orders, and accessing the manufacturing
order file by due date within a list of manufacturing
orders for a part.
D) Accessing the Customer Name file by customer
name or by customer number depending on which is known
at a given time.
and
The first two of these are called where-used lists
are
used to respond to actual or possible changes of work center
All four cases involve organizing a file by
or part status.
Sequential organization has
the value of more than one key.
only one dimension and
by
only
files
making
can
thus
a
multi-dimensional
handle
the
of
copy
seperate
file or
resorting it by each potential key.
3)
Since
example, the
Customer
of
use
file,
Order
may
values
key
by
references
is critical
speed
the
to
customer
would
be
not
inter-file
OLPP,
acceptable.
number
require
field
For
in the
the searching of the
Customer Name file before the information within the desired
record
could
be used.
This puts a relatively hiph cost on
inter-file references.
4)
The
environment,
OLPP
so
system
any
is
decisions
destined
which
for
a
it makes
dynamic
must
be
completely reversible.
manufacturing
In particular,
orders,
and
pegged
work
center
requirements
loads,
must
be
capable of being dissassembled and reconfigured in the light
of new information.
This is not possible in the preliminary
design since there is no record kept of
the
components
of
these various gross figures.
We
will
now
improve
the
correcting these problems.
coded
design of the OLPP file system by
For reference,
a
complete
color
diagram of the final file system is located on the last
page of this section.
The first change is the abandonment
organization.
Although
chained
on
it
files.
all
list
allows
the
logical
constraints
of
elements
list
point
to
or
out
suitable for a
list
be
'chain'
processing
of
records
to their successors.
freed
from
the
are
This
physical
of
chains
patch
indicated
by
records
without having to move any records.
Heads of chains are indicated by anchor pointers and
chains
by
the storage medium. -The problem of resorting
an entire file is eliminated by the ability to
into
file
Chaining Is a method of using
pointers to create a logical list or
having
sequential
is not
Instead, OLPP employs
volitile environment.
techniques
simple,
of
a
special
(NIL)
ends
pointer
of
in the
successor field of the last record.
To
further
improve
bi-directional chaining.
processing
efficiency
OLPP
uses
This requires each record in a chain
to contain two pointers, one (PRV) pointing to its predecessor
-47-
and
another (NXT) pointing to its successor.
From this extra
pointer we gain the ability to traverse the chain in either
forward
or
a
backward
In addition
direction.
a
all chain
maintainance can be controlled from the contents of the record
currently being processed and broken chains can be more easily
reconstructed.
Bi-directional chaining is a tradeoff
between
the storage cost of one field per chain and the time necessary
to process uni-directional chains.
Assuming once
again
that
the marginal cost of storage is less than the marginal cost of
CPU time, OLPP has adopted bi-directional chaining.
In the file system diagrams, chains are represented by
a
three field subrecord containing:
Name Of Chain
Key
NXT
PRV
Name
in colored
diagrams
the
entire
in blue.
indicating pointers are
subrecord
This
and
the arrows
subrecord
forms
a
standard header on every record In every file.
The
use
of
restriction from
physical
chaining
the
file
also
removes the one dimensional
structure
because
has
Any number
contiguousity from logical connectivity.
of chains can be threaded through a record
chain
it seperates
its
forward
and
backward
determine its position within the chain.
as
long
as
each
pointers and a key to
Each
chain
allows
the record to have a unique position in a sorted list which is
independent of its position in any other chained
list.
This
would
not be possible in a sequential organization unless the
file was duplicated and sorted for each
allows
deceptively simple fashion.
the
product
structure
be
to
relationships
complex
key.
Multi-chaining
represented
The following diagram
from
section
will
in
a
show
2.3 in a multi-chained
format.
M A5-r
?es
F,
P-aUpoc
e
One feature of this diagram which is not in our
cr
LE
previous
version of the file system is the inclusion of anchor pointers
Some anchor pointers such
to the heads of the various chains.
as
one
MP.PS_anchorptr and MP.WHERE_anchor_ptr fit directly Into
of
the
MP_anchor ptr
existing
must
files.
this
others
such
as
be directly accessable by the file system
and not embedded within a
handle
However
problem,
record
of
some
other
file.
OLPP has a single record control
To
(CTL)
-49-
file which holds the various anchor pointers required
system.
Anchor
pointers
are
named
(source
by
the
file>.<chain
name>_anchor pointer and are green in the colored diagrams.
The folowing list reviews all
the OLPP chains,
keys
and
anchor pointers:
FILE
CHAIN
KEY
ANCHOR
PS
PS
WHERE
RT
WHERE
CUS#
CNAME
CO#
CO
OR
MO#
MO
MP
TM
ComponentPart_#
AssemblyPart_#
OperationSeq_#
Part_#
Customer_#
CustomerName
CustomerOrder_#
DueDate
Part_#
Mfg_Order_#
DueDate
Part_#
Period_#
MP.PS_anchorptr
MP.WHEREanchor_ptr
MP.RTanchor~ptr
WC.WHEREanchorptr
CTL.CIS#_anchor_ptr
CTL.CNAME_anchor_ptr
CTL.CO#_anchor-ptr
CUS.CO_anchor ptr
CO.OR_anchorptr
CTL.MO#_anchor-ptr
MP.MOanchor-ptr
CTL.MPanchor_ptr
RT.TIME(n).TM_anchor_ptr
RT
CUS
CO
REQ
MO
MP
TM
These chains are maintained in a sorted order by the file
Deleted
system.
not returned to the operating
are
records
system but rather added to a chain of
This
file.
All
file.
particular
method
the
minimizes
of
number
free
chains
keeping
of
free
records
for
the
are anchored in the CTL
records
unused
exchanges
(ALLOCATE
statements) between the OLPP system and the operating
available
and
FREE
system,
thus saving overhead time and expense.
Inter-file
references
pointers in place of key
values
speeded
within
up
by
records.
provlding
These
so
home-pointers are the fastest way of accessing another
called
record.
cost
are
of
Key values are maintained only for output,
an
when
the
extra field in a record is less than the cost of
-50value
accessing another record just to get the
field.
are
pointers
These
in
file>.<qualifier>_home_<parent file>_ptr and are pink
colored
the
is an optional description
qualifier
The
diagram.
single
<source
as
to
refered
a
of
following
which is used to make the name more meaningful. The
home pointers will be added to the file system:
FILE
HOME POINTER
REASON
PS
PS.Comp_home MP ptr
PS.Asshome_MPptr
RT.home_WC_ptr
CO.home_CUJS_ptr
REQ.home_COptr
MO.home_MP_ptr
Speeds
Speeds
Speeds
Speeds
Speeds
Speeds
RT
CO
REQ
MO
is
decsions
of
reversibility
of
problem
The
explosion
WC to MP traverses
MP to WC traverses
CO to CUS traverses
REQ to CO traverses
VO to MP traverses
tied
intimately to the REQ file because this file is the nucleus of
the
entire
variable
system they cause a CO record and a
to
records
generation of time
center
orders,
actual
schedules.
center
time
These
manufacturing orders are for
product
structure
of
and
of
number
REQ
immediate
the
work
estimated
eventual generation of manufacturing
the
work
cause
also
requirements
phased
and
loads,
They
created.
be
orders enter the
When
process.
decision
OLPP
the
phased
parts
items
production
weekly
and
loads
requirements,
every
in
which
Reversibility implies connecting loads
to
loads
and
of
the
level
have
been ordered.
the
manufacturing
orders which caused them, manufacturing orders to the specific
requirements
which
caused
them
and
every
time
requirement to the order requirement which caused it.
phased
-51-
solution
The
of
this
complex
introduction of the new concept of
time
phased
particular
requirement
time
part#/quantity
is a
period.
pair
A
which
problem
pegged
part#/quantity
pegged
can
requirements.
switch
be
pair
requirement
in a
Is
a
is tied both to a particular time
thought
A
time
phased
of
as an aggregation of pegged
To make the system
completely flexible we must
to the more powerful and detailed
pegged
the
requirement,
period and to a particular order requirement.
requirement
involves
requirements.
Irreversibility
This
which
representation,
by
method of recording
removes
is
Inherent
establishing
a
the
in
obstacle
an
vehicle
of
aggregated
for
various
linkages.
A
possible way of representing pegged requirements would
be to replace MP.TimePhasedREQ(n) with
where
PR
would
be
a
chain of records in a seperate Pegged
An
Requirements(PR) file.
MP.PRanchorptr(n),
alternative
scheme
would
be
to
combine the REQ and the PR files into one file with two chains
running through it. These can be combined because the current
REQ file Is essentially a subset of the new PR file.
also desire
requirements
to
expand
caused
the
by
cancel or modify an order.
OR
chain
to
contain
We might
all
the
an order, so that we can efficiently
This combined
scheme
centralizes
the
requirements information and eliminates the need for both
two
seperate
files
and
any
references
between
them.
Consequently the OLPP system has a single REO file with PR and
-52-
OR chains running through it. This structure still
a
allow
pegged
to
it
(REQ.imedhomeREQptr)
To rectify this
and
(REQ.Endhome_REQptr)
ommission end use
pointers
immediately
requirement
product structure.
in the
not
be traced back to its order
pegged
the
requirement, or even to
superior
to
requirement
does
included
are
immediate
use
in the
REQ
reversing
the
record.
This still leaves us with the problem
of
centers and the scheduling of manufacturing
work
loading
of
orders.
To accomplish this the work center and
data
bases
to
back
references
include
must
manufacturing
specific REQ
Manufacturing orders can
records, which contain home_C0_ptrs.
easily be linked back to the proper requirement records by the
of
creation
requirements
a
through
chain
third
REQ
the
contributing to a single manufacturing order are
connected by this Manufacturing Requirements (MR) chain
is
ordered
which
anchored
by
The key for this last chain was chosen more
uniqueness
its
and
RFQ.Imedhome_REQ~ptr
by
MO.MRanchorptr.
for
All
file.
within a single manufacturing order than
for any significant meaning.
Linking
requirements
individual
which
components
load
caused
them
problem, since a given requirement
centers
In several periods.
to
the
is a slightly more complex
may
effect
several
work
This can not be handled just by
threading another chain through the REQ file.
is needed
back
Instead,
what
is a seperate file called the LOAD (LD) file, with
-53one
for
record
load
each
period by each requirement.
item
placed on each work center
This
new
file
the
have
will
following two chains in it:
CHAIN
KEY
ANCHOR
LD
RL
Priority
Work Center_#
WC.LOAD(n).LDanchor_ptr
REQ.RLanchorptr
center
The LD chain connects all the load elements on a work
period,
thereby
The
removed if necessary.
caused
elements
a
by
record
LD
the
all
from
both
work
a
center
homeWCjptr
home_REQOptr to speed traverses between the WC and REQ
Its
primary
fields
the
are
load
requirement, thus allowing a
removed
includes
also
to be analysed and
links
chain
RL
single
requirement's load to be
Each
elements
load
allowing
number
of
priority of the requirement, and the work
hours
center
totals.
and
a
files.
needed, the
number
and
period which are being loaded.
file system.
product,
make the REQ file the heart of the OLPP
additions
These
among
the
center and scheduling data bases.
REQ
it forms the dynamic interconnection
sales,
work
records are directly accessible from the CO, MP, WC, LD and MO
files.
When
a
purpose of going
Complete
REQ
record is examined it is usually for the
from
communication
without the addition of
fields.
one
of
through
these
files
to
the
other.
the REQ file is not possible
REQ.homeMP-ptr
and
REQ.homeMO ptr
The diagram on the next page represents the the final
design of the OLPP file system:
0*a
CT'L
FREE CHA)AISOl)
1t04t
l e|
l | lc M10 II- IT
T IT P ->CSO|l|
c,
l
-552.5
Accessing Considerations
no
The final OLPP file system has
direct
access to particular records.
chained
they
determine
must
the
be
searched
contents
or
provision
for
finding
one
sequentially
existence
record
rapid
Since all the files are
in a
in order
entire
long
list.
lists
but
The
OLPP
environment requires both sequential and direct access to
files.
This
to
of a specific record.
This is an efficient scheme for processing
not
for
Its
combination is often acheived by providing some
type of index into the
lists.
Three
potential
methods
of
indexing a file are:
1) A
sorted
index,
such
as one containing every
tenth key value and the address
of
their
with
the
corresponding
records.
2) A
multi-level
index
highest
containing every hundredth key value and the
subindex for this portion of the file.
the
would then contain every tenth key value
of
these
specific
records
level
address
of
The subindex
and the address
within the range covered by
this subindex.
3) A hash
table
containing
the
address
of
each
record at a location within the table which Is determined
by applying the hashing function to the key values.
The first of these schemes speeds up the search
reducing
the
maximum
find a specific record.
number
process
by
of keys which must be examined to
Its only drawback is that the index must
-56-
necessary so that the key values in the Index are
so
file,
the
over
out
This is
when records are added to-the f-ile system,
modified
be
that
spread
evenly
all parts of the file will enjoy
The second
approximately the same accessing times.
reduces
the
access time even farther but increases the complexity of
maximum
the index which must be maintained.
accessing
The hashing method provides the fastest
all
maximum
the
reducing
by
of
of records which must be
number
uniformly
provides
It also
accessed to find a record to two.
time
fast access for all key values while the indexing methods provide
of
benefit
additional
the
in the
are
keys
whose
fast access only to those
Index.
An
scheme is that it does not
hashing
require an index to be maintained in a
manner.
sorted
A
hash
table requires modification to only one location when a record is
added to or deleted from the file.
cost
potential
three
of
the
necessary to hash
compared
the
with
unnecessary records.
a
key
time
These advantages come at
value,
used
by
becomes
the
the
time
insignificant
when
first,
The
drawbacks.
the
other schemes to access
The impact of the second cost, the need for
large hash table, depends on the environment of the particular
OLPP system.
well
worth
In most time sharing systems, this extra
the
speed it gains for interactive users.
space
is
Finally,
this method does entail either the creation of a hashing function
and table which results in unique locations for each key value or
the inclusion of an overflow which
handles
non-unique
without seriously degrading system performance.
mappings
Particular
hashing
functions,
table
sizes
and
overflow
methods depend heavily on the range of keys being considered
the
amount
of
space
available.
In fact,
for
the
and
limited
requirements of the experimental OLPP system, hashing was totally
specific hashing algorithms will be
Consequently,
unnecessary.
omitted from this thesis and from the current version of the OLPP
system.
algorithms
This
is a reasonably well explored area with many such
in use
(such
as
in MULTICS
directories).
The
definition and implementation of specific hashing methods will be
postponed until the OLPP system is tailored for particular users.
2.6
File System Primitives and Utilities
As
was
earlier in this chapter, the file system
mentioned
contains two modular interfaces, one between it and the operating
system
(Primitives)
and
These interfaces exist to localize machine
programs (Utilities).
on one hand and file system conventions on the other.
dependence
together
serve
They also
a
as
tool
for
processing
freeing
from the need to get deeply involved either in the file
routines
system
between It and the processing
another
with
or
the
system.
operating
This
makes
any
modifications to the system, easier to implement.
design
The
of
these
is critical
subroutines
performance of the entire OLPP system because all
the primary design criterion.
the
of
the
Efficiency thereby becomes
file very often.
the
access
system
parts
to
However other considerations
must
also be taken into account before these routines become practical
many
or
functions
Should
development.
aids for system
specialized
ther
be
The
ones?
a
and
against
the
What is desirable is a small
number of efficient routines which are general enough to
on
many
all
or
rather
files
than
only
one.
to
dividing
both
primitives
records
information
into
important
and
a
utilities.
standardized
operate
This in turn
influences a general design for files which makes them
same
general
simplicity
development advantages of the first must be weighed
operating efficiency of the second.
few
look
the
This can be done by
header
containing
to the file system and a non-standardized
trailer containing the rest of the data.
In the OLPP environment
-59this
led to the adoption of a standardized format for chains and
the placement of all chains in the beginning of each record.
The primitive functions of the OLPP file system are:
1) fread - reads a record from a given file.
2) fstate - tests If a user has a previously saved
version of the file system.
3) fwrite - writes a record into a given file.
4) fclose - closes a file.
The
function
explanatory.
of
these
These
utilities are based.
will
are
primitive
the
commands
blocks
building
be
on
self
which
The precise construction of these
the
routines
not be described any further, since their structure depends
solely on
MULTICS.
They
(ignoring
potential
differences
are
the
to
a
only
part
of
the
system
in PL/1 compilers) which would
have to be re-programmed if and when
moved
should
the
system
OLPP
is ever
different machine and operating system environment.
fread routine.
They are all implemented as entries In the
The functions performed by the OLPP
file
system
utilities
are:
system.
1) opn_fs - open file
2) clsfs - close file system.
3)
4)
5)
6)
7)
8)
9)
The
gen - generate a record in a given file and chain(s).
get-a - get a record given a pointer to It.
fnd - find a record given a key value and chain.
nxt - get the next record on a given chain.
put a - put a record given a key value and chain.
del-entry - delete a record given a key value & chain.
del entry2 - delete an entry from a given chain.
functions
evident.
necessary
of
these
commands
should
Basically they perform the mundane
for
list
processing.
also
be pretty self
standard
functions
They were chosen because they
were the largest set of utilities which were general enough to be
-60to
useful
system.
this
any
almost
routine
desired
to use the file
All file accesses by the processing routines go
interface.
They
through
These are the only routines in the system which
are dependent on the chain
system.
which
are
all
system (opnfs) routine.
structure
conventions
of
the
file
implemented as entries in the open file
-612.7
User File Commands
The direct interface between the user and the file system is
the
file
command
portion
of
the
The
user command language.
formats and functions of these commands are designed to match the
abilities
and
needs of the OLPP users.
These commands exist in
two groups, one for input and one for output.
The input commands are designed to provide
of
all, or part of, one, or more,
and
pointers
commands
and
mainataining
They
the
in the static portion of a company's data
base (MP, PS, RT, TM, WC and CUS files).
these
input
records in a given file.
are the routines responsible for creating
chains
efficient
The
exact
formats
of
can be determined by typing out the command name
desired followed by the single '?' arguement.
The input commands
are:
1) build - This command accepts deta fled descriptions
It then asks the
of part s and creates MP records from them.
user to supply the bill of materials fo r each assembly so
that it can construct the necessary PS recor ds. The build
rout Ine is the one which checks and maIntal ns low level
Finally, it asks the user to supply
codes automatically.
the information necessary for it to bull d th e RT and TM
records for each manufactured part.
2) new - This command creates new WC a nd CUS records.
3) entinfo - This command enters new or modified
information into any user accessible field of any record.
4) order - This command enters custome r orders into the
file system. This involves the generation of one CO and as
many REQ records as are necessary, It may also cause a new
CUS record to be created. This command invokes the load
module and will be discussed more fully in chapter 3.
5) schedule - This command invokes the schedule module,
which creates MO records. It will be dis cussed more fully
In chapter 4.
6) slide - This command invokes the sl Ide modul e, which
regular and maximum cap acities for the
new
requests
It will be
initialization of the last (26th) perio d.
discussed more fully in chapter 4.
-627) remove - This command removes any single record from
any file.
In an actual implementation of the
would
probably
have
to
be
OLPP
modified
system
these
commands
to also accept data from
devices which are more capable of high volume input.
The output commands are designed to output
contained
within
the
alternative
needs.
forms,
which
Each
of
either
these
commands
has
change the amount of
detail
in a report or change the way in which
Exact
formats
can
information
file system in formats which are directly
related to specific user
various
the
it
is arranged.
be obtained once again by typing the command
name followed by a '?'.
The output commands are:
1) explode - Explodes a gross part requirement into
gross requirements for all
its components.
The possible
options are single level,
indented, cross sectional and
summarized explosions.
2) where - Implodes a part showing how many times and
at what levels it appears as a component in any other
assemblies.
The possible options
are
single
level,
indented, cross sectional and summarized.
3) mlist - lists all parts which belong to a specific
subset of the MP file.
The possible groups are end
products, assemblies, subassemblies and detail parts.
4) disinfo - prints out the contents of any record in
any file.
5) colist - prints out the contents of the CUS, CO and
REQ files associated with a given customer order. Can
provide detailed information or a condensation of it.
6) wcprofile - prints out the current load status of
one or more work centers in one or more weekly periods. Can
also provide regular and maximum capacities, estimated and
actual loads, and just those work centers which are loaded
beyond a specified point.
In an actual OLPP implementation, these commands
have
would
probably
to be extended to provide for output to other devices which
are more capable of high volume output.
Consoles
are
primarily
-63useful
for
their
interactive
capability.
They
are the only
device supported by the current OLPP implementation, because they
are
the
main
I/0 device of the MULTICS environment and because
they are excellent tools for system development.
-64CHAPTER THREE
LOADING
-
Introduction to Loading
3.1
The
initial
step
in
an
creating
OLPP
system is the
routing,
generation of a company's master, product structure,
work center and customer name files.
time,
loading,
system is primed to begin the three part
and
updating
cycle.
At this point the
scheduling
customer orders enter the system ,
As
they are translated into pegged
requirements,
which
are
in
turn used to build up an estimated load on the work centers in
specific
time
requirements
reverse
are
chronological
requirements
in
generated
generation
order
relies
a
from
on
order's
an
Originally
periods.
pegged
critical path sequence in
its
due
each
This
date.
product
structure
which
record to contain not only the number of each component
is
required
for an assembly, but also the lead time by which
the component's completion must precede the completion of
assembly.
the
This lead time may differ for each component and is
the amount the component's due date is offset from that of its
assembly.
Requirements
critical path sequence
may be moved ahead of their original
if
they
cause
an
overload
in
one
period, but can either fit into a preceding period of the same
work center or into an alternate work center (specified in the
-65RT
record) in the same period.
standard
the
to
necessary
capacity
commitments.
The estimated loads represent
sales
manufacture
give a timely approximation of the growth
They
of actual work center loads.
Detailed scheduling of manufacturing work center loads is
a
complex
process
which
is
delayed
until there is a high
probability that no new orders will alter the
combination
of
economic order quantities and start dates which best satisfies
the pegged requirements of any part.
figures,
which
Although the actual load
are based on manufacturing orders, may differ
slightly from the estimated load, the total load on each
center
shift
will be the same.
of
the
quantities
sizes.
basis
load
are
The only difference will be a minor
into
padded
These scheduled
work
to
periods
earlier
reach
minimum
manufacturing
as
requirement
or multiple order
orders
can
form
the
for weekly production only if they are updated with the
status of previous
schedules.
This
feedback
is
necessary
because schedules are at best approximations of reality.
They
contain enough slack to absorb the effects of minor deviations
from
what
was
predicted
on the basis of past performances.
However, some random occurances may have effects which
be
absorbed
in
a weekly schedule.
taken into account by the system, all
become
progressively useless.
is completed,
completed
and
cannot
If these errors are not
future
schedules
will
So after each weeks production
the sys tem must be informed of which orders were
which
weren't.
Incomplete orders must be fit
-66into succeeding schedules, presumably as soon as possible.
The OLPP order
entry
routine
be
can
used
three
for
purposes:
1) Entering a customer order
2) Costing an order
3) Testing the feasibility of producing an order
4) Finding the earliest possible order delivery date
The
primary objective of this phase of the OLPP system is the
entering of a customer order.
of
validation
the
This process
customer name or number if they exist, or
the generation of a new CUS record if
the
calculates
order.
automatic
causes
they
It
don't.
also
cost of each order item and total cost of the
After this preliminary bookeeping is accomplished, the
producing the order before the due date is is
feasibiltiy
of
determined.
When the
manufacturing
of
order
this
in
its
critical path sequence causes the overload of one or more work
centers,
user
is
notified
solution
to
the
the
potential
of
problem.
production departments can then work
the
The
scope,
cause
and
marketing and or
interactively
system to obtain a mutually agreeable solution.
with
the
Once an order
has been accepted by the system, the loading routine generates
PR
chains,
updates
the
estimated
work
center
loads, and
generates LD records and chains them into the proper LD and RL
chains.
The
second and third versions of the order command exist
so that the user can obtain information generated by one
of
the
order
entry
part
process without incurring the delay and
overhead of the functions which he does not want.
Feasibility
-67checking
possible time.
possible
potential
illuminates
This gives
chance
everyone
rev ising their
for
most of the opportunit ies
at the earliest
bottlenecks
the
concerned
plans and for making the
presented to them.
The fourth option all ows the user to rely on
to calculate the earli est
It
order
the
next
possible
items
period.
delivery
on the plant, it
the
system
possible del ivery date for an order.
considers both the tota l
the
greatest
lead times in the
MP
records
of
and the feasibility of starting an order in
W hen
it
finds
that
the
theoretically
da te i s infeasible due to the current load
keeps
recursively
period until a feasible date is found.
trying
the
next
later
-68Order Entry
3.2
The order command is designed to be used by the marketing
entry.
order
actual
and
negotiation
customer
department for both
It has the following three formats:
1) orde
<customer name or number>
2) orde r
cost
3) orde r -test
4)
The
orde r
-date
option
-cost
be
can
combined with either the -test or
-date option s by placing it on the same command line as
In
all
c ommand
fou r cases the
wh ich
routine,
the
calls
arguement to it.
them.
name is recognized by the OLPP
routine
order
and
passes
the
If an actual order is being entered, the CUS
file is exam ined to veri f y that the specified customer exists.
If
no
such
The user
generated.
information,
c an
customer
is
asked
found,
to
a
CUS record is
new
supply
the
all
d
CO chain.
The
missing
After the CUS
such as ad ress and phone number.
record has been settl ed,
user's
be
a new CO record is chained into
system
this
asks for the following order
header information and fills it into this record:
- date of order
-
due date
priority
- discount percentage
The last two of these are optio nal.
is
used
by
the
marketing
discount to an entire
order.
The
department
This
discount
percentage
give
a specific
to
discount
overrides
the
-69-
(1-5)
priority
The
discount.
be overriden by the item
is
the priority in the part's MP record (1-5) and that
to
added
record, but can, in turn,
found in the CUS
discount
customer
if the copany does not want
ratings
Priority
basis.
to
distinguish
orders
on
that
are only used by the load leveling
instructed
are
they
when
routines
requirements
Any one or all of these may be zero
each other.
to
relative
and
orders
rank
to
(1-5)
record
in the CUS
low
bump
to
priority
requirements from overloaded work centers.
In
two,
options
three and four the order routine omits
the generation of CUS and CO records and starts immediately to
accept
order
the
items.
body of the order is entered
The
in
information
following
the
input
after the system asks the user to
item
the columns under the headings printed out on
the console:
Item Discount
Quantity
Part#
A blank line in the input stream causes the system to ask
a
new
If
order#.
this
is
NULL, no more data is read in.
Otherwise multiple orders can be read in
at
the
time.
same
The item discount is needed only in options one and two.
information is immediately translated into a chain of
REQ
This
records.
chain
is
the
temporary
representation of the order and is not inserted into
file nor linked to any other files.
as an independent working copy
primarily
by
the
for
of
This
'dummy'
internal
the
REQ
Instead, it is maintained
the
order.
It
is
used
feasibility checking module as a mechanism
-70and
for the efficient summarized explosion of the order items
as
a
means
of determining the loads which will be placed on
In options one and two, it is also used
the work centers .
help
to
calculate the cost of each item and of the entire order.
The item costs a re retrieved
them.
to
appli ed
discounts
from
the
This
MP
records
and
the
cost information is then
output to the us er and stored in either the CO or REQ records.
Once
an
actual
order has been accepted by the system,
into the REQ file
dummy records are moved
these
and patched into the
proper OR and PR chains.
In
options
one and three, control passes from the order
entry module to the feasibility checking
two,
the
cost
returns to the
feasibility
information
OLPP
checking
that is tried.
command
module
module.
In option
is shown to the user and control
level.
In
option
four,
the
is called once for each due date
-71Feasibility Checking
3.3
Feasibility checking is
center
work
regular
preceding
of
comparing
to
produce
an
order with the
periods
The system will not accept an
it it can guarantee that the
center
work
proper
will be available in the proper
materials
raw
the
in
available
capacities
order due date.
the
order until
process
necessary
capacity
standard
the
the
capacity
and
periods.
The first step in this process is the comparison
the
total
lead
necessary to purchase raw materials or
time
date
detail parts with the amount of time between the current
and
of
This total
the order due date.
lead time figure is found
the
in the MP record of every product and represents
minimum
necessary for the purchasing and manufacturing cycles of
time
each part.
Once this
must
requirements
requirements.
simplified
by
be
noting
that
a
products
in
system
could
use
several
the same order.
were known the first time
a
in
more
times
subassembly
was
within
exploded,
the
the information it learns in the explosion
of
of the exact same product structure.
the
be
If all these occurrences
rather than exploding parts randomly in
discovered
pegged
can
process
process for each one and save itself the trouble
re-explosions
their
order
subassembly may occur several
times within a given product and
other
of
all
recursive
complex
This
into
exploded
the
completed,
is
check
preliminary
explosion
of
each
the
order
multiple
Therefore
they
are
order item, the OLPP
-72system explodes assemblies in the order in which they occur on
the previosly mentioned dummy REQ chain.
This chain is ordered first by low level code and then by
part number within groups having
the
same
low
level
Then as
Initially only product requirements are on the chain.
each
is
assembly
offsets
exploded,
the
necessary
code.
quantities
and
each component are determined and and a new dummy
of
REQ record generated and patched into the chain for each
one.
The fact that each component must have a larger low level code
than its parent assembly, guarantees that each new record will
be
inserted
farther
exploded itself.
requirements
down
chain and will eventually be
the
Grouping by part
for
the
same
part
number
insures
that
all
can be handled by only one
explosion.
The overall purpose of this exercise is to compare
loads
to
available
capacity,
so
we
must
explosion process to determine the total load
plant by this order.
also
load
the
However the order
loaded
onto
the
order.
this
on
the
If we knew ahead of time that this order
we
could
actual work centers and look for overloads.
is
being
system,
work centers is created on
this
use
placed
would fit or if we were committed to this due date,
simply
order
evaluated
and
not
necessarily
so a separate unloaded copy of the
which to aggregate the
load
The system also realizes that at a later time it
may either have to generate LD chains or modify this order
some
way
to
from
make
it more feasibile.
in
Consequently, it also
-73generates dummy LD chains off the dummy
the
explosion process.
of the file
working
system
of
an
the
to
provide
order
information can either be discarded,
into
centers
during
The existence of this separate subset
is necessary
representation
work
and
an
its
modified
efficient
loads.
or
This
integrated
file system, according to the user's evaluation of
the desirability of the order.
The explosion routine examines each part in the order
which
it
appears
on the dummy REQ chain by traversing first
its RT-TM chains and then its PS chain.
three
in
Each record on
these
chains is used once for each requirement with this part
number and then the next record on
fetched.
the
particular
chain
is
The RT-TM chains are used to claim capacity for each
requirement by providing the information necessary
to
update
the estimated load and the LD chains in the proper work center
periods. Each RT record represents one operation to be done in
one
work
center while assembling a part.
pointer to the TM records which list
which
this
the
manufacturing
of
capacity
This file is used both to list the
operations which go into a part and to indicate
the work center capacity hours necessary to
To
hours
operation will require in periods relative to the
due date of this assembly.
part.
It also contains a
speed
up
manufacture
this
the loading process, all TM records are
aggregated into the first occurrence of a work center in a
chain.
RT
Later occurrences of this same WC in in this RT chain
will have neither a WC.WHERE chain nor TM
information.
This
-74-
is only
to
heuristic
a
speed
has no
and
processing
up
conceptual significance.
The PS chain is used to determine both the
and
quantity
It is
time period in which a component part will be required.
the potential uniqueness of these
quantity/date
which
pairs
a separate REQ record to be generated for each separate
cause
use of a component
the
are
assemblies,
part.
chain are examined.
cause
any
items
do
Therefore,
new
not
Class
A,
items
are
also
only parts for which both a RT and a PS
Detail pa rts and class
REQ
records
add
which
any
depending
load
on
C
items
not
do
to be generated and class B & C
to
the
centers.
work
dummy
the class of the part, either none,
one or two chains are searched from the MP record.
Once the entire dummy REQ chain has been exploded to
lowest
level requ rements, th e dummy work center records will
be loaded wit h the
These
its
loads
available
can
estimated
be
ca pacities
manufacturing
this
easily
load
factory
order
by
its
feasible and the user requests the
this
the
with
compared
determine
to
of
order.
currently
fea sibi 1 ity
the
due
date.
system
to
of
When orde r is
l oad
it,
the
dummy REQ rec ords can be easily chained into the proper OR and
PR chains in the permanent REQ file.
as
home
poi nters
must
be
filled
Additional
fields
in at this point.
requirements will be used by the system for scheduling or
possible
user
retrieval.
such
These
for
The dummy LD records can be easily
inserted into the existing LD chains in the LD
file
and
the
-75estimated
loads
from
the
estimated loads in the WC file.
and
REQ
records
WC
dummy
records
added
to the
The RL chains in the dummy LD
can be moved directly as is into the actual
file system.
As will be explained more fully in the next chapter,
load
routine must also build a list of all
must
be
scheduled
requirements,
the
If
immediately.
load
routine
must
procedure and pass this list to it.
the
requirements which
there
are
any
such
invoke the scheduling
-763.4
Load Leveling
The system outputs a detailed report to the user whenever
current
plant
loads
or
lead
insufficient
its
infeasible for an order to be produced in
sequence
terminating
at its due date.
times
make
critical
path
Multiple orders input
with the same command cause one summarized report to be
given
The first part of
to the user rather than one for each order.
these reports is
it
a problem description:
- which lead times are insufficient and by how much
- which work centers are overloaded and by how much
- what the capacities of these work centers are
To make this listing even more useful the
to
contributed
have
system
also
shows
this overload and by how
which
orders
much.
This includes both
being
considered and all other orders already accepted by the
the
requirements
the
from
order
system.
When the
feasible
system
is
asked
to
calculate
the
earliest
due date, it prints out both the date which it found
and a list of those dates which were tried and discarded.
For
each unfeasible date it lists the number of work centers which
were
over
loaded
overloaded.
This
the
and
each
percentage
average
was
allows the user to estimate how worthwhile
it would be to try to
level
the
loads
enough
to
make
an
earlier date feasible.
The
final part of
the problem report is an ordered list
of potential solutions:
1) Raise the regular
capacity
of
the
overloaded
work
-77center(s) by a specified amount.
This represents a commitment
or
manpower
additional
either to overtime or to
mechanical
resources.
Try moving requirements to the alternate work centers
2)
on
depends
simple
which
solution
and availability of
suitability
existence,
the
a
This is
listed in the RT records.
capacity in another work center in the proper period.
This
3) Move certain requirements into earlier periods.
is
a good solution because it allows the order due date to be
This type
met a t slightly in :reased inventory carrying costs.
of
Solution
if
only
is offered
per iod.
capac ity in this work center in a previous
of
some available
is
there
Movement
a requirement is not a simple process since both its loads
and a 11
moved
its
requirements within
stru cture
product
So it is
in an y one of the work centers affected by it.
to pr edict whether or not this 'nice' solution will
Shift
be
In addition this movement may cause overloads
with it.
4)
must
the order due date back.
all the loads in the dummy
work
work.
entai ls sliding
This
centers
hard
over
one
or
more
periods and trying again.
5)
Decrease
the
order
quantity
of one or more items.
This requires re-explosion to modify some or all of the
dummy
REQ, WC and LD records.
6)
to
a
Bump other orders which use an overloaded work center
later
co-ordination
Changes
period.
with
the
to
customers
the se
orders
require
invo ived and some complex
-78unloading and reloading.
It may also involve
the
even
more
troublesome process of unschedul ng and rescheduling.
This report should give the user the opportunity to get a feel
for the problem and its potentia
At this point
working
out
the user has several
problem.
the
the
of
which
command s
the special 1oad
feasibility
out.
of
give
him
a
better
user
examine the work center load profile or the
t
A user may also invoke
one
of
eveling commandszwhich are worked out in the
Then
files.
would
For example he could invoke one of the
details of some o t her orders.
dummy
ways
situation or he could try one or more of the
above solutio ns.
file
alternative
He can either execute any of the
regular user file commands
picture
solutions.
and
On the basi
trial
this
is
solution
a regular overload problem report
s
of
this
report
the
user
for
tested
is
is printed
given
the
to d scard the solution, save its results as part
i
of an eventua 1 so ution or finally to load the order and the
opportunity
saved
previously
modifications,
by
permanent por tion of the file system.
can simul ate vari
0 us
inserting them into the
In this
way
the
user
solutions on a trial and error basis.
can also test the aggregated
effect
of
the
most
He
effective
trial sol utions by saving them in a second set of dummy files.
This is a 11 made possible because the load
separate
cop ies
of
module
has
three
the WC, REQ and LD files within which it
These three distinct environments are necessary to:
can work.
-
work
out
the
net
effects
of
some
trial
-79modification
to an order or requirement.
-
of some number
save the combined effects
us er
of
approved solutions.
state of the file syst em
fou
nd.
be
can
until a final solution
-
original
the
preserve
has
user
The new set of load leveling commands which the
at
his disposal to manipulate these envir onments are:
exec
1)
This is an entry to the
-
OLPP command>
<any
OLPP routine which bypasses the initia lization or shutdown
the
system
file
called it.
This
can
commands
be
and
is
the
by
mechanism
invoked
to the procedure whi ch
returns
which
of
OLPP
regular
which
from within the environment of the
load routine with out losing any of the trial solutions.
2) newcap (WC#> (period#>
command
<new regular capacity>
replaces the regular capacity of a work center pe riod
under
con sideration.
the
of
with a new value and then reviews the new feasibility
order
This
-
new value greater than the
Any
maximum capacity of the work center is rejected.
3) modify <o ptional order#> -date
<new
date>
This
-
command modifies the due date of either the specified orde r or
Othe order being reviewed (default
due
date
of
the
order
condition).
merely
en t ails
its requirements and
sl ding
bei ng
incrementing the due date of all
the
Modifying
reviewed
i
its
loads
forw ard.
Other order s must first be exploded
and
occupy
and
their loads subt racted from the periods they
added to the new period (all
4)
modify
<optional
now
within dummy work centers).
order#> -item <item list>
-
This
-80command provides new quantities for all parts on the item list
Once again the
quantity pairs s seperated by commas).
(part#
order being tested is the default order if no order number
must
item
Each
given.
is
re-exploded and its requirement
be
quanties and loads modified to reflect the change.
-
5) modify -any
command
modify
the
of
This version
requests the system to start bumping low priority orders until
earlier
As was mentioned
all overloads are alleviated.
this
is a complex process because the REQ records may be in several
chains and may involve both estimated and actual
until
of the most overloaded period and moves it forward
feasible
first
REQ
and
loads
rescheduling
of
requirements
are
the
date which does not use this work center
due
This process includes movement
period.
The
with the lowest priority order in the LD chain
starts
system
loads.
LD
qnd
records.
move
by
call
the
scheduled
previously
special
a
order's
the
This may also involve
whose
parts
any
all
of
to the schedule
routine.
6) move -any
the
-
routine
load
This version of
to
the
instructs
command
to remove overloads either by
attempt
moving some of the trial order's requirements to earlier
periods
or
work center.
period
provide
original
may
time
by moving one of its requirements to an alternate
Any movement of
also
components
a
requirement
include the movement of
either
requirement.
This
directly
or
to
an
earlier
requirements which
indirectly
to
the
is because the requirements have
-81been
originally
scheduled
in
necessary to manufacture them.
sequence
path
critical
the
Changes to the due date of any
requirement within a product structure can never be allowed to
this
violate
sequence
by
finishing a component requirement
However,
after it is needed by an assembly.
component
a
allow
always
can
it
to be finished earlier than it is needed.
process,
Since the movement of a requirement may be a complex
the system employs the heuristic of never trying to relieve an
is
overload on a work center by this fashion unless there
enough
least
capacity
in earlier periods of this
available
the
overload.
This
does
not
attempted movements will succed but it
which are obviously infeasible.
all
overload.
list
single
is
that all
guarantee
does
those
eliminate
The system first goes through
the dummy LD chain for an overloaded work
finds
which
requirement
work center to accept the needs of the
causing
at
period
center
and
requirements whose movement can remove the
These are then ordered
according
to
This
cost.
is searched in order until a feasible movement is found.
enough
If no single requirements are either feasible or large
to remove the overload, the system searchs for any combination
of requirements including the first element of
whose
movement is both feasible and will
the
LD
chain
remove the overload.
If this doesn't work it ignores the first and tries
with
the
second etc. The initial part of this strategy is in some sense
optimal but the second is just looking for the first
that works.
solution
This reflects the overall heuristic nature of the
-82If a simple optimizing
OLPP system.
it
exists
solution
is
used , otherwise satisfising heuristics are used.
7)
<requirement#>
move
This command tries to move a
-
the
the requirements which supply components to
of
movement
cause
may
This
specific requirement into an earlier period.
The
this requirement.
requirement#
to
refers
a
reference
which is printed out in the load diagnostic report and
number
only
which has meaning
movement
first
is
made
the
within
load
The
environment.
and then the feasiblity of this new
environment is reviewed and reported to the user.
move
8) move -alt <requirement#> - This command tries to
all
operations
in the RT chain of this requirement's home MP
record to alternate work centers.
made
All feasible movements
are
within the dummy WC and LD files and a new status report
is output to the user.
9) save - This command adds the WC.LOAD
REQ
and
LD
records
from
environment into the temporary
10)
the
temporary
totals
single
and
the
command
'save' environment.
load - This commands integrates
the
WC.LOAD
totals
and the REQ and LD records from the temporary save environment
into the permanent file system.
-83CH*TER FOUR
-
SCHEDULING
Scheduling Strategy
4.1
The job of the scheduling module is to convert the
A
class
pegged requirements which were generated by the load module
into a schedule of
manufacturing
The
orders.
load
module
considers only the feasible manufacturing sequence of a single
part which is closest to
scheduling
module
its
operates
critical
on
a
provides the user with four potential
more
path
sequence.
The
global strategy and
levels of flexibility:
This
1) A seperate 'order strategy' for each part.
defines the most economical lot size for each of its
manufacturing orders.
'scheduling window' for each part.
2) A seperate
periods whose requirements can
of
This is the number
last manufacturing order in the
the
of
size
influence the
period.
primary scheduling
3) A seperate 'product lead time' for each part.
This reflects how long the purchasing and manufacturing
its components and
cycle is for this part and all of
period.
critical
the
is
period
consequently which
A standard 'planning horizon' for a given
4)
schedule. This describes how many periods the primary
planning period will precede the critical period which is
the last period in which an order can be scheduled and
levels of flexibility
These
still produced on time.
is
schedule which
a
produce
to
enable the OLPP system
and
part
each
of
characteristics
attuned to the different
their
producing
of
means
efficient
an
yet is
requirements.
The
order strategy parameters in each MP record determine the
proper number, sizes and dates of manufacturing
orders
which
-84-
minimize
Generally speaking the
is optimal for it and it alone.
scheduling algorithm tries to
the
find
fashion
distinct
a
in
They allow each part to be scheduled
which
for each part.
and inventory carrying costs
set-up
of
number
smallest
orders with the maximum economical lot size which fullfill all
the
requirements
remaining
the
Whenever
within
includes
which
many
as
of
order
requirements
other
to
insufficient
are
requirements
warrant a maximum size order, it builds one last
size
period.
scheduling
primary
the
in
a
the
scheduling window as possible and as little extra inventory as
The scheduling window is a figure which represents
possible.
the trade-off between
costs.
It
reflects
inventory
the relative desirability of generating
adjoining
two small manufacturing orders for the same part in
periods
that
versus
set-up
and
costs
carrying
of
larger
one
generating
one in the
earlier period.
As
we
have
mentioned
scheduling
postpones
until
the
previously,
there
is a very low probability
that any new order will make the schedule obsolete.
we
must
purchased
and
delivered
before
and
they
raw
materials
are
proper time to schedule a part is at least the
first
production.
and
However,
generate the schedule of actual manufacturing orders
early enough for all detail parts
the
system
OLPP
of
to
be
needed.
So the
period
before
its components must be ordered or started into
If we waited any longer, the component's due date
consequently
the order's due date couldn't be met.
This
-85last fact makes the critical period both the last one in which
an
order could be accepted for this part and the first one in
which
we
should
requirements
one
know
lead
the
final
time
into
profile
the
of
this
future.
part's
The
OLPP
scheduler determines which period it should be scheduling
each
part
record.
of
by
for
examining the total lead time field in each MP
This is a very flexible scheme since the
constraints
one part are not forced onto any others by the restriction
to a common lead time.
The scheduler adds a standard planning
part's
total
lead
time
in
order
horizon
would
like.
This
may
order relatively early or where
more than one period ahead.
each
to permit the company to
generate its schedule as far ahead of the critical
they
to
period
as
be appropriate where customers
this
information
is
needed
-86Scheduling Algorithm
4.2
invoked
Is
module
scheduling
The
following
the
by
command:
's chedule
<standard planning horizon>'
's chedule
<list of part#'s and periods>'
The first
thes e
of
scheduling
by
is
the
recognized by the
production
routine
OLPP
calls
which
have
which
benn
moved
sceduling
the
to
reschedule
out of a previously
or
into
It is
The second command is
called direc tly by the load and update modules
parts
weekly
regular
department.
planning
and passes the arguement to it.
module
for
used
one
the
scheduled wo rk cent er period.
a process which is done one part at a time,
Schedul ing is
so
it
logical
is
to assume that the weekly scheduler can do
However
its job In one pass over the MP file.
problem
makes
which
ability to
move
scheduling
window
into
from
any
period
within
one
the
This
the primary scheduling period.
causes the related movement of all requirements
components
is
The scheduler has the
this infeasible.
requirements
there
supply
which
either directly or indirectly to this requirement.
If any of these requirements have a part number less than that
of
the
assembly
which
already past them.
level
code
sequence
is
moved,
system
scheduler will have
It must either scan the MP file
in
low
or make repeated passes over the entire
file until there is no more shuffling
OLPP
the
of
requirements.
The
has chosen the low lev1 code sequence because it
-87avoids having to reschedule
scheme which was proportional
numbering
part
used
If a company
any parts.
a
to a part's low
level code this could be done in one pass over the MP file and
any
sorted by low level code could rely on part number
lists
instead.
The
scheduling
list
of
parts
routine
by
the
and
to
the
command
the
scheduler
which of a part's PR periods is the primary period by
decides
lead
time
increment
is
horizon.
planning
adding its total lead time to the standard
The
passed
other modules is already in this
In the regular version of the
order.
periods
because
necessary
the pegged
In
requirements are stored by due date and not by start date.
the
other
version,
there is no primary period.
order
scheduler reviews the entire manufacturing
the
parts
Instead the
profile
of
on its list by comparing their MO records with the
current status of their pegged requirements.
The scheduling module uses five
are:
order
fields
which
parameters
code, scrap percentage, and maximum, minimum, and
multiple order size.
other
order
will
The order code field determines how
be interpreted.
the
Currently, there is only
one order strategy implemented but the inclusion of this field
allows the smooth insertion of any other
be desired at
defines
the
a
later
date.
The
strategies which may
scrap
percentage
field
percentage that must be added to orders for this
part to insure the completion of the proper number
of
items.
This field is not examined until scheduling time because it it
is more efficient for the scheduling routine to add
a
single
-88to
increment
routine to add it
delay
This
requirement.
every
to
it is for the load
than
orders
manufacturing
also
simplifies the explosion and load leveling routines since they
do not have to worry about adding in or subtracting away scrap
Since
factors.
not reflected in every
is
percentage
this
in
level of an assembly, they must be roughly
This will
each parts low level code.
enough components to at
to
insure the completion of
proper
the
start
least
proportion
number
of
assemblies.
parameters are used as their names imply.
remaining
The
be evenl y divisible.
a number by which the lot size must
algorithm
scheduling
jp the pegged requirements
totals
part in its primary scheduling period an d checks of
there
sufficient inventory available from the previous period.
there
is
any
requiremen ts
it
claime d
is
be filled, it creates as
necessary
to fill them.
and
th e
total
If there are still
decremented.
many
maximum
size
is
examined.
in
use
unfilled
of
requirements to
orders
the
to
as
are
scheduling
bring
the primary period up to maxi mum size.
are made b y the invoking of
<immediate
If
As many of these requirements are moved
into the primary period as are necessary
order
is
When the unfil led total becomes less
than the s ize of a maximum ord er, the rest of
window
of
The multiple field contains
lot sizes for this part.
economic
limits
respective
The maximum and minimum fields are the
pointer>
the
'move
<distance>'
-t
the
These moves
<part#>
command.
last
<period>
This command
-89specifies
a
that
requirements
are
and
requirement
to
be
moved
all
value
boolean
indicates whether
which
its
routine to return
feasibili ty
determines
module
by
The
aborted.
length
planning
hor izon
This critical period is
period.
necessary
time
lead
the
components.
produce
to
this
a
period
primary
total
the
and all of its
requirement
for
the
multiple
and
preced ing
period
minimum
fields
examined
are
determine the smallest possible lot siz e which fills
requirements
unfilled
now
in
the
size
period.
are
is made
available
as
all
period.
primary
production necessary to pad the lot siz e up to
multiple
an
can never cause any of its
moved into the primary period to create one last maximum
order,
of
If eno ugh requirements can not be
primary period.
own
from
part
component requirements to be moved into any
their
length
the critical
beyond
calcula ted
Therefore the movement of a
into
assembly
lead
does not move req uirements except into
scheduler
of
for
total
part's
primary periods, which, by definiti on, must be the
the
The
both
checking
available capacity and for violatio n of a
time.
a
the move was feasible
and completed or whether it was infeasibl e and
move
component
cert ain number of periods
a
The '-t' arguement tells the move
ahead.
of
a
minimum
s ize
to
the
Any
or
inventory in the next
In all cases the only requ irements manufactured ea rl y
those
for whom there is avail able capacity and which are
necessary to round up the remaining
originally in the primary period.
requirements
which
were
-90When called by the user the scheduler makes one pass over
It
the MP file for every low level code value.
finished
is
it reaches the maximum low level code which is stored in
when
the CTL file.
modules
When called by the load and update
it
considers onl y parts on its arguement list.
Each pair
in this
list defines a part number and a previ ously
scheduled
period
in
which
PR chain has been modi fied.
the
Since peri ods are
scheduled seq uentially, with out any reference to past per iods,
the
schedule r
knows
that
any changes which will have to be
specified
made to manuf acturing orders will occur only i n the
period
in
or
the
will
requirement
manufacturing
ones
entail
orders
in
following
the
it.
reduction
The
of
of a
removal
one
more
or
the original requ irement period and
possibly the restructuring of
orders
in
fol lowing
periods.
a new requirement into a period m ay affect the last
Inserting
manufactu r ing order in that period and the one s in
This
periods.
allows
the
any
ignore
to
scheduler
subsequent
they
manufactu ring orders which occur before the ch ange since
can
be
not
affected
by
it.
The schedul er examines the PR
chain containing the change and the first MO
part's
change.
MO
chain
which
could
It then proceeds down
possibly
the
MO
be
chain
record
this
on
affected by the
the
comparing
existing orders with the new state of the pert inent PR chains.
If anything deviates from what ordinarily is
policy
for
the
best
order
this part, the MO chain is rebuil t from the point
of the deviation.
This entails
creation
of
the
proper
MO
-91records
and
scheduler
updating
reaches
Rescheduling
in
the
this
of
the RFQ,LD and WC files.
end
manner
reflect whatever changes have
loading
or
assumption
purchasing
that
of
certain
capacity and raw materials.
u pdate
will
occured,
decisions
it
list
its
whi ch
cancelled
but
is
the
it
were
When the
finished.
schedule to
cannot
made
requirements
undo
on
the
needed
-92Generation of Manufacturing Orders
the scheduling algorithm has decided on the precise
Once
number, sizes an d dates
for
needed
actual
a
of
particular
MO record s and make
base.
and
chain
orders
which
it proceeds to generate the
part,
ther related changes to
the
the
onto
is generated and chained into
end
of the proper MO chain.
record is then supplied with the proper part#, orde r
and
homeMP-ptr.
I ts
finish
date
is
lead
level
data
time.
the
This
quan t ity
the due date of
earliest requi rement and its sta rt date, this date
single
are
a new man facturing order is required, a new
Whenever
MO record wiith a unique MO#
MO#
manufacturing
minus
its
the
Its status represents that it has
been scheduled but no t started o r completed.
The most complex part of the MO
is
the
MR
which includes each REQ record which is bein g fulfilled
chain
by this MO.
less
information
W hen the individual pegged requirement sizes
or equal
than
are
to the size of the MO, this is a straight
forward process of chaining the REQ records onto the proper MR
serves
an
as
been padded
a
indication
that
this
req
th inventory to meet
rement
must
be spl
specific
orde r
been
size
or
between two or more MO's.
Inventory is handled by generating a separate REQ
chaining
has
requirement
This process become s more complex when the MO has
schedul ed.
when
presence of the MR chain pointers wit in a record
The
chain.
record
and
this new record into the head of the PR chain in the
next period and into a MR chain.
This record will be examined
-93by
the scheduler in future periods and eventually replaced by
It can be identified as
an actual requirement.
inventory
an
imed_homeREQ_ptr and home_COptr fields.
record by its null
Split requirements are more difficult to handle because a
more
single REQ record can not be chained into
one
than
The need for split requirements will arise either when
chain.
a requirement quantity is larger than the maximum lot size
or
only part of it is needed to complete a maximum lot size
when
necessary.
as
into
many
the
of
splitting
parts
as
is
Each split requirement will have a unique quantity
However, each will have
be on a seperate MR chain.
will
and
will also occur in adjoining records
They
EndhomeREQ_ptr.
ImedhomeREQptr
date,
due
part#,
same
the
requirement
pegged
original
the
by
This situation is handled
order.
and
MR
on their OR and PR chains, so they can easily be recognized as
part of the same original
requirement.
the same time the MO records are being generated, the
At
WC and LD files must be reviewed and updated.
for
loads
actual
requirements
the
The
loads.
necessary
to
do
home_WC-ptr,
actual
any
record
REQ
spliced
into
which
seperate
hour
MO must be changed to
and
period
fields
LD records must be created for each
which
load totals updated.
reqiurement
this
are found in the LD records on the RL
this
chain of each requiremnt.
inventory
in
estimated
All
has been created and the proper
The LD records on the RL chain of
has been split must also be split and
RL
chains
for
each
of
the
split
-94-
requirements.
Also
the
LD records must be moved
load hours for each of the original
into
the
decremented from the estimated ones.
actual
load
totals
and
-954.4
Updating
When
the weekly scheduling run is finished, the user may
invoke any of the user file commands to get such reports as:
- a profile of each work center capacity and the
current actual and estimated load on it.
- a summary of all manufacturing orders which are
scheduled for future periods.
a detailed report of the load facing each work
center in any period.
- detailed manufacturing orders, with appropriate
routing and material
requisitions for use as factory
paper.
These type of reports form the feedback from the system to the
user.
The
production
planning department either can accept
these as the scheduler has prepared them
'level'
which
command,
or
can
wish
to
level
the
gives access to the interactive load
leveling commands discussed in section 3.4.
may
invoke
loads
Different
users
to accomplish goals which are not
recognized by the scheduler such as leveling of under capacity
manpower requirements.
No
matter
whether
the schedules are done solely by the
system or interactively with the user, they are approximations
of
In reality,
what should happen under ideal circumstances.
purchase orders will be delivered late, workers will get
and
machines
will
break down.
A weekly schedule may absorb
some but not all of these random fluctuations.
system
still
needs
is
sick
What the
OLPP
a means of updating its knowledge of
manufacturing order status to conform with events as they have
actually
transpired.
Unless
this
is
knowledge of the world will not conform to
done
the
reality
system's
nor
will
-96its schedules.
The
by
vehi cle
which
information to the user
the
user
communicates
is the 'update' command
col umn
following
the
which
this
causes
headings to be printed out to aid user
input:
MO#
Status
The system then accepts lines of input until
line.
Since
the
update module assumes a majority of orders
will be finished on schedule, it has
its default status.
one.
To
'completed'
adopted
as
This allows t he user to list all the MO's
whic h have been compl eted without
each
blank
it finds a
spe cifying
a
ease the load of syst em input,
for
status
completed MO's
can be reported to the system dail y as they are finished.
a weekl y period, or at t he beginn ing of the next
the
end
one,
the system must also be notif ied of
whic h
of
weren't
prec ise
status
calc ulate
orders.
the
At
finis hed
of
total
on
these
The
time
orders
impact
the
sc
MO's
scheduled
user must state the
that
the
system
can
these delays will have on other
The possible status options are:
-completed
-not started
-quantity <Quantity completed>
-operation <Last operation sequence# to be completed>
The completed status causes the status field of the MO
to
updated accordingly.
be
The completed status causes each
REQ record on the MO's MR chain to be deleted.
will
be
the
sign
that
the
record
requirement
has
This
deletion
been met and
-97consequently
is no longer needed by the system in
PR, OR or MR chains.
sh ifted
MO to be
This
call.
the
next
period.
'move
-now
<part#> <Imedhome_REQptr>'
This
movement
all
requirements
which
rely
on
it
either
directly or indirectly as a component, and all of their
moved
be
must
is
tells the move module that a specific requirement,
wi th
together
a
the
The notstarted status causes the entire
to
by
accomplished
either
arguements
are
from
period#
to
necessary
one
to
uniquely
period#
loads
two.
identify
The
pegged
a
requirement.
ot her
The
two
representi ng the
In
order.
status
degree
of
options
are alternative ways of
completion
of
a
manufacturing
case one, the existing MO is marke d completed but
its quanti ty is
reduced
to
the
amount
that
was
A new MO is generated for the next period with the
finished.
remaining quantity and with a RL chain containi ng
for
partially
marked
load.
remaining
the
but
quantity,
In
completed
only
case
and
a
and
new
MO
%ith
to
this
same
In both
period
number
This is again accomplished
with a 'move -now <part#> <limedhomeREQptr> call.
case,
the
the remaining load, is cr eated.
given the new RL chains.
not_started
records
LD
two, the existing MO is
cases, the requirements must be moved back
two
actaully
As in the
implies the shifting of any superior
requirements and all their loads.
When weekly updating is finished, the user
gets
a
automatically
report of all work centers which have been overloaded
-98-
as
a
load
invoking
for
basis
After
ones.
and
situation
will
the
of future plans.
twenty-five
only
include one period of past history and
periods
plant
actual
However the file system
leveled.
reasonably
load leveling, the
with
tune
in
most
the
implementing
additional
this
system's schedules will be
commands, testing
leveling
various combinations of solutions and
effective
report
He can then use this
by the shifting of requirements.
To maintain pace withthe passing of
old
of
itself
purging
of
time, the system must be capable
periods and initializing new ones.
movement
This
of time is done through the invocation of
dead
purges
information, slides existing periods and initializes new
periods.
with
history,
past
summarizes
the 'slide' command, which
of
Its first task is to check the status
finish
dates
this
MO's
all
If they are completed (ie.
period.
have NULL MRanchor-ptr fields) they are included in an end of
week
manufacturing
summary
and deleted from the system.
they have not been completed, the
user
is
asked
to
supply
When
their status and it is acted on as in the update module.
system
the current period's MO's are all deleted, the
all the CO's which have due dates in this period.
chains are also null, they are included in a
summary
and
deleted
from the system.
included in an overdue order
number two.
report
and
If
checks
If their OR
completed
order
Incomplete orders are
moved
into
period
This will only occur if the order is delayed by a
snag in this weeks production.
Other delays are
realized
by
-99a manufacturing order is reported late.
whenever
system
the
notified
The marketing
department
is
requirements,
whic h
moved
are
MO's, cause an orde r due
updat e
will
system
become
marketing depa rtmen t to warn the
c
The
unrealistic.
by itself and remind the
da te
due
the
to compensate for Ilate
back
to
date
whenever
immediately
ustomer.
After the
CO
and
MO files have been purged, the PR(1) chains are checked to see
these
chains
advice as to
Finally,
all
is
how
the
in
the
error
in
on
is reported to the user fo r
and
requireme r t
rec ords
remaining
record
Any
if they contai n any requirements.
should
disposed
be
of.
WC.LOAD(1).LD chains are
the
deleted, since they are no longer needed.
At this point all
can
system
the
s 1 ide
dead information has
initializes
twenty-five.
Then the use r is
and
LOAD
the
the
they we
terms
period
He has
in the prev
s week,
last
of
explicitly.
It
totals
to
asked to specify how he woul d like the
regular and maximum work center capacities to
in
so
the anchor pointers to the LD and PR ch ains
in the twenty-sixth per iod to NULL
zero.
purged,
periods two through twenty-six in the
LOAD and PR fields into periods one through
then
been
be
initialized
the options of leaving them as
expressing new
capacities
in
a percentage of the last ones or of specifying each
When this ent ire slide and updating
process
has
the
latest
production results and has successfully re-initia lized
itself
been
completed,
for another week.
the
sys tem
is
in
tune
with
-100-
CHAPTER FIVE
5.1
SUMMARY
OLPP Capabilities
The
OLPP
system
is a production planning tool which is
suitable for small custom job shops.
It performs eight
major
functions for this class of user:
1)
Data
Management
-
The
OLPP
engineering, marketing and production
data
base.
system integrates the
areas
of
a
company's
It maintains this data in a co-ordinated fashion
for the user and can provide on-line real time access
to
any
portion of it.
Bill
2)
system is the
descriptions
Materials Processor - The heart of the OLPP
of
portion
of
all
of
its
also
provides
system
which
contains
parts used by a company, their bills of
material and the operations
system
file
necessary to produce
them.
The
various routines to explode or implode
these product structures and to trace all the
parts
using
a
common work center.
3)
A/B/C
Flexible
Inventory Control - The OLPP system uses an
classification
controlled
in
system
which
permits
parts
to
be
a manner which reflects their cost and volume.
It also recognizes the distinction between parts which must be
purchased
and
those which must be manufactured.
This allows
-101Finally, each part may have
each to be handled seperately.
its unique cost
reflects
which
strategy
ordering
distinct
a
structure.
4) Requirements Generation exploding
for
facility
system
OLPP
The
into
requirements
order
the
has
detailed
requirements for every single component which will be required
to
This
product.
a
manufacture
the
permits
system make
detailed plans which insure that all necessary component parts
will be manufactured or purchased.
dates for all
order
average lead times as offsets from the item's
and
manufacturing
all
due
This critical path sequence co-ordinates the timing
due date.
of
- The OLPP system assigns
requirements which are components of some
using
by
item
Scheduling
Date
Due
5)
purchasing
that requirements
so
This
arrive neither too early nor too late.
minimizes
both
work-in-process inventory and carrying costs on one hand
both
and missed due dates,confusion and expediting on the other.
6) Load Leveling
on
placed
-
By monitoring both sales and the
work centers by these commitments, the system
all
plant
gives management a. reasonable estimation of what
will
be
load
in
like
loads
The system also compares
future periods.
these loads with the stated capacities of the work centers and
does
not
allow
capabilities.
commands
the
work
centers
Through a large
to
be
beyond
loaded
repertoire
of
load
their
leveling
manager can try a wide variety of load leveling
techniques and implement only the most
effective
ones.
The
-102-
leveling
paperwork
thereby
solutions,
and
implications of the various load
the
all
calculates
system
the
saving
laborious
user
which would
allowing him to test alternatives
otherwise be too complex to try.
7) Generation of
ordering
strategy
Orders
Manufacturing
which
exists
for
each
manufacturing orders to be generated in lot
economical
for
it
and it alone.
these manufacturin'g orders
in
a
-
flexible
The
part
sizes
allows its
which
are
The system can also output
factory
paper
form
which
includes routing and material requisition information.
8)
Report
Generation
-
The
availability
comprehensive centralized data base makes it possible for
of
a
the
system to provide reports of any level of detail for any level
of management.
user
The system is designed
modularly so that
the
may define commands which generate reports in the format
which will be most useful to him.
-1035.2
Ngcessary Implement ation Considerations
The current version of
include
all
the
available
the
completed,
for
not
yet
the
resources
which
and the priority I placed on design
Fven
when
this
design
in
an
academic
to
that
rather than a commercial
A comm ercial version of OLPP would
environment.
is
sys tem wil 1 not necessarily be a commercially
developed
transfered
does
Its pr imary 1 imitations stem from the fact
viable tool.
it was
it,
project,
implementatio n.
than
rather
system
of the design features described in this thesis.
This reflects the size of t he
were
OLPP
have
to
be
a commercia 1 time-sharing system and subjected
to various shakedown tests.
Moving a large software system from
is
another
a
machine independent, no two machines or compilers
environment and soon moved to
written
for
that
MULTICS.
either
one
one
these
routines.
of
to
try
the
package
but
there
is
no
require
modification
Since the system will probably never be
various
should
system,
it made
little
cost and performance tests which
should precede a marketing effort.
software
routines
the environments or the OLPP
commercially available on a MULTICS
sense
Conversion
ago
year
system itself haven't changed enough to
to
in
the transfer of these programs between the
IBM 360/65 and the HIS 645
guarantee
operate
The system was started in an OS/360
exactly the same fashion.
were
to
Although PL/1 is relatively
problem.
complex
environment
one
be
In addition, a generalized
developed
with
the
active
-104participation of several test users.
to
be
tested
performance.
within
extensively
Since
this
for
thesis
This
allows
algorithms
consistency, sensitivity and
was
an
academic
exercise
an academic environment, the more commercially viable,
but time consuming and costly, user tests were not feasible.
The OLPP system was designed
as
a
part
time
project, rather than as a full time commercial one.
that it represents a sound foundation for
becoming
production planning tool for small custom job shops.
academic
I believe
a
viable
-105Future Extensions
5.3
The
OLPP
system
was
production planning system.
were
chosen
for
experience
for
be
an
The functions which
would
small
tc
integrated
it
performs
importance to a low cost production
their
planning system which
designed
the
constitute
custom
first
computer
This criterion was
job shops.
chosen so that the OLPP system would be a well
integrated
and
efficient production planning system, whic :h would constitute a
realistic alternative to the manual methodIs of
used
in many
small
companies.
a
it
could
weigh
me?' or 'How will
adopt
to
company
it.
Instead,
far heavier the questioris 'What will
it increase my profits?'
enterprise could not risk using
to
implement
only
the
the
OLPF
such
it cost
Unless these
be answered positivel y with concrete facts , a samll
choose
clearly
manual system, but this alc ne is not sufficient
criteria for a small
companies
now
Being a computerized system
based on standard man ufacturing practices,
outperform
planning
can
low margin
system.
So
OLPP
smallest and most economical
subset of production planning functions.
Once the basic system is operating
are
several
added to it.
inventory
poten tial ly
The
control
stock maintainance.
first
worthwhile
of
these
techniques,
This
capable of more internal
is
opt ions
is
a
there
operat ing,
whi ch could be
wider
variety
of
such as order point or safety
will make system more
inventory control.
flexible
and
A second addition
might be the addition of report generator which
could
accept
-106,
inputs
individual
to
critical
Although this is not
companies,
it
would make the adaption of the OLPP system to different
would
require the addition of purchase order and
very
integrate
would
manufacturing orders.
and
vendors
choose
with
cleanly
the
files
vendor
but
present control of
The system could have the capability to
sizes
lot
which
the job of preparation of
would
optimum
take
also
It could
advantage of various price structures.
handle
the actual purchase orders and might
and
even automatically remind vendors of future due dates
overdue shipments.
be
This would
of purchase orders.
control
and
generation
could
Another straightforward addition
companies easier.
the
control the formating of new reports.
would
which
of
Finally, it could also have the capability
of monitoring vendor performance.
Two additional features which would
the
enlarge
drastically
scope of the system would be financial accounting and job
cost reports and even accounts receivable or
shop scheduling.
accounts
payable
co-ordinated
integrated or
system,
which
The OLPP system could even be
information.
might
with
include
a
such
computerized
accounting
functions as payroll, or
shop
Job
generation of income statements and balance sheets.
scheduling involves large amounts of data handling but it is a
logical extension to any master scheduling system.
two
possibilities
would
drastically
change the role of the
OLPP system and yet they demonstrate that OLPP
first
step
towards
an
These last
might
interactive computer utility
be
the
geared
-107toward
small
manufacturing
companies.
The
potential
of
computerized systems such as these is vast and in future years
our understanding of them should increase, while technological
costs should decrease and make them a more widely used tool.
-108BIBLIOGRAPHY
1. Baker, C. T., "Fabrication and Assembly Operations"
IBM Systems Journal, 4, April 1965, pp 86-136
2. Beard, "Practical Approach for Job Shop Planning and
Control", Automation, 15, March 1968, pp 80-88
3. Bill of Materials Processor, White Plains, N.Y.,
GE20-0114-1,o 1969
4.
IBM
Booz, Allen and Hamilton, "The
Computer's Role in the
Manufacturing Industry", Computers and Automation, 15,
Dec. 1966
5. Buffa, Elwood , "Production - Inventory Systems - Planning
and Control, HomewoodIllinois, Richard Irwin & Co.,
1968
6. Byrd, J
and Siemans, N., "Production Control Based on
the Bil
of Materials Processor", industrial Engineering,
3, July 1971, pp 22-33
7. Canning, Richard, Application Packages Coming into their
Own", EDP Analyser, 6, July 1967
8.
"Creating the Corporate Data Base",
EDP Analyser, 8, Feb. 1970
9.
"Data Management: File Organization",
EDP Analyser, 5, Dec. 19 67
10.
"Fast
,
EDP Analyser, 6, Sept.
11.
, "New Management Reporting System",
EDP Analyser, 5, Jan. 1967
12.
Dimensions
_,
"New
-,
"Organizing
EDP Analyser, 6, Feb.
13.
Response System at Rohr",
1968
in Management Control",
1968
the Corporate Data Base",
EDP Analyser, 8, March 1970
14.
,
"Trends in Data Management", EDP Analyser
,
"Using Shared Data Files",
9, May 1971
15.
8, Nov.
1970
EDP Analyser,
-10916. Church, F. L., "Requirements Generation, Explosions and
Bills of Material", IBM Systems Journal, 2, Oct. 1963
pp 268-287
17. Clements, D., "Information Flow, Control Systems and
Management", Management International Review,1, Aug. 1968,
pp 19-31
18. Dicky, "EUREKA, A Unique Approach to Scheduling",
Industrial Engineering, 2, May 1970, pp 59-61
19. Dodd, G., "Elements of Data Management Systems",
Computing Surveys, June 1969
20. "EDP Hustles the Huffies out of Hoffman",
Business Automation, May 1970
21. Johanson, H., and Gargiulo, G., "Maximizing Production
from Existing Capacity", Management Services, 7, Jan. 1970
pp 23-30
22. Gere, W., "Heuristics in Job Shop Scheduling",
Management Science, 12, Nov. 1966
23. Grossman, "Using a Computer to Control
Automation, 15, Oct. 1968, pp 60-65
Production",
24. Hammerton, "Cost Determinents in Designing Production
Control", Automation, 14, Nov. 1967, pp 92-97
25. Holstein, W., "Production Planning and Control Integrated"
Harvard Business Review, 46, May 1968, pp 121-140
26. Hurst, E. G., and Mc Namara A., "Heuristic Scheduling in a
Wollen Mill", Management Science, 14, Dec. 1967,
pp B182-B203
27. Jordan, H., "Check List for Production & Inventory
Control", Management Review, 59, Aug. 1970, pp 38-43
28. Korn, K., and Lamb J., "Production & Inventory Control
by Computer - A Universal Model",
Computers and Automation, 16, May 1967, p 23
29. Malloy, J. P., "Computerizing the Management Cost System
in a Small Production Shop", Computers and Automation, 16,
July 1967, pp 18-21
30. Modie and Novotny, "Computer Scheduling & Control Systems
for Discrete Part Production",
Journal of Industrial Engineering, 19, July 1968,
-110pp 336-341
31. Nathan, R. V., "Due Date Scheduling by Computer",
Data and Control Systems, 4, Oct. 1966, pp 34-40
32.
Nicholson, T., and Pullen, R.,
Production Scheduling Program",
Nov. 1970, pp 381-386
"
The Design of the SPUR
The Computer Bulletin,
33. Opler, A., "Information Retrieval", Business Management,
28, June 1965, pp 36-40
34. Pelham, R., "Putting Information Systems into the Company
Control Structure", Data Processing Magazine, July 1970,
p 23
35. "Planning and Scheduling Steelworks",
Journal of the Iron and Steel Institute, Aug. 1967
36.
"Planning for Production Control",
Journal of Accountancy, 128, Aug. 1969, pp 82-84
37. "Production and Inventory Control Outlook", Systems,
Sept. 1967, pp 12-45
38. The Production and Inventory Control System, White
Plains, N.Y., IBM, GE20-0280-2, 1969
39. "Totality and Particularity in Production Planning",
Journal of Accountancy, 130, Aug. 1970, pp 82-83
40. Umstead, D., "Are You Overlooking a Cool Million in Your
Factory?", Business Management, 39, Dec. 1970, pp 17-19
41. Van De Mark, R. L., "Controlling Production & Inventory
in Small Plants", Foundry, May 214, 1967, p195
J.,
"Heuristic
Programs for Decision Making",
42.
Wiest,
43.
Willis, C., "Computers in Production Control",
The Tool
and Manufacturing Engineer, Aug. 1968
he ool
Harvard Business Review, 44, Sept. - Oct. 1966
Download