APICS - The Performance Advantage
July 1997 • Volume 7 • Number 7

GRIP:
Constraint-based Scheduling System

Finite Capacity Scheduling for the Process Industry

By Ferry de Bruin


Editor's note: If there is one software issue that has got everyone talking, it has to be finite scheduling. This approach to the planning and scheduling of the shop floor has matured greatly over the last 10 years. At one point, there was a debate that raged between whether planners should use finite or infinite scheduling approaches. With infinite scheduling, the loads were generated per time period using standards (e.g., standards for lead times, queues, moves and such). These loads were then aggregated by work center by time period. The resulting aggregate loads were then compared with the level of capacity expected in that time period. Underlying this approach was an important assumption — capacity could be readily changed to match changes in load. What this assumption meant was that if the load in one period was greater than the capacity, more capacity could be added.

A different approach was taken by the old generation finite scheduling packages. These packages generated the same loads. They also generated these loads by work center by time period (in the same way as did the infinite scheduling packages). However, where they differed was in their treatment of load and capacity. With infinite scheduling, capacity was variable and loads (schedules) fixed. With finite scheduling, capacity was fixed and loads (schedules) variable. Initially, however, the view (with experience primarily supporting this position) was that infinite scheduling was generally preferred to finite scheduling. That position has, in general, now changed.

With recent advances in the technologies and procedures underlying finite capacity scheduling systems, these systems have begun to achieve a position of dominance in the marketplace. These packages draw on one of four approaches to improved finite capacity scheduling: rules-based (where the rescheduling of load is done using certain predetermined rules which the user may or may not be able to modify); simulation-based (where the rescheduling and the assessment of capacity effects is done using a simulation model); genetic algorithm; or theory of constraints (where the constraints are identified and used to drive the resulting planning of load). For the most part, most of these packages have taken the "one size fits all" approach. That is, they have given the user one system that can be used in any manufacturing environment.

For some users, this approach is somewhat bothersome. They would argue that there are important and some times subtle differences present. These differences affect how the various packages work. For others, the argument is more on overhead. If they are interested in scheduling activities within one specific environment, then they are not interested in paying the overhead (and hidden computing) costs of being able to work in the other environments. By focusing on one environment and building a system specific to meet the needs of this environment, they would argue, the result is a tighter, faster, more effective and easier to use product. This is the approach taken by Fygir with its GRIP finite scheduling package.

Steve Melnyk
Software Editor


GRIP is a constraint-based scheduling system designed for the process industry. Its primary market consists of firms operating in food and beverage, pharmaceutical, chemical, cosmetics, breweries, coatings and resins. At the heart of GRIP is a heuristically (rules) based logic, where the rules used in assessing load and capacity have been drawn from experience. These experiences have been collected and implemented in the GRIP logic. The user cannot modify these underlying rules. However, based on conversations with the developers of this product, there is reason to believe that these rules are both robust and highly effective within the process industry.

With a heuristically based scheduling package such as GRIP, the user defines what rules and constraints the schedule should follow. The rules and constraints are not stated in formal expressions, but implicitly defined by the user through easy-to-understand concepts. GRIP translates these concepts into formal rules and constraints. The resulting information is used to drive GRIP's internal constraint propagation mechanism. Examples of these rules are: recipes/formulas along with alternative recipes/formulas, routings and alternative routings, constraints (capacity, time, rate, yield, calendar) changeover times for sequencing on batches/lots based on product or recipe characteristics.

GRIP provides a detailed schedule against finite capacity and helps the user to achieve an optimal use of products and resources. Being focused on the process industry, GRIP is very good in tank planning, which may be an important consideration for some users. As a standard feature in GRIP, tanks can be modeled to fit the need of the environment and be scheduled accordingly. A problem for many companies in the process industry is intermediate storage in tanks or vessels. When planning tanks, the biggest questions are: What tanks are available? When will they be available? Are they available for a particular product? Are they buffer tanks (see Figure 1) with parallel inflow and outflow, or are they fill empty (see Figure 2)? These aspects are important because different environments utilize tanks differently. This means the user needs to know at any point in time what product is in which tank and exactly how long will that product be in that tank.

