Small Business Resources, Business Advice and Forms from AllBusiness.com

Automated retrieval and ranking of similar parts in agile manufacturing.

By Nagi, Rakesh
Publication: IIE Transactions
Date: Wednesday, October 1 1997

1. Introduction

Driven by constantly changing customer demands, broader product ranges, shorter model lifetimes, production to order in arbitrary lot-sizes, and technological innovations, markets for industrial goods are fragmenting and changing rapidly. For a manufacturing enterprise to be

competitive and to thrive in such a dynamic environment it must be capable of rapid adjustment in order to reduce the time needed to design, prototype, test, manufacture and deliver to the customer a quality product. The necessity for swift recurrent changes has led to adoption of concepts like horizontal partnerships, cross-functional work teams, concurrent engineering, just in time (JIT), total quality management (TQM), and lean production into a singular concept called agile manufacturing [1]. The information-processing capability to treat masses of customers as individuals is permitting more companies to offer individualized products while maintaining high volumes of production [2].

An agile manufacturing enterprise is a customer-centered organization geared for rapid delivery of new, high quality, and easily customized products. One efficient way to satisfy customer needs is for a company to collaborate with qualified partners with the necessary physical resources and capabilities. This collaboration is viewed as virtual company formation, which leads to smooth flow of product, process and business-related information [3].

The formation of a virtual company combines the strengths and capabilities of the different partners. The advantage derived from this setup is the ability to reuse design and manufacturing information of parts previously manufactured among the distributed partners. This leads to considerable shortening of lead times for the development of new customized products. However, the problem of identification of piece-parts or assemblies for ready use or customization is compounded in a distributed network of manufacturing partners with heterogeneous part descriptors.

On the backdrop of such a highly dynamic, responsive and competitive environment, designers cannot afford excessive time to express their part requirements, wait to obtain these potentially useful designs, and review them to determine a match. The problem is further compounded when more than one iteration is involved. The motivation for the work presented here stems from the above scenario, and focuses on developing effective and efficient search techniques for rapid identification and ranking of products similar to a candidate design under development, from the virtual company's product database.

The foundation of the methodology developed rests on the concepts of group technology (GT). GT has proven to be ideal in search and retrieval of similar designs and process plans. The backbone of GT is the classification and coding of parts based on critical attributes such as geometrical shape, dimensional accuracy, materials, and production quantity. The resulting GT codes are strings of digits that contain important design and manufacturing information of a part.

This capsulated form of information has been employed to develop a search technique for the identification of similar products. Through an easy-to-use user interface, the designer specifies the search request in terms of part characteristics and similarity levels. Based on the designer's input of the characteristics and similarity level, the search procedure retrieves parts that satisfy the similarity requirements when compared to the candidate part.

Once the list of similar parts has been generated, ranking of the parts is performed by a sorting procedure. The ranking is based on a more rigorous similarity analysis which employs similarity mapping functions to determine similarity at the feature level of the various characteristics. These feature level similarity values are synthesized into a global similarity value of the various trial parts with respect to the candidate part. Several options are provided for combining attribute similarity values. This allows the similarity to be biased to the designer's requirements on the design and manufacturing considerations, as there may be only certain specific characteristics that are of interest.

A software system implemented using object-oriented technology has been developed, which allows the application of the methodology through a user-friendly interface. The user interface eliminates the need for the designer to know the details of the methodology and to specify a search request in a very simplistic manner. The various search and sort operations can be performed by a menu operated system. The end result is a list of ordered similar parts whose design and production histories can be accessed from the various databases. Application of the methods developed in this work is expected to help considerably in variant design, variant process planning, and variant manufacturability evaluation.

The paper is structured as follows. Section 2 reviews the research related to group technology concepts, similarity coefficients and other related work. Section 3 presents the overview of the methodology and the various product data information on which the methodology is based. The details of the search module, the first step of the methodology in which a list of similar parts is identified, are presented in Section 4. Section 5 describes the sort module, the second step of the methodology in which the list of similar parts is ranked or ordered. Section 6 describes the software system developed for the formulated methodology. It also includes the results and examples of the application of the software system. Section 7 presents the conclusions and recommendations for further work.

2. Literature review

This section presents a review of research work that is related to the problem of finding similarity between products based on group technology. The concepts of GT coding, automation of GT coding, similarity measures, pattern recognition and a recent Internet-based part catalog system are discussed. While some work has been done in terms of finding similarity between products based on GT codes and feature similarity, to our knowledge no work directly addresses the problem of defining the level of similarity between products as a whole in addition to similarity between the individual product characteristics.

2.1. GT coding

Group technology is a methodology which classifies similar parts into families and the machines that process those part families into cells. It takes into account the design and manufacturing attributes and is effective in enhancing productivity, throughput, quality and overall profitability [4]. The benefits of GT most relevant to agile manufacturing are design retrieval, part classification, design standardization, variant process planning, and design and manufacturability evaluation.

GT is applied by classifying a part into code format. A GT code is a string of alphanumeric characters that represent important design and manufacturing related attributes. A number of GT coding schemes have been developed for mechanical applications but at present, only a few electrical applications have been developed. In the past, a limiting factor in the extensive use of GT was the enormous effort required to derive the GT code for each part in a company's database. The coding process was largely manual, which could introduce inconsistencies and errors. The advent of automated GT coding, supported by more comprehensive and standardized product models, has eliminated these barriers and enhanced GT applicability.

2.1.1. Mechanical GT coding schemes

Numerous GT coding schemes have evolved for mechanical applications. The GT coding schemes most widely used for mechanical parts include MICLASS [5], Opitz [6], DCLASS [7] and KK3 [8]. Although the format and classification of the various codes is different, they all encapsulate information on six basic part characteristics: (i) main shape; (ii) form features on the main shape; (iii) feature position; (iv) dimensions; (v) tolerances; and (vi) material.

The Opitz coding scheme was developed in West Germany and is extensively used in the metal-working industry. The code contains nine digits and can be used to describe both rotational and non-rotational parts. The first five digits encapsulate primary design information: (i) main shape; (ii) rotational and plane machining; (iii) holes; (iv) teeth; and (v) forming elements. The remaining digits contain manufacturing information related to dimensions, material, original shape of raw-material, and accuracy.

The DCLASS coding system was developed in 1979 at Brigham Young University basically to facilitate CAD/CAM application. The code consists of five different classification and coding schemes: (i) part family code; (ii) engineering materials code; (iii) fabrication process code; (iv) fabrication tool code; and (v) fabrication equipment code. Each of the different classifications captures detailed information, for example, the part family code contains eight digits and captures information on basic shape, form features, size, precision, and material.

