tuned genetic algorithm TGA for an agile manufacturing application. ... ing optimal or near-optimal solutions to many complex real-world optimization problems. ... ters population size, crossover rate, and mutation rate ..... nearly 2 hours on the same machine to obtain an optimal .... The total manufacturing cost per hour for a.
Fuzzy Logic Controlled Genetic Algorithms versus Tuned Genetic Algorithms: An Agile Manufacturing Application Raj Subbu, Arthur C. Sanderson
Electronics Agile Manufacturing Research Institute and Electrical, Computer, and Systems Engineering Department Rensselaer Polytechnic Institute, Troy, NY 12180
ABSTRACT This paper presents a comparison of the performance of a fuzzy logic controlled genetic algorithm (FLC-GA) and a parameter tuned genetic algorithm (TGA) for an agile manufacturing application. These strategies are benchmarked using a GA that utilizes a canonical static parameter set. In the FLC-GA, fuzzy logic controllers dynamically schedule parameters of the object-level GA. A fuzzy knowledge-base is automatically identi ed and tuned using a high-level GA. In the TGA, a high-level GA is used to determine an optimal static parameter set for the object-level GA. The object-level GA supports a global evolutionary optimization of design, manufacturing, and supplier planning decisions for manufacturing of printed circuit assemblies in an agile environment. We demonstrate that high-level system identi cation (for the FLC-GA) or tuning (for the TGA) performed with small object-level search spaces, can be successfully extended to more elaborate object-level search spaces, without employing additional identi cation or tuning. The TGA performs superior searches, but incurs large search times. The FLC-GA performs faster searches than a TGA, and is slower than the GA that utilizes a canonical static parameter set. However, search quality of the FLC-GA is comparable to that of the GA which utilizes a canonical static parameter set.
KEYWORDS: fuzzy logic, genetic algorithm, dynamic
parameter control, parameter tuning, performance comparison, agile manufacturing
1 INTRODUCTION Genetic Algorithms have proven highly eective for achieving optimal or near-optimal solutions to many complex real-world optimization problems. However, their performance is very sensitive to parameter settings such as population size, crossover rate, and mutation rate. Selection of GA parameters is often left to the intuition and experience of the GA user. Although several techniques for the selection of GA parameters have been proposed in the literature, e. g. [4, 6], the interaction of GA parameter settings and GA performance is generally acknowledged as a complex relationship that is not completely understood.
Piero P. Bonissone
Information Technology Laboratory General Electric Corporate Research and Development K1-5C32A, 1 Research Circle, Schenectady, NY 12309
Fuzzy reasoning and control schemes are particularly suited to environments that are either ill-de ned or are very complex. Dynamic control of GA parameters is one such complex problem that could bene t from the incorporation of fuzzy reasoning. In this paper, we apply fuzzy logic controllers for dynamic scheduling of parameters (population size, crossover rate, and mutation rate) of an object-level GA (FLC-GA). We use a high-level GA to automatically identify and tune the fuzzy knowledgebase. Identi cation and tuning of the fuzzy knowledgebase is performed with a small object-level search space. We compare search quality and search time performance of this FLC-GA with those of a parameter tuned genetic algorithm (TGA) and a GA that uses a canonical (as proposed in [4]) static parameter set. Optimal static parameter set identi cation for the TGA is performed by a high-level GA and using the same small object-level search space as used for FLC-GA system identi cation and tuning. The FLCGA and TGA thus obtained, are applied to more elaborate object-level search spaces without additional tuning. Schemes for fuzzy logic control of GAs appear in [7, 10]. A variety of proposals that utilize a high-level GA to tune a fuzzy knowledge-base, appear in [2, 8, 10]. Use of a highlevel GA to obtain an optimal static parameter set for an object-level GA is proposed in [6]. In this paper, we focus on the design and validation of the FLC-GA, the TGA, and compare the strategies for an agile manufacturing problem domain where optimal design, manufacturing, and supplier planning decisions are desired for printed circuit assembly manufacturing. To our best knowledge, experimental comparison of the performance tradeos of an FLC-GA and a TGA does not appear in the literature. The rest of the paper is organized as follows. In Section 2, we provide background information on fuzzygenetic systems and the agile manufacturing problem domain. In Section 3, we describe the architecture of the testbed we have implemented. In Section 4, we present simulation results using a variety of object-level search spaces. We conclude in Section 5.
2 BACKGROUND In this section, we present background information on fuzzy-genetic algorithms, and describe the agile manufacturing planning decision problem. Due to space restrictions, we do not present any background on the design of fuzzy logic controllers or on evolutionary computation. For details on the design and implementation of fuzzy logic controllers (FLCs), the reader is referred to [1]. For background on evolutionary computation techniques and some applications, the reader is referred to [5, 9, 11].
2.1 Fuzzy-Genetic Algorithms The integration of fuzzy reasoning and genetic algorithms has been explored by many researchers. Reference [3] presents an updated bibliography of nearly 300 papers that discuss fuzzy-genetic algorithms for a variety of applications. We will limit this discussion to a few key contributions. Herrera et al. [8] use a GA to tune each rule used by an FLC. They utilize a real encoding for a four-parameter representation of a trapezoidal membership function in each term-set. A rule is achieved by the concatenation of membership functions. A member in the GA search is such a concatenation of the encoding of membership functions. Herrera and Lozano [7] present a detailed summary of a variety of approaches for adapting the parameters of a GA using FLCs. Lee and Takagi [10] use a high-level GA to identify and tune the rules of an FLC that is used to control the parameters of an object-level GA. The object-level GA optimizes the ve sample problems suggested by De Jong [4]. They use a binary encoding for each three-parameter representation of a triangular membership function. They simultaneously identify the appropriate output rules and the shapes of the membership distributions. Their FLC is deterFitness Worst Fitness mined by three inputs ( Average Best Fitness , Average Fitness , and 4 Best Fitness) and three outputs (4 Population Size, 4 Crossover Rate, and 4 Mutation Rate). They constrain the outputs to vary within 50% of their previous values, and also set overall limits for the outputs to the operational ranges [2, 160], [0.2, 1.0], and [0.0001, 1.0] respectively. They evaluate rule choices and membership function shape performance on the sample object-level problems, using as evaluation criteria the averaged online performance, and averaged o-line performance [4]. Later, they apply the derived FLC to dynamically adjust the parameters of a GA that searches for an optimal control strategy for an inverted pendulum. Bonissone et al. [2] use a binary encoding in a GA search that tunes the parameters (membership functions and scale factors) of an FLC that is used to achieve superior control of a freight train.
2.2 Application Domain In this subsection, we describe the agile manufacturing environment and the printed circuit assembly manufacturing planning decision problem. For additional details, the reader is referred to [12]. 2.2.1 Agile Manufacturing The rapidly changing global marketplace demands innovative products that are more compact, of lower cost, and of higher quality. The ability of modern enterprises to rapidly respond to these dynamic changes places increased emphasis on achieving highly adaptive manufacturing with closer coupling between design and manufacturing activities. Such adaptive manufacturing practices are broadly characterized as agile manufacturing. 2.2.2 Problem Description In the printed circuit board industry, suppliers and manufacturers of sub-assemblies and components face increased complexity in coordinating suppliers and manufacturers to be competitive in cost, time, and quality. Design, manufacturing, and supplier decisions are chosen using the experience base in an organization and are often dicult to adapt to changing needs. Systems that support a coupling among design, manufacturing, and supplier decisions and simultaneously reduce supply and manufacturing costs and lead times, and better utilize available manufacturing facilities are critical to improved performance in these industries. A system for optimal design, manufacturing, and supplier planning for printed circuit assembly manufacturing is presented in [12]. The object-level problem formulated in this reference (see Appendix) is used for FLC-GA and TGA comparisons. This formulation poses the optimal selection of designs that realize a given functional speci cation, the selection of parts to realize a design, the selection of suppliers to supply these parts, and the selection of production facilities to manufacture the chosen design, as a global optimization problem where each selection has the potential to aect other selections. The goal is to optimize an aggregate non-linear evaluation function of total cost and total time, Jij = F (Costij ; Timeij ). The total cost and total time for realizing a printed circuit assembly are each highly coupled non-linear functions dependent on characteristics of a chosen design, characteristics of a chosen manufacturing facility, and parts supply chain characteristics. The nature of the problem and the evaluation function do not lend themselves easily to optimization using traditional techniques such as linear programming. A GA-based optimization is more easily applied to this problem domain, is robust, and simultaneously searches multiple solutions.
3 SYSTEM ARCHITECTURE
is computed as:
FLC-GA FLC Identifier and Tuner GA
FLC Rules and Scale Factors Run-Time Parameter Scheduling
FLC
Object-level GA
Performance Evaluation
TGA
Object-level GA
Design-Manufacturing-Supplier Planning Problem Module
Figure 1: Architecture of system that evaluates performance of the FLC-GA and TGA.
Xn
GD = n(n2, 1)
dij
i=1;j =i+1 Genome Length
(1)
We use a normalization term of n(n2,1) , since given n members, only n(n , 1)=2 comparisons are distinct and nonre exive. The range for GD is [0, 1], and when GD is close to 0, the diversity is very low, indicating convergence, and when it approaches 1, the diversity is very high. The second input is a phenotypic diversity measure of members in a population. We compute this as:
PD = ffb
High-Level GA
Parameter Set
GA Diversity Measures Performance Evaluation
Our FLC-GA|TGA comparison testbed is shown in Figure 1. Only the respective modules shown enclosed in dashed lines are used during run-time.
(2)
where fb is the best tness, and f is the average tness of members in a population. The range for PD is also [0, 1], and when PD is close to 0, the diversity is very high, and when it approaches 1, the diversity is very low, indicating convergence. Membership distributions for FLC inputs and outputs are shown in Figure 2. The outputs of GD Terms: 1 (Very Low), 2 (Low), 3 (Medium), 4 (High), 5 (Very High) 1.2
PD Terms: 1 (Very High), 2 (High), 3 (Medium), 4 (Low), 5 (Very Low) Output Terms: 1 (Neg. High), 2 (Neg. Medium), 3 (No Change), 4 (Pos. Medium), 5 (Pos. High) 1
2
3
4
5
1
3.1 Adaptive GA Based on a Fuzzy Controller In this subsection, we discuss the various steps in the design of an FLC that performs run-time management of the parameters of an object-level GA. We consider the inputs of the FLC, its outputs, establish their ranges and term sets. We consider two object-level diversity measures as inputs to the FLC. The rst is a genotypic diversity measure based on the similarity of genes in members of a population. Our object-level GA uses an integer representation for the manufacturing planning decision problem. This is because the manufacturing planning decision problem is a discrete optimization problem and an integer representation maps well to the formulation (see Appendix). Given two integer coded genomes of the same length, we compute their Hamming distance d. A Hamming distance is usually applied to bit strings and computes the number of bit locations that dier in strings of the same length. So, given two bit strings 00111 and 11011, d(00111; 11011) = 3. We extend this idea to integer strings, so that if the integer alleles for corresponding genes in two genomes are unequal, their distance count is incremented by one. The genotypic diversity of two integer coded genomes is computed as the normalized Hamming distance, or GenomedijLength . The genotypic diversity for all n members in a given population
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Figure 2: Linguistic terms associated with FLC input and output membership distributions. the FLC are chosen as 4 Population Size, 4 Crossover Rate, and 4 Mutation Rate. We implement GA parameter control through three FLCs, one for each output. Scale factors for outputs are chosen so that the normalized membership distributions shown centered about 0.5, are always centered about 1.0 when scaled. For example, a scale factor range for 4 Population Size may be picked as [0.5, 1.5], in which case the new population size can vary within 50% of the previous population size. We set practical limits for the population size, crossover rate, mutation rate, and number of generations of evolution as [10, 160], [0.1, 1.0], [0.0001, 1.0], and 250 respectively. Also, the FLCs are red every 5 generations, following the suggestion of Herrera and Lozano [7]. The min operator is used for conjunction
of clauses in the IF part of a rule, the min operator is used to re each rule, the max operator is used to aggregate the outputs of all red rules, and a Center of Gravity defuzzi er is used for all three FLCs.
3.2 Automatic Design and Tuning of a Fuzzy Controller
We introduce a high-level GA to identify a knowledge-base for the FLC, and simultaneously tune the output scale factors. Attempts to intuitively design a fuzzy knowledgebase in the absence of detailed expert knowledge of the dynamics of GA behavior, have been reported unfruitful [10]. Bonissone et al. [2] report that altering the shapes of the membership distributions of an FLC's outputs through adjustment of scale factors has more signi cant returns as compared to direct manipulation of the shapes of the distributions. We follow this suggestion in our prototype. Figure 2 shows how we have partitioned each of the two input universes into 5 overlapping partitions. Thus, the cross product of the inputs have 5 5 = 25 overlapping partitions for each output. Since we use an FLC for each of the three outputs, considering the FLCs together, there are 75 output rules that need to be identi ed. The Right-Hand Side (RHS) of each rule can be assigned one of the ve output membership functions. We use scale factors symmetric about 1.0 and with range (0.0, 2.0), in our design. We simultaneously search for output rules and output scale factors. We use an all integer representation for a genome in this search. A gene with 5 allowed states is assigned for each output rule identi cation. A gene for each scale factor is allowed 9 states (encoded as 1 through 9 respectively representing 0.1 through 0.9). The smallest output scale factor range that can be achieved is [0.9, 1.1], while the largest range is [0.1, 1.9]. We employ a discretized search for scale factor determination, since this allows for an ef cient all integer representation, and since we achieve a reasonable approximation of the real line in this context. Thus, each genome in the search for the parameters of the FLC has 78 genes, with 75 corresponding to output rules, and the last three reserved for output scale factors. Also, the size of the entire FLC design search space is 575 93 . This search uses the following novel evaluation function: M =Overall Best Score + Average of Best Scores + Standard Deviation of the Final Population (3) The minimization of this evaluation function results in an FLC that achieves the following intuitively desirable behaviors at the object-level: An object-level search that nds the best possible planning alternative. This notion is represented by the Overall Best Score term above. Reward populations containing at least one very t member all through the object-level search. This notion is represented by the Average of Best Scores term above. Force
the object-level GA search to achieve convergence by its nal population. This notion is represented by the Standard Deviation of the Final Population term above.
3.3 High-Level GA Tuner for an Object-Level GA
Grefenstette [6] has proposed the use of a high-level GA to tune the parameters of an object-level GA. For our TGA, we limit the high-level search to the following parameters: population size, number of generations, crossover rate, and mutation rate. We set search limits for these parameters, as [10, 160], [10, 300], [0.1, 1.0], and [0.0001, 1.0] respectively. An object-level planning choice will never have a zero or negative evaluation function value since total cost and total time in a planning decision are always positive. Thus, we do not search for a scaling window as proposed by Grefenstette. We always use an elitist selection strategy and replace an entire population by the ospring population, and thus do not search for a selection strategy or an optimal generation gap as proposed by Grefenstette. We use the evaluation function presented in (3) to evaluate the object-level performance of a four-parameter set.
4 EXPERIMENTAL RESULTS In this section, we present comparisons (search quality and search time) of the FLC-GA and TGA strategies. In addition, these schemes are benchmarked using a static canonical parameter set GA, which is also referred to as the static untuned GA (UTGA). The size of the object-level search space used for o-line tuning of both the FLC-GA and TGA, is 6:4 107. Performance of the schemes are validated using two larger object-level search spaces with respective sizes, 2:0 1018, and 1:5 1021. These are referred to as Data Sets-1, 2, and 3 respectively. The highlevel GAs for o-line tuning employ canonical parameter sets, and employ an elitist selection strategy. The fuzzy rule-bases for each of the three FLC outputs: 4 Population Size, 4 Crossover Rate, and 4 Mutation Rate, obtained using Data Set-1 at the object-level, are shown in Tables 1, 2, and 3. The following abbreviations are used for the linguistic terms described in Section 3.1: Very Low (VL), Low (L), Medium (M), High (H), Very High (VH), Negative High (NH), Negative Medium (NM), No Change (NC), Positive Medium (PM), and Positive High (PH). The output scale factors identi ed by the high-level GA using Data Set-1 at the object-level are: 4 Population Size: [0.1, 1.9], 4 Crossover Rate: [0.6, 1.4], and 4 Mutation Rate: [0.4, 1.6]. Use of a high-level GA to identify an optimal parameter set for the object-level GA, when Data Set-1 is the input, results in the following parameters: Population Size: 134,
Table 1: Rule-base for 4 Population Size. GD n PD VL L M H VH
VH NC NC PM NC PH
H PM PH PM PH PM
M NC NC PH NC PM
L NH NH PH NC PM
VL NM PM NM PM NC
Table 2: Rule-base for 4 Crossover Rate. Generations: 250, Crossover Rate: 0.648, and Mutation Rate: 0.008. These are the TGA parameters. The three GA strategies are applied to Data Sets-1, 2, and 3 respectively. The performance of each GA strategy is observed over 30 trials. Figure 3 shows the search quality{search time tradeo for each GA strategy applied to Data Set-1. A lower Min. J achieved corresponds to a search of higher quality. Search time is measured in processor seconds on a SUN ULTRA SPARC-1. For the same number of generations, the TGA has the best search quality, but is the slowest, while the UTGA has a large spread in search quality, but is the quickest. The FLC-GA has large spreads in search time and search quality. We now apply the same algorithmic setup as above to Data Sets-2, and 3, without any further optimizations. Figures 4, and 5 show performance tradeos for the GA schemes using Data Set-2, and Data Set-3 respectively. The patterns are consistent with Figure 3. Table 4 shows the average and standard deviation of search quality and search time, for each GA strategy applied to the data sets. The TGA takes the most time mainly due to a large number of members (134) in each population of the objectlevel search. In spite of the interpreted reasoning overhead, the FLC-GA is quicker than the TGA. This is mainly because the FLC for 4 Population Size directs the search by GD n PD VL L M H VH
VH NH NM NC NM NC
H PH PM PH NH NH
M NM PH NH NC PM
L VL PH PH NH NM NM PH NC NH PH NM
Table 3: Rule-base for 4 Mutation Rate.
1200 FLC−GA TGA UTGA
1100
1000
Search Quality − Min. J
H M L VL PM NM NC PM PM NM NM PM PM PH PM PH PH PM NH NM NM PH PH NC
900
800
700
600
500
1
2
3
4 Search Time − seconds
5
6
7
Figure 3: Performance tradeos for Data Set-1. 4
2
x 10
FLC−GA TGA UTGA 1.8
1.6
Search Quality − Min. J
VH NH NH NH PM PH
1.4
1.2
1
0.8
2
4
6
8 Search Time − seconds
10
12
14
Figure 4: Performance tradeos for Data Set-2. 4
2.6
x 10
FLC−GA TGA UTGA
2.4
2.2
Search Quality − Min. J
GD n PD VL L M H VH
2
1.8
1.6
1.4
1.2
2
4
6
8 Search Time − seconds
10
12
14
Figure 5: Performance tradeos for Data Set-3.
Data GA Set Strategy FLC-GA 1 TGA UTGA FLC-GA 2 TGA UTGA FLC-GA 3 TGA UTGA
Min. J
674.22 551.08 923.06 13379.72 10153.90 13047.78 17001.40 14939.11 16793.36
Time
74.25 4.30 0.39 23.16 6.37 0.08 272.10 1.45 0.08 1911.40 5.83 0.95 870.77 11.12 0.18 1760.94 2.53 0.06 2006.12 6.46 0.56 737.89 11.86 0.24 1946.30 2.78 0.06
Table 4: Average and standard deviation (computed over 30 trials) of search quality (Min. J) and search time (Time), for each GA strategy applied to Data Sets-1, 2, and 3. gradually reducing the number of members in a population. This can be interpreted as a tendency of the system to prefer exploitation rather than exploration as the search advances. It took nearly 14 hours of computer time to obtain the fuzzy knowledge-base using Data Set-1, while it took nearly 2 hours on the same machine to obtain an optimal GA parameter set using high-level tuning. Thus, oine high-level parameter tuning is computationally more ecient than oine fuzzy knowledge-base identi cation and tuning.
5 CONCLUSIONS We have presented time and search quality comparisons of a fuzzy controlled GA, a static parameter tuned GA, and a static untuned GA for optimization of printed circuit assembly design, manufacturing, and supplier planning decisions. The static parameter tuned GA has the best search quality performance, but is the slowest, while the static untuned GA has a large spread in search quality, but is the quickest. The FLC-GA has large spreads in search time and search quality. However, an FLC-GA search is faster than a TGA search, in spite of the interpreted reasoning overhead. Based on our results, a strong argument in favor of dynamic control of GA parameters using fuzzy techniques, cannot be made. However, our results support the adoption of high-level tuning to obtain an optimal static parameter set for an object-level GA, especially when search quality consistency is important. When search speed is more important than search quality, a canonical static parameter set GA is a better search strategy. Further research on improving the performance of GAs will focus on a better understanding of the underlying search process, and how it could be manipulated either dynamically, or through high-level tuning schemes,
to improve search performance. The FLC ring rate may signi cantly in uence the FLC-GA search process, and deserves investigation.
Acknowledgments This work has been conducted in the Electronics Agile Manufacturing Research Institute (EAMRI) at Rensselaer Polytechnic Institute. The EAMRI is partially funded by Grant number DMI-9320955 from the National Science Foundation and the Defense Advanced Research Projects Agency. The rst author would like to thank Tom Retelewski for developing object-level software modules used in our testbed.
References [1] P. Bonissone and K. Chiang. Fuzzy logic controllers: From development to deployment. In Proceedings of the IEEE Conference on Neural Networks, pages 610{ 619, March 1993. [2] Piero P. Bonissone, Pratap S. Khedkar, and Yuto Chen. Genetic algorithms for automated tuning of fuzzy controllers: A transportation application. In Proceedings of the IEEE Conference on Fuzzy Systems, New Orleans, Sept 1996. [3] O. Cordon, F. Herrerra, and M. Lozano. A classi ed review on the combination fuzzy logic-genetic algorithms bibliography. Technical Report DECSAI 95129, Department of Computer Science and AI, Universidad de Granada, Granada, Spain, December 1996. [4] K. A. De Jong. An analysis of the behavior of a class of genetic adaptive systems. PhD thesis, University of Michigan, Ann Arbor, Michigan, 1975. [5] David E. Goldberg. Genetic Algorithms in Search, Optimization, and Machine Learning. AddisonWesley, Massachusetts, 1989. [6] John J. Grefenstette. Optimization of control parameters for genetic algorithms. IEEE Transactions on Systems, Man, and Cybernetics, 16(1), 1986. [7] F. Herrera and M. Lozano. Adaptation of genetic algorithm parameters based on fuzzy logic controllers. In F. Herrera and J. L. Verdegay, editors, Genetic Algorithms and Soft Computing, pages 95{129. PhysicaVerlag, 1996. [8] F. Herrera, M. Lozano, and J. L. Verdegay. Tuning fuzzy logic controllers by genetic algorithms. International Journal of Approximate Reasoning, 12(3/4), 1995.
[9] John H. Holland. Adaptation in Natural and Arti cial Systems: an introductory analysis with applications to biology, control, and arti cial intelligence. The MIT Press, Cambridge, Massachusetts, third edition, 1994. First Edition: 1975 The University of Michigan. [10] Michael A. Lee and Hideyuki Takagi. Dynamic control of genetic algorithms using fuzzy techniques. In Proceedings of the Fifth International Conference of Genetic Algorithms, University of Illinois at UrbanaChampaign, July 1993. [11] Zbigniew Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs. Springer-Verlag, New York, Berlin, third edition, 1996. [12] Raj Subbu, Cem Hocaoglu, and Arthur C. Sanderson. A virtual design environment using evolutionary agents. In Proceedings of the IEEE International Conference on Robotics and Automation, Leuven, Belgium, May 1998.
Appendix Formulation of Printed Circuit Assembly Manufacturing Planning Decision Problem (extracted from [12])
Let D = fD1 ; D2 ; D3 ; ; Ddg be the set of alternate designs that achieve a predetermined printed circuit assembly functional speci cation. Each design Di consists of a non-empty subset of parts from the set of available parts P = fP1 ; P2 ; P3 ; ; Pp g. The electrical parts that belong to this set can be classi ed into two categories based on their package types. These are i) surface-mount, and ii) through-hole. Let S = fS1 ; S2 ; S3 ; ; Ss g be the set of parts suppliers. Each part in P can be supplied by one or more suppliers in S at a certain cost and at a certain lead time to delivery. We de ne p s matrices A = (aij ), C = (cij ), and T = (tij ) which respectively are the availability, supply cost and supply lead time matrices. An element aij = 1 when part Pi is available from supplier Sj . Otherwise aij = 0. When aij = 1, Pi is available at a cost cij and with a supply lead time of tij from supplier Sj . If we assign a supplier to supply a speci c part in a design and do this for every part in that design, we can compute the total cost of parts in that design, given by CP , and the maximum procurement time of the parts in that design, given by TP . Let M = fM1; M2 ; M3 ; ; Mm g be the set of manufacturing lines that can assemble the various designs that realize a functional speci cation. Each manufacturing line Mj has a xed non-zero operational cost per hour. This cost includes the operational overhead of the factory that houses this speci c manufacturing line. We then de ne a
function fmfc : M ,!