|
July 1997 Volume 7 Number 7 GRIP: Constraint-based Scheduling System Finite Capacity Scheduling for the Process Industry By Ferry de Bruin
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 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.
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.
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. 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. 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. 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. 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. 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. 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.
| |||||||||||