The MICLASS coding scheme was developed by the Organization for Industrial Research (OIR) for the classification of discrete mechanical parts and basic assemblies. The base code has 18 digits and an additional 12 digits are provided for customization by the user. The base code captures information regarding, main shape, machined features, machined feature orientation, dimensions, tolerances, material, function, raw material shape, and production quantity. This coding scheme is one of the more popular schemes in industry.

The KK3 [8] is a general-purpose classification and coding system for machined parts which has significant improvements over the older schemes such as Opitz. There are 21 digits used in this scheme to describe the product. Both rotational and non-rotational parts can be described and the basic characteristics captured by the digits are the details of function, material, dimensions, shape, holes and other form features, and accuracy. The advantage of the KK3 coding scheme is its simplicity despite the comprehensive level of information contained in the code. Chang et al. [9] have provided a good summary of these and some other less common GT coding systems.

2.1.2. Electrical GT coding schemes

The application of GT to electrical parts has been limited. This is largely due to the fact that GT related research for electrical parts has been carried out in defense related areas and existing codes are customized and proprietary [10]. Nonetheless a few electrical coding schemes have been developed. The notable works in this area are discussed below.

Reodecha and Bao [11] have developed a system for printed wiring boards (PWB), to facilitate the use of CAD/CAM applications in their design and manufacture. It follows the same principles and format of DCLASS. Ham et al. [12] have developed a system for forty major product types, some of them are: (i) printed wiring board assemblies; (ii) magnetic sub-assemblies; (iii) other electronic sub-assemblies; and (iv) mechanical sub-assemblies. The various product types use similar manufacturing processes and correspond to a distinct coding scheme.

Harhalakis et al. [13] have developed a system for a class of complex electrical-mechanical parts called hybrid microwave assemblies (HMAs). This scheme employs the MICLASS scheme to capture information related to physical shape, machined features, and other mechanical attributes. A new electrical coding scheme with 25 digits has been developed on the principles and format of MICLASS and is employed to capture critical electrical information of components, hardware, mounting methods, artwork, etc.

2.2. Automation of GT codes

As mentioned earlier, the application of group technology has been slow due to the considerable effort required in coding a company's part base. There has been recent work which addresses this problem. Shah and Bhatnagar [14] have developed an automated GT coding system based on the Opitz scheme for machined parts. Henderson and Musti [15] have also developed an automated coding system for rotational parts using DCLASS. Bond and Jain [16] have developed a system to automatically generate Lockheed sheet metal GT codes from a 3-D CAD model.

The work most relevant to this study is that by Harhalakis et al. [13], which has been further developed by Candadai et al. [17]. Their work illustrates how the PDES/STEP (Product Data Exchange using STandard for the Exchange of Product model data) information model of an electrical-mechanical part is used as an input to an automated code generating system which yields a corresponding mechanical and electrical GT code and critical design information. The importance of this work is that the output of this system is considered as the input to the search methodology that has been developed. Two types of outputs are obtained from the coding system: (i) mechanical and electrical GT codes, and (ii) critical design information (see Section 3.2).

2.3. Similarity measures and coefficients

Related to the concept of similarity, work in similarity measures and coefficients has been conducted in the area of cluster analysis. There are a considerable number of similarity coefficients discussed in detail in Sokal and Sneath [18]. To illustrate their utility, we discuss an application employing similarity coefficients to quantify the similarity between machines to be grouped into manufacturing cells [19]. The coefficients in this application are due to Jaccard [18]. The approach calculates, for each pair of machines, a similarity coefficient which attempts to describe how alike the two machines are on the basis of the number of parts that visit both machines and the number of parts that visit each machine. The similarity coefficient for two machines is the ratio of the number of common components that visit both the machines to the total number of components that visit each machine but not the other, and common components that visit both machines.

Once the similarity between pairs of machines has been established numerical methods are utilized for determining clusters of mutually high similarity coefficients. This procedure is termed as single-link cluster analysis. A dendogram is employed in the cluster analysis method, which is a graphical representation of the similarity level between machines.

We have drawn upon these concepts to develop our similarity values between product characteristics (see e.g., Section 4.2). Since our interest is not in classifying parts into families (or groups), the clustering techniques following the definition of similarity are not beneficial. While clustering techniques could be helpful in identifying clusters of similar parts that satisfy a degree of closeness, we have instead adopted a ranking procedure based on a global similarity value (see Section 5).

2.4. Pattern recognition

Another approach to grouping parts into families, or identifying similar parts is pattern recognition [21,22]. In these studies, data concerning the part geometry are extracted from the CAD database in the form of a file. Using pattern recognition techniques, a processor recognizes the part geometry and determines the part in a GT type code. A similar procedure is adopted for the coding of technological parameters. Having these codes, a procedure computes the distance between two parts. It is noted that geometric pattern recognition procedures cannot be extended to manufacturing and electrical concerns, moreover, feature information may be ignored in the part geometric model.

2.5. An Internet-based part catalog system

There has been some recent development on the internet forum addressing the requirement of identifying, corresponding to a part class and specified attributes, components from various distributed vendors. PartNet, which is the application developed, is a distributed component information system which enables a user to identify, search for, and select components from a distributed world-wide catalog of parts. The relevance of PartNet in our study is that it allows characteristic search for mechanical and electrical components from numerous vendors simultaneously. Currently the part types that can be searched for are: bearing, electronic, fastener, gear, motor, spring and transmission.

3. Overview of the Framework

Automated retrieval and ranking of similar parts in agile manufacturing is envisaged to assist an overall effort, "Optimal Selection of Partners in Agile Manufacturing," currently under study at the University of Maryland, State University of New York at Buffalo, Westinghouse, Martin Marietta and NIST [23]. The objective of the overall project is to develop a design decision support system that: (i) identifies parts similar to a new part at the design stage; (ii) provides the designer with valuable feedback on the manufacturability of a given part design, using variant and generative modes; and (iii) selects the optimal partners to contribute to the realization of the design by evaluating cost, quality, cycle time and other attributes of the candidate product design.

3.1. The methodology for automated retrieval of similar parts

The objective of the problem at hand is to identify existing designs among the part databases of the partners, which are similar to a candidate part at the design stage. The similarity here is in one or more part characteristics, as specified by the designer. A two step methodology has been developed for the above. The first step is a search and retrieval procedure that acquires search intent information from the designer and identifies a set of potentially useful similar parts. The second step involves a more detailed similarity analysis of the similar parts identified by the first step. This step systematically sorts or ranks the similar parts according to their similarity to the candidate part; once again, the similarity request is specified by the designer.

