Sheng Yang
email: sheng.yang@mail.mcgill.cabeflort

Florian Santoro
email: florian.santoro@mail.mcgill.ca

Mohamed A Sulthan
email: mohamed.sulthan@mail.mcgill.cayaoyao.zhao@mcgill.ca

Yaoyao Fiona Zhao

A numerical-based part consolidation candidate detection approach with modularization considerations

Keywords: part consolidation, design for additive manufacturing, modularization, part selection

Aided by the capabilities of additive manufacturing in building a part with multiple materials, dynamic sub-components, and complex geometries, the number of parts that are feasible for consolidation has increased drastically. However, to decide which components to consolidate is difficult. Therefore, to identify these potential candidates out of a complex product is highly demanded. We define this issue as a part consolidation candidate detection (PCCD) problem. To solve this problem, we proposed three principles that rationalize the PCCD process regarding to the maximum number and the priority of parts to be consolidated. Based on which, we developed a modularity-based PCCD (MPCCD) framework which is featured by the need of module division and community detection as well as two PCCD algorithms (i.e. strength-based Numerical PCCD (NPCCD) and Community-based PCCD (CPCCD)). Two case studies of a throttle pedal and an octocopter are given to demonstrate the effectiveness of the proposed CPCCD algorithm and the MPCCD framework respectively. In the end, this paper is wrapped up with important conclusions and future research.

Introduction

Part consolidation (PC) can effectively help to reduce part count and simplify product architecture [START_REF] Boothroyd | Product design for manufacture and assembly[END_REF]. Additive manufacturing (AM) has further enhanced the potential of consolidating more parts regardless of the difficulty resulted from increased geometry and material complexity (Yang and Zhao 2015). These new opportunities challenge the conventional rules of "no relative motion", "no material variance", and "no blockage of assembly access" that are set for feasibility validation of PC in conventional manufacturing (CM) context [START_REF] Boothroyd | Product design for manufacture and assembly[END_REF]. Although this deficiency has been acknowledged by several researchers [START_REF] Frey | Part count and design of robust systems Systems engineering[END_REF][START_REF] Schmelzle | Re) Designing for Part Consolidation: Understanding the Challenges of Metal Additive Manufacturing[END_REF]Yang et al. 2016), limited progress has been reported to support AM-enabled PC redesign, especially when it comes to the problem of Part Consolidation Candidate Detection (PCCD). PCCD problem is defined as "a minimum grouping problem where a product or system is dissected into discrete groups in which components in a group can be consolidated as one while ensuring conformance to feasibility rules (Yang et al. 2018). In other words, the main tasks of PCCD are to establish a new set of feasibility rules to support PC design in the AM context, and to develop a grouping method to properly find PC candidates out of a complex system. The former sub-task has been investigated in our previous papers (Yang et al. 2018;Yang and Zhao 2018), and the aim of this paper is to initialize the effort in the second sub-task with the expectation of providing a useful design aid tool to support product architecture simplification and innovation.

The concept of modularization plays a dominant role in product design research [START_REF] Hölttä-Otto | Degree of modularity in engineering systems and products with technical and business constraints[END_REF][START_REF] Stone | A heuristic method for identifying modules for product architectures Design studies[END_REF][START_REF] Ulrich | The role of product architecture in the manufacturing firm[END_REF]. Through modularization, it is believed to reduce design complexity, reduce cost, increase configuration flexibility, enable distributive design, and control system failure propagation [START_REF] Gershenson | Product modularity: definitions and benefits[END_REF]. A module can be defined as "a relatively independent chunk of a system that is loosely coupled to the rest of the system" [START_REF] Hölttä-Otto | Comparative analysis of coupling modularity metrics[END_REF]. Therefore, it is necessary to incorporate the need of modularization into the PCCD process to avoid fusion of modules. Another important concept closed to module is called community which is more frequently used in social network studies [START_REF] Newman | Finding and evaluating community structure in networks[END_REF]. A community depicts a phenomenon that intra-community connections are intensive while inter-community links are sparse. This phenomenon is defined as community characteristics, and it is also observed in mechanical systems [START_REF] Sosa | A network approach to define modularity of components in complex products[END_REF]). Fundamentally, community characteristics reflect the high degree of dependency within a group of components. Therefore, components in one community should be considered for consolidation to reduce interface cost (e.g. assembly cost and interface design cost) [START_REF] Engel | Advancing architecture options theory: six industrial case studies Systems[END_REF] if technically applicable. To differentiate the concepts of module and community in this paper, we define the hierarchy of a system as: product > module > community > component. More detailed discussion is explained in Section 3.

To solve a general PCCD problem shown in Figure 1 where there are modules with strong community characteristics (e.g. M1 and M2), modules without community characteristics (M3), pairs of components with different interaction strength (e.g. and ), and infeasible component pairs (e.g. in red cross), we propose the following three principles to rationalize a general PCCD process:

(1) Principle of Modularity: parts to be consolidated as one should belong to the same physical module. Hereby, how a module is defined determines the maximum number of parts that can be consolidated. As revealed by some researchers [START_REF] Lipson | Principles of modularity, regularity, and hierarchy for scalable systems[END_REF][START_REF] Ulrich | The role of product architecture in the manufacturing firm[END_REF], certain system (e.g. a computer or a firm) may have hierarchical modules. Then, the first question (Q1) is which level of modules should be treated as a "hard constraint" that must be strictly followed to ensure tradeoffs between managerial complexity and system integrity? (2) Principle of Community: intra-community ones should have higher consolidation priority than the inter-community counterparts. Communities are defined at the module level instead of the product level. The amount of module-level information is manageable so that the community should be treated as a "weak constraint" which only defines the sequence of being consolidated. Hereby, we have two more questions "should inter-community components be consolidated" (Q2)

and "what is the criterion of certifying as having strong community characteristics" (Q3).

(3) Principle of Strength: if mutual functional and physical dependency between a pair of parts is stronger than the adjacent one, the stronger one should have higher consolidation priority (Yang et al. 2018).

