Fuzzy part coding for group technology

Fuzzy part coding for group technology

EUROPEAN JOURNAL OF OPERATIONAL RESEARCH ELSEVIER European Journal of Operational Research 92 (1996) 637-648 Theory and Methodology Fuzzy part codi...

811KB Sizes 0 Downloads 48 Views

EUROPEAN JOURNAL OF OPERATIONAL RESEARCH ELSEVIER

European Journal of Operational Research 92 (1996) 637-648

Theory and Methodology

Fuzzy part coding for Group Technology D. Ben-Arieh

*, S . E . L e e , P . T . C h a n g

Department of Industrial Engineering, Kansas State University, Durland Hall, Manhattan, KS 66506, USA

Received 15 November 1994; revised 24 May 1995

Abstract

Contemporary Group Technology (GT) methods apply coding schemes as a popular method for capturing the design and manufacturing information pertinent to the parts to be grouped. Coding schemes are very popular and many different coding systems are commercially available. The main disadvantage of current coding systems, however, is their generality and lack of informative representation of the parts. This paper presents a new methodology for coding parts using fuzzy codes. The methodology is general and applies to attributes that have a crisp value (e.g., "length", "ratio of length to diameter"), an interval value (e.g., "tolerance", "surface roughness") or a fuzzy value (e.g., "primary shape"). The methodology considers the range of attributes' values relevant for the grouping, and therefore, is tuned and adjusted to the specific collection of parts of interest. This method creates a more informative coding scheme which leads to improved variant process planning methods, scheduling and inventory control as well as other manufacturing functions that utilize GT. Keywords: Fuzzy sets; Part coding; Group Technology; Classification; Manufacturing families

1. Introduction

manner:

Traditionally, coding for group technology purposes has been done in a very crisp and deterministic manner. Each relevant attribute of the parts to be grouped has a crisp value that is uniquely associated with a code digit. This coding approach, however, entirely ignores the degree to which a particular part fits the range o f values associated with its Group Technology (GT) code. As a typical example, code digit C depends on attribute L in the following

C=

* Corresponding author. Fax: (913) 532-7810.

i

for L_< 0.5, for 0.5_
According to this approach, two parts with L~ ,= 0:49 and L 2 --0.51 will carry two different code values, which may lead to inaccurate grouping. Another difficulty with conventional coding is using fuzzy attributes. As an example, the part shown in Fig. 1 cannot be uniquely classified as a cylindrical or prismatic part. The method presented herein aims at developing a new coding scheme that captures the degree . of agreement of the attribute values with the code digits. This is achieved using fuzzy code numbers which

0377-2217/96/$15.00 © 1996 Elsevier Science B.V. All fights reserved SSDI 03 77-2217(95)00155 -7

638

D. Ben-Arieh et aL / European Journal of Operational Research 92 (1996) 637-648

2. Background

Fig. 1. A part with cylindrical andprismatic shape elements.

represent the degree of membership of an attribute value in a code. The importance of this methodology lies in its informative and expressive representation of the parts' features, contrary to the current coding approaches which reduce the product description drastically. Generally, parts coding for group technology purposes are performed using three types of attributes: 1. Continuous and crisp attributes. Examples of such an attribute are "maximal length" and " w i d t h " . In both cases; the attribute is measured accurately and then converted into a fuzzy code. This case, which is the most relevant for fuzzy coding, consists of two sub-types of attributes: ones with single value (e.g., width) and ones with interval values (e.g., tolerance, surface roughness). 2. Fuzzy attributes. This category includes attributes that cannot be measured precisely, such as "primary shape" of a part. 3. Attributes with a finite set of values. This type of an attribute can be directly converted into a crisp code, and there is no fuzziness in the code definition. An example of such. an attribute is the "material" of the part. This paper focuses on coding the first two types of attributes using fuzzy numbers. The paper is structured as follows: Section 2 provides the background and literature review of fuzzy parts coding. Section 3 presents the underlying methodology of generating fuzzy codes. Section 4 describes the normalization procedure of the fuzzy codes, and section 5 shows the coding of crisp attributes. Section 6 describes coding of interval based attributes and Section 7 presents coding of fuzzy attributed. Section 8 presents an example and Section 9 provides a summary and conclusions.