This two-step procedure is adopted for the sake of efficiency. The first step rapidly identifies a set of potentially useful parts based on the global information from the GT codes. The second step calculates detailed similarity based on critical design information only for the identified set of parts from the first step. Thus the designer can review only the few most relevant parts and reduce time required for screening designs, process plans and production histories. The flowchart showing the overview of the methodology is shown in Fig. 1. The summary of the two steps of the overall methodology are also presented as follows:

(1) Search procedure using GT coding scheme;

This procedure uses the structure of the GT coding scheme to provide attributes (each corresponding to a specific part characteristic) with respect to which the user specifies the search intent and desired level of similarity. The procedure retrieves parts that satisfy this similarity level desired when compared to the candidate part. At this stage, the designer has the option to end the search if the requirements have been satisfied, redefine the search attributes, or proceed to the second step, the sorting procedure.

(2) Sorting procedure using critical design information (CDI);

This procedure uses the critical design information, i.e., specific geometric and other design characteristics, to compute the numerical similarity between individual characteristics of the candidate part and a similar part. These numerical similarity values are integrated into a unique global measure through a formal combination method, and this global measure is used to sort the similar parts. The designer can sort the similar parts on the basis of the search request, a redefined request or overall similarity. The sorting step assists the designer in focusing at the most relevant parts and reduces time required for screening designs, process plans and production histories.

3.2. Product data information

The overall methodology is applied to microwave modules (MWM), the production of which involves complicated decisions related to both mechanical and electrical manufacturability concerns. An MWM is a multi-layered electrical product comprised of a layer of components, an artwork circuitry layer, an insulation layer, and a complex mechanical ground plane. MWMs carry both surface mount and thru-hole components, which are mounted directly to the traces and pads of the artwork, a thin conductive metallic layer. The substrate layer is a complex mechanical part that includes features such as holes, slots, chamfers and cutouts [ILLUSTRATION FOR FIGURE 2 OMITTED].

The operation of the search module is dependent on the availability of product data information of the MWMs in two forms: (1) GT codes for the mechanical and electrical characteristics; and (ii) critical design information of the product. A brief description of these is given as follows.

3.2.1. GT codes for the mechanical and electrical attributes The information regarding the mechanical portion of the part (which is the substrate on which the electrical components are mounted) is described by 18 digits of the MICLASS code [5]. The electrical portion of the part is described by 25 digits of a new coding scheme developed for hybrid microwave assemblies (HMAs), of which MWM is a member [10]. Tables 1 and 2 summarize these GT codes (The last column is explained in Section 4). The application of MICLASS has been considered in our methodology due to its popularity. However, any other coding scheme can be used provided consistent similarity measures can be derived for the various characteristics. Finally, a more general class of pure mechanical or pure electrical parts can also be handled by the system. In these cases, the other (electrical or mechanical, respectively) code is not required to be specified.

3.2.2. Critical design/manufacturing information

The critical design/manufacturing information is more detailed and extensive when compared to the GT codes. It is derived from the complete MWM model by the GT design processor [10]. It primarily consists of the product data that are necessary to analyze the part geometry, generate process plans, and evaluate the manufacturability of the part. Fig. 3 summarizes this critical design/ manufacturing information. This information permits a more detailed similarity analysis for the ranking procedure. However, if this information is not available, parts can still be ranked with a quick sort option using GT codes.

Table 1. MICLASS GT code (flat parts)

Code             Part attribute                            Type
position (s)

1                Main shape                                B
2                Machined cutouts                          CP
3                Holes perpendicular to top surface        CC
4                Secondary machined elements               CP
5-6              Mechanical function                       B
7-12             Part envelope dimensions                  CR
13               Tolerances                                CP
14, 15           Material                                  B
16               Raw material shape                        B
17               Production quantity                       CR
18               Secondary machined element orientation    CP
Table 2. Electrical GT code (MWMs)

Code              Part attribute                            Type
position(s)

1                Main electrical classification             B
2, 3             Electrical function                        B
4, 5             Component mounting method                  CP
6, 7             Component mounting patterns                CP
8-11             Hardware                                   CP
12               Component per hardware count               CR
13               Component orientation                      CP
14-21            Dimensions                                 CP
22               Tolerances                                 CP
23               Substrate type (insulation material)       B
24, 25           Additional materials                       B

4. Search procedure using the GT coding scheme

The search procedure uses the concept of GT to establish similarity, either exact or partial, between the part under consideration (candidate part) and the other existing parts in the partner databases. The designer specifies the characteristics of the product that the search is to be based upon as well as the degree of similarity. These characteristics follow the same structure as the GT coding scheme. The user interface (see Section 6 on implementation aspects), enables the designer to specify all the requirements for the search without having to know the details of GT coding. The search procedure processes the information given by the designer to identify the ranges (or sets) of digit values satisfying the similarity criteria, and uses these ranges/sets for the search. The end result of database retrieval from multiple patterns is a list of parts similar to the candidate part with respect to the characteristics specified by the designer. A flowchart describing the search procedure employing GT codes is presented in Fig. 4.

As a part of this work, the GT coding schemes were analyzed digit by digit for their representational significance, and similarity relationships among the values of each digit were developed. The similarity level between a pair of values of a GI digit (or characteristic) (i, j) is assigned a numerical value called a similarity index value (SI[V.sub.ij]). According to the convention adopted the similarity index value has a numerical value between 0 and 1, where 0 stands for no similarity, and 1 stands for an exact match. Characteristics are classified into two types depending on the type of similarity index values the characteristic can be assigned: binary valued characteristics and continuous valued characteristics, which are described as follows.

4.1. Binary valued characteristics

Binary valued characteristics have been so called due to the binary nature of similarity measure that they assume. The similarity indexes can have only binary values {0, 1}, i.e., 0 for no similarity and 1 for an identical match.

The features (or values) of this class of characteristics (or GT code positions) are unique and no consistent similarity can be identified among them. Therefore, if i and j represent a pair of features of such a characteristic, SI[V.sub.ij] = 0 for i [not equal to] j, and SI[V.sub.ii] = 1.

Consider the example of the characteristic, mechanical function, which is represented by the GT code digits 5 and 6. The various digit values (00 to 99) represent various mechanical functions, like support, bracket, lever, screw, etc. It is difficult to assign a consistent partial similarity measure between the different digit values and the only similarity that can be consistently defined is one of exact match, all the others are considered to be totally dissimilar. The various characteristics which belong to this class are indicated by 'B' in the last column of Tables 1 and 2.