To help understand these principles, the case in Figure 1 is revisited. First, M1-3 will serve as hard constraints to divide the graph into three groups and all links including ( ) and ( ) will be cut (Principle of Modularity). Second, M1 is taken as an example for further study, and it depicts strong community characteristics with three communities ; therefore, components in each community need to be examined earlier whether feasible to be consolidated before inter-community links (e.g. (

)) (Principle of Community). Assume that the all components are in the same size while the maximum building volume of a printer only permits consolidation of 4 parts. Then, the final grouping result will be and because the connection strength of is weaker than that of (Principle of Strength). If size limitation is without concern, then the minimum grouping solution of the given system will be , , , , and . In order to computationally emulate and automate all the above reasoning processes of module division, community detection, and PCCD with considerations of modules and communities, a systematic framework called modularity-based PCCD (MPCCD) is presented in this paper. The rest of paper is structured as follows. First, related researches on AM-enabled PC, identification of parts for AM applications, and product modularization methods are reviewed in Section 2. Second, the relation between PC and module and community is discussed in detail in Section 3 to answer the three questions raised in the three principles. Third, the MPCCD framework is presented in Section 4 with a detailed module division algorithm and a new PCCD algorithm. Fourth, two case studies are given in Section 5 to demonstrate the effectiveness of the presented MPCCD framework and the new PCCD algorithm. In the end, future research is discussed.

Literature review 2.1 PC design research

Part consolidation design research has witnessed a rapid increase in the past 5 years [START_REF] Kumke | A new methodological framework for design for additive manufacturing Virtual and Physical Prototyping[END_REF][START_REF] Laverne | Assembly-based methods to support product innovation in Design for Additive Manufacturing: An exploratory case study[END_REF][START_REF] Rodrigue | An assembly-level design for additive manufacturing methodology[END_REF][START_REF] Schmelzle | Re) Designing for Part Consolidation: Understanding the Challenges of Metal Additive Manufacturing[END_REF]Yang et al. 2015;Yang et al. 2016). These researches are more focused on developing methodological design methods to support a general product-level development process to embrace the new opportunities of AM technologies. A typical design flow starts with functional analysis of an existing assembly design and functional requirements to understand the design intent. The next step is to simply merge all the physical entities of the assembly through eliminating the mating interfaces [START_REF] Kumke | A new methodological framework for design for additive manufacturing Virtual and Physical Prototyping[END_REF] or re-conceptualizing a new functional volume via a technique called function surface extraction [START_REF] Klahn | Design Strategies for the Process of Additive Manufacturing Procedia[END_REF]Yang and Zhao 2016). Then, AM-specific opportunities such as shape, topology, and material design freedoms kick in to further optimize the new functional volume to achieve better functionalities (e.g. heat dissipation) while ensuring manufacturability. All these researches start with a carefully selected assembly without mentioning the criteria why it is chosen; therefore, none of them can actually be directly applied to a product-level design scenario.

Identification of parts and assemblies for AM applications

Very limited researches have been reported in aiding designers to find suitable parts for AM applications. Most literatures [START_REF] Floriane | Enriching design with X through tailored additive manufacturing knowledge: a methodological proposal[END_REF][START_REF] Kumke | Methods and tools for identifying and leveraging additive manufacturing design potentials[END_REF][START_REF] Thompson | Design for Additive Manufacturing: Trends, opportunities, considerations, and constraints[END_REF]) simply explained the general capabilities of AM and showed successful past instances through design heuristics, pictures, or physical prototypes, while not providing concrete guidance to an engineer on how to find such opportunities. In contrast, another research stream aims at developing methods and tools for identifying the "right" parts for AM applications [START_REF] Lindemann | Towards a sustainable and economic selection of part candidates for additive manufacturing Rapid Prototyping[END_REF]Yang et al. 2018;[START_REF] Yao | A hybrid machine learning approach for additive manufacturing design feature recommendation Rapid[END_REF]. [START_REF] Lindemann | Towards a sustainable and economic selection of part candidates for additive manufacturing Rapid Prototyping[END_REF] developed a trade-off matrix to manually compile a shortlist of potential candidates first and then refined the selection by AM experts. [START_REF] Yao | A hybrid machine learning approach for additive manufacturing design feature recommendation Rapid[END_REF] introduced a hybrid machine learning recommendation system based on a design feature database to automatically associate parts with AM potentials. Design features were manually extracted based on engineering requirements from past instances and the targeted project. These studies are helpful in identifying parts for part-level AM applications such as lightweight and customization, but they fall short of handling assemblies. Yang et al. (2018) proposed a process to identify groups of parts which can be combined to reduce the part count. The screening process was automated by establishing adjacency matrix of the parts and implementing specific candidacy rules. Based on which, this paper is the extended work of the adjacency matrix method with considerations of modularization to support better decisions in complex product design.

To form a clear view of status of PCCD research, publicly reported practices are briefly summarized in Table 1. Among the comparative categories, PCCD strategy and product scale are of interest in this paper. PCCD strategy can be classified into four types: not discussed, conventional heuristic rules [START_REF] Boothroyd | Product design for manufacture and assembly[END_REF], point-to-plane method, and plane-to-point method. The point-to-plane strategy starts with a single part (i.e. point) having AM potentials such as weight reduction or added values (e.g. customization).

Then, the neighbourhood is searched for potential candidates that can be consolidated. It is critical to find the starting point in this approach. In contrast, the plane-to-point strategy works reversely by screening the whole system first and then clusters feasible candidates into discrete groups where each group can be consolidated as one part. It is also observed that the scale of the reported cases is commonly small (n<20, if bolts and washers are not counted, the real number should be even smaller), and most of them are manually done. With the expectation to automating the PCCD process, the authors proposed a numerically-assisted PCCD (NPCCD) algorithm based on a new set of candidacy rules and the plane-topoint strategy (Yang et al. 2018). The new ruleset and NPCCD algorithm are introduced in Section 2.3.

Overview of the NPCCD algorithm

The cornerstones of the NPCCD algorithm include the new ruleset for PC, functional and physical interaction (FPI) network, and algorithmic process. For page limits, only the essential ideas are introduced here. Interested readers are encouraged to read the original papers (Yang et al. 2018;Yang and Zhao 2018).