Group Technology (GT) is a manufacturing philosophy that identifies and exploits the similarities of parts and production processes in design, manufacturing and assembly. This basic concept has been in existence for many decades, and a classification and coding system developed by Taylor (Hathaway, 1920) for forming part families was used at the turn of the century. Coding and classification is being referred to as the heart of the Group Technology (GT) concept. Since Mitrofanov (1966) and Burbidge (1975), the concept of GT has been very important to manufacturing, especially in small batch and high variety production. Specific contributions of GT to manufacturing have been recognized in many areas such as design standardization, cell layout, productivity improvements, set-up time reduction, improved process planning, improved purchasing procedures, and reducing inventory (Snead, 1989). Currently, there are two main scientific approaches towards part classification: classification based on coding and classification based directly on the parts and machines properties (an approach often termed Production Flow Analysis). The approach considered in this paper is the coding approach for classification. Part coding is the main approach for converting the parts' features into numerical properties to be used for the clustering procedure. Coding systems belong to three major code types: monocode, polycode and hybrid code. Coding systems vary in length from 2 digits to more than 21 digits (Gallagher and Knight, 1986). At present, many coding systems are available commercially (e.g., see Am, 1975, Ham et al., 1985, Snead, 1989 and Gallagher and Knight, 1986, for a review of some of the systems). More recent development of coding systems or new applications are reported, for example, in Bao (1989), Stylinger and Melkanoff (1989), Mosier and Janaro (1990) and Jung and Ahluwalia (1989). Part coding is a practical approach for various parts of production systems: mass production, small quantity production (Opitz and Wiendhal, 1971), electronic assembly (Stylinger and Melkanoff, 1985), etc. In spite of the large amount of work on coding systems, investigation of fuzzy sets theory and their

D. Ben-Arieh et aL / European Journal of Operational Research 92 (1996) 637-648

applications to GT is very limited. Xu and Wang (1989) discussed the benefits of representing parts' features using fuzzy numbers. However, they assumed pre-defined membership functions that convert the features' values to real numbers. These crisp numbers are then used for similarity analysis. Zhang and Wang (1992) discussed the various membership functions that can describe the features' membership. These functions again were assumed known and were used to find the degree of similarity between the machines and the features. These similarity measures were used for grouping. Chu and Hayya (1991) discussed the generation of a non-binary incidence matrix. Such a matrix is generated from a standard binary part/machine incidence matrix. These similaxity measures are then used for clustering by minimizing the sum of squared distance of each part from the other groups. Mital et al. (1988) has proposed an application of linguistic descriptors in order to increase the sensitivity of the GT method. The assumption in this work is that feature values are derived only from visual cues and cannot be measured directly. In this approach, the parts' attributes are crisp only, and the fuzzy numbers are defined subjectively without an underlying methodology. A heuristic that measures the parts' similarity as a fuzzy number is suggested by Mosier and Taube (1985). Again, the fuzzy number is very restricted in its application and justification. Li and Ding (1988) and others have proposed different fuzzy clustering techniques for cell formation and grouping of parts families. However, in all these reports, the fuzzy values were developed from a binary incidence matrix, thus reflecting the degree of similarity among parts and not the membership functions of the attributes. An interesting work that looks at the problem from a different point of view is reported in (BenArieh and Triantaphyllou, 1992). This work considers parts with known fuzzy properties and suggests a methodology to develop crisp attributes that are used for the grouping. This work considers both qualitative features and quantitative (crisp) ones with subjective meaning. In terms of developing fuzzy codes for parts in a consistent and accurate form based on the values of the parts' attributes, no method is reported in the literature.

639

The research presented herein is intended to fill this vacuum and to introduce the concepts of fuzzy sets into coding the parts based on the attributes' values.

3. Methodology The notation used in this paper is as follows: S: Ul."

The attribute for which a fuzzy code is being developed. The value of attribute S in part P~. Fuzzy coding number i for a given attribute. The mode of fuzzy coding number i. The boundary between two adjacent fuzzy coding numbers.

C(P~ IS):

The single digit fuzzy code of attribute S of part P~. The membership value of u 1 in fuzzy ~L~i ( U l ) : coding number ,~. Th e mode of the fuzzy code for C~(s): attribute S of part P~. L U . The lower and upper bounds of the fuzzy code C(PI IS).

Broadly speaking, the process of generating fuzzy codes for a given attribute consists of the following three steps: 1. Preparatory step. In this step the implementor identifies the feasible ranges of the attribute's values and decides on the linguistic descriptors (e.g., " v e r y short" or " l o n g " ) of this attribute. 2. Analysis step. In this step, a fuzzy coding scale which represents the gradual membership of a fuzzy code in the attribute values is created. 3. Coding step. In this step, a fuzzy code for a given part is generated based on its attribute value and the fuzzy coding scale developed in Step 2. The main difficulty of fuzzy coding is that there are no crisp boundaries which exactly partition the range of the attribute values into the codes intervals. For example, the attribute ,'length" can have the value " l o n g " for values of 10 to 20 inches, or 15 to 25 inches. In addition, when a code interval is given,