4.2. Continuous valued characteristics

The similarity indices for these characteristics can assume values in the closed interval [0, 1]. The features (or values) of this class of characteristics (or GT code positions) bear a decisive resemblance with each other, and the magnitude of the similarity index signifies the degree of resemblance or design/manufacturing similarity. Therefore, if i and j represent a pair of features of such a characteristic, the higher the similarity between i and j, the higher the value SI[V.sub.ij] is; note that SI[V.sub.ii] = 1. There are three types of continuous valued characteristics: primary feature characteristics, column feature characteristics and range feature characteristics. In the case of primary feature characteristics and column feature characteristics the rules for similarity between features are used to calculate similarity index values between those features. These are used to develop a similarity index matrix which is used in the search process.

[TABULAR DATA FOR TABLE 3 OMITTED]

A similarity matrix [SI[V.sub.ij]] is shown in Table 3. If the candidate part had a value i for such a characteristic, and the designer requests a similarity level [Alpha], [Alpha] [element of] [0, 1], the following is the set of values that satisfies the similarity criterion: {j:SI[V.sub.ij] [greater than or equal to] [Alpha]}. Consider Table 3, and assume the candidate part had a GT code value of 4. Assume that the designer had specified in his search intent: similarity with respect to this characteristic should be at least 0.4. From the matrix we identify digits 4, 5 and 6 satisfying this intent, and all parts in the various databases with the GT code values of 4, 5 or 6 will be considered similar to the candidate part to the required similarity level. Iyer [24] has documented comprehensive details of similarity matrices for all primary characteristics.

In the case of range feature characteristics, a mathematical expression is developed to determine the range of digit values satisfying a similarity level. All parts which have the digit values falling in the range are considered similar to the candidate part at the specified similarity level.

4.2.1. Primary feature characteristics

The characteristics which belong to this class are shown in Tables 1 and 2 by 'CP'. Consider the mechanical characteristic, machined cutouts (digit 2), which belongs to this class. The GT digit can assume any value ranging from 0 to 9 depending on the attribute(s) of the product. The attributes in this case are different types of form features, the primary ones are presented in Fig. 5 along with their corresponding digit values.

Assumption: There are some digit values which represent a single attribute and these are known as primary features (PF). There are other digit values which are a combination of attributes and these are termed as secondary features (SF) (e.g., digit value 3 implies the presence of PFs 1 and 2). We assume that the primary features have no similarity among themselves, i.e., if i and j are two PFs, i [not equal to] j, SI[V.sub.ij]. = 0. The rule required to calculate the similarity values between a PF and SF, or two SFs, and its application to an illustrative example are presented in the following.

Rule: To obtain a similarity index value between the two digits of a code the number of PFs in each digit is determined. Let [n.sub.1] and [n.sub.2] represent the number of PFs in part 1 and 2, respectively. If c represents the number of common PFs between part 1 and part 2, the similarity index value between them is given by: (c/max([n.sub.1], [n.sub.2])).

Example:

Consider part 1 with value 3 in the second digit of the GT code

Consider part 2 with value 7 in the second digit of the GT code

Part 1 has two PFs, 1 and 2 ([n.sub.1] = 2), and Part 2 has three PFs, 1,2, and 4 ([n.sub.2] = 3)

Maximum number of PFs max([n.sub.1], [n.sub.2]) = 3 and Number of common PFs (PF 1 and 2) c = 2

Thus, the similarity index value = 2/3 = 0.66

4.2.2. Column feature characteristics

The only characteristic which belongs to this class is mechanical GT digit 3, holes perpendicular to top surface (indicated by 'CC' in Table 1). The features corresponding to this characteristic are arranged using a two-column format in the MICLASS coding scheme. We assume that the similarity trend among the elements of a column is linear in nature. To calculate similarity index values between the elements in a column, we use the values given in Table 4 which are based on our judgment of the attribute relationships. To calculate the similarity measure between a pair of digits from different columns, for example 1 and 8 (refer to the third column of Table 4), we first obtain a measure of similarity between digits in the same column which corresponds to digits in the other column (at the same horizontal level), i.e., obtain the similarity value between 1 and 3 from Table 4. Then multiply this similarity value by factor F (taken as 0.5, the similarity level between the two columns) to get the similarity index measure. The similarity between 1 and 8 can be considered as similarity between 1 and 3, and then similarity between 3 and 8.

4.2.3. Range feature characteristics

The characteristics which belong to this class are given in Tables 1 and 2 as 'CR'. The GT digits of these type of characteristics can assume any value ranging from 0 to MV (MV = 99 or 9). Consider the example of dimension length, which has MV equal to 99. Let x be the digit value of dimension length characteristic of the candidate part, and the designer specifies a similarity level of [Alpha]. To calculate the range of digit values similar to the candidate part at the desired similarity level, we employ the following expressions to find the lower and upper limits of the range of values:

(1) The lower range limit is given by LRL = max{(x - min(x, MV - x) x (1 - [Alpha])), 0};

(2) The upper range limit is given by URL = min{(x + min(x, MV - x) x (1 - [Alpha])), MV}.

All the values between LRL and URL satisfy the similarity level criterion and represent the digit values that will be considered during the similarity search. The significance of the similarity level, [Alpha], has been illustrated in Fig. 6. It can be seen that the lower the value of [Alpha], the larger is the set of GT digit values satisfying the similarity level.

Table 4. Column feature characteristic

Column 1      Column 2    Feature description

1-2=0.8       6-7=0.8     0-no holes
1-3=0.6       6-8=0.6     1-6-one hole
1-4=0.4       6-9=0.4     2-7-line pattern
1-5=0.2       6-5=0.2     3-8-arc pattern
2-3=0.8       7-8=0.8     4-9-line and arc pattern
2-4=0.6       7-9=0.6
2-5=0.2       7-5=0.2     Note 5 is an independent feature
3-4=0.8       8-9=0.8     It has been defined in both columns
3-5=0.5       8-5=0.2     (6, 7, 8, 9 have at least one hole
4-5=0.5       9-5=0.2     greater than 5 x thickness of
                          material)

5. Sorting procedure using critical design information

The search procedure yields an unordered or unranked list of similar parts. The similar parts were identified, using GT codes, solely based on the existence of certain types of common features or GT code values. It does not take into consideration the detailed level of similarity between those common features. The sorting procedure accounts for the similarity at the feature level and employs a combination scheme to yield a global similarity measure (GSM), which is utilized to rank this list of similar parts into an ordered or ranked list. Fig. 7 depicts the flowchart for the Sort procedure.