New ruleset

With a comprehensive review of all the PC design-related major lifecycle constraints and objectives as well as the new opportunities and challenges brought by AM, a new ruleset was proposed (Yang and Zhao 2018). To simplify the expression, an unevaluated, infeasible, or feasible pair of components are marked as , ( ; ), or ( , ) respectively. A concept of "conflict code" is introduced to document the specific conflict when a certain rule in the ruleset is violated by ( ; ). component pair , if and only if the following rules are all met, ; otherwise, . (1) Relative motion (R1): there exists no relative motion within ( ? ). If false, a conflict code "CF_RelativeM" is associated with the pair ( ? ). The action of association is defined as "return" in the following text.

(2) Material variance (R2): there is no material difference within . If false, return a conflict code "CF_MaterialV";

(3) Assembly access (R3): part consolidation of should not block the assembly access of any other node groups . If it is blocked, return corresponding conflict code "CF_AssemblyX" and ( ; ) & ; (4) High-quality electronic/standard device (R4): neither nor is a standard or electronic device. If false, return a conflict code "CF_StandardD" and ( ; ) & ( ; );

(5) Size limitation (R5): size limitation is define by a triplet (Length, Width, Height). If any of this meta element is not met, return a conflict code "CF_SizeLimit" and corresponding node groups; (6) Material availability (R6): Currently, not all the engineering materials are available for AM processes. If not satisfied, return a conflict code "CF_Material0" and corresponding node ; (7) Maintenance frequency difference (R7): there should be no significant maintenance frequency difference within . If false, return a conflict code "CF_MaintenanceDiff" and .

The concept of conflict code is used for secondary identification of potential AM solutions after the primary verification of the new ruleset. For example, when a "CF_MaterialV" is returned, possible AM solutions such as embedded components or functionally graded material method can be synthesized to overcome the material variance problem. The reason why R2 is still effective is because the quality of multi-material printing is still in question. It should be advised that the new ruleset is more concentrated on feasibility and quality concerns. For other concerns like cost and sustainability will need more investigation in the future.

FPI network

FPI network is to virtually model the interaction relation between component pairs, and to extract physical attributes (e.g. material) of each component. More specifically, interaction strength can be evaluated by the type of interactions (i.e. exchange of energy, material, or signal) and physical interactions (i.e. fixation, alignment, and position). If there exists interaction between a pair of components, an edge is created and weight is assigned in correspondence to the interaction strength at a scale of 1. Therefore, an FPI network can be represented as:

(1)

For a FPI network, the specialty lies in the physical attributes of nodes and edges in comparison with a general undirected weighted graph. The attributes are shown in Equations ( 2) and ( 3).

(2)

(3)

Where. and are component IDs. , , , and are to characterize the feature of each node, and this information is necessary to evaluate rules R6, R5, R7, and R4 respectively.

(R2) and (R7) are to check the similarity of material and maintenance frequency between and .

is the stack up size of bounding boxes of and in the assembled state (R5), and is to check whether there is relative motion between each other (R1).

NPCCD algorithm

The NPCCD algorithm is to find the minimum grouping solution of the FPI network with respect to the new ruleset. The Principle of Strength is the core to be followed in this algorithm. The workflow of the algorithm is presented in Figure 2 with a simple example (the physical product is shown in Figure 8). All the physical attributes of the exemplified product are embedded in each node and edge (see Table 2 of the case study), and AM constraints are also included in Section 5.1. The initial input is an FPI network , and linked nodes are regarded as one group. First, rules R4, 5, and 6 are verified for each node according to its attributes of material, size, and IsStandard respectively. Two nodes and fail the test and the rest nodes remain connected (See G1 in Figure 2). Second, rules R1, 2, 7 and 5 are verified for each edge of network in accordance with its attributes of relative motion, material variance, maintenance difference, and bounding box sizes. Only 5 pairs of nodes in 4 groups survive these rules (See G2). Third, each group of connected nodes (e.g.

) ought to be checked for the stack-up size in the assembled state, which guarantees that all of them can be consolidated and printed as one without violating the rule R5. This step is the core function of the NPCCD algorithm that enables searching for the minimum grouping solution. In the end, each node group in is treated as one consolidated node, and R3 (assembly access) is verified. In this example, assembly access of component is hampered by consolidation of the link ( ); therefore, Step 3 needs to be repeated to find another feasible solution. The final solution S is shown in Figure 2 with 3 groups that has potential to be consolidated. Throughout steps 1-4, all the nodes, node pairs, and node groups that fail the new rules are archived in a database called "conflict info hub" with specified conflict type codes that are listed in Section 2.3.1.

Product modularization methods