Figure 1: The interactive planning board shows three different types of process equipment. The product level in the buffer tank is shown in a separate window. The icons in the batches show time dependencies.

Although it sounds rather easy to schedule tanks, most schedulers know it is a very complex problem to solve. This is because planning tanks is dependent on the timing of the processes filling the tanks and the timing of the processes drawing the product from the tanks. The planning becomes complex when the schedule represents an interaction between the finite capacity scheduling of each of these three elements: the process filling the tank, the tank itself and the process drawing off the tank.

Because the process industry is so dynamic, there is a need for real-time updates based on what the tanks actually place on the shop floor. So, after the initial schedule is released and production starts, there may be differences due to downtime, mechanical errors, quality control issues, rush orders, transferring of batches, etc. These types of shop floor changes should be reflected in the schedule and real-time affects displayed showing any constraint violations. The planner can then respond to these new changes and plan or schedule accordingly. GRIP is well suited to dealing with this type of situation.

Figure 2: The planning board shows a batch mixer (set-up, inflow, mix, outflow), two fill-empty tanks (inflow, slack, outflow), and a canning line (set-up, parallel inflow/outflow).

It is a do-it-yourself type of system that shows results in real time. This refers again to the use of a rules-based logic. As a result, there is no need for the user to learn a computer language. In contrast to alternative approaches, users can easily add new resources (e.g., machines, tanks, filters and mixers). With GRIP, a user can update the system in a matter of minutes.

The product was used to complement the BPCS system being used for MRP. BPCS is an inventory control system — a general program for the whole factory — but it is not specialized in the area of planning. With a bottleneck that shifts between the packaging line and spray dryer, GRIP filled a real need in that it provided the capacity scheduling and planning capabilities missing in BPCS.


Program Performance
GRIP originally ran on the Apple Macintosh. However, GRIP has been successfully implemented on WINTEL machines running either Windows 95 or Windows NT 4.0. Such an environment provides both the graphic features required by GRIP as well as the improved memory management. For the purposes of this article, GRIP was evaluated using a Pentium Pro 180 MHz system with 64 megabytes of RAM. With a program such as GRIP, it is generally true that performance improves in response to increases in both the speed of the processor and the amount of memory.

To test GRIP, it was used to reschedule a canning line within our facility. Applying it to a situation involving 300 canning line orders distributed over the canning line calendar (consisting of 450 process batches and 450 tank batches divided over 4 processes) yielded impressive results. It only took GRIP 10 seconds to evaluate, assess and reschedule this line. The schedules generated, upon review, were considered better than anything that could have been generated manually. This speed lends itself to frequent use in dynamic (changing environments).

Furthermore, GRIP offers an attractive, highly informative and user-friendly GUI (graphic user interface). In reviewing this interface, it was noted that this system was intuitive, highly interactive and insightful to structuring and solving the problem.


Documentation
GRIP comes with a user manual, which I have not used very often, as the software is generally intuitive. Also, this manual is only given out after the user has taken the training provided by Fygir. This emphasizes the role played by training in this package.

The manual, while relatively small given the possible complexity of the package, is indexed by chapter and consists of seven chapters. The chapters are logically arranged and take the user from an introduction to GRIP (Chapter 1) to such topics as working with GRIP (Chapter 2) and a reference list of functions (Chapter 5). The manual is a succinct source of information.


Ease of Installation and Learning
Installation and learning are two separate areas that are unified by one common theme — simple and effective. Because this is a Windows 95/Windows NT package, installation is simple and straightforward. All that is required is to insert the CD-ROM (a nice touch which means that you do not spend all of your time inserting and removing diskettes), and run the setup program. The program takes care of the rest. Even nicer is the presence of an uninstall feature.