Quick Sort: This option has been provided to the designer if there is no requirement to calculate the similarity at the feature level, or such information is unavailable. The similarity measures, similarity index values (SIVs), calculated for the various characteristics are integrated by the combination scheme to yield a global similarity measure, and this is used to sort the similar parts.

Detailed Sort: When a more rigorous similarity measure is required by the designer, this option is utilized. In this case the similarity measures, similarity mapping values (SMVs), calculated for the various characteristics from the critical design information are integrated by the combination scheme to yield a global similarity measure, and this is used to sort the similar parts' list. The combination scheme provides the user with three different options, combination by: (i) user's initial search characteristics; (ii) modified characteristics; and (iii) all characteristics. A set of combination weights are calculated for the relevant (user specified) characteristics by a technique called analytic hierarchy process (AHP) [24]. The GSM is computed by summing the product of similarity measure of a characteristic and its corresponding combination weight. A simple routine is then used to rank the similar parts in order of highest GSM.

5.1. Detailed sort procedure

The objective of the detailed sort is to obtain a more discriminating level of similarity using the critical design information. Critical design information provides detailed information of the features or attributes of a part. Fig. 8 shows the hierarchical decomposition of the critical design information concerning mechanical characteristics. It can be observed that binary characteristics have no features or attributes, range characteristics have only one attribute, and primary characteristics have feature(s) with one or more attributes.

For the detailed similarity analysis, families of mapping functions were formulated. A mapping function maps a pair of numerical values of an attribute to a similarity mapping value, SMV, (SMV [element of] [0.1]). The SMV is used to represent similarity of specific attributes, and is analogous to the similarity index value (SIV) for GT codes. The derivation of SMV for an attribute is illustrated with the following example.

Consider the mechanical characteristic, dimension length, which has an SMF represented by [f.sub.m6](x) [ILLUSTRATION FOR FIGURE 9 OMITTED]. Let the candidate part have a dimension value of [x.sub.1] and the trial part have a dimension value of [x.sub.2]. The corresponding function values at these points are calculated ([f.sub.m6]([x.sub.1]), [f.sub.m6]([x.sub.2])) and then [SMV.sub.m6] is derived by the formula: [SMV.sub.m6] = 1 - abs([f.sub.m6]([x.sub.1]) - [f.sub.m6]([x.sub.2])). Note the term m6 represents the sixth mechanical characteristic.

5.1.1. Range type characteristics

The formulation of mapping functions was based on fitting curves to data points obtained from the GT coding schemes. Consider the example of electrical characteristic, components per hardware, which is digit 12 of the electrical coding scheme. The mid-points of the ranges were taken as data points, and a regression analysis was performed to obtain the best fitting curve. This curve was normalized to yield a function value, f(x)([element of] [0.1]). This approach was followed for all characteristics and the R-square value from regression analysis was greater than 0.95 for all cases. Based on the high values of R-square and visual inspection of the graphs a residual analysis was not considered. Certain characteristics had data points concentrated in certain segments of the entire range and a single function (curve) would lead to a low R-square value. In such cases two functions were formulated for the segment ranges. Appropriate modifications were made for boundary conditions and a continuous function was generated for which the composite R-square value was calculated. Table 5 shows the mapping function formulated for the range characteristic attributes.

5.1.2. Primary feature type characteristics

As the attributes of the feature(s) of the primary type characteristics did not have standardized data points (as in the case of range type characteristics), the formulation of mapping functions was based on trends similar to those obtained from the range type attributes, and in consultation with industry design engineers.

It was observed that many range attribute functions (e.g., dimensions, voltage, etc.) were exponential in nature. Using this fact an exponential function of the form, 1 - [e.sup.-ax] was formulated as the general mapping function. An optimization routine was developed to identify the optimum value of a for which the function had its highest R-square value. The data points of attribute, dimension length, were utilized due to its similarity to many primary feature type attributes. The optimum value of a, found to be 0.066, was taken as a standard and the different attribute mapping functions were formulated. The attribute functions which required higher resolution of similarity (e.g., different types of tolerances) were assigned a [element of] [0.10, 0.15], and attributes comparable to dimension length (e.g., length and width of rectangular cutout, diameter and depth of holes) were assigned a [element of] [0.05,0.08]. For some attributes linear mapping functions of the form a x x + b were formulated. Finally, a set of attributes had mapping functions as comparison of attributes in ratio form (e.g., f(x) = (min([x.sub.1],[x.sub.2])/max([x.sub.1],[x.sub.2])), where [x.sub.1],[x.sub.2] represent the numerical values of the attribute). Table 6 shows some of the mapping functions formulated for the primary characteristic attributes. A comprehensive list of mapping functions is provided in Iyer [23].

5.1.3. Calculation of SMV's for primary feature characteristics

The calculation procedure for deriving the SMV's will be illustrated with an example. Consider the characteristic, holes perpendicular to top surface, which has the following critical design features: (i) through holes: (ii) blind [TABULAR DATA FOR TABLE 5 OMITTED] holes; (iii) counter bore holes; and (iv) counter sunk holes [ILLUSTRATION FOR FIGURE 10 OMITTED]. For the derivation of SMV the terms defined in Table 7 were used.

We consider the attribute diameter of the through hole feature for illustration of the approach. Assume an exponential function (f(x)) as the SMF for this attribute. Let the candidate part have n holes with dimension values [Mathematical Expression Omitted] ... [Mathematical Expression Omitted] and the trial part have m holes with dimension values [Mathematical Expression Omitted] ... [Mathematical Expression Omitted], refer to Fig. 11. The steps involved in calculating the SMVs are as follows:

[TABULAR DATA FOR TABLE 6 OMITTED]

(1) Each through hole diameter (considered as an element) of the candidate part is compared with the through hole diameters of the trial part; the trial part diameter which is dimensionally closest to each corresponding candidate diameter is identified. Mathematically this is represented as identifying, j which minimizes the expression [Mathematical Expression Omitted] (where i = 1.2 ... n, and j = 1, 2 ... m);

(2) The element similarity measure of the [i.sup.th] hole element of the candidate part, [Mathematical Expression Omitted], is calculated for all candidate part diameters (i = 1,2 ... n) with the corresponding identified trial part diameters;