Modularization of product allows more flexibility to control the effect imposed by the change of design requirements [START_REF] Gershenson | Product modularity: definitions and benefits[END_REF], reduces lifecycle cost through decreased number of processes [START_REF] Ulrich | The role of product architecture in the manufacturing firm[END_REF], promotes reconfiguration and product variety, and eases maintenance and retirement [START_REF] Sosale | Product modularization for reuse and recycling[END_REF]. The way of realizing modularization is defined as module division. Typical approaches of module division include function-based heuristic method [START_REF] Stone | A heuristic method for identifying modules for product architectures Design studies[END_REF], design structure matrix method (DSM) [START_REF] Guo | A comparison of modular product design methods based on improvement and iteration[END_REF][START_REF] Hölttä-Otto | Degree of modularity in engineering systems and products with technical and business constraints[END_REF][START_REF] Jung | New modularity indices for modularity assessment and clustering of product architecture[END_REF][START_REF] Yu | An information theoretic method for developing modular architectures using genetic algorithms[END_REF], and adjacency matrix (ADM) (or graph-based) method [START_REF] Li | Function Module Partition for Complex Products and Systems Based on Weighted and Directed Complex Networks[END_REF][START_REF] Sosa | A network approach to define modularity of components in complex products[END_REF]), of which the ADM approach draws increasing attention. This means has been proven effective not only in finding community structures in social and biological networks [START_REF] Clauset | Finding community structure in very large networks[END_REF][START_REF] Newman | Finding and evaluating community structure in networks[END_REF], but also in modularization of engineering product/systems [START_REF] Braha | The complexity of design networks: Structure and dynamics[END_REF][START_REF] Sosa | A network approach to define modularity of components in complex products[END_REF]). More importantly, the ADM method coupled with well-developed complex network theory offers a useful tool for data visualization and characterization (Barabási 2016; [START_REF] Braha | Topology of large-scale engineering problem-solving networks[END_REF][START_REF] Braha | The statistical mechanics of complex product development: Empirical and analytical results[END_REF]. Some insightful properties of a graph can be examined such as centrality and criticality of nodes and system dynamics, with which it has been extended to engineering system fields to study the project's risk propagation [START_REF] Fang | Dealing with project complexity by matrix-based propagation modelling for project risk analysis[END_REF][START_REF] Jaber | Criticality and propagation analysis of impacts between project deliverables[END_REF], prioritization-based resource allocation [START_REF] Maier | Simulating progressive iteration, rework and change propagation to prioritise design tasks[END_REF], and network robustness against failure and attacks [START_REF] Haley | A comparison of network-based metrics of behavioral degradation in complex engineered systems[END_REF][START_REF] Kasthurirathna | The failure tolerance of mechatronic software systems to random and targeted attacks[END_REF], and so on. For easy visualization purpose ease of interactive operations in PCCD, ADM method is selected as the tool for module division and community detection in this paper.

PC design with modularization and community considerations 3.1 Relations between PC and modularization

In this section, two main questions are addressed: 1) why PC should consider the need of modularization;

2) what kind of module should be treated as a "hard constraint". The second question is very important because PCCD will be confined only within each module. If a product has hierarchical modules or different modularization methods yield various module division results, the final grouping solution from PCCD will be different.

Modularization can help to uniformly distribute the amount of information to be handled across levels, thereby reducing the overall design complexity [START_REF] Lipson | Principles of modularity, regularity, and hierarchy for scalable systems[END_REF]. Modular design can also facilitate easy maintenance, improve configuration flexibility, and prevent failure propagation [START_REF] Gershenson | Product modularity: definitions and benefits[END_REF].

However, poor-quality modularization may result in excessive interfaces, worsen supply chain management efficiency, and decrease lifetime values [START_REF] Engel | Advancing architecture options theory: six industrial case studies Systems[END_REF]. In contrast, PC design is a technique to eliminate mating interfaces and promote system integrity and homogeneity. The new AMenabled opportunities of consolidating more parts or functions make designers to rethink about the tradeoff between modularization and integrated design. Considering the current capabilities of AM technologies, we propose that PC should be limited to each module. Thus, benefits from both sides can be enjoyed. Therefore, we have the first mindset:

Mindset I: Part consolidation should be primarily conformal to modules and inter-module consolidation is discouraged.

The first mindset highlights the importance of a clear boundary of a module in contrast with the concepts of a product or a sub-module. However, the boundary of the former is so difficult to be quantitatively drawn. Useful heuristics may include: 1) scale of the design (part count per se); 2) design project complexity which can be measured by the hierarchy and breadth of function structure [START_REF] Keating | Measuring design quality by measuring design complexity[END_REF][START_REF] Rodriguez-Toro | Complexity metrics for design (simplicity+ simplicity= complexity[END_REF] or the level of required skills and expertise. Correlated to the concept of a sub-module, the necessity of subdivision of a module should be examined. The criterion to check the necessity is whether subdivision can contribute to an increase of the overall modularity of the system. If it is true, the new sub-module should be also treated as a "hard constraint". Therefore, we have the second mindset:

Mindset II: if subdivision of a module contributes to a higher modularity, the new sub-modules are also defined as "hard constraints".

The proof is as follows. As shown in Figure 3, product P0 is optimally divided into n modules, and the module division solution is denoted as S1 with a modularity . Assume that one module can be further divided into submodules. Therefore, the new solution becomes S2 with modules and the new modularity will be . Apparently, because is the global optimum. In conclusion, if S1 is the global optimum, there is no need to further break down the modules.

It should be advised that not all existing module division methods satisfy the requirements of finding the quantitative global maximum modularity. For example, Ulrich's method [START_REF] Ulrich | The role of product architecture in the manufacturing firm[END_REF] is to pursue bijective mapping from function to its physical elements to maximize modularity. Therefore, modules are defined at a very high level so that further breakdown is essential to reach the global maximum. In other words, only those methods that ideally examine the full combinatory solution space of components do not need a secondary module division. However, for extremely complex systems (e.g. a vehicle or an airplane), redoing the process of modularization is not cost efficient. Using existing module information (i.e. sub-systems) in a highly modularized product as the origin is more favored.

Relations between PC and community characteristics

In this section, three questions are addressed: 1) why community characteristics of a module should be considered in the PCCD process, 2) should inter-community component pairs be consolidated, and 3) how to define whether a module has strong community characteristics or not? The following are our basic arguments.

Community characteristics refer to the phenomenon that a community has intensive internal connections but sparse external links with other communities. Essentially, such a high degree of dependency between components in the same community indicates these components should be considered as a whole. Therefore, we have the third mindset: Mindset III: component pairs within a community should have higher priority for consolidation than inter-community ones.

Community characteristics are only examined within a module instead of a product to avoid confusion with modularization. According to the Mindset II, if subdivision does not contribute to an increase of the global modularity, module division should stop. In other words, communities identified in each module are not sub-modules. Besides, the design complexity at a module level is manageable, and further subdivision may cause an over-fractured system. Therefore, we have the fourth mindset: Mindset IV: inter-community component pairs should also be considered for consolidation if the proposed ruleset can apply.