640

D. Ben-Arieh et aL // European Journal o f Operational Research 92 (1996) 637-648

it is still required to define the fuzzy code to accurately represent the degree of agreement between the attribute's value and the interval. The classification feature (attribute) is represented using a linguistic variable such as width or maximal length. The universe of discourse U, therefore, contains all the possible values of the linguistic variables for all the different parts under consideration. For example, the values for the parameter maximal length can be taken from the set {very short, short, medium, long, very long}. These linguistic values are fuzzy subsets of U. The parameter " l o n g " , for example, can be defined as a fuzzy subset {u, lXlong(u)}, where ~long(U) denotes the membership value of u in the fuzzy set " l o n g " . The construction of a fuzzy coding scheme uses the concept of Fuzzy Coding Numbers (FCN). An FCN is denoted as 1, 2, corresponding to a conventional discrete coding scale {1,2 . . . . }. Each FCN corresponds to a linguistic value such as "short", " l o n g " of a particular attribute. The Fuzzy Coding Numbers constitute the Fuzzy Coding Scale, similar to the discrete coding scale that is traditionally used (e.g., {1,2,3,4,5,6} as all possible values for a discrete code digi0.

3.1. The preparatory stage This section describes the preparatory procedure used to assign linguistic values (e.g., "small", " m e d i u m " , " l a r g e " ) to the attributes. The need for this stage stems from the fact that there are no crisp boundaries which exactly partition the range of the attribute values into the codes intervals, as discussed above. The proposed steps in the preparatory stage are as follows:

Step 1. Determine the set of integer numbers that form the discrete coding scale (e.g., 1, 2, 3, 4, 5). Each such integer should correspond to a fuzzy value; for example, define 1 as " v e r y short", 2 as "short", etc. Assign each integer to a Fuzzy Coding Number. Again 1 corresponds to " v e r y short", 2 to "short", etc. Step 2. Determine the intervals of attribute values that correspond to the linguistic values of the attribute. The intervals should be non-overlapping and

continuous. As an example, the intervals {0-2, 2-4, 4-6} correspond to the linguistic values "short", " m e d i u m " , and " l o n g " . This step is carried out by requesting many experts to decide on the range that corresponds, in their opinion, to the linguistic value. Each such interval corresponds to a Fuzzy Coding Number. Note: each expert generates a subjective and different set of intervals.

3.2. Determination of the fuzzy coding scale of an attribute This section describes the procedure used to find the fuzzy coding scale (Analysis step) of a particular attribute. Only after this scale is determined for each attribute used in coding the parts, the various parts can be given a relevant code value (for each attribute). This step is performed after the user has completed Step 1 in which the number of fuzzy values is determined for each attribute. The fuzzy coding scale is determined using the following algorithm:

Step 3. Determine the membership grades of the attribute values in the intervals developed in Step 2 (also in the Fuzzy Coding Numbers). This is done using the equation: membership of u in -4i =

count of u ~ A n

In this case, n is the total number of observations, and ,4; denotes FCN i, while u is the attribute value analyzed. For example, if 40 observations rank length of 12" as " l o n g " and 10" as " m e d i u m " , 12" has a membership value of 0.8 in " l o n g " and 0.2 in "medium". Note: this process is repeated for all values of u, in an increment decided by the system's designer.

Step 4. Determine the modes of the Fuzzy Coding Numbers by finding the attribute value which has the highest membership values. Step 5. Assign the crisp integers from Step 1 to the modes of the FCN from Step 4. Step 6. Identify the fuzzy boundaries/~ij between

641

D. Ben-Arieh et al./ European Journal of Operational Research 92 (1996) 637-648

two consecutive fuzzy coding numbers /~i and Aj by the equation:

In this work, this property is tightened such that:

Bi j ~-- z~i ~'~A j

and the modes o f mode(/~ij)

=

nij arc found as:

if

mode(X,) _ u

mode(X,+1),

then

I.CA,(,) +IJ~A,+I(U)-~ I.

Due to this requirement, the maximal membership value in all the fuzzy boundaries is 1/2. This type of fuzzy boundaries is termed 1 / 2 normalized fuzzy boundaries. An example of the boundaries is presented in Fig. 2. This example presents a smoothed curve which resulted from the experiment described below. The approach towards the generation of the fuzzy coding scale is best demonstrated using the following example:

(ul I~%(u)=max(-4i f3 A;)}.

Step 7. Assign the mode of the fuzzy boundary /~j a real number that is in the midrange of the two continuous coding numbers assigned in Step 5. Note: after this step the coding scale can be treated as a continuous scale as demonstrated in Fig. 2. The fuzzy coding scale holds the normalization property meaning that:

