
April 1997 Volume 7 Number 4
Scheduling Across the Entire Shop Using Constraints, Capacity and
Patterns
By Dave Prouty
The last five years have seen a dramatic, almost radical rethinking
of scheduling and capacity planning systems. Prior to this time
period, two approaches to capacity planning and scheduling were
present: infinite capacity planning and finite capacity planning. Of
these two, the dominant approach was that of infinite capacity
planning. This approach was based on the assumption that it was
easier to change capacity to meet fluctuations in demand than it was
to manage the demand so that it coincided with existing capacity
levels (the approach taken by finite capacity planning). For many
managers, there was something not quite right about infinite capacity
planning. These managers were often painfully aware of the
difficulties present when trying to change capacity. To them, it
appeared that finite capacity planning should be not only more
logical, but also more effective. However, attempts to introduce such
approaches were not that effective. Such systems seemed to be
developing very precise capacity loadings and plans which were then
invalidated by the changing nature of capacity (unplanned breakdowns,
worker illness) and demand (unplanned changes in order quantities and
due dates). To many, these problems were captured by the term "the
illusion of precision," as finite capacity plans seemed to be so
accurate and precise when, in reality, they were not.
Recently, interest in finite capacity systems have begun to
increase greatly. While there are several reasons for this situation,
the most important one involves the emergence of new planning models
and tools. Central to this emergence has been procedures such as the
theory of constraints, genetic algorithms, rule-based logic and
computer simulation. These tools have given finite capacity
scheduling systems the ability to deal with the inherent dynamics of
finite capacity planning; they have also given the systems the
procedures needed to address and resolve capacity imbalances and
bottlenecks. These procedures, when combined with the availability of
cheaper and more powerful microcomputers and workstations, have given
managers tools that work.
In this month's review, we examine an example of this new
generation of finite scheduling system software. Specifically, we
focus our attention on Shiva Finite Capacity Scheduling System from
ShivaSoft of Edmonton, Alberta, Canada. The guest reviewer for this
issue is Dave Prouty, a person who has had extensive experience with
this product and is well qualified to assess its relative strengths
and weaknesses.
Steve Melnyk
Software Editor
The Shiva system is a finite capacpacity scheduling (FCS) tool
designed to take a population of orders and schedule them
appropriately across the entire shop, utilizing a routing for the
item being manufactured, resource constraints, available capacity,
shift patterns, a plant calendar and a scheduling rule defined by
each installation. The scheduling rule defines the order attributes
used by the scheduling engine to determine which orders should be
prioritized over others. Order attributes are specifically
characteristics of an order which are relevant to how orders are
scheduled or sequenced. For example, order attributes might include
color, metal finish, or options. In this respect, Shiva offers the
user a great deal of flexibility by providing 57 user-defined
attributes. This allows the user to accomplish tasks such as
scheduling orders so that orders go from light to dark and are then
restarted the next week with a light color.
Central to the operation of the Shiva system is the scheduling
engine. The engine is a combination of heuristics and algorithms used
to arrive at a practical and feasible scheduling. The engine is
driven by the definitions provided by the user in the database.
Changes in the database trigger how the engine schedules the floor
and deals with constraints.
Additional scheduling criteria and constraints can be customized
to suit the application. The Shiva system provides a very broad view
of constraints. Included are direct constraints such as support
resources, material resources and tool and indirect constraints such
as VOC (volatile organic compound) emissions, power consumption,
minimum and maximum inventory levels and furnace capacity. Also, the
Shiva system always notifies the planner of situations such as the
elimination of setups when multiple orders for identical parts are
run in succession or the restriction of lag times or operation gaps.
The generated schedules and reports are then utilized throughout
the corporation. In our case, the generated schedule data is sent
back up to the mainframe systems to keep order data in sync with
Shiva.
System Performance
System performance when dealing with most FCS packages is very
dependent on the speed of the computer processor and the amount of
RAM or system memory that is available. The more complex the
problems, the greater the amount of information needed for the
effective resolution of the scheduling problem; thus, the more memory
and the faster the processor that is needed. For the purposes of this
review, most of the initial testing was done on an IBM 486DX2/66 with
32 megabytes of RAM and an SVGA monitor. Within this setting, Shiva
Finite Capacity Scheduling System was found to be very fast. For
example, using a test problem consisting of some 3,500 orders (each
with an average of three operations), Shiva was able to schedule the
entire population of orders in less than five minutes. As could be
expected, faster and more powerful computer equipment did reduce
overall processing. When the same problem was scheduled using a new
Pentium machine, the total processing time fell to less than three
minutes. In addition, when navigating within the system itself,
response was immediate.
In general, the schedules generated by the Shiva system were
practical and usable. All relevant constraints were considered and
the resulting schedules did not violate these constraints. Past
experiences with this product have shown that the resulting schedules
violate few constraints. After using this package for a while, there
was the feeling that the user could trust the resulting
schedules.
Documentation
The manual is well written and includes ample graphics. It is
possible to use the system based on the information contained
therein. But as each installation has different requirements, a
manual cannot cover every situation. It does, however, provide all
needed information required to take you around confidently.
Complementing the manual is an on-line help system. The "field
sensitive" on-line help is very extensive and is probably the easiest
way to obtain information about the system.
Installation and Learning
Initially, the installation of this software was complex. It
should be noted that there is no formal setup program similar to the
setup file found on most Windows 95 programs. Rather, installation is
essentially a two-part process. In the first step, the software is
copied to the PC or the LAN. In the second step, the database is
configured to reflect the specific traits and requirements of each
client's manufacturing environment. This is typically done by
personnel from ShivaSoft during the first two days of installation
and training. While this is not the easiest program to install, the
need for professional assistance during the second step can be
understood, given the importance that the database plays in the
successful operation of this package.
Learning the system does require some effort. An understanding of
finite scheduling is a real plus as well. Helping the user is not
only a full context-sensitive help system, but also a built-in
computer-based training system. Once the data is loaded to control
the scheduling engine, very little day-to-day maintenance is
required.
It should be noted that ShivaSoft also conducts training sessions
where users can learn the theories and concepts behind finite
capacity scheduling.
Ease of Use
Overall, this system is very easy to use once the initial setup
is completed. With the use of customized toolbars and pull-down
menus, all functions are within easy reach and generally require only
a click from the user to activate. An interactive GANTT chart is also
provided which displays a graphical view of scheduled machine load.
This chart allows standard drag-and-drop functionality to allow an
operation of an order to be moved to a different position on the
machine schedule or to an entirely different machine. To do so the
operator simply uses the mouse to tag the operation and then drag it
to a different position on the machine schedule, or to a different
machine entirely. There is also a graphical view of resource
consumption over time that is very useful for identifying
bottlenecks. Attributes of both of these graphical views can be
easily customized. The reason is that the graphical views take much
of their configuration from data residing in the database tables.
These tables can be edited, allowing the user to easily fit the
graphical views to their specific needs.
Technical Support
This area is one of Shiva's finest and strongest features. Past
experiences with technical support have been good -- no exceptions.
The technicians were very knowledgeable and provided good, accurate
information. If modifications were required that could not be
accomplished directly by the user, the response was always prompt and
thorough. Instead of mailing disks back and forth, there is an
on-line bulletin board that is accessible via modem, and soon there
will be access to files from their Web site.
Best Features
By far the best feature of the Shiva software is its flexibility.
The database engine is written so that it is relatively easy to add
functions to the system specific to your own installation. Any series
of data imports, table modifications, queries or other functions can
be grouped as "batch operations" and executed with a single click
from the toolbar. The provided database views and reports are
intuitive and can be modified to suit the installation. This software
also provides for "what if" scenarios that allow the user to change
scheduling rules or resource constraints without affecting the
"saved" schedule. The results of the schedules can then be compared
to see the potential impact of the change. The scenario manager is
used to switch back and forth through each of the scenarios
effortlessly. Last but not least, the speed and accuracy of the
scheduling engine itself is very impressive and satisfying.
Shortcomings
When setting up some of the more obscure functions of Shiva, at
times it has been difficult knowing which table fields need to be
modified in order to get the desired result. While it's true that
most of the problems encountered have been the result of the test
data, it can be time consuming to find the problem. Experience has
been the best weapon for problem resolution. However, when all of the
options have been exhausted, it has been comforting to know that
Shiva tech support has been there to back me up.
Overall Evaluation
The Shiva system is well written and meets or exceeds
expectations in regard to ease of use and the speed at which the
schedules are generated. The graphical interfaces are well structured
and navigation within the system is relatively easy. However, with
all such systems, it is critical to remember that good performance
requires good actual installation data. Otherwise, we have a
situation where there is "garbage in, garbage out." Bad standard
times, routings, or MRP data will have a great impact on the
schedules that are generated. This in itself can be a good thing if
steps are taken to correct the data. If not, results can be
unrealistic. Shiva offers many features that will provide real value
to the manufacturing process and is definitely worth a look.
Product summary
|
Shiva Finite Capacity
Scheduling System
|
|
Type of Program:
|
Finite Capacity Scheduling Tool
|
|
Software Vendor:
|
ShivaSoft Inc.
455 Phipps McKinnon Bldg., 10020 101A Avenue, Edmonton,
Alberta TJ5 3G2, Canada
|
|
E-Mail:
|
[email protected] |