The Mindset IV is consistent with the idea of minimizing part count to reserve the potential of finding the global optimum of performance-to-cost solutions (Yang and Zhao 2018). To be more specific, a community only defines the priority of consolidation rather than dualism (pass/fail) as required as a module. The remaining question is how to justify whether a module has strong community characteristics or not. According to the widely cited work done by [START_REF] Newman | Finding and evaluating community structure in networks[END_REF] after examining a large amount of networks, a network with modularity that is larger than 0.3 shows strong community characteristics. Borrowing the same idea, we use modularity to evaluate whether a module depicts community characteristics or not. To avoid confusion with module division, modularity evaluation in a module is defined as community detection although they both use modularity-maximum algorithms. However, the method of modularity evaluation and the type of network make it difficult to have a single value for all kinds of engineering systems. Therefore, we have the fifth mindset: In the proposed MPCCD framework, the challenges lie in the collection of physical attributes of each component and functional relations between components. As the complexity scale of product increases, the effort for data preparation also expands. However, creating the DSM alike adjacency matrix offers designers a systematic and valuable understanding of the design, especially interactions between parts, which in turn supports better decisions in product design and management. With the development of artificial intelligence in design reasoning in the conceptual design stage, MPCCD framework can be potentially extended to deal with a new design as well.

Module division/ community detection algorithm

Module division and community detection are essentially the same but work at different levels (i.e. a product and a module). As required by the MPCCD framework, both module division and community detection need to find the grouping solution with the maximum modularity. In this paper, we use one of the commonly used ADM-based modularity-maximum algorithms [START_REF] Clauset | Finding community structure in very large networks[END_REF][START_REF] Newman | Finding and evaluating community structure in networks[END_REF]) in networks to acquire the modules and communities. It should be advised that other module division methods such as lifecycle similarity-based approach [START_REF] Gershenson | Product modularity: measures and design methods[END_REF]), information theoretical method [START_REF] Yu | An information theoretic method for developing modular architectures using genetic algorithms[END_REF]), and DSM-based method (Hölttä-Otto and De Weck 2007;

Jung and Simpson 2017) can be applied as well.

Modularity metrics

Modularity is defined as the level of proximity of nodes within modules and remoteness of nodes across modules in this paper. Therefore, modularity can be used as a measure of quality of module division. One of the well-known modularity measures of a weighted network is presented in Equation ( 4):

(4)

Where and are nodes. The parameter represents the sum of interaction strength of all links that are connected to node .

is the element in the adjacency matrix, and is the community which contains node . If nodes and belong to the same community, then ; otherwise, . , and it represents the total strength of the network. The first half of the equation signifies the fraction of edges whose both ends fall in a module while the second half represents the fraction of nodes that at least one end of edge falls in the module .

Module division optimization problem

Module division optimization problem can be mathematically formalized as follows:

Max:

(5)

w.r.t. ( 6
) (7)
Where is a vector of nodes in community and is the number of members in community . N is the total number of nodes and is the number of communities. By means of optimizing the total number of communities and the allocation of nodes in communities, we can find the optimal module division scheme with the highest modularity.

Finding the solution

To find the optimal solution, the genetic algorithm (GA) is employed because the solution space can be as large as

. Modularity is used as the fitness function. The basic flow of module division is shown in Figure 5. The flow starts with the initialization of chromosomes with real number coding scheme. Secondly, chromosomes are translated into modules and modularity is calculated according to Equation (5) for each module. Then, the highest fitness in the current generation is checked to see if it is better than the archived highest fitness in the previous generations. If yes, the next step is proceeded; otherwise, program stops. The next step is to make sure that the user-defined maximum iterations have not been reached. If yes, the process goes to GA operators module for updating chromosomes by crossover and mutation operations; otherwise, program stops. (1) Chromosome coding and initialization An illustrative example of real number chromosome coding is shown in Figure 6 (a). Each cell is filled with a real number. Assume the position of a gene code is , then the value of can only be retrieved from the neighborhood . This is expressed as:

(15)

Where is defined as the neighborhood of node and it is comprised of all the nodes connected to node .

(2) Translation scheme For a given chromosome, the translation scheme is shown in Figure 6 (3) GA Operators GA operators include selection, crossover, and mutation which are briefly introduced as follows:

 Selection: roulette wheel selection is chosen to select the parents to be kept for next generation.  Crossover: randomly select two parents and use segment crossover.  Mutation: single gene mutation. The value of the muted child should belong to its neighbourhood .

CPCCD algorithm

The CPCCD algorithm is derived from the NPCCD algorithm, but it takes consideration of modules and communities with respect to the three principles. With the inputs of FPI network and communities in the module , the whole graph can be divided into two set of subgraphs: intra-community subgraphs (

) and one inter-community subgraph ( ). Then the rules R1-7 are tested on each set separately and the re-joined graph ( ). The detailed flow is shown in Figure 7.

Case Study

Two case studies of a throttle pedal and an octocopter are presented to demonstrate the effectiveness of the proposed CPCCD algorithm and the MPCCD framework respectively. Current program is implemented in Matlab R2017 with a desktop (Win10, 8G RAM, 3.7GHZ); therefore, some physical attributes (e.g. material and size) of the CAD models are manually prepared beforehand, but this process can be easily automated within commercial CAD software.

Throttle pedal

As shown in Figure 8, the throttle pedal is comprised of 13 components without counting washers and fasteners. Detailed component list and physical attributes are summarized in Table 2. The device functions to transfer human energy to digital signal so that drivers can control the gas emission. The gas pedal is a highly modularized component in a car so that there is no need for further subdivision. However, it is necessary to analyze whether the given pedal depicts strong community characteristics. For test purpose, available materials for AM are limited to steel and plastic. Building volume is set at (500, 500, 500).