Example. In this example 48 different parts were evaluated by 55 experts for various attributes. As an example, the attribute of "Maximal Length" has the following linguistic values associated with fuzzy coding scale: "very short" (1), "short" (2), "medium" (3), " l o n g " (4), and "very long" (5). A demonstration of the preparatory stage is provided in Table 1. This table presents a portion of the experiment in which ten experts evaluated the at-

[dLa0( " ) -'i" ~La,( u ) + ~lba2( u ) 4- " ' " -1- [.La.(/A) = 1.

(4) This means that the sum of the membership values of an attribute in competing fuzzy sets is one. For example 2.0" can have membership in the sets "very short", "short", and " m e d i u m " but only to the level that they all sum to one.

Fuzzy eodlng scale

0.7'$ Membership

O.2'4

0 -

o

°

22

Attribute S: Max. Length (inches)

i

1

1.5

I 2

I

2.5

I

i

3.5

3 ' " Continuous coding scale

I' 4

Fig. 2. An example of the fuzzycodingnumbersand boundaries.

'

4.5

I l;

642

D. Ben-Arieh et a l . / European Journal of Operational Research 92 (1996) 637-648

Table I Estimation of the atlribute "maximal length" Observation " V e r y No. Short"

"Short . . . . Medium . . . . Long . . . . Very Long"

1 2 3 4 5 6 7 8 9 10

1.5-5 2-5 1-7 2-4 2-7 3-6 2-7 1.5-3 2-5.5 1-3

0.5-1.5 0.5-2 0.5-1 0.5-2 0.5-2 0.5-3 0.5-2 0.5-1.5 0.5- 2 0.5-1

5-9 5-8 7-12 4-10 7-13 6-12 7-13 3-8 5.5-11 3-8

5-17 8-12 12-20 10-17 13-18 12-19 13-18 8-16 11 - 16 8-16

ized ones. The algorithm follows these steps: Step 1. Standardization For all the i discrete values of attribute a, normalize the membership values using:

17-22 12-22 20-22 17-22 18-22 19-22 18-22 16-22 16-22 16-22

p.(a,)

~(ai)

= --,.

P'i

where Ix~. max{l~i(a)} is the maximal non-normalized membership value of the attribute in the fuzzy subset A. ~'i is called standardized membership value of ag in ,4. The maximal standardized membership value is 1. Step 2. Adjustments due to the standardization Each value i of the attribute can belong to several fuzzy subsets. For example, 2" belongs to the " v e r y short" and " s h o r t " fuzzy sets. The membership values of a i in the various fuzzy subsets k are denoted ~k(ai). Let =

tribute "Maximal Length" for the given parts population. The table shows that the population of parts contains parts as short as 0.5" and as long as 22". The experts evaluated the interval of attribute values that are described by the linguistic variables. One such sample is that " v e r y short" describes the range 0.5"-3", " s h o r t " 3"-6", " m e d i u m " 6"-12% etc. The count of how many experts considered 2.5" as "short", 2.6" as "short", etc., resulted in Fig. 3. However, Fig. 3 represents membership values that are not normalized.

{a, iv:j(a,)= ]].

4. Normalization algorithm

Mj denotes the attribute values that have the highest membership value, which is 1, in the fuzzy subset j. In this case, according to the concept of competing fuzzy subsets, a i should have a membership value of 0 in all the other subsets:

The algorithm presented in this section converts the non-normalized membership values into normal-

~,(a~)=O Vk~j.

1,0

--

0.8-

I !

°

"4

:

I

>

-" I

O.6-

I I

:



-'1 °°%°.

I

_r, •

rl

0.4-

J-i

E

:'"" L

,-

;.

l.a

I It,

".

0

0.2I 0.0-

:

I

,:

O.S

2.5

t , ; 4.5

' , i-*, 6.5

"1 I

8.5 Max.

,__1:... ,

I

,

,

". ,

,

10.5 12.S 14.5 18.5 18.5 length (Inches)

Fig. 3. Un-normalized membership values for "maximal length".

, I

., 22

D. Ben-Arieh et a l . / European Journal o f Operational Research 92 (1996) 637-648

643

Table 2 Illustration of the normalization algorithm After Step 1

Non-normalized

ai

t~l(a i)

2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4

0.88 0.71 0.62 0.49 0.38 0.26 0.14 0.05 0

IL2(ai)

0 0.1 0.24 0.41 0.62 0.71 0.71 0.71 0.53 0.39 0.27 0.12 0.05 0

[LL3(a i )

0 0.04 0.11 0.15 0.18 0.25 0.37 0.42 0.54 0.69 0.69

After Slgp 2

p~2(ai)

I.l,'l(ai)

1.0 0.81 0.70 0.56 0.43 0.30 0.16 0.06 0

0 0.14 0.34 0.58 0.87 1.0 1.0 1.0 0.75 0.55 0.38 0.17 0.07 0

p,'a(ai) ~l(a i)

0 0.06 0.16 0.22 0.26 0.36 0.54 0.61 0.78 1.0 1.0

After Step 3

0 0.14 0.34 0.58 0.87 1.0 1.0 1.0 0.75 0.55 0.38 0.17 0 0

Step 3. Due to this adjustment, the other elements in the fuzzy subsets have to be adjusted too. Therefore, for each fuzzy subset k, find the maximal membership value ~k that was changed to be 0.

1o0

s

:

| ,.,



0 0.07 0.27 0.51 0.80 0.93 0.93 0.93 0.68 0.48 0.31 0.10 0 0

0 0 0 0 0 0.10 0.28 0.33 0.52 0.74 0.74

''"

I !

:

i "" %

;

I I

~ + • I

:

7

-- --

0.5

2.5

;! 4.S

,

.

6.5

8.5

t I

t l t

t

+_

-,

: : :.

l.,s

zz t



t,, 10.5

! I

|

,

,I

12.5 14.5

16.5

18.5

Max. length (Inches) --very

short - - s h o r t

0 0.11 0.40 0.65 0.85 1.0 1.0 1.0 0.87 0.63 0.48 0.16 0 0

if IX'k> Ixk..

".,

~l I

,

Ix'~(a i) I,l,'~(a i)

i~k( ai ) _ ilk.

I " ! %.

t

1.0 1.0 0.89 0.60 0.35 0.15 0 0 0

if i£k < t~k ,

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

o.o

I-g'~(ai)

0

r'l ............

.

.'"

...

p-n3(a i)

=

.." •

I t O.S

0 0.06 0 0 0 0.36 0.54 0.61 0.78 1.0 1.0

-"~ . . . . . . . . . . . . .

I

p~"2(ai)

0.84 0.65 0.54 0.40 0.27 0.14 0 0 0

0 0 0 0 0 0.13 0.37 0.52 0.84 1.0 1.0

Subtract this value from all elements of this subset in the following way:

"~ . . . . . . . . . . . . . . . . . . . . . . .

Q,

p,'3(a~) l~'l(ai)

Iz'2(ai)

1.0 0.81 0.70 0.56 0.43 0.30 0 0 0

After Step 4

""medlum

-'long

--very

long

Fig. 4. The normalized fuzzy coding scales for "maximal length".

, 22

644

D. Ben-Arieh et a L / European Journal of Operational Research 92 (1996) 637-648

Step 4.

Final normalization Similar to Step 1:

which is denoted as C(PI IS) has a mode and a left and a right function. The mode, left and right hand side functions of "(i help to define those for the fuzzy code in the following way:

IZ'(a3 Ix"(ai)

= max{l~"(ai)} "

Example. Let attribute a have values in the range [2.0,3.4]. Discretize a in increments of 0.1. Three non-normal fuzzy membership values of a are given in Table 2 (e.g., to the subsets "short", " m e d i u m " and " l o n g " ) . Step 1 (Standardization): Ix~=0.88;

Ix2=0.71;

ix~=0.69.

C~s)=l{i+(i+ +

1)}

1 { ul--mode(lffi,i+l) } a-/+1 i f - --- ~m°de( - Bi,i+ l ) ,

whereBi,i+l defines the fuzzy boundary between P~i

and

Ai+ 1"

Now the lower and upper bounds of the fuzzy code denoted CLts) and C~ts) are found using the relations:

The values ~(a i) after Step 1 and after Step 2 (Adjustments) are also represented in Table 2. Step 3:

N~ = u~ - (a~ - aim ),

i~1, = max{0.16,0.06} = 0.16,

NvU~ = U l + ( a ~ l - - a L + l ) .

ix2, = 0.07,

txa, = max{0.16,0.22,0.26} = 0.26. Subtract 0.16, 0.07 and 0.26 from ~ ( a l ) , i.t'(a 2) and ~(a3), respectively, The membership values obtained after this stage and those after Step 4 (Final normalization) are again shown in Table 2. The results of normalizing the data in Fig. 3 are presented in Fig. 4. The same data, after smoothing, are the ones presented in Fig. 2.

Where a~ denotes the upper value of the fuzzy coding number Ai. N~ and N~ are two intermediate variables that help define the bounds of the fuzzy code. Intuitively, these variables are used to reflect on the location of the attribute value relative to the mode point of the code. The botmdaries of the fuzzy code are defined as follows: C

5. Coding single valued attributes This section discusses the translation of a single valued attribute into a single fuzzy-number code. Input: Output:

Fuzzy coding scale and fuzzy coding numbers as presented in Fig. 2 or Fig. 4. A fuzzy number that describes the code of attribute u 1 for part PI"

The fuzzification of a single valued attribute consists of three cases:

Case

1. a~ < u I < a ~ 1 for i > 1 In this case, the attribute value u~ is between the mode of fuzzy coding number a i and that of a;+ ~, where P~0 is not included. In such a case, the value of attribute S in part P~ is u l, which has the membership values txA-(ul) in FCN P7i and IXA-÷~(U1) in P~i+l' The fuzzy code

P,(s)L

--

1{(i

--

1) + i}

1 [mode(Bi_l,_i).-N ~ } 2 [ mode(Bi_l,i) - a~-i

'

C P,CS) U = 1{(i + 1) + ( i + 2 ) } 1 { mode( B~.+l,i+ 2 ) - N ~

2 mode( i+ ,.,2) -

j

Case 2. a~a < u l < a T For this case, cLips) =

1 (or the lowest code value assigned). This is done in order to prevent a negative value for the fuzzy code. The rest of the values are calculated as shown in Case 1.

Case 3. u I = aiM In this case, the attribute value is exactly equal to the mode of the fuzzy coding number. In such a case, the f u z z y code is equal to the fuzzy coding number A;.

D. Ben-Arieh et al. / European Journal of Operational Research 92 (1996) 637-648

In this case, the fuzzy code is defined as:

E x a m p l e . Assume that the fuzzy coding scale of the attribute " m a x i m a l length" is given in Fig. 2. Parts P1 and P2 have the attribute values of 12 and 2 inches, respectively. The Fuzzy Boundary /~3,4 was determined before as (9.0, 12.9, 14.5) on the attribute scale, and (3, 3.5, 4) on the Continuous Coding scale. Part PI:

with

C~(s) = 3.5 + ½(12 - 1 2 . 9 ) / ( 1 4 . 5

mode(~(P I t))

12.9) = 3.22;

C( P ] I) = (C vL ,C;M ,C eU ), )