(3) Each through hole diameter of the trial part is compared with the through hole diameters of the candidate part; the candidate part diameter which is dimensionally closest to each corresponding trial diameter is identified. Mathematically this is represented as identifying i which makes the expression [Mathematical Expression Omitted] minimum (where i = 1, 2 ... n, and j = 1, 2 ... m);

(4) The [Mathematical Expression Omitted] is calculated for all trial part diameters (j = 1, 2 ... m) with the corresponding identified candidate part hole diameters;

(5) From the formula given in Table 7 the attribute similarity measure (ASM) for the attribute diameter is calculated. The same procedure described in steps 1 to 4 is followed and the ASM for attribute depth is calculated.

(6) The feature similarity measure (FSM) for the through hole feature is calculated from the AMS's derived using the formula given in Table 7. Similarly all [TABULAR DATA FOR TABLE 7 OMITTED] the similarity measures for the other features, namely blind hole, counter bore hole and counter sunk hole are derived.

(7) The similarity mapping value is calculated from all the FSM's calculated and this procedure is followed for all the other similar characteristics.

The above procedure performs well on a number of examples, but it is not the only way to obtain SMVs in the multi-feature, multi-attribute case. When a large number of features are present (i.e., for large n and m), standard statistical measures could be readily applicable. Given that MWMs do not have a large number of features of a specific type, we have not employed these measures in our implementation.

5.1.4. Calculation of revised SIV

Since the similarity measure between the same GT code values (i.e., same type of features) should be higher as compared to two different GT code values (i.e., different types of features), a normalization procedure of SMVs for the primary feature characteristics is required. The normalization equation for primary feature characteristics, which yields the revised SIV, is [SIV.sub.revised] = (SIV/2) x (1 + SMV).

With the calculation of all the revised SIVs, a combination scheme is applied to integrate these values to give a unique similarity measure, GSM. The analytical hierarchical process [24] (refer to the following section) is employed to generate the combination weights. For the generation of combination weights, empirical data regarding the relative importance of the various characteristics with respect to each other is required.

5.2. Combination scheme

The analytical hierarchy process (AHP) is a mathematical tool which is employed to make decisions on multi-criteria objectives which are subjective in nature. With reference to our problem, the application of AHP leads to the determination of formal combination weights to integrate the disjointed SIVs determined by the procedure in the previous section. The main application of AHP is the determination of formal combination weights from subjective judgments regarding the importance of a characteristic similarity to the global similarity. These combination weights are used to integrate the SIVs into a unique measure for ranking (global similarity measure), while considering the search attributes, redefined attributes, or overall attributes.

In this section we present the steps followed in applying AHP to determine combination weights for the global similarity measure.

(1) The hierarchy for determining the global similarity measure is structured from the topmost to the lowest level [ILLUSTRATION FOR FIGURE 12 OMITTED].

(2) The set of pairwise comparison matrices for each of the levels was constructed. An example of a pairwise comparison matrix for the mechanical characteristics is presented in Table 8. Note that an element in the higher level is said to be a governing element for those in the lower level because they contribute to it or affect it. The elements in the lower levels are then compared to each other based on their effect on the governing element [TABULAR DATA FOR TABLE 8 OMITTED] above. This yields a square matrix of judgments. The pairwise comparisons are done in terms of which element dominates another. These judgments are then expressed as integers. If element A dominates over element B, then the whole number integer is entered in row A, column B and the reciprocal is entered in row B, column A. If the elements being compared are equal, 1 is assigned to both positions. Note that there are n(n - 1)/2 judgments required to develop a matrix of n elements; reciprocals are assigned automatically.

(3) Having determined the pairwise comparison matrices their consistencies are determined. The equation Aw = [[Lambda].sub.max]w is solved, where A is the pairwise comparison matrix, w is the priority vector and [[Lambda].sub.max] is the largest eigenvalue of matrix A. The consistency index (CI) is derived from the departure of [[Lambda].sub.max] from the size of the matrix: CI = ([[Lambda].sub.max] - 1)/(n - 1). The consistency index is compared with an empirical value of consistency for that size, which yields a consistency ratio (CR). The consistency ratio (CR) should be about 10% or less for each comparison matrix to be acceptable. If not, the quality of the judgments should be improved, perhaps by revising the pairwise comparisons. Refer to Table 9 for an example.

(4) Steps 2 and 3 are performed for all levels of the hierarchy.

(5) The priority vector from Step 3 gives the combination weights for the elements of the comparison matrix. Starting with the lowest level, local weights are used to combine the lowest level attributes' similarity values to determine the governing attributes' similarity values. The process is repeated (or "rolled-up") for higher levels using appropriate local priorities. The final combination at the top level yields the global similarity value. For example, the right hand column of Table 8 represents the priority vector of the mechanical characteristics to the global similarity measure; see also Fig. 12.

5.3. Industrial surveys

A survey was conducted with our industrial collaborators to acquire expert knowledge on the relative importance between the various mechanical and electrical characteristics of a part. Experts, who were familiar with the various design and manufacturing considerations, provided a quantitative evaluation for the comparison between characteristics. These surveys provided the data required to construct the comparison matrices from which the relative importance of the various characteristics were ascertained. Once the quantitative weights are determined from the AHP analysis, our combination scheme is applied to yield the global similarity measure which helps to sort the similar set of parts. Iyer [23] has documented the details of the survey form and the comparison matrices.

6. Software development and results

6.1. Software and user interface

The software application of the methodology developed in Sections 4 and 5 has been implemented in C and C++ in the Sun/Unix platform. Object-oriented concepts are exploited for structuring product related information, namely, group technology codes and critical design information. GT codes and critical design information are structured in C++ classes and the data is stored using an object-oriented database system, ObjectStore [25]. A user interface has been developed for the X-window environment using SUIT (Simple User Interface Toolkit), an open domain subroutine library for graphics [26].

Table 9. Level 2 mechanical comparison matrix data consistency
table

Description                             Symbol               Value

Size of matrix                          n                    13
Largest eigenvalue of matrix            [[Lambda].sub.max]   13.736
Consistency index of the matrix         CI                    0.061
Consistency factor experimental value   F                     1.56
Consistency ratio (CI/F)                CR                    0.040

Once the user has input the candidate part and the plant (database) names where the search should be conducted, a menu with on/off buttons will appear on which the user specifies the characteristics relevant to the search. When the buttons of continuous valued characteristics are clicked, a sliding scale widget appears where the user can drag the cursor to set the level of similarity desired [ILLUSTRATION FOR FIGURE 13 OMITTED].