L L L L L L L L L L L L IsStandard 0 0 0 0 0 0 0 0 1 0 0 0 0
First, the FPI network is constructed with interaction strength as shown in Figure 9 (a). The GA-based community detection algorithm is applied to find whether there exist communities in this network. The main parameters are summarized in Table 3 and the final communities are presented in Figure 9 ).  Step 6: rule R3 (i.e. assembly access) is manually implemented in the remaining graph of . We find out that consolidation of ( ) will hazard the insertion of the bearing (C6); therefore the combination (

) is marked as infeasible. Steps 2-5 are repeated once to find another minimum grouping solution. In the end, the final grouping solution is depicted in Figure 11 (g). Hereby, groups (

) and are the final list of potential candidates for PC. During Step 1-6, any violation of rules R1-7 is documented in the conflict hub (see Figure 12 (d)). For example, (

) violates the rule R3 so that it is archived for future reference of finding an AM-enabled solution, such as embedding a bearing (C6) with the shaft. To demonstrate the necessity of the Mindset IV (see Section 3.2) that inter-community component pairs should also be consolidated even if not all members in a community are consolidated, we slightly modify the CPCCD algorithm by deleting all the operations on the inter-community pairs. The modified algorithm is defined as IntraM-PCCD which only consolidates components within each community. The comparative results of the two algorithms are shown in Figure 12 (c) and (f) respectively. It is observed that consolidation of component pairs and are feasible but omitted in the IntraM-PCCD algorithm. We can see that the CPCCD algorithm tends to form larger groups to reduce overall part count. Hereby, consolidation of inter-community component pairs is necessary to create a more compact design to reduce assembly interfaces. Therefore, the solution of the CPCCD is more favored than that of IntraM-PCCD.

Octocopter

This case study is to validate the effectiveness of the MPCCD framework in dealing with a product with moderate complexity. An octocopter design is presented in Figure 13 (a). The drone is designed as a general platform to support photographing purpose and allow 3-axis rotation of view. The drone is comprised of 232 components without counting fasteners. The basic functions of the drone include "provide lifting force", "support communication electronics", "allow 3-axis rotation", "support camera", and "enable safe landing". With the module information unknown, the module division algorithm is applied first to find the modules with the maximum modularity. The corresponding FPI network is shown in Figure 13 (b) and each blue node represents one component. Parameters for the GA algorithm are summarized in Table 4, and the total time cost is 5538 seconds for the overall 10 runs to avoid local optimum. The maximum modularity is and the octocopter system is divided into 20 modules as colored in Figure 13 (c) and (d).

NPCCD algorithm is called for M18 instead. The final grouping solutions of these two modules are presented in Figure 16 (a) and (b) respectively. In M15, four groups are found feasible to be consolidated: , , , and . The physical view of these groups is shown in Figure 17.

Sensitivity analysis and computational complexity

To better understand the robustness of the proposed algorithms, sensitivity test is conducted. Two algorithms are involved in this paper: module division (or community detection) and CPCCD (or NPCCD). The only parameter that is subjectively evaluated by designers is the interaction strength between adjacent nodes, which in turn affects the weighted adjacency matrix. Other inputs such as attributes (e.g. size, material, maintenance frequency, and relative motion) of nodes or edges and the binary adjacency relations between nodes allow no fluctuation; otherwise, the interpretation of the given design is wrong, and the result is not trustable. As such, the goal of sensitivity analysis is to examine the variance of communities (or modules) with respect to the change of interaction strength in the adjacency matrix. For easier interpretation, the pedal example is selected as the benchmark to examine the combined effect of community detection and CPCCD.

The functional and physical interaction strength is divided into 7 levels ranging from 0 to 1 based on the physical coupling relation and the input-output flow of functions. Amongst these levels, errors may occur in the following two scenarios. The first scenario is between Level 1 (i.e. firm connection and large force, score 1) and Level 2 (i.e. medium connection and large force, score 0.8). The other one is among Levels 3-5 with scores of 0.6, 0.5, and 0.4 depending on the coupling relation and magnitude of force. For more details of strength scoring, please read our previous paper (Yang et al. 2018). For robustness test, random errors are assumed to occur within these two scenarios with a given possibility (defined as error possibility) by using the correct adjacency matrix as the baseline. For example, the real strength between nodes A and B is 0.4, but this value is changed to 0.5 or 0.6 with an error possibility of 10%. Repeat this operation for all node pairs that satisfy the two scenarios. Then community detection and CPCCD algorithms are re-conducted to check the correctness of the communities and the groupings. Repeat all the operations for 50 times, then 50 different adjacency matrices are obtained with different communities and CPCCD results. The settings of the sensitivity test are summarized in Table 5. Three different cases (10%, 20%, and 30%) of error possibility are individually tested. In the adjacency matrix, 12 elements satisfy the two scenarios, and the average number of modified elements in each run is roughly 1, 2, and 4 respectively. It is observed that the chance of finding the erroneous communities is nearly 10% while all groupings are correct in the tested three cases. It reveals that the community detection algorithm is sensitive to the subjective scoring of FPI strength while the CPCCD algorithm is highly robust. There are two underlying reasons for this robustness. First, "community" is treated as a weak constraint so that intra-community nodes still can be consolidated if candidacy rules are satisfied (see Mindset 4). Therefore, the grouping result is not affected by the community detection result. Second, some of the modified elements in the adjacency matrix may violate the candidacy rules, which further reduces the chance of error propagation. In the MPCCD framework, the most time-consuming step is to find the maximum modularity. The computational complexity is roughly where is the number of nodes, is the population size of GA, and is the number of generations. Normally, is recommended to be as half of , and should be more than 2 times of . Therefore, the total running time is estimated to be . Compared to the module division algorithm, the CPCCD algorithm is fast and the top limit of time cost is where is the maximum number of edges in the module. Comparing manual implementation of module division with automated approaches (e.g. DSM or graph-based ones), similar efforts will be needed to understand the interaction relations between parts, but extra effort is needed for the automated approach on the scoring of FPI strength. However, reported researches [START_REF] Jung | New modularity indices for modularity assessment and clustering of product architecture[END_REF][START_REF] Yu | An information theoretic method for developing modular architectures using genetic algorithms[END_REF] have shown that automated approaches can help designers to make more sound decisions in complex product. In comparison of manual implementation and automation in PC candidate identification, the latter one shows much higher efficiency in acquiring physical attributes (e.g. material, size, and machine limits) and performing group partition (see literature (Yang et al. 2018)). Moreover, the automated method is highly advantageous to be easily adaptable for different AM machines with various capabilities.

Conclusions and future research