CpM = m o d e ( C ( P ] I ) and

N~= 12-(14.5-9)=6.5; N ~ = 12 + (14.5 - 9) = 17.5;

CLl(s) = 2.5 -- ½(6.8 -- 6 . 5 ) / ( 6 . 8 -- 5) = 2.41; cUe~(s)= 4.5 - ½(18 -- 1 7 . 5 ) / ( 1 8 -- 14.5) = 4.43.

645

l ( u ~ - aM 1) = (i + 1) +

mode(Bi+m,i+2) _ a M

Similarly, the values of the end points of the fuzzy code are calculated as follows: i+(i+

1)

mode(/~i, i + 1))

C L,u =

C~(s) = 1.57

(similarly);

Case 2. aM < gel ~ mode(/~j,j+ ,) and i E {L,M,U}.

N~= 2-- (5-

1.5) < 0 ;

The values of the fuzzy code are calculated as follows:

2

l(u~-

N ~ = 2 + (5 - 0.5) = 6.5;

C~(s ) = 2.5 - ½(6.8 - 6 . 5 ) / ( 6 . 8 - 5) = 2.41.

+

"~Upl[ L,U _

Therefore, u I of P1 is a fuzzy code quantified as (2.41,3.22, 4.43). Part P2:

M 1_ ai+

m o d e ( n i i,+

1)

a M)