Learning to use the package is something that is best done by taking advantage of the training offered by Fygir. Fygir offers an effective and informative four-day training seminar (typically done on-site). This seminar gives the user all of the information needed to use and understand GRIP and the concepts on which it is built. At the end of this seminar, the user is able to install, interface, model, maintain and schedule in GRIP.

In use, the package is straightforward and intuitive. As a result, there is generally little use for the manual. Anything that you want to do can be done by using the program and drawing on the extensive set of help files. It was a pleasant surprise for me to see that this was one product where the only time that you really need the consultant is at the start when you are learning about the package. Psychologically, I felt very confident in using the product.


Ease of Use
As previously noted, GRIP is very user friendly and easy to use. The graphics, its overall layout and focus on the process industry make it a system that can be learned quickly and easily. Again, the rules-based approach implemented by GRIP adds to this ease of use. There is no need for programming. All data and information required by GRIP is entered through data entry screens. The data screens are based on familiar concepts for any scheduler.

In addition, it was a pleasure to discover how easy it was to interface GRIP with other packages. In our test environment, we found that we could interface GRIP to BPCS by ourselves. Simplifying this interfacing task were the interfacing tools provided by GRIP. Interfacing could be done using primarily either an ASCII interface or the SQL interface. The interfacing steps were clearly laid out, resulting in my ability to map out what information was needed from BPCS and where to put this information in GRIP. Data that is not in BPCS is manually entered, which is also easy to do with its user-friendly data entry screens.


Technical Support
Because of the overall design of the package, technical support is not as important an issue as with other packages. However, when accessed, I rate technical support as very good, or even excellent. Because of its tight focus on process industries, the consultants were very familiar with my industry and its problems. In talking with the consultants, it was evident that they had experience in the process industries (a real plus). They also knew the product very well. They were able to walk me through the steps needed to resolve the problems facing me. If they could not answer my question immediately, they got back to me with answers in a fairly short time (usually less than 24 hours).


Best Features of the Package
One of the strengths of GRIP is its narrow focus on process industries. What this means is that it is able to deliver those features and capabilities demanded by managers working in this industry. It is also able to avoid the need to offer other features not needed for this manufacturing environment. As a result, it is highly focused and well suited to the needs of this environment. It was a pleasure to see the ease with which tanks could be scheduled realistically and then have these schedules quickly revised in response to the dynamics of this environment.

Second, GRIP is a product that can be easily and quickly modified by the users (without requiring a consultant). Again, this can be directly attributed to its reliance on a rule-based approach.

Third, GRIP benefits from being a highly visual package. Its results are presented in graphical format. What this means is that the user is able to easily and quickly identify potential problems. This is important because we must realize that we cannot always rely on "black box" computer solutions. At times, it is important to review a schedule and to intervene in it manually. The resulting changes can improve the overall quality of the schedules. It also gives the user a sense of confidence knowing that they are not locked into only the solutions provided by the package (even if they never change these schedules).

Finally, GRIP is a robust and stable package. It is a package that is hard to bring down or crash.


Shortcomings
The shortcomings with this package are minor. The first problem I encountered, involving a flow buffer method that did not work correctly, was solved by the latest release. My second problem, which has yet to be resolved, involves a situation where there are adjoining batches in a process where the tank batches might overlap. The current version of GRIP provides no restriction in the "adjoin" window to solve this problem automatically. Dealing with this problem requires manual intervention.


Overview Evaluation of the program
Overall, GRIP is a good product which does what it is supposed to do with little fanfare. It is well designed for its environment in that it supports a broad range of process industry problems. Software support has been consistently strong. It is evident that the people supporting GRIP know both the product and the environment.

In short, this is an example of a product that is well focused. It is not intended to deal with all manufacturing environments. It focuses on the scheduling problems of the process industry. By being so tightly focused, it excels. What it does, it does well.

GRIP

Type of Program:

Finite Capacity Scheduling for Process Industry

Software Vendor:

Fygir Logistic Information Systems
25 Burlington Mall Rd.
Suite 300
Burlington, MA 01803

E-Mail:

[email protected]