APICS - The Performance Advantage
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]