Cip = J + mode( ~j,j+ l ) _ aM"

Hence, u 2 of P2 is coded as the fuzzy number

(1, 1.57, 2.41). 6. Coding interval value attributes This section discusses coding attributes that have an interval of values. Examples of such attributes are surface roughness and manufacturing tolerance. In the case of an interval valued attribute, the range values are denoted as [uL, Up,]. U In this range of values, the most desirable attribute value is denoted as u PMI ° This value signifies the most feasible, required or economical value inside the interval. Note that u M itself can be a smaller interval. Pl Coding the interval valued attributes requires mapping the attribute value intervals onto the fuzzy coding scale for that attribute. Given the attribute values for part P1 as ( u L , u MP,,u~,) there are two cases: C a s e 1.: mode(/~i,i+l) <- - uke, -< aM1, k ~ {L, M, U}.

Example. (6, 10,14). CL = 2 ~

Cpu = 3 . 5 +

Attribute

½(6 - 5) 6.8 - 5

I

has

the

interval

value

= 2.27,

½ ( 1 4 - 12.9) 14.5-12.9 =3"84'

C M = m o d e ( C ( P I I ) ) = 3.13 (based on the same type of calculation).

7. Coding fuzzy attributes This section discusses the methodology of creating fuzzy codes for attributes such as " s h a p e " . This attribute type is fuzzy to begin with due to the fact that a part can have a shape that is "close to cylindrical" or " a l m o s t cubical". In the case of a fuzzy attribute, the methodology

