He holds the Walter Clark Professorship in Industrial Engineering and Operations Research at the North Carolina State University NCSU , Raleigh, where he ...
Soft Computing for Multi-Customer Due-Date Bargaining+ Dingwei WANG, Shu-Cherng FANG and Henry L. W. NUTTLE
Abstract
The Due-Date Bargainer is a useful tool to support negotiation on due-dates between a manufacturer and its customers. To improve the computational performance of an earlier version of the Due-Date Bargainer, we present a new soft computing approach. It uses a genetic algorithm to nd the best priority sequence of customer orders for resource allocation and fuzzy logic operations to allocate the resources and determine the order completion times, following the priority sequence of orders. To extend the Due-Date Bargainer to accomodate bargaining with several customers at the same time, we propose a method to distribute the total penalty using marginal penalties for the individual bargainers. A demonstration software package implementing the improved Due Date Bargainer has been developed. It is oriented at apparel manufacturing enterprises. Experiments using realistic resource data and randomly generated orders have achieved satisfactory results.
Manuscript received at D. Wang is with the Department of Systems Engineering, College of Information Science and Engineering, Northeastern University, Shenyang, 110006, P. R. of China. He was a visiting professor with North Carolina State University while this research was being conducted. S.-C. Fang and H.L.W. Nuttle are with the Department of Industrial Engineering and Operations Research, North Carolina State University, Raleigh, NC 27695, U.S.A. + This research was supported, in part, by the National Textile Center of the United States of America (Grant Number: I95S-02), the National Natural Science Foundation (No. 69684005) and National High-Tech Program (No. 863-511-9609-003) of the People's Republic of China.
Dingwei Wang is currently Professor in the Department of Systems Engineering, the Col-
lege of Information Science and Engineering of Northeastern University in Shenyang, People's Republic of China. He received his Ph.D. degree in control theory and application from the Northeastern University, China. Dr. Wang has been a post-doctoral follow at the North Carolina State University in USA. He is a member of the New York Academy of Sciences and a member of Automatic Association of China. He serves as on the editorial boards of Chinese Journal of Control and Decision. He has authored two books and has had more than 80 papers published in the international and domestic journals, including IEEE Transactions on SMC, International Journal of Production Research, Fuzzy Sets and Systems, etc. His current research interests include MRP-II, JIT manufacturing systems, production planning and scheduling, fuzzy optimization and genetic algorithms.
Shu-Cherng Fang received his Ph.D. degree in Industrial Engineering and Management
Science from the Northwestern University, Evanston, IL., in 1979. He holds the Walter Clark Professorship in Industrial Engineering and Operations Research at the North Carolina State University (NCSU), Raleigh, where he also directs the Fuzzy and Neural Group. Before joining NCSU, he was Supervisor at AT&T Bell Laboratories and Department Manager at AT&T Technologies. He has more than 100 publications including the books of Linear Optimization and Extensions: Theory and Algorithms (Prentice Hall, 1993) and Entropy Optimization and Mathematical Programming (Kluwer Academic Publications, 1997). He serves on the editorial boards of Optimization, the International Journal of Operations and Quantitative Management, and the Journal of Chinese Institute of Industrial Engineers.
i
Henry L.W. Nuttle received the Ph.D. in Operations Research from The Johns Hopkins
University, Baltimore, MD. He is Professor of Industrial Engineering and Operations Rsearch at North Carolina State University, Raleigh, NC. His current research is in applied operations research and fuzzy reasoning for planning, scheduling, and control of manufacturing systems. His papers have appeared in Management Science, IIE Transactions, Transportation Science, International Journal for Production Research, Journal of the Textile Research Institute, International Journal of Clothing and Science Technology, International Journal of Operations and Quantitative Management, and International Transactions of Operational Research.
ii
1 Introduction How to negotiate order due-dates which are acceptable to both a manufacturer and its customers is an important issue in the make-to-order manufacturing systems [4], since sales normally depend on both the cost and delivery date. Traditionally, a customer negotiates a required due-date with a salesperson who relies on the sales management module of a Manufacturing Resource Planning (MRP-II) system [23]. However, since the sales management module is not normally linked with the production planning module of the MRP-II system, the salesperson is not able to get detailed information relative to the availability of various manufacturing resources. Therefore, in practice, a customer tends to ask for the earliest possible due-date, and, to get the order, a salesperson tends to promise the customer a due-date without adequate consideration of the availability of production capacity. This often results in tardy deliveries, unhappy customers, and low utilization of manufacturing facilities. Since Supply Chain Management (SCM) rst attracted the attention of researchers and managers [20, 19], a number of commercial software packages have been developed and implemented in actual manufacturing enterprises. Although some packages include functions, such as ATP (Available-To-Promise) and CTP (Capacity-To-Promise), to support the manufacturer's order acceptance/rejection decision [18], how to support the negotiation between manufacturers and their customers has not been properly addressed. To support such negotiation, we earlier proposed the \due date bargaining" method and incorporated it into a computer software package called \Fuzzy Due Date Bargainer" (FDDB) [22]. The due date bargaining procedure in FDDB can be brie y described as follows: Step 1: Input current (incoming) customer orders. Step 2: Create a Master Production Schedule (MPS) based on the order quantities and duedates requested by the customers taking into account the manufacturer's time-phased resource availability. Return the resulting planned completion times of orders as the \manufacturer's preferred due dates". Step 3: If the manufacturer's due-dates are not consistent with customers' due-dates (which will often be the case), calculate \fuzzy due-dates", balancing the customers' desires with overtime levels acceptable to the manufacturer. Step 4: If any customer is not satis ed with the resulting fuzzy due-date, the customer can bargain for an earlier due-date. However, tardiness penalties resulting from the necessitated 1
delay of other orders will be charged to the bargainer. Earlier due-date requests usually result in higher penalty costs. The bargaining can be repeated, one customer at a time, until all customers have satisfactory due-dates and acceptable additional costs. While this approach [22] shows a means to support due-date negotiation between a manufacturer and its customers, there are some shortcomings in the original work.
FDDB uses a fuzzy branch and bound algorithm to solve the resource allocation problem
in creating the MPS. However, because of the complexity of branch and bound, FDDB can only solve problems with fewer than ten orders on a PC. Clearly, this limits the potential of FDDB.
FDDB allows only one customer to bargain at a time. However, in practice we would expect that it is common for several customers to bargain at the same time.
Resolution of the above two problems is key to making the Due Date Bargainer a practically applicable tool. Since Zadeh and Bellman rst introduced the concepts of fuzzy sets and fuzzy decision making [24, 3], a number of soft computing methods have been developed [25, 12]. These methods, including fuzzy logic, arti cial neural networks, genetic algorithms, tabu search and simulated annealing, have been widely used in both research and practical applications [26, 12, 10, 9, 8, 13]. In view the fact that genetic algorithms are good for adaptive search and fuzzy logic can be used to solve complex problems by rule-based techniques, we develop a new approach for the Due Date Bargainer, combining genetic algorithms with fuzzy logic operations. To overcome the problem of resource competition of orders, the new approach uses a genetic algorithm to nd the best priority sequence for resource allocation. Fuzzy logic operations are embedded into the genetic algorithm to allocate the resources and determine order completion times following the priority sequence of orders. To extend FDDB to permit several customers to bargain at same time, we must address the problem of how to allocate the total delay penalty among the bargainers. We propose a distribution method which uses the marginal penalties of the individual bargainers. A new prototype software package for the Due Date Bargainer implementing the above new methods had been developed. It is called MCDDB (Multi-Customer Due Date Bargainer) and is oriented to the apparel manufacturing enterprises. Experimentation with realistic resource data and randomly generated orders has achieved satisfactory results. 2
The remainder of this paper is organized as follows. Formal descriptions of the problem and models are given in Section 2. Then, the three phases of the Due-Date Bargainer and algorithmic details are presented in Section 3. Finally, computational results and comments are included in Section 4.
2 The Problem and Models The due-date assignment and bargaining problem can be described as follows. Assume that a make-to-order manufacturing company has n customer orders. For each order i; i = 1; 2; :::; n; the order value, e.g., revenue, is wi, and the customer's desired due-date is di. There are m manufacturing resources in the system. A horizon of T periods is used for planning. Resource levels (without overtime) are well de ned and independent of load. For each resource j; j = 1; 2; :::; m; the available resource level in time period t; t = 1; 2; ; T; is rj (t). Assume that the lead time for each manufacturing process is xed and known, independent of the load on the manufacturing system. Thus, given a completion time ci for order i, the requirement of resource j for order i in time period t, denoted as qij (t; ci), can be calculated in a straight forward fashion from the Bill of Materials (BOM) and the production standards. An example of qij (t; ci) for a xed ci is shown in Figure 1. We de ne Qj (t; c) as the total requirement for resource j in time period t when the completion time vector is c, i.e., n X Qj (t; c) = qij (t; ci); (1) i=1
where c = [c1; c2; ; cn]T . The objective of the manufacturer is to schedule the order completion times as close to the customer due-dates as possible, subject to the resource constraints. This can be modeled as a classical earliness/tardiness due-date assignment problem as follows [1, 7, 21]:
(CP):
min F (d0) = d 0
s:t: Qj (t; d0)
n X
wi j d0i , di j
i=1 zj (t);
j = 1; 2; :::; m; t = 1; 2; :::T; d0i 0; i = 1; 2; :::; n:
(2) (3) (4)
where d0 = [d01; d02; ; d0n]T is the manufacturers preferred due-date vector, zj (t) is the available level of resource j in period t, and T is the length of the planning horizon. T is initially speci ed 3
as
T = maxfdmax; minfK j
where
K X t=1
Qj (t; d) <
K X t=1
zj (t); 8j gg;
(5)
dmax = maxfd1; d2; ; dng;
and ; 0 < < 1, is a preset relaxation coecient for resource utilization, which is usually chosen to be between 0.8 and 0.9. In general, customer due-dates have some tolerance and resource constraints can be relaxed by including overtime [15]. Thus, both di and rj (t) could be fuzzy valued. Let r~j (t) and d~i
be fuzzy sets (numbers) representing the availability of resource j at in time period t and the due-date for order i, respectively. Assume that the maximum possible overtime of resource j in time period t is vj (t). Although other descriptions are possible [14], in general, we adopt the linear trapezoidal fuzzy number for r~j (t). Thus, the membership function of x belonging to r~j (t) is de ned by 8 > if 0 x zj (t) < 1; r~j (t)(x) = > 1 , [x , zj (t)]=vj (t); if zj (t) < x zj (t) + vj (t); (6) : 0; if z (t) + v (t) < x: j
j
The graph of r~j (t)(x) is shown in Figure 2. We de ne the membership function of d~i; i = 1; 2; :::; n; using the manufacturer's preferred due-dates. If d is an optimal solution of (CP), the membership function of d~i is de ned as follows: Case 1: For di di , ( d~i (x) = 10;, [x , di ]=[di , di]; ifif dxi ; d : (7) i i Case 2: For di < di , ( d~i (x) = [0x; , di ]=[di , di ]; ifif dxi d : (8) i i 0
0
0
0
0
0
0
0
0
0
The graph of d~i (x) is shown in Figure 3. With these membership functions for d~i and r~j (t), a fuzzy due-date assignment problem which seeks the maximum satisfaction level of both customer due-dates and the manufacturing resource requirements can be de ned as follows:
(FP):
max d
(9) 4
s:t: d~i (di ) ; i = 1; 2; :::; n; r~j (t)[Qj (t; d)] ; j = 1; 2; :::; m; t = 1; 2; :::T;
di 0; i = 1; 2; :::; n: 0 1:
(10) (11) (12) (13)
The optimal solution, d, speci es \agreeable" due-dates which satisfy both the customer and manufacturer to a maximum degree of . Let S = fs1 ; s2; ; sr g be the index set of bargaining customers. If upon being presented with d , customer sk , sk 2 S , is not satis ed and requests an alternative due-date bsk , the manufacturer may be able to meet this due-date bsk only by shifting the due-dates of other customers. The following fuzzy optimization problem provides a due-date bargaining model:
(BP):
min P (b) = b
s:t: r~j (t) [Qj (t; b)]
n X
wi maxf0; bi , di g
i=1;i62S ; j = 1; 2; :::; m;
t = 1; 2; :::T;
bi 0; 8i 62 S bsk = bsk ; k = 1; 2; ; r;
(14) (15) (16) (17)
where b = [b1; b2; ; bn]T with bi being the reassigned due-date for order i after bargaining and wi is the unit penalty cost for completing order i after di . For example, = 0:05 might indicate a penalty of 5% of the revenue of the order per period beyond di . Let b be an optimal solution of BP and P (b) the associated optimal value of P (b). If more than one customer wishes to bargain, we need a method for distributing the above penalty P (b) among the set of bargainers. Referring to the concept of marginal price in economics [2, 5], we propose a simple method to calculate the marginal penalty for each bargainer. For each bargainer sk 2 S , solve
(BP1):
min P (b) = b
s:t: erj (t) [Qj (t; b)]
n X
wi maxf0; bi , di g
i=1;i6=sk ; j = 1; 2; :::; m;
bi 0; 8i 6= sk bsk = bsk ;
t = 1; 2; :::T;
(18) (19) (20) (21)
Let P (sk ) be the optimal value of P (b) in (BP1) for sk 2 S . Then, the penalty to be assessed 5
to bargainer sk is
Psk = P (b ) PrP (sPk ()s ) i=1
i
(22)
3 Bargaining Procedure and Algorithms 3.1 Due-Date Bargaining Procedure
The due-date bargaining procedure includes three phases: (Phase 1.) Given customer order due-dates, calculate the vector of manufacturer's preferred due-dates, d0, by solving model (CP) which seeks to minimize the total weighted earliness and tardiness penalties for all orders, subject to resource constraints. (Phase 2.) Using d0 obtained from Phase 1, construct the fuzzy membership functions of dei and rej (t), which describe the fuzzy customer due-dates and fuzzy resource availabilities. Then, solve the optimization problem (FP). The solution is a vector of agreeable due-dates, d , and the associated maximin level of satisfaction (for both customers and manufacturer), . (Phase 3.) The agreeable due-dates obtained above are used in models (BP) and (BP1) to negotiate with dissatis ed customers. Fixing the prespeci ed due-dates of the bargaining customers at the dates they specify, solve model (BP) to minimize the total weighted tardiness for the remaining customers subject to the level of resource availability being at least . The resulting objective function value is the additional cost the bargaining customers should pay collectively for receiving their speci ed due-dates. Solve model (BP1) for each bargaining customer and calculate the penalty allocation for them using formula (22). Since problems (CP), (FP) and (BP) have time dependent constraints, when the time horizon, T , is long, the problem size can easily require excessive computation time for a regular 0-1 integer programming code. Therefore, for computational eciency, an approach which combines genetic algorithms and fuzzy logic operations is developed. Details of the three phases of the procedure follow.
3.2 Solution Procedure for Model CP The key point of (CP) is to resolve the resource con icts which arrise when two or more customer orders require the same kind of resource in the same time period. The basic idea of the 6
proposed procedure is to nd the best priority sequence for allocating resources to orders using a genetic algorithm and schedule the order completion times using a fuzzy-logic-based algorithm. For the genetic algorithm, we take the natural number string f1; 2; 3; ; ng as the gene representation, and use order crossover (OX) and permutation mutation as genetic operators. For example, the chromosome represented by the natural number string [3; 8; 2; 7; 4; 6; 1; 5] indicates that order 3 has the rst priority for recourse allocation, while order 8 has second priority, ; and so on. Finally, order 5 can use only the recourses which remain after all other orders have been scheduled. We now discuss how to schedule orders when the priority sequence for resource allocation is given.
3.2.1 Fuzzy Logic Operations for Problem CP Once the priority sequence of orders is known, the remaining problem is how to assign their completion times, or manufacturer's preferred due-dates, based on the priority sequence and subject to the availability of resources. Assume the known priority sequence is X = [x1; x2; ; xn]. Evidently, the higher priority orders most likely can be scheduled to complete at their due-dates, while, because of the limited resource availability, the lower priority orders have to be scheduled to complete later or earlier than their due-dates. After orders x1; x2; ; xk,1 have been scheduled, for the k-th ranked order i, i.e., xk = i, there are six possible decisions as follows: Decision 1: Schedule it to complete exactly at its customer due-date di ; Decision 2: Schedule it to complete earlier than but as close as possible to di; Decision 3: Schedule it to complete later than but as close as possible to di; Decision 4: Schedule it to complete earlier than di, delaying some other previously scheduled orders; Decision 5: Schedule it to complete later than di , advancing some other previously scheduled orders; Decision 6: If the resources in [0; T ] are insucient, extend the length of the planning horizon, T. 7
The choice is based on the following six factors: Factor 1: The resource availability at (just prior to) the customer due-date of order i, di; Factor 2: The resource availability earlier than di ; Factor 3: The resource availability later than di ; Factor 4: The relative availability of resourses earlier than di to that later than di ; Factor 5: The magnitude of the ratio of estimates of the minimum possible earliness and minimum possible tardiness of order i; Factor 6: The relative weight of order i to the total weight of all previously scheduled orders. Although the above six factors can be evaluated exactly with heavy computation, for the purpose of choosing among decisions 1-6, we can approximate the factors with fuzzy numbers. Let the total requirement of order i for resource j be di X Qij = qij (t; di); (23) t=di ,K
where K is the length of the production cycle of order i. Let the total net available amount of resource j at di be di X Aj (di ) = zj0 (t): t=di ,K
(24)
where zj0 (t) is the availability of resource j remaining in period t after orders x1 ; x2; ; xk,1 have been scheduled. The availability of resource j for order i at di is represented as the fuzzy number Fe1j with membership function Fe1j (x), 8 > if x > 1 + 0; < 1; Fe1j (x) = > (x , 1)= 0 if 1 x 1 + 0; (25) : 0; if x < 1;
where x = Aj (di)=Qij and 0 is a relaxation coecient (usually 0 is set at a value in the range 0.2 - 0.5). The membership function Fe1j (x) is shown in Figure 4(a). For a speci c order i and each resource j we can calculate Qij and Aj (di) and, using (25), determine the associated degree of membership Fe1j . Then, Factor 1 can be represented as a fuzzy number Fe1 with membership degree Fe1 ,
Fe1 = minfFe11 ; Fe12 ; ; Fe1m g 8
(26)
Replacing Aj (di) by Aj (Ei ) or Aj (Li ) where
Aj (Ei) =
dX i ,1 t=1
zj0 (t) and Aj (Li) =
T X t=di ,K +1
zj0 (t);
(27)
i.e., the available amounts of resource j earlier or later, respectively, than due-date di , we can similarly represent Factors 2 and 3 by fuzzy numbers Fe2 and Fe3 . Factor 4 is the ratio of Factor 2 to Factor 3. It is a fuzzy number Fe4 with membership function Fe4 (x) 8 > if x > 1 + 1 ; < 1; Fe4 (x) = > (x , 1 + 1)=2 1; if 1 , 1 x 1 + 1; (28) : 0; if x < 1 , 1 ; where x = Fe2 =Fe3 and 1 is a relaxation coecient (usually 1 is set to a value in the range 0.2 - 0.4). Let te and tl be lower bounds on the possible earliness and tardiness, respectively, for order i. Then
te = minfte (1); te(2); ; te (m)g tl = maxftl (1); tl(2); ; tl (m)g
(29)
te (j ) = maxft j zj0 (t) > 0; t = 1; 2; ; di , 1; g t X tl (j ) = minft j zj0 (k) Qij g
(31)
(30)
where
k=di ,K +1
Factor 5 is represented by the fuzzy number Fe5 with the membership function Fe5 (x), 8 > if x > 1 + 1 ; < 1; Fe5 (x) = > (x , 1 + 1)=2 1; if 1 , 1 x 1 + 1; : 0; if x < 1 , 1 ;
(32)
(33)
where x = te =tl . Finally, the Factor 6 is represented as a fuzzy number Fe6 with the membership function Fe6 (x), 8 > if x > 1 + 1 ; < 1; Fe6 (x) = > (x , 1 + 1)=2 1; if 1 , 1 x 1 + 1; (34) : 0; if x < 1 , 1 ; P ,1 w . where x = wi = kj =1 xj 9
The membership function of the type used for Factors 4-6 is shown in Figure 4(b). Once the above six factors are evaluated by fuzzy numbers, we can make decisions based on them. The traditional rule-based decision method is widely used for the problems with only a few fuzzy factors [11]. However, for this problem, we have introduced six fuzzy factors. Even if each fuzzy factor assumes only three fuzzy values, e.g., small, medium, and large, the total number of possible combinations will be 36 = 729. Thus, a traditional rule-based decision approach will be inecient. Consequently, we propose the following fuzzy-logic-based decision method. Let Dek be the membership degree of fuzzy decision De k ; k = 1; 2; ; 6. Considering the eect of the above factors on these decisions, we have:
De1 = Fe1 ; De2 = cFe1 Fe2 cFe5 ; De3 = cFe1 Fe3 Fe5 ; De4 = cFe1 cFe2 cFe4 cFe5 Fe6 ; De5 = cFe1 cFe3 Fe4 Fe5 Fe6 ; De6 = cFe1 cFe2 cFe3 ;
(35) (36) (37) (38) (39) (40)
where, c = 1 , , and \ " denotes Hamacher's product, i.e.,
1 2 = + (1 , )(1+2 , ) 1 2 1 2
(41)
where, is a selected parameter for fuzzy product. Dierent fuzzy products can be obtained by selecting dierent values for [26]. Given De1 ; ; De6 , decision k is selected if
k = arg maxfDe1 ; De2 ; De3 ; De4 ; De5 ; De6 g
(42)
The above fuzzy logic operations may be interpreted as follows. (35) means that the choice of decision 1 is based only on the resource availability at order i0 s due-date, di . (36) means that the decision 2 is chosen if there are not enough resources at di , but resources are available earlier than di, and the the minimum earliness estimate is less than the minimum tardiness estimete for order i. (38) means that decision 4 is chosen if there are not enough resources at di , nor earlier than di , resource availability later than di is greater than that earlier than di, the the minimum earliness estimate is less than the minimum tardiness estimate for order i, and the 10
weight of order i is greater than the sum of the weights of all previously scheduled orders. (37) and (39) are similar to (36) and (38), respectively. The meaning of (40) is clear, i.e., decision 6 is selected when there are not enough resources available to schedule order i within the the horizon [0; T ]. Given a priority sequence of orders for resource allocation, the step by step procedure to schedule the orders based on the fuzzy logic operations is as follows:
Algorithm CP-FL:
Step 1: Given priority sequence X (j ) = [x1; x2; ; xn], for each order xi ; i = 1; 2; ; n; do Steps 2 through 7. Step 2: Calculate the degree of membership of fuzzy factors, Fek ; k = 1; 2; ; 6: Step 3: Calculate the degree of membership of fuzzy decisions, Dek ; k = 1; 2; ; 6: Step 4: Select decision k according to formula (42). Step 5: Using decision k schedule order xi to complete at d0xi , subject the resource availability. Step 6: If the decision k cannot be successfully executed, display an error message and stop. Otherwise, go to Step 7 Step 7: If all orders have been scheduled, go to Step 8. Otherwise, go to Step 2 for the next order. Step 8: Evaluate the total earliness/tardiness penalty n X F (j ) = wi j d0i , di j : i=1
(43)
Step 9: Return the values of F (j ) and d0(j ) = [d01; d02; ; d0n] to the main routine of the genetic algorithm. While the recommended method is intrinsically a rule-based method, it uses the fuzzy logic operations in (35)-(42) to determine the best decision instead of creating and activating a large number of rules as is done in traditional rule-based methods.
3.2.2 Genetic Algorithm for Problem CP In designing a genetic algorithm, it is necessary to specify a suitable representation for genes, a tness function, a selection strategy, some genetic operators, and a stopping rule [9, 17]. 11
For our genetic algorithm, the natural number string specifying the priority sequence of the n orders is taken as the gene representation. The tness function is de ned by linearly scaling [6] the total earliness/tardiness penelty of (43), i.e.,
f (j ) = Fmax , F (j ) + a; j = 1; 2; ; NP;
(44)
where NP is the population size, Fmax = maxfF (j ); j = 1; 2; ; NP g is the maximum of the objective values achieved in the population, and a is a small positive number. The general order crossover (OX) and permutation mutation are taken as the genetic operators. The commonly used \roulette wheel" with proportional selection is adopted as the selection strategy. Computations are stopped once a speci ed maximum number of generations has been examined [17, 6]. The step by step procedure to determine a best priority sequence of orders is as follows:
Algorithm CP-GA:
Step 1. Specify the parameters: population size NP , the maximum number of generations NG, crossover probability pc and mutation probability Pm . Here, we assume pc + pm < 1. Step 2. Randomly generate an initial population with NP chromosomes,
X (j ) = [x1(j ); x2(j ); ; xn(j )]; xi(j ) 6= xk (j ); 8i; k; j = 1; 2; ; NP; where xi (j ) is a natural number not greater than n. Set the generation index k = 0, initial optimal solution d0 = d and the optimal objective function value F = BP , where BP is a big positive number. Step 3. Let k = k + 1. If k > NG go to Step 8. Otherwise, do Steps 4 through 7. Step 4. Call algorithm CP-FL to calculate the manufacturer's preferred due-date vector d0 and the objective function value F (j ) for j = 1; 2; ; NP: Find Fmax = maxfF (j ); j = 1; 2; ; NP g and Fmin = minfF (j ); j = 1; 2; ; NP g. j = argfF (j ) = Fmin g and d(j ) is the index of a chromosome achieving Fmin and the associated manufacturer's due-date vector. Step 5. If Fmin < F , let F = Fmin and d0 = d(j ). Step 6. For j = 1; 2; ; NP , calculate the tness function for X (j ) by formula (44). For j = 1; ; NP , calculate the selection probability p(j ) = f (j )= PNP k=1 f (j ). 12
Step 7. To generate the new population, use the selection probabilities p(j ); j = 1; ; NP , to select NPc = pc NP chromosomes for OX crossover, NPm = pm NP chromosomes for permutation mutation and NP , NPc , NPm chromosomes to pass on to the new population unaltered. Go to Step 3. Step 8. Output F and d0 as the optimal solution.
3.3 Linear Search for Problem FP After an optimal solution d0 for problem CP is found, the membership function of each fuzzy due-date dei can be easily determined. For a given 2 [0; 1], we can determine each due-date di; i = 1; 2; ; n, with membership degree equal to or greater than using (7) and (8), ie.,
di = bdi + (1 , )(d0i , di )c; if d0i di; di = ddi , (1 , )(di , d0i )e; if d0i < di ;
(45) (46)
where dxe and bxc stand for the minimum integer equal to or larger than x and the maximum integer equal to or less than x, respectively. Similarly, for a given , the available resource level with overtime is easily determined using (2), i.e., rj (t) = zj (t) + (1 , )vj (t); 8j; (47) Thus, problem FP can be converted into a problem involving linear search over the single variable . There exist several methods for linear search such as Fibonacci, golden section, and interval bisection [16]. Here we use the interval bisection method. The basic idea of interval bisection is as follows. For a given , in order to determine the due-date vector d and the resource availablity levels, we check the resource availability against the resource requirements. If the resources are sucient, should be larger. Otherwise, should be smaller. The step by step procedure for the interval bisection method for (FP) is:
Algorithm FP:
Step 1: Set the lower and upper bounds on the interval to search as A = 0 and B = 1, respectively. Specify an acceptable tolerance . 13
Step 2: Check whether j A , B j< ?. If yes, output A as and stop. Otherwise, do Steps 3 through 5. Step 3: Let = (A + B )=2 and determine the due-date d and all resource availablity levels from (45), (46) and (47). Step 4: Check whether Qj (t; d) zj (t) + (1 , )vj (t) 8j and t. If yes, set A set B .
. Otherwise,
Step 5: Go to Step 2. >From the optimal , the optimal due-date vector d can be easily determined using (45) and (46).
3.4 Computational Method for Due-Date Bargaining The optimal solution d provided by Algorithm FP is the manufacturer's preferred due-date vector, which typically will be dierent from the vector of due-dates desired by customers, i.e. d 6= d. Some customers may insist on their originally speci ed due-dates, or at least on duedates which are dierent from those in d, and begin a bargaining process with the manufacturer. The Due-Date Bargainer is designed to support the bargaining process. The basic idea is to let the bargaining customers specify and receive their desired due-dates, but in order to do so they must pay a penalty cost for any resulting unwanted delay of other customer order due-dates. Assume that there are r customers who wish to bargain and de ne the bargainer index set to be S = [s1; s2; ; sr ]: Denote their requested due-dates as bsi ; i = 1; 2; ; r: We need only x the available level of resource j; j = 1; 2; ; m, at zj (t)+(1 , )vj (t) minus the bargainers' requirements for resource j . Then, models BP and BP1 can be solved by Algorithms CP-GA and CP-FL with n , r and n , 1 orders, respectively. The step by step procedure is:
Algorithm BP:
Step 1. For each bargaining customer si with requested due-date are bsi ; i = 1; 2; ; r, do Steps 2 through 6. Step 2. Set the resource levels to be
rj (t) = zj (t) + (1 , )vj (t) , qsi j (t; bsi ); 8t and j: 14
Step 3. Call Algorithms CP-GA and CP-FL to solve problem BP1 with n-1 orders. Set the marginal penalty P (si ) = F . Step 4. If all marginal penalties of bargainers have been calculated go to Step 5. Otherwise, go to Step 2 for next bargaining customer. Step 5. Set the resource levels to be
rj (t) = zj (t) + (1 , )vj (t) ,
r X i=1
qsi j (t; bsi ); 8t and j:
Step 6. Call Algorithms CP-GA and CP-FL to solve problem BP with n , r orders. Set b = d and the total penalty P (b ) = F . Step 7. Calculate the penalty for each bargainer as
Psi = P (b) Pr P (sPi )(s ) k k=1 and the tardiness compensation for the nonbargaining customers as
Ci = wi j bi , di j; for i = 1; 2; ; n; i 62 S: Step 8. Output the results and stop.
3.5 Integrated Procedure The 4 algorithms, CP-FL, CP-GA, FP and BP, are integrated in the following manner to produce the overall due-date bargaining procedure. Step 1. Input customer orders. Step 2. Call algorithm CP-GA to nd the \manufacturer's due-date" for each order. during the execution of algorithm CP-GA, algorithm CP-FL is called for the resource allocation. Overtime is not considered in this step. Step 3. Call algorithm FP to calculate the \fuzzy due-dates", allowing the use of overtime. Step 4. If the fuzzy due-dates are agreeable to all customers, output the result. Otherwise, iteratively execute algorithm BP for due-date bargaining until the resulting due-dates, penalties, and compensations are accepted by all customers. In executing algorithm BP, algorithms CP-GA and CP-FL are called to solve models (BP) and (BP1). 15
4 Example and Computational Results The algorithms for Due-Date Bargainer have been implemented in a prototype software package called MCDDB, coded in FORTRAN. MCDDB is designed for an apparel manufacturing enterprise. The manufacturer supplies three product lines, namely T-shirts, pants and skirts. These products are processed in four workcenters, namely cutting, sewing, pressing and packing. We begin this section with an example to illustrate the method. The enterprise has received 20 orders from its customers. The ordered product quantities and revenues are shown in Table 1. The parameters for the genetic algorithm are set at:
NP = 100; NG = 100; Pc = 0:85 and Pm = 0:05: Using Algorithms CP-GA and CP-FL in phase one, a crisp solution without overtime, d0 (Table 2), with a total earliness/tardiness penalty of F (d0) = 317:52 is obtained. Using the interval bisection method for the fuzzy model FP in phase two, the solution with overtime, d (Table 2), is obtained with an objective function value of = 0:3597. This means that overtime is at most (1 , 0:3597)% =: 64% of vj (t), for any j and t. However, in this case, customers 9, 11 and 15 are not satis ed with their due-dates (d9 = 20); (d11 = 20) and (d15 = 15) . They ask for earlier due dates (b9 = 14); (b11 = 15) and (b15 = 11). Using Algorithm BP in phase three, the marginal penalties for customers 9, 11 and 15 are determined to be P9 = 131:26; P11 = 182:00 and P15 = 127:68, while the total penalty P (b ) is $279:60. Thus, the bargainers are assessed $83:28; $115:38 and $80:94, respectively. At this point customer 15 nds the additional cost for the bargaining to be too high for his/her small order. Thus, he/she now asks for the due-date b15 = 14, just one period earlier than d15 . Customers 9 and 11, on the other hand, accept the penalties assessed to them. Applying Algorithms BP and BP1 again with the altered due date for customer 15, the penalty to customer 15 is reduced to $62:67, while the penalties to customers 9 and 11 remain about the same. All three bargainers now nd the results acceptable. Customers 1, 6, 7, 12, 14 and 17 get varying levels of compensation for their order delay. The results are summarized in Table 2. Having run MCDDB several times with this example, we know that the above phase 1 solution for problem CP is not optimal. However, F (d0) = 317:52 is within 1.43% of the smallest value (313.04) obtained. This should be acceptable for most practical situations. 16
To test the performance of the approach, we varied the crossover and mutation probabilities and ran MFDDB 100 times with dierent random seeds for each set of parameter values on a test example with 15 orders. Partial results are shown in Table 3 where we de ne the \remain" rate (or, probability) for members of the old population as Pr = 1:0 , Pc , Pm . The population size NP and the maximum number of generations NG were both set to be 100. From Table 3, we can see that the best parameter setting is that with crossover probability at 0.88 (0.89), mutation probability at 0.03, and remain probability at 0.09 (0.08). In these case, MCDDB achieved the best solution with F = 92:80 in 91 out of the 100 executions. For the previous example with 20 orders the best parameter setting was Pc = 0:85 and Pm = 0:05. The computation speed of MCDDB is accepatable. For example, each execution of Algorithms CP-GA and CP-FL on the 20-order problem required 15 seconds on a Pentium II/266. For a problem with 80 orders MCDDB can obtain satisfactory results in 20 minutes. We also tested the impact of the parameter in the Hamacher fuzzy product operation. The results showed us that the approach is not sensitive to . However, in theory, the operator is compensatory when is between 1 and 2. In above examples, we set = 2.
5 Concluding Remarks Our work on the Multi-customer Due Date Bargainer with soft computing leads us to make the following concluding remarks:
The Due Date Bargainer implemented in MCDDB is an ecient software tool to support order due-date negotiation between manufacturers and their customers.
The method for distributing the total delay penalty among bargaining customers through
the use of marginal penalties should seem resonable to customers who wish to bargain for earlier due dates. Its inclusion extends the scope of the original FDDB to the situation when there is more than one concurrent bargainer.
The combined genetic algorithm, fuzzy logic approach greatly enhances the computation
speed relative to that of FDDB and, consequently, the size of problems which it can solve. The new procedure has great potential for practical applications.
17
References [1] K.R. Baker and G.D. Scudder, \Sequencing with Earliness and Tardiness Penalties: a Review", Operations Research, vol. 38, pp. 22-36, 1990. [2] B.P. Beckwith, Marginal-Cost Price-Output, New York: Columbia University Press, 1955. [3] R.E. Bellman and L.A. Zadeh, \Decision-making in a Fuzzy Environment", Management Science, vol. 17, pp. 141-164, 1970. [4] T.C.E. Cheng and M.C. Gupta, \Survey of Scheduling Research Involving Due-date Determination Decisions", Eur. J. Operational Research, vol. 38, pp. 156-166, 1989. [5] G. Fandel, Theory of Production and Cost, Berlin: Springer-Verlag, 1991. [6] M. Gen and R. Cheng, Genetic Algorithms and Engineering Design, New York: John Wiley & Son Press, 1996. [7] P. De, J.B. Ghosh and C.E. Wells, \Scheduling to Minimize Weighted Earliness and Tardiness about a Common Due-date", Computers & Operations Research, vol. 18, pp. 465-474, 1991. [8] F. Glover, \Tabu Search, Part I", ORSA J. Computing., vol.1, pp. 190-206, 1989. [9] J.H. Holland, Adaptation in Natural and Arti cial Systems, Ann Arbor: University of Michigan, 1975. [10] J. J. Hop eld and D. W. Tank: \`Neural' Computation of Decisions in Optimization Problems", Biol. Cybern., vol. 52, pp. 141-152, 1985. [11] R. Isermann, \On Fuzzy Logic Applications for Automatic Control, Supervision, and Fault Diagnosis,"IEEE Trans. on SMC Part A: Systems and Human, vol. 28, pp. 221-235, 1998. [12] J.-R.R. Jang, C.-T. Sun and E.Mizutani, Neuro-Fuzzy and Soft Computing, Upper Saddle River, NJ: Prentice Hall, 1997. [13] S. Kirkpatrick, C. Gelatt and P. Vecchi, \Optimization by Simulated Annealing," Science,, vol. 220, pp. 671-679, 1983. [14] Y.J. Lai and C.L. Hwang, Fuzzy Mathematical Programming, Berlin: Springer-Verlag, 1992. 18
[15] A.G. Loerch and J.A. Muckstadt, \An Approach to Production Planning and Scheduling in Cyclically Scheduled Manufacturing Systems", Int. J. Production Research, vol. 32, pp. 851-871, 1994. [16] D.G. Luenberger, Linear and Nonlinear Programming (Second Edition), Reading, MA: Addison-Wesley, 1989. [17] Z. Michalewicz, Genetic Algorithms+Data Structures=Evolution Programs, Second ed., New York: Springer-Verlag, 1994. [18] Paragon Management Systems, Inc., Advanced Solutions for Supply Chain Management, 1997. [19] H.D. Ratli and W.G. Nulty, \Logistics Composite Modeling", in A. Artiba and S.E. Elmaghraby (Ed.) The Planning and Scheduling of Production Systems, London: Chapman & Hall, pp.10-53, 1997. [20] T. Underhill, Strategic Alliances Managing The Supply Chain, Tulsa: PennWell Publishing Company, 1996,. [21] D. Wang, \Earliness/Tardiness Production Planning Approaches for Manufacturing Systems', Computers & Industrial Engineering, vol. 28, pp. 425-436, 1995. [22] D. Wang, S.-C. Fang and T.J. Hodgson, \A Fuzzy Due-Date Bargainer for Make-To-Order Manufacturering Systems", IEEE Trans. on SMC Part C: Application and Reviews, vol. 28, no.3, 1998. [23] O. Wight, Manufacturing Resource Planning: MRP-II, New York: Oliver Wight Publications, 1981. [24] L.A. Zadeh, \Fuzzy Sets", Information and Control, vol. 8, pp.338-353, 1965. [25] L.A. Zadeh, \Editorial UC-Berkeley Computer Science Commencement Address", IEEE Trans. on SMC Part C: Application and Reviews, vol. 28, pp.1-2, 1998. [26] H.-J. Zimmermann, Fuzzy Set Theory and Its Applications, Hinghum: Kluwer-Nijho, 1985.
19
qij (t; ci)
6
ci
-
Figure 1: The Resource Requirement Function
erj (t)(x) 1:0
6
0
ZZ ZZ ZZ ZZ ZZZ
zj (t)
-
zj (t) + vj (t)
x
Figure 2: Membership Function for Fuzzy Availablity of Resource j , rej (t)
20
t
dei (x) 1:0
6
ZZ ZZ ZZ ZZ ZZZ
di
0
di
(a) The case of di di 0
dei (x) 1:0
6
0
-
x
-
x
0
"" " "" " "" " " ""
di
di 0
(b) The case of di < di 0
Figure 3: Membership Function for Fuzzzy Customer Due-Date dei
21
(x) 1.0
6
,, , , , ,,
,,
0
1.0
(x)
(a)
1.0 0.5 0
6
1 + 0
,, , , , ,,
,,
1 , 1
1.0
1 + 1
-
x
-
x
(b) Figure 4: The Membership Functions of Fuzzy Factors
22
Table 1: Order Quantities and Revenues for Example Order ID Custm. Due Date T-Shirt ($10) Skirt ($30) Pants($25) Total Revenue 1 20 100 100 200 $9000 2 6 { 100 120 $6000 3 10 120 100 250 $10450 4 8 | | 100 $2500 5 9 | 160 | $4800 6 10 | 100 120 $6000 7 11 50 180 90 $8150 8 12 | 100 220 $8500 9 13 230 | | $2300 10 10 90 150 90 $7650 11 15 120 200 50 $8450 12 15 | 200 100 $8500 13 12 | | 200 $5000 14 15 | 100 | $3000 15 10 80 100 | $3800 16 8 100 150 50 $6750 17 7 80 | | $800 18 20 | 190 | $5700 19 10 | | 120 $3000 20 7 100 | | $1000
Item
Table 2: Results for Due-Date Bargaining Example
Custm. Without With Bargn. After Penlt.or Bargn. After Penlt. or D.Date Ovtm. Ovtm. Y/N? Bargn. Compst. Again? Bargn. Compst. d d0 d Order b Pi b Pi 1 20 20 20 No 20 0.00 No 22 -36.00 2 6 6 6 No 6 0.00 No 6 0.00 3 10 10 10 No 22 -200.64 No 10 0.00 4 8 8 8 No 8 0.00 No 8 0.00 5 9 9 9 No 9 0.00 No 9 0.00 6 10 10 10 No 10 0.00 No 18 -96.00 7 11 17 14 No 18 -52.16 No 19 -65.20 8 12 12 12 No 12 0.00 No 12 0.00 9 13 24 20 Yes 14 83.28 Yes 14 80.84 10 10 10 10 No 10 0.00 No 10 0.00 11 15 23 20 Yes 15 115.38 Yes 15 112.01 12 15 15 15 No 16 -20.40 No 17 -40.80 13 12 13 12 No 12 0.00 No 12 0.00 14 15 15 15 No 15 0.00 No 16 -6.00 15 10 18 15 Yes 11 80.94 Yes 14 62.67 16 8 8 8 No 8 0.00 No 8 0.00 17 7 16 12 No 17 -6.40 No 21 -11.52 18 20 21 20 No 21 0.00 No 20 0.00 19 10 11 10 No 10 0.00 No 10 0.00 20 7 7 7 No 7 0.00 No 7 0.00
23
Table 3: Impact of Parameter Settings on Performance of (CP-GA)
Remain Crossover Mutation Best Rate Rate Rate Value Pr Pc Pm Best F 0.0 1.0000 .0000 92.8000 0.0 .9800 .0200 92.8000 0.0 .9600 .0400 92.8000 0.0 .9400 .0600 92.8000 0.0 .9200 .0800 92.8000 0.08 .9100 .0100 92.8000 0.08 .9000 .0200 92.8000 0.08 .8900 .0300 92.8000 0.08 .8800 .0400 92.8000 0.08 .8700 .0500 92.8000 0.09 .9000 .0100 92.8000 0.09 .8900 .0200 92.8000 0.09 .8800 .0300 92.8000 0.09 .8700 .0400 92.8000 0.09 .8600 .0500 92.8000 0.20 .8000 .0000 92.8000 0.20 .7500 .0500 92.8000 0.20 .7000 .1000 92.8000 0.20 .6500 .1500 92.8000 0.20 .6000 .2000 92.8000 0.30 .7000 .0000 92.8000 0.30 .6500 .0500 92.8000 0.30 .6000 .1000 92.8000 0.30 .5500 .1500 92.8000 0.30 .5000 .2000 92.8000
24
Mean of Values E (F ) 94.7792 94.7992 94.4896 94.5991 93.9591 93.7447 94.1543 93.3999 93.1679 93.6495 93.7447 93.8303 93.3999 93.5735 93.6495 93.9080 94.2031 94.0943 94.4608 95.4207 93.6519 94.1383 94.3567 95.3863 94.6447
Worst Percent Value Best F Worst F (%) 109.6000 55 107.1200 55 107.1200 63 118.4800 62 107.1200 75 107.1200 77 113.3600 70 102.5600 91* 99.7600 88 102.5600 79 107.1200 77 107.1200 81 102.5600 91* 107.1200 82 102.5600 79 107.1200 78 107.1200 76 107.1200 77 109.6000 68 128.4800 66 102.5600 80 99.7600 69 117.9200 70 128.4800 65 107.1200 66