In this paper, we proposed three basic principles to rationalize the consideration of modularization and communities in a general PCCD process. These principles and the new set of heuristic rules are incorporated into an MPCCD framework to support automated reasoning process of PCCD. This MPCCD framework is featured by the module division algorithm, the CPCCD algorithm, and the NPCCD algorithm. Effectiveness of the proposed CPCCD algorithm and the MPCCD framework is proven by the case studies of a throttle pedal and an octocopter. However, there are a few deficiencies to be overcome in the planned research with a broader goal of being applicable to much more complex product. First, retrieval of all the physical attributes of nodes and edges in the FPI network is tedious. Information such as maintenance frequency and functional relation must be manually inputted. Second, verification of the rule R3 (assembly access) still needs manual check because automatic assembly planning problem is still challenging in a complex system nowadays. For highly complex product/systems, three possible strategies may be helpful. First, adjacency relation between parts can be automatically obtained by inbetween clearance or user-defined constraints. Second, for highly complex systems (e.g. an aircraft), manual dissection of the system by its functions to obtain the high-level modules is suggested. Then the proposed algorithms are ready to be applied in each subsystems. Third, a CAD plugin is highly recommended to help designers to traverse the assemblies to form better understanding of the design intent and relations between parts. Such an interactive solution can largely minimize errors introduced by traditional manual module division means.

For future research, the following aspects are planned in the next step:

1) Robustness of the module division algorithm should be improved. As revealed by the sensitivity test, the module division algorithm is sensitive to the scoring of FPI strength values. As such, a more precise scoring mechanism should be developed.

2) The influence of the value of needs more investigation.

3) Although the GA-based module division algorithm is proven to be effective, it takes too long to find the optimal module division. Other modularity-maximum methods are interesting to be tested. 4) Develop a plugin in a CAD software to simplify the process of data acquisition and visualization.

Acknowledgement

Constructive review comments from reviewers and editors are highly appreciated.

Figure 1

 1 Figure 1 an illustrative example with module, community, and infeasible links

Figure 2

 2 Figure 2 NPCCD algorithm with an example

Figure 3

 3 Figure 3 an illustrative example of module division.

  Figure 4 Modularity-based PCCD framework

Figure 5

 5 Figure 5 module division optimization flow.

  Figure 6 coding and translation scheme