646

D. Ben-Arieh et aL / European Journal of Operational Research 92 (1996) 637-648

7.1. Overall shape _

I b~ I

I h~l CA) --

h~

The analysis of the overall shape is simpler than that of crisp attribute values. In this case, a fuzzy scale is created in order to represent the main possible shape elements. As an example, 0 = cubical, 1 = cylindrical, 2 = spherical and 3 = conical. Obviously, parts can have a fuzzy value for that attribute. The user of the system then assigns subjectively the fuzzy values according to his preferences.

(O h3

I

_

I b~ I

(B)

h~

_

hi

I lhzl

7.2. Secondary shape

Fig. 5. Secondary shape elements.

is demonstrated using two different types of attributes: 1. Attributes that remain fuzzy. This case is demonstrated using the attribute "overall shape". This attribute describes the general shape of the part as "cubical", "cylindrical", etc. 2. Attributes that can be converted into a numerical value. Such an attribute is the "secondary shape". This attribute describes whether the part is flat, cubical like or even elongated.

In this case, the analysis can be transformed into an analysis of a crisp attribute value. Initially, the secondary shape types are fuzzy, as shown in Fig. 5, with values of "cubical", "elongated" and " f l a t " . This attribute can be converted into a crisp attribute using the following approach: Secondary shape =

min{ width,length} depth

=

min{h 1,h2}

Once the attribute is converted into a crisp numerical attribute, the attribute is treated as a crisp one (such as "maximal length") following the steps discussed in Sections 3, 4 and 5.

Table 3 The fuzzy codes for the six example parts Part 1

Part 2

Part 3

Part 4

Part 5

Part 6

Drawing

Attribute values Maximal length Maximal width Primary shape Secondary shape Code values Maximal length Maximal width Primary shape Secondary shape

h3

7.5 8.0 (2,2,2) 2.5/8

6.0 5.5 (2,2,2) 6/4.5

5.0 3.0 (2,2,2) 5/3

7.0 5.0 (2,2,2) 7/1.55

5.0 1.0 (1,1,1) 5/1

10.0 4.0 (1,1.2,1.3) 10/4

(2, 2.5, 3) (2.9,3.4,3.9) (2,2,2) (0,0.4,0.9)

(1.7, 2.2, 2.7) (2.1,2.6,3.1) (2,2,2) (2.1,2.6,3.1)

(2, 2, 2) (1.3, 1.8,2.3) (2,2,2) (3,3,3)

(1.9, 2.4, 2.9) (1.9, 2.4,2.9) (2,2,2) (3.8,4.3,4.8)

(2, 2, 2) (0.6, 1.1,1.6) (1, 1, 1) (3.9,4.4,4.9)

(3, 3, 3) (2,2,2) (1, 1.2, 1.3) (3,3.5,4)

D. Ben-Arieh et aL / European Journal of Operational Research 92 (1996) 637-648

8. Experiment

very good grouping of the parts without using all the information available in the codes.

In order to demonstrate the feasibility and relevance of the fuzzy coding system, 55 experts evaluated a population of 48 parts. In this experiment, four attributes were considered: 1. Maximal length (crisp attribute). 2. Maximal width or diameter (crisp). 3. Primary shape type (fuzzy attribute). 4. Secondary shape (crisp attribute). The linguistic descriptors and fuzzy coding numbers used in this evaluation are as foUows: Maximal length

Maximal width

Primary shape Secondary shape

647

1: " v e r y short". ~: "short". 3: " m e d i u m " . 4: " l o n g " . 5: " v e r y long". 1: "very small". 2: "small". 3: " m e d i u m " . 4: "large". 5: '" very large". 1: Cubical 2: Cylindrical 1: " f l a t " . 2: "cubical". 3: "somewhat elongated". 4: "elongated". 5: " v e r y elongated".

The analysis of the parts based on these features produced the fuzzy coding scales presented in Figs. 2-4. Once the coding scales were generated, six parts were coded as shown in Table 3. This table describes the six parts graphically, and supplies the actual values of their attributes with their corresponding fuzzy code values, which are calculated as described in this paper. Grouping the parts based on the median code values results in the following part families z: {1}, {2,3,4}, {5,6}. Even the simple example presented above shows

9. Summary This paper presents a methodology for generating a fuzzy coding scheme for Group Technology purposes. The fuzzy codes represent the degree to which the parts' attributes agree with a set of expected values that represents the population of parts. The methodology presented consists of three steps. The first one is the preparatory step. In this step, the relevant attributes of the parts population are analyzed and linguistic descriptors for these attributes are selected. In the second step, the analysis step, fuzzy coding scales are developed. These scales represent the expected membership values of the parts' attribute values in the fuzzy subsets that correspond to the linguistic descriptors. In the third step, the coding step, the codes for each part's attributes are generated. Using this approach, the codes developed represent the actual population of parts of interest, and not a generic generalization of attributes. In addition, the codes represent the degree of agreement between the attributes' values and the expected values, instead of a crisp and callous assignment of code digits. The contribution of this paper is in expanding the current Group Technology methodology. The methodology presented enables to apply Group Technology to new applications (such as assembly) which are very difficult to code and classify. This methodology improves the existing Group Technology methods by using a more informative coding scheme which is relevant to many different collections of entities. Future research needs to improve the clustering methods utilizing the additional information available in the fuzzy codes. Such clustering methods will provide better grouping of parts based on true similarities of the features.

l The grouping is performed using the Average Linkage method (Opitz and Wiendhal, 1971).

648

D. Ben-Arieh et aL /European Journal of Operational Research 92 (1996) 637-648

Acknowledgements This research is partially supported by the Advanced Manufacturing Institute of Kansas under grant number 93108.

References Am, E.A. (1975), Group Technology, Springer-Verlag, New York. Bao, H.P. (1989), "Group technology classification and coding for electronic components: Development and applications", in: J.A. Edosomwan and A. Ballakur (eds.), Proc. Production and Quality Improvements in Electronics Assembly, McGrawHill, N.Y. Ben-Arieh, D., and Triantaphyllou, V. (1992), "Quantifying data for group technology with weighted fuzzy features", International Journal of Production Research 30/6, 1285-1299. Burbidge, J.L. (1975), "'Lot sizing in group technology production systems", International Journal of Production Research

22, p. 85. Chu, C.H., and Hayya, J.C. (1991), " A fuzzy clustering approach to manufacturing cell formation", International Journal of Production Research 29/7, 1475-1487. Gallagher, C.C., and Knight, W.A, (1986), Group Technology Production Methods in Manufacturing, Ellis Horwood, Chichester, England. Ham, I., Hitomi, K., and Yoshida, T. (1985), Group Technology, Kluwer-Nijhoff, Boston. Hathaway, H.D. (1920), "The mnemonic systems of classification as used in the Taylor system of management", Industrial Management 60, 173-183. Jung J.Y., and Ahluwalia, R.S. (1989), "FORCOD: A coding and

classification system for formed parts", Journal of Manufacturing Systems 10/3, 223-232. Li, J., and Ding, Z. (1988), "Fuzzy clustering and analysis and fuzzy pattern recognition methods for formation of part families", Proc. of l6th NAMRC, SME, 445-463. Mital, A., Kromodihardjo, S., and Channaveeraiah, C. (1988), "Increasing the sensitivity of parts classification systems", Fuzzy Sets and Systems 28, 1-13. Mosier C., and Taube L. (1985), "Weighted similarity measure heuristics for the group technology machine clustering problem", Omega, 13/6, 577-583. Mosier, C.T., and Janaro, R.E. (1990), "Towards a universal classification and coding system for assemblies", Journal of Operational Management 9/1, 44-64. Mia'ofunov, S.P. (1966), Scientific Principles of Group Technology, National Lending Library for Science and Technology, Boston Spa. Opitz, H., and Wiendhal, H.P. (1971), "Group technology and manufacturing systems for small and medium quantity production", International Journal of Production Research 9, 181203. Snead, C.S. (1989), Group Technology, Van Nostrand Reinhold, New York, NY. Stylinger T.P., and Meikanoff, M.A. (1985), "Group technology for electronic assembly", Proc. of Conference on FMS for Electronics, Cambridge, MA. Stylinger T.P., and Melkanoff, M.A. (1989), "Group technology for electronics", in: J.A. Edosomwan and A. Ballakur (eds.), Proc. of Production and Quality Improvements in Electronics Assembly, McGraw-HiU, New York. Xu, H., and Wang, H.P. (1989), "Part family formation for GT applications based on fuzzy mathematics", International Journal of Production Research 27, 1637-1651. Zhang C., and Wang H.-P. (1992), "Concurrent formation of part families and machine ceils based on the fuzzy set theory", Journal of Manufacturing Systems 11/ 1, 61-67.