The similar set of parts can be viewed along with some basic part information. For the sorting procedure the user has to specify one of two options, Quick Sort or Detailed Sort. The user further specifies one of three combination options as discussed in Section 5. This triggers the sorting routines and the ranked list of similar parts is displayed. The user can access relevant information of the sorted similar parts by clicking on the part number [ILLUSTRATION FOR FIGURE 14 OMITTED].

6.2. Results and examples

The methodology was tested by conducting trial runs on both randomly generated databases of parts and industrial parts. The robustness and efficiency of the system was tested by subjecting it to different search and sort intent specifications. Presented in the following sections is the result of a search and sort example.

In this simulation only the search routine was performed by taking the part number ZK9264 as the candidate part. The following characteristics were chosen for the search intent: (i) main shape (binary valued function); (ii) machined cutout (continuous valued, sub type primary feature characteristic) with [Alpha] = 0.6; (iii) dimension length (continuous valued, sub type range feature characteristic) with [Alpha] = 0.5, and (iv) electrical classification (binary valued function). Table 10 shows the set of GT code values of the candidate part and the ones acceptable for the specification of the characteristics and the level of similarity. For details refer to Section 4.

The list of similar parts obtained from the search of a database of 100 parts is shown in Table 11. It can be seen that the similar parts have only the acceptable code values as given in Table 10 in the corresponding positions. The GT codes values that are chosen in the search intent have been marked with an asterisk.

Table 10. Range/set of GT digits for similarity search

Characteristic                Candidate    Similarity    Code
                              part code    level         values
                              value

Main shape                      9           (binary)       9
Machined cutouts                4             0.6          4
Dimension length                48            0.5          0-98
Electrical classification       5           (binary)       5
Table 11. List of similar parts

Candidate

Part number                ZK9264
Mechanical code       9* 4* 8 3 31 48* 20 57 3 57 9 7 7
Electrical code       5* 00 14 29 13 0 3 3 4 0 7 5 0 5 6 3 3 4 7
Similar parts
Part number           DQ0140
Mechanical code       9* 4* 1 6 3 31* 33 91 6 75 7 3 9
Electrical code       5* 6 12 11 4 27 1 0 4 2 2 7 5 4 6 5 1 4 24
Part number           IV1845
Mechanical code       9* 4* 7 2 85 73(*) 59 55 4 0 9 2 6
Electrical code       5* 3 4 9 23 26 0 4 2 4 1 3 3 5 3 1 7 5 46
Part number           NA5503
Mechanical code       9* 4* 7 0 85 3* 39 43 3 1 5 9 6
Electrical code       5* 11 0 1 20 0 4 2 7 0 4 8 3 0 7 6 4 1 39

In this simulation, the search routine and sort procedure were performed on two partner databases with 10 parts each, and by taking the part number FR7451 as the candidate part. Only one search intent characteristic, Main Shape (binary valued function), was chosen, and four parts with the same Main Shape code (digit 1 of mechanical code) were identified. Consequently, two different sorting specifications were employed: (i) Quick Sort, combination with all characteristics, and (ii) Detailed Sort, combination with redefined attributes (three attributes chosen were Main Shape, Machined Cutouts, and Production Quality). The similarity measures for the various characteristics (which are derived from the principles discussed in Section 5) were integrated with the combination weights derived from the AHP procedure to yield a global similarity measure, GSM. The list of sorted parts by the two options is shown in Table 12.

6.3. Discussion of results

It is observed that the application of the system is user friendly and quite self explanatory. The user operates the search procedure without knowledge of the details of the GT coding schemes or the intricacies of the methodology. If the user is satisfied with the information obtained from the similar parts he has the option of exiting the system. From the two sorting options exercised, it can be observed that the rankings for the similar parts in the two cases are different. This is due to the different combination weights that are derived from the user's specification.

In the first case, all the characteristics were chosen and the AHP comparison matrix with all the characteristics comparisons was used to derive the combination weights. The combination weights derived for the various mechanical characteristics are provided in Table 8 and electrical characteristics in Iyer [23]. The SIVs of the parts, calculated from the principles discussed in Section 4, were combined using these weights to result in [TABULAR DATA FOR TABLE 12 OMITTED] the global similarity measure (GSM). However, in the second case the redefined characteristics option was chosen with only three characteristics that were different from the search intent. Here, the AHP comparison matrix was reconstructed by extracting the rows and columns corresponding to these three characteristics, and the combination weights were accordingly calculated. Table 13 shows the combination weights of the three characteristics. The SMVs of the parts, calculated from the principles discussed in Section 5, were combined using these weights to result in the GSM.

Since the calculation of the GSM is based on the attribute similarities and combination weights, different rankings are observed in the two cases. This illustrates the efficacy of the system to sort the list of similar parts according to user's specifications. This is particularly useful in agile manufacturing when a customized product (new design) may be more similar to one group of parts when considering a specific subset of characteristics while more similar to another group of parts when considering another subset of characteristics. This flexible approach can be advantageously employed by the user or designer in an iterative way. The user can explore the various options which will provide insight into the various similarity relationships when comparing parts with respect to specific sets of characteristics.

7. Conclusions and recommendations

In a dynamic and competitive environment, a manufacturing company must be capable of rapid adjustment in a cost-effective way. One of the key principles to achieve this is to form virtual companies by collaborating with other companies, and by sharing resources, capabilities and information to enable the market demand to be rapidly satisfied. The work discussed in this paper concerns the need to find similar products to a new product (at the development stage), from the product databases of the collaborating companies. The identification of similar products will provide the designer with their design characteristics and production histories, and reduce the new product's overall lead-time.

Table 13. Level 2, mechanical combination weights

Characteristic          Combination weight

Main shape                   0.6608
Machined cutout              0.2081
Production quantity          0.1311

A two-step approach has been developed for identifying similar parts. The first step is a search and retrieval procedure that acquires and processes the designer's search attributes and desired level of similarity to generate a list of similar parts from partner product databases. GT codes for the product's mechanical and electrical attributes are employed in this procedure. The definition of similarity, whole and partial, between the various values of each GT digit has been developed and employed in the similarity search.

The second step of the procedure systematically ranks the similar parts by determining a global similarity measure, based on the designer's search attributes or overall characteristics. Detailed, critical design information is used to perform feature-by-feature comparisons using similarity mapping functions to define similarity measures at the feature level. Then a combination technique, based on analytical hierarchy process concepts, is employed to combine the similarity measures of the various characteristics into a global measure. This is used to sort the list of similar parts so that the most similar parts based on the designer's preference can be immediately identified.