Figure 8

 8 Figure 8 exploded view of a throttle pedal

  (b). The maximum modularity , and time cost is 3.11 seconds. The program converges at the 50th generation as shown in Figure 10 (b). The high modularity value indicates the necessity of employing the CPCCD algorithm for part consolidation. Second, the details of implementing the CPCCD algorithm is illustrated as follows:  Step 1: the original graph is subdivided into intra-community subgraph and intercommunity subgraph according to the derived community information (see Figure 11 (a) and (b)).  Step 2: rules R1-7 except R3 (i.e. assembly access) are verified in each community of to identify the potential groups of components. To be more specific, the derived groups (linked nodes are treated as one group) shown in Figure 11 (c) satisfy all rules except R3.  Step 3: similar as Step 2, all rules except R3 and R5, are verified in the subgraph to find the feasible pairs of inter-community components that can be consolidated. The result is shown in Figure 11 (d). In this example, component pairs and are feasible but the group is unverified.  Step 4: all the remaining links from Step 2 and 3 are chained and re-assembled as one graph as shown in Figure 11 (e).  Step 5: rule R5 is verified in the graph to find the minimum grouping solution with respect to the given size limitation and the three principles. The resulted groups are shown in Figure 11 (f) where each linked subgraph represents one feasible node group (e.g.

Figure 10

 10 Figure 9 FPI network of the throttle pedal and module division resultsTable 3 GA parameters adopted in throttle pedal test 13 20 200 0.4 0.05 5

  Figure 12 result comparison of CPCCD and IntraM-PCCD.

Figure 14

 14 Figure 14 Detailed physical view of module division result.

  Financial support from the National Sciences and Engineering Research Council of Canada Discovery Grant RGPIN 436055-2013 and McGill Engineering Doctoral Award (MEDA) is acknowledged with gratitude. Reference Barabási A-L (2016) Network science. Cambridge University Press, Cambridge, United Kingdom

Table 1 Comparison of existing PCCD strategies in DFAM Literature Strategy Selected object Scale* Final part # Not discussed Heuristic rules Point-to- plane Plane- to-point GE

 1

	capital (2013)		fuel nozzle	20	1
	Schmelzle et al. (2015)		Hydraulic manifold	<17	1
	Gibson et al. (2010)		air duct	16	1
	Dietrich and Cudney (2011)		manifold duct	>9	1
	Klahn et al. (2015)		sawdust blower	>4	1
	Kumke et al. (2016)		housing cover assembly	2	1
	Reiher et al. (2017)		RW-bracket	4	2
	Yang et al. (2015)		triple clamp	6	3
	Prakash et al. (2014)		flow control valve	18	8
	GE report (2017)		helicopter Engine	<900	14
	Yang et al. (2018)		throttle pedal	13	9
	* Without counting fasteners and washers

Table 2 Component list and attributes of throttle pedal pedal pins lever Right case Shaft Bear -ing Ret. ring D- pin Potl. meter Rot. limit Spring Left case Gasket

 2

	#		C1	C2	C3	C4	C5	C6	C7	C8	C9	C10	C11	C12	C13
	Volume	L W H	50 37 10	11 7 6.3	217 74 22	74 74 12.5	40 40 23	68 68 9	52 52 1.6	28 7.5 5.5	40 40 23	63 63 9	38 34 20	107 74 18	74 74 0.5
	Material	steel	steel steel	steel	steel	steel steel steel plastic	steel	steel	steel	rubber
	MaintFreq	H

Table 5

 5 parameters and results of sensitivity analysis of the pedal example

	Error	# of test	Total # of modified	# of erroneous	Percentage of	# of erroneous final
	possibility	runs	elements in FPI matrix	communities	errors	groups
	10%	50	53	4	8%	0
	20%	50	137	6	12%	0
	30%	50	202	5	10%	0

Mindset V: if modularity of a module is larger than a threshold value , this module has strong community characteristics.

The threshold value requires further study in the future via examining more types of engineering systems. In this paper, we use as the default value because the adopted modularity metrics are the same as Newman and Girvan's approach [START_REF] Newman | Finding and evaluating community structure in networks[END_REF]. For a module with strong community characteristics, the Mindsets III and IV need to be implemented in the PCCD process. A community-based PCCD (CPCCD) algorithm should be developed. In contrast, the Principle of Strength should be employed in the PCCD process if the module has weak or no community characteristics. The NPCCD algorithm is to fulfill this purpose.

Modularity-based PCCD framework

Aiming at developing a generally applicable method to support automated PCCD process regardless of the scale of design inputs (i.e. product, module, or assembly), we propose a modularity-based PCCD (MPCCD) framework. This framework is to computationally emulate the reasoning strategies of the three principles and five mindsets proposed earlier. The details are presented in Figure 4. The initial input is the CAD model of an existing product or assembly with detailed physical attributes such as material, dimensions, and maintenance information. The final outputs include the minimum grouping solution of components and the conflict codes that are encountered in the PCCD process. It is comprised of 6 main steps:

(1) An FPI network is constructed to virtually represent the functional and physical interactions between components, and all necessary physical attributes (see Section 2.3.2) of each component are extracted in preparation for the following steps.

(2) Designers need to decide whether it is necessary to do module division for the given problem.

Considerations of problem scale, design complexity, and required knowledge and skills should be taken. This step will be flexible and it highly depends on the specific design team and project. If there is a need to do modularization, go to step 3; otherwise, the given input is treated as one module and proceed to step 4. (3) A modularity-maximum module division algorithm is applied to subdivide the FPI network into modules . (4) Community detection is applied in each module to verify whether there are strong community characteristics. The outputs at this step are the modularity and communities if applicable.

(5) Modularity is compared with the given threshold . If is larger, then the CPCCD algorithm is implemented in the module ; otherwise, the NPCCD algorithm is used. (6) Either NPCCD or CPCCD is run for a given module. Then, components in a module are clustered into groups with the minimum number while being conformal to the new ruleset and principles. Meanwhile, conflict codes are returned in association with the specific node or node pairs.

Extract inter-community subgraph G0out

Subgraphs G0in Subgraph G0out

Verify rules R4,5,6 on each node Verify rules R1,2,7,5 on each node pair Verify rule R5 on each node group in each subgraph G0in

Re-assemble remaining subgraphs G0in1 and Subgraph G0out1 as G1

Verify rules R5 on graph G1

Verify rules R3 on graph G1

Solution S2

Extract intra-community subgraphs G0in

FPI network G0 Community {CMi}

Conflict info hub Subgraphs G0in1

Subgraph G0out1

Graph G1

Solution S1

Figure 7 framework of proposed CPCCD algorithm

In the beginning, community information is employed to partition FPI network into and . Then, rules R4-6 and rules R1, 2, 7, 5 are applied to both subgraphs individually to check whether certain node or node pair may fail the rules. Next, only intra-community subgraphs need to undergo a round of size check for groups within each cluster to secure conformance to rule R5. The reason why intercommunity graph does not need this step is that intra-community connections are secondary to intra-cluster links in terms of consolidation order. At this point, remaining subgraphs and are rejoined as one graph and all feasible groups in intra-community subgraphs are marked with high priority. Then, rule R5 is examined on the re-assembled graph to find the minimum grouping solution . In the end, each group of nodes are treated as one node and rule R3 is examined on each node to secure assembly feasibility. If R3 is failed, breakdown of the group will be necessary, and Step 6 is recalled generating another feasible solution . This process repeats until the minimum grouping solution satisfying the rule R3 is found. Finally, make . Throughout all these steps, any violation of the new rules R1-7 is documented with the corresponding conflict type code and saved in the "conflict info hub" as marked in green in Figure 7. The detailed physical view of the modules is presented in Figure 14. The 20 modules are classified into 4 high-level subsystems corresponding to its functions. All periodic modules are found correctly except two interesting cases. First, the module M17 includes a damper plate ( ), a wheel ( ), a belt ( ), and a damping unit consisting of two damper shafts and three plates (see Figure 14 (b) in pink). The module division algorithm separates the other three functionally-equivalent damping units (M18-20) but merges one damping unit into the M17. This is because inclusion of one damping unit can reduce inter-module connectivity, but addition of extra damping units will decrease intra-module connection density. Second, two brackets (assembly) that connects the ends of the horizontal pipe are assigned in two different modules M13 (in pink) and M15 (in red) (see Figure 14 (c)). More specifically, the right bracket assembly (made of 6 parts) is more intensively connected with the shaft ( ) than the pipe ( ); therefore, the right bracket assembly belongs to M15 instead of M13. In brief, the modularity-maximum method has full consideration of the role of each component to find the global optimum so that there is no need to do further subdivision.

To examine whether there exist strong community characteristics in each module, community detection algorithm is applied individually. The maximum modularity of each module is summarized in Figure 15 (a). Only 8 out of 20 modules have strong community characteristics ( ). For example, M15 and M18 show quite different network properties. M15 is subdivided as 5 communities (Figure 15 (b) in different color) and while M18 is a random network with no sign of communities Figure 15 (c). Therefore, the CPCCD algorithm is applied for M15 to find the minimum grouping solution while the All the structural components are made of plastic except the top platform (in aluminum) and pipes (in composite). Size limitation is set to be (500, 500, 500). Standardized components include all the motors and one camera. Relative motion matrix is manually prepared beforehand, but it can be extracted if the physical constraints of the model is well defined in the CAD model. The final grouping solution in its network form is presented in the appendix. There are total 31 groups of components that are deemed as PC potential candidates, and the physical entity of each group is included in the bottom section of Figure 17. Due to its repetitive nature, only 14 out of 31 groups are distinctive. Revisiting the second "abnormal" case in the module division discussion, we can see that the PCCD algorithm successfully find the consistent groups and although they are distributed in two different modules in the beginning. The result demonstrates effectiveness of the MPCCD framework.

Appendix: MPCCD final result of the drone