The benefits that can be derived from the above work can be summarized as follows:

(1) The software developed (in C/C++ language) enables the designer to derive the set of similar parts without having to know the details of the entire methodology. This is achieved by the user interface which takes the necessary input from the designer and processes it according to the options specified and yields the list of ranked similar parts.

(2) The sorting routine enhances the methodology by providing a user with the option to derive detailed similarity with respect to specific features, which is a major concern in design for manufacturability of parts. This is feasible in this system due to the rapid operation of the software, particularly facilitated by the user interface.

(3) From the sorted list which arranges similar parts in descending order of similarity, the user can access information on the design characteristics and production histories of the top ranking similar parts. This is particularly useful when many similar parts are identified.

(4) The designer can confine the search to a particular partner (database) and then compare the results with similar search parameters on other partner databases. This application could give specific information of the partner(s) in relation to types of features or production processes that they are proficient at.

(5) From the software development perspective, the modular approach of object-oriented programming will allow future development and revisions to be incorporated with relative ease.

The proposed methodology of search and sort provides an efficient method to identify similar parts in an agile manufacturing environment. However, some of the assumptions used in the development can be generalized to represent a more realistic scenario: (1) in the classification of the characteristics, some binary type characteristics could be converted to continuous type with a more in-depth similarity assessment by domain experts. For instance, there may be some similarity between an operational amplifier and a power module; (2) similar extensions can be directed toward similarity among primary feature characteristics, and their similarity coefficients can be revised. Again, an in-depth evaluation of manufacturing and design considerations of these features would be required.

At present, the methodology developed employs the search procedure and then proceeds to the sorting option. A possible variation in this methodology is a search option which derives similarity directly from the critical features of the PDES/STEP product model, based on object-oriented principles. In this, similarity could be evaluated between the parts, which are treated as objects. This would eliminate the requirement of the GT design processor and any loss of information detail which could occur in the translation process.

Finally, we are interested in the systematic feedback information that can be provided to the designer based on the product designs, production histories, cost, quality and lead-times of similar parts.

Acknowledgements

This work was supported by the US Army Tank Automotive Command under contract DAAE07-93-C-R086 and subcontract Z841301 from the University of Maryland. The support of Jamie Florence of TARDEC's National Automotive Center is acknowledged. The assistance of Drs Ioannis Minis and Jeffrey Herrmann of the University of Maryland, and the design engineers of Westinghouse, ESG, was invaluable in the completion of this project.

References

[1] Goldman, S. (1992) A new production paradigm for society. Iacocca Institute, Lehigh University, Bethlehem, PA.

[2] Goldman, S., Nagel, R.N. and Preiss, K. (1995) Agile Competitors and Virtual Organizations: Strategies for Enriching the Customer, Van Nostrand Reinhold. NY.

[3] Minis, I., Candadai, A., Champati, S., Herrmann, J.W. and Ramachandran, V. (1994) Information needs in agile manufacturing, in Proceedings of the ASME International Computers in Engineering and Database Symposium Conference.

[4] Teicholz, E. and Orr, J. (1987) Computer Integrated Manufacturing, McGraw-Hill.

[5] OIR Multi-M, Code Book and Conventions (1986) Organization for Industrial Research, Waltham, MA.

[6] Opitz, H. (1970) A Classification System to Describe Workpieces (translated by Taylor, A.), Pergamon Press, New York.

[7] Allen, D. and Smith, P. (1982) Part classification and coding. Monograph No. 3, Brigham Young University. CAM Software Laboratory.

[8] Japan Society for the Promotion of the Machine Industry (1980) Group Technology, University of Tokyo Press, Tokyo, Japan.

[9] Chang, T.C., Wysk, R.A. and Wang, H.S. (1991) Computer-Aided Manufacturing, Prentice Hall, NJ.

[10] Kinsey, A. (1992) Automated generation of group technology codes from a PDES product information model. M.S. Thesis, Systems Research Center, University of Maryland, College Park, MD.

[11] Reodecha, M. and Bao, H. (1985) Development of a classification and coding system for electronic components: the first step toward automated process planning for PWA's, in Computer Aided/Intelligent Process Planning, Liu, C.R., et al. (eds.) PED-Division ASME, pp. 167-175.

[12] Ham, I., Marion, D. and Rubinovich J. (1986) Developing a group technology coding and classification scheme. Industrial Engineering, 18, 90-97.

[13] Harhalakis, G., Kinsey, A. and Minis, I. (1992) Automated group technology code generation using PDES, in Proceedings of the Third International Conference on Computer Integrated Manufacturing, Rensselaer Institute, Troy, NY.

[14] Shah, J. and Bhatnagar, A. (1989) Group technology classification from feature-based geometric models. Manufacturing Review, 2, 204-213.

[15] Henderson, M. and Musti, S. (1988) Automated group technology part coding from a three-dimensional CAD database. Journal Engineering for Industry, 110, 278-287.

[16] Bond, A. and Jain, R. (1988) The formal definition and automatic extraction of group technology codes. in Proceedings of the ASME Computers in Engineering Conference, pp. 537-542.

[17] Candadai, A., Herrmann, J.W., Minis, I. and Ramachandran, V. (1994) Product and process information models for microwave modules, in Proceedings of the ASME Winter Annual Meeting, Chicago, IL.

[18] Sokal, R.R. and Sneath, P.H.A. (1968) Principles of Numerical Taxonomy, Freeman and Co.

[19] McAuley, J. (1992) Machine grouping for efficient production. The Production Engineer, 51, 53-57.

[20] Fu, K.S. (1976) Digital Pattern Recognition, Springer-Verlag, Berlin.

[21] Fu, K.S. (1980) Recent developments in pattern recognition. IEEE Transactions on Computers, 10, 845-854.

[22] Minis, I., Harhalakis, G. and Nagi, R. (1993) Optimal selection of partners in agile manufacturing. Research Contract DAAE07-93-C-R086 funded by the US Army Tank Automotive Command, University of Maryland, College Park, MD.

[23] Iyer, S. (1995) Identification and ranking of similar parts in agile manufacturing. M.S. Thesis, Department of Industrial Engineering, SUNY at Buffalo, NY.

[24] Saaty, T. (1980) The Analytic Hierarchy Process, McGraw-Hill.

[25] ObjectStore, Release 2.0 for Unix Systems (1992) Object Design, Inc. Burlington, MA.

[26] Conway, M. (1992) The SUIT Version 2.3 Reference Manual University of Virginia. VA.

In addition, make sure to read these articles: