A heuristic configuration solving process planning method for mechanical product configuration by imitating the crystal crystallization process

Configuration design is a process of composing customized product from a set of predefined component types with a set of well-defined rules which decide how items can be selected and combined. The configuration solving process is to instantiate all component types into instances. However, the configurator faces the problem of how to determine the instantiation order of component types in the configuration solving process. An unreasonable instantiation order may reduce the accuracy of the configuration result and extend the time required to finish the configuration. In response to the above problem, a heuristic configuration solving process planning method by imitating the crystal crystallization process (CCP) was proposed. According to the product configuration rules, the frequent itemset mining algorithm was used to mine the correlation between the attribute parameters of the product configuration unit. By imitating the CCP and utilizing the calculated coupling strength, the configurator will determine a suitable instantiation sequence for component types. This method has been applied in the GB10 elevator produced by Canny Elevator. It is found that the configuration accuracy has been improved and the consumption of time has been reduced.


Introduction
With the fast improvement of people's living standards, enterprises have received more personalized demands from customers. Meanwhile, technological progress has promoted the renewal of products, which requires enterprises to produce various products at relatively low costs. Confronting with this pair of contradictory requirements, a great number of enterprises have gradually transformed their production patterns from mass production to mass customization. Configuration design is one of the effective ways to achieve mass customization. It can help enterprises to reduce the cost of research and development while meeting the demands of customers to the greatest extent [1].
The goal of configuration design is to compose customized product from a set of predefined component types with a set of well-defined rules which decide how items can be selected and combined [2,3]. Component types are characterized by attributes and represent sets of alternative instances. For example, the motor produced by a certain manufacturer has two types: motor-A and motor-B. Meanwhile, the motor has attributes like rated voltage and rated power. A motor can be instantiated to be motor-A or motor-B. The final result of the configuration design is a list of instances that are obtained by instantiating component types. The instantiation process of component types is just the configuration solving process. To better introduce the configuration solving process, the concepts of product configuration unit (PCU) and product configuration template (PCT) are defined here. Each PCU is defined as a package that encapsulates a certain component type and its corresponding rules which are predefined. The rules are represented in an if-then style and determine which instance of the component type to be selected. PCT is an abstract object of a product series, and it represents products that have similar shapes and functions. It is composed of PCUs and has a classical tree shape. According to the demand of customers, different PCUs can be selected to form various PCTs. The configuration solving process is to instantiate all the PCUs in the PCT into instances according to the rules and finally obtain a tree composed of instances (PCU instantiation is equivalent to the instantiation of component types).
When traditional machinery manufacturers like Canny Elevator develop configurators, they usually traverse the PCT tree from top to bottom and instantiate the PCU in the order of nodes. During the process of instantiation, the consequence of the configuration solving process can be greatly affected by the constraints between PCUs. The constraints between PCUs indicate the situation where the instance of a component type in a PCU affects the instantiation of other PCUs. For example, an elevator product contains a traction machine and a driving sheave. The instantiation of the traction wheel will be affected by the instance of the traction machine. Sometimes we also refer to this relationship between PCUs as coupling and use the concept of coupling strength to express the closeness of the relationship between the two. If the driving sheave is instantiated before the traction machine, we will not get the instantiation result of the driving sheave. The mismatch of the driving sheave can be avoided by arranging a more reasonable PCU instantiation sequence for the configuration solving process in advance.
Arranging a reasonable PCU instantiation sequence is the content of the configuration solving process planning in this paper. A method is proposed to achieve this object. The entire problem-solving process is divided into two steps: coupling strength quantification and instantiation sequence arrangement. Coupling strength quantification is a measure of the strength of the constraints between PCUs; it is the forerunner of instantiation sequence arrangement. For the measurement of coupling strength in this problem, most of the existing methods which can be used are vague and subjective such as triangular fuzzy numbers. There is no objective quantitative indicator at present. In this case, we start from the data itself and introduce data mining into this process. The amount of information contained in each parameter from configuration rules is mined, and the degree of information dependence between each PCU is used as a measure of coupling strength. After clarifying the constraint relationship through the coupling strength, instantiation sequence arrangement can be implemented. The design structure matrix (DSM) proposed by Steward [4] can be used here. However, the DSM matrix has the disadvantage of not being flexible enough to deal with larger problems. Thus, we propose a heuristic method by imitating the crystal crystallization process (CCP). This method is more flexible when the product structure is more complicated and the number of PCUs is large.
The remainder of the paper is organized as follows. Section 2 is the literature review. Section 3 briefly introduces the concept of product configuration unit (PCU) and expresses the contributing factor of coupling. The calculation method of coupling strength is given in Section 4. Section 5 presents our method for arranging the PCU instantiation sequence by imitating the CCP. In Section 6, an industrial illustrative example of configuration design is illustrated, and some experiments of comparison are carried out. Concluding remarks are drawn in Section 7.
2 Literature review

Knowledge representation and reasoning method in configuration design
The representation of knowledge is a key issue in product configuration design. The knowledge reasoning method is the basis of the configuration solving process. One of the earliest configuration systems is R1/XCON, which is initially implemented by John McDermott based on OPS5 [5,6]. R1/ XCON is a rule-based configurator that operates on a working memory that stores assertions made by rules. Rules are represented in an if-then style. If a rule is activated (given that the "if" condition is fulfilled), it can modify the contents of the working memory [7]. The rule-based system intermingles domain knowledge and problem-solving knowledge together. As for improvement, the definition of model-based configuration which strictly separates domain knowledge and problem-solving knowledge was proposed [7,8]. A large variety of theories have been proposed later under this framework to express knowledge. Mailharro, Amilhastre et al. [9,10] treat the product configuration as a constraint satisfaction problem. Wang et al. [11] introduce a case retrieval method for machine tool configuration. Zeng et al. [12] use a product model and configuration rules to represent knowledge. Lee et al. [13] use the functional model to build a product configuration model and configure the train bogie. Dong et al. [14] utilize ontology web language and knowledge graph to model configuration knowledge. The usage of ontology can improve the accessibility of configuration knowledge. The knowledge representation and reasoning method used in this paper belong to the model-based configuration. PCU and PCT decompose products into a hierarchical structure, representing hierarchical domain knowledge. Problem-solving knowledge is expressed in the form of configuration rules. The cooperation of PCU, PCT, and configuration rules makes knowledge easier to maintain and manage.

Coupling strength quantification method
Coupling strength quantification is the forerunner of instantiation sequence arrangement. The instantiation process of one PCU is similar to a small design activity. Thus, we assume that the process of PCU instantiation is a small design activity of the overall configuration solving process. These small activities cooperate and deliver information to complete the entire configuration solving process. Some scholars have conducted quantitative research on the dependence between design activities. Yassine et al. [15] set up a subjective evaluation scale in the way of verbal descriptions to measure the degree of coupling between design activities. Srour et al. [16] evaluated the interdependence of projects by consulting professionals. Lin et al. [17] assessed the degree of dependency between activities in the manner of interviewing experts and used triangular fuzzy numbers to digitize it. All these methods cannot be separated from human subjective evaluation. The activities of the instantiation process in our work are different from them in that the PCUs have certain parameters and rules. These parameters and rules contain a lot of information and can be mined. Therefore we introduce data mining methods into the calculation process of coupling strength. Based on data mining, the human evaluation step has been removed; thus the objectivity of the coupling strength can be guaranteed.

PCU instantiation sequence arrangement
The PCU instantiation sequence arrangement is essentially the management and planning of activities. There are several ways to achieve this object. Critical path method (CPM) expresses the relationship between activities in the form of a directed graph, which was applied in the field of design activity management in an early period [18]. The Project Evaluation and Review Technique (PERT) method was proposed almost simultaneously with CPM. It is a digraph representation of a project where the nodes are arranged along a timeline. Comparing with CPM, PERT has more advantages in flexibility [19]. When applying network analysis to manage design activities, the information feedback and the interaction between activities are often ignored. The design structure matrix (DSM) proposed by Steward [4] which constructs a matrix to represent the interaction between elements effectively solves this problem. Different from network analysis, it is a more concise and compact representation method, and it is easier to operate and store by computer. Since then, designers have proposed various partitioning and tearing algorithms to manage and schematize design activities based on the design structure matrix. At the same time, various variants of the design structure matrix have emerged, such as the work transformation matrix (WTM) [20], the two-dimensional numerical DSM (NDSM) [15], hierarchical design structure matrix (HDSM) [21], and design dependency matrix (DDM) [22,23]. Although these DSM-related methods have many conveniences, they still have the disadvantage that they are not efficient when dealing with large-scale problems. Therefore, this paper imitates the crystal crystallization process (CCP) and proposes a heuristic method. Unlike traditional DSM methods which operate the matrix as a whole, each activity is treated as a basic unit of operation in our method. When new design activity (the PCU which is needed to be instantiated) is added, only a few steps are required, which apparently improves the flexibility of the configuration and reduces the configuration time.

Coupling characteristics of PCT
Being the basic unit of mechanical configuration design, the PCU is a set of components that decompose and encapsulate the function, principle, and structure of the mechanical product. Each PCU contains some knowledge required for configuration design including configuration rules, the instances of component types, configuration operations, and attribute parameters. It can be expressed as PCU={ID, FA, PA, RU, LE, KEY, OP, INS}, where ID is the unique identifier of the PCU; FA is the parent node of the PCU; PA={pa 1 , pa 2 , …, pa m }is a set of attribute parameters which describe the characteristics of the component type corresponding to the PCU,m ≥ 0; RU={ru 1 , ru 2 , …, ru n }is a set of configuration rules, n ≥ 0; LE indicates whether the PCU is located at the leaf node of the configuration template structure tree; KEY indicates whether the PCU is a key configuration unit; OP={op 1 , op 2 , …, op k }represents a set of configuration operations on the PCU, including reading attribute parameters, matching configuration rules, and finding instances; and INS={ins 1 , ins 2 , …, ins k } represents the set of alternative instances.
PCU is the basic unit that constitutes the PCT. The product family model of complex mechanical products is often hierarchical. Thus, the PCT has a conspicuous tree-type structure. A PCU can be decomposed into multiple sub-PCU units and can also be the sub-unit of a PCU together with other PCU units. According to the position of PCU in PCT, all PCUs can be divided into three categories: part-level PCU, component-level PCU, and product-level PCU. The product-level PCU is located at the top level of PCT; that is, the root node of the structure tree; the component-level PCU is located at the middle node of the structure tree, and the part-level PCU is located at the leaf node of the structure tree which cannot be further decomposed.
PCT and configuration parameters converted from customer demands are the input of the configurator. Configuration starts from the root node of PCT and executes from top to bottom sequentially. The configurator takes out the PCU in each node. The configuration rules are matched to instantiate each PCU until all levels of PCUs are instantiated. Finally, PCT is transformed into a tree composed of instances, which is the bill of material (BoM) of configuration design. The PCT structure tree is shown in Fig. 1a.
The dotted line in Fig. 1a represents the constraints between PCUs in PCT. The constraint of PCU mainly results from the constraints between the attribute parameters encapsulated in the PCU. As shown in Fig. 1b, there are four parameters encapsulated in the attribute parameter set PA={pa 1 , pa 2 , pa 3 , pa 4 }of PCU 1 and five parameters encapsulated in the attribute parameter set PA={pa 1 , pa 2 , pa 3 , pa 4 , pa 5 }of PCU 2 . Among them, PCU 1 affects PCU 2 by parameterspa 1 , pa 3 , pa 4 , and PCU 2 affects the parameters of PCU 1 by pa 1 , pa 3 , pa 5 . This means that to complete the instantiation of PCU 1 , values of pa 1 , pa 3 , pa 5 from PCU 2 are required and vice versa. The coupling relationship between PCUs can be represented by a directed graph, as shown in Fig. 2. Let the directed graph beB = {V, E}, whereV = {v 1 , v 2 , …, v n }is the set of the vertices that represents the collection of all PCUs, and E = {e 1 , e 2 , …, e m }is the set of edges that represents the constraints between PCUs Fig. 3.
As shown in Fig. 2a, the vertices of this graph can be divided into two sets: {v 5 , v 10 , v 11 } and{v 1 , v 2 , v 3 , v 4 , v 6 , v 7 , v 8 , v 9 }. They are two independent connected components in graph theory. We define them as two coupled PCU sets.
For a directed graph G, if for each pair of v i , v j ∈ V, v i ≠ v j , there exist paths from v i to v j and from v j to v i , then G is a strongly connected graph. The maximally strongly connected subgraph in a directed graph is called a strongly connected component. In terms of the above definition, the directed graphs of the coupling relationship between PCUs are divided into two categories: directed graphs that do not contain strongly connected components, as shown in Fig. 2b, and directed graphs that contain strongly connected components, as shown in Fig. 2c. For the case of Fig. 2b, the PCU instantiation sequence arrangement is relatively simple, and it can be set according to the direction of the constraint. Thus, the PCU instantiation sequence can be decided asPCU 1 → PCU 2 / PCU 3 → PCU 4 . For the situation shown in Fig. 2c, there are bidirectional constraint between g, f and a, b, e. To determine the instantiation order for the PCU contained in the strongly connected component, a tearing algorithm is required.

Configuration rules
Configuration rules are one of the key information required in the configuration solving process. The configuration rule can be expressed as: Each PCU contains a series of configuration rulesru 1 , …, ru n , which is encapsulated in RU={ru 1 , ru 2 , …, ru n }. <premise clause> represents the conditions that the PCU is required to satisfy during the instantiation process, usually in the following two forms: The parameters involved in the IF part of the configuration rules can be attribute parameters of other PCUs or can be configuration parameters converted from customer demands. When the rule contains the attribute parameters of other PCUs, it means that the instantiation of the current PCU requires the information passed from other PCUs, which also indicates that the PCU is constrained by other PCUs. The configuration parameters converted from demands have no influence on the constraints between PCUs, so they are not considered.
The <conclusion clause> part of the configuration rule is the corresponding instance code of the PCU after instantiating. When the PCU meets the IF part of the configuration rule, the PCU is instantiated as a specific instance.

FP-growth algorithm for frequent item mining
Frequent itemset mining is usually used to discover the combination relationship between the elements in the data set. Let the itemset I = {i 1 , i 2 , …, i m }be a collection of m different items; the transaction data set D = {T 1 , T 2 , …, T n }represents a collection of n different transactions which satisfy is defined as its support, which is expressed as the frequency of its occurrence in the transaction data setD. The set J that meets the pre-set minimum support (min_support) is defined as the frequent itemset of the transaction data setD, which represents the combination of items that frequently appear in the data setD.
FP-growth algorithm is one of the most used frequent item mining algorithms. The execution of this algorithm can be divided into two stages. The first stage generates an FP-tree to store the transaction data set by traversing the database, and the second stage generates frequent itemsets by traversing the FP-tree. The basic steps of the algorithm are as follows: Step 1. Generate the data set.
Step 2. Set the minimum support, remove non-frequent elements from the original data set, and sort them in descending order in terms of the support of each element. After that, store the data in a list, and construct the header table according to the frequency of occurrences of each element.
Step 3. Set NULL as the root node and create FP-tree from top to bottom.
Step 4. Starting from the bottom of the item header table to detect the condition pattern base in turn. The frequent itemsets are mined according to the conditional pattern base.
Based on configuration rules, the FP-growth algorithm is exploited to mine frequent items of the attribute parameters encapsulated in the PCU, which is used as a measure of the amount of information contained in the attribute parameters. After that, a method is provided in this paper to measure the coupling strength between the PCUs.

The process of coupling strength quantification
In this paper, the strength of information dependence between PCUs is used as a measure of the coupling strength. We believe that the parameters that appear more frequently in the rules contain more information. The implementation steps are as follows: Step 1. For PCU i (i = 0, 1, …, n), its attribute parameter set is PA i = {pa i1 , pa i2 , …, pa im }. According to the analysis in Section 3, some of the attribute parameters of PCU i can restrict otherPCUs, let these parameters to be {pa i1 , pa i2 , …, pa il },0 ≤ l ≤ m. Counting the total emergence times of these parameters in the <prerequisite clause> part of all configuration rules, denoted asK, and counting the emergence times of each parameter, denoted as a set {k i1 , k i2 , …, k il }, where k il is the occurrence times of the parameter pa il . Combining the parameter set and the emergence times sets to obtain a new set Step 2. Based on the <prerequisite clause> part of configuration rules, frequent items of parameter combination are mined. For each piece of configuration rule, the attribute parameters that belong to PCU i and are contained in the <prerequisite clause> are extracted to form a piece ofitem-: {pa ia , pa ib , …, pa iq }. All items make up the data set is a frequent item of parameter combination, where FRA ij ={pa ir , …, pa is } and su i is the support of the frequent item. The significance of frequent item mining is that when a combination of parameters in a frequent item appears, it can be considered that it contains more information than a single parameter. S t e p 3 . C o m b i n e K P A i , f r e q u e n t s i , Then, for each element in the set, calculate the weight by formula: where α U ik denotes the weight of frequent items of parameter combination and α A ik denotes the weight of the single attribute parameter that belongs to PCU i . In the formula, the numerator represents the occurrence times of the single attribute parameter or parameter combination, and the denominator represents the sum of the occurrence times of all parameters and parameter combinations.
Step 4. For all PCUs, after calculating α U ik and α A ik , the coupling strength between each PCU is calculated in terms of the constraints between PCUs. As for PCU i and PCU j , if PCU i directly or indirectly restricts P C U j t h r o u g h a t t r i b u t e p a r a m e t e r s e t PA coup(j, i) can also be calculated in the same way. The larger value of coup(i, j) indicates that if PCU j wants to complete the instantiation, it requires more information from PCU i which indicates the stronger coupling.
Take Fig. 2b as an example to further explain the calculation method of coupling strength. As shown in the figure, PCU 1 restricts PCU 3 , PCU 2 through parameters {A 1 , A 3 } and {A 1 , A 2 }, and the weights ofA 1 , A 2 , A 3 are 0.1, 0.3, and 0.2. At the same time, we know that the attribute parameters of PCU 1 exist frequent itemset U = {A 1 , A 2 , 0.1}. As the same, PCU 2 , and PCU 3 restrict PCU 4 through parameters. Thus, as for PCU 4 , to complete the instantiation, it first requires the information of parameters {A 1 , A 2 , A 3 } from PCU 1 , helping PCU 2 , PCU 3 finish instantiation. Then, it needs the information of parameters B, C from PCU 2 , PCU 3 . Hence, as forPCU 4 :

Heuristic algorithm of the instantiation sequence arrangement
For a specific model of a complex mechanical product, the PCT usually contains hundreds or even thousands of PCUs. The coupling relationship between PCUs is very sophisticated. It requires us to make a reasonable plan for the instantiation order of PCUs. Inspired by Jafari et al. [24], a heuristic algorithm that treats the arrangement process of PCU instantiation as a CCP is proposed in this paper for the coupled PCUs. The CCP in the nature is shown in Fig. 5. As is illustrated in the figure, a big crystal is formed after crystallization, and the crystal is made up of several crystal grains. Crystal grains are made of atoms or molecules. Inside each crystal grain, the atoms and molecules are arranged regularly. In our paper, each PCU in the configuration template is regarded as an atom and let all PCUs form a pool. By imitating the CCP in the nature and using the pre-calculated coupling strength, each PCU gradually precipitates to form crystal grains. All grains form a big crystal. Each grain in the crystal represents a coupled PCU set. The method is applicable when the configuration system developed by the enterprise meets the following conditions: Condition 1. The configuration modeling method is the same as that introduced in the paper. The structural knowledge of the product is abstracted into a tree structure, that is, the PCT. The configuration solving knowledge is expressed as configuration rules in the form of IF-THEN. Condition 2. The instantiation process of a single component type in the configuration solving process is not isolated, but is related to the instantiation of other component types.
The contents of the crystallization process are as follows.
(1) Crystal nucleation This step simulates the nucleation process of crystal crystallization, and the main purpose is to select a PCU from the PCU pool to form a crystal nucleus as the starting point for crystal growth. To achieve this step, we assume that there are n PCUs in the configuration product. For PCU i in the PCU pool, the atom diameter is defined to be: In this formula, the numerator is used to represent the coupling strength of PCU i to all otherPCU, and the denominator is used to represent the coupling strength of PCU i subject to all otherPCU. When the constraint from PCU i to otherPCUis stronger andPCU i is less restricted, we see that the atom diameter of it is bigger. For atoms with larger diameters, we think they are easier to crystallize. Here the probability of crystallization is defined to be: According to the precipitation probability of each PCU atom, a particle is randomly selected to nucleate in this step. The definition of atom diameter and precipitation probability ensures the order in the crystal precipitation process, which helps reduce the quantity of complex crystal fusion steps and improves the efficiency of the subsequent sequence optimization process.
(2) Crystal growth This step simulates the process of atom precipitation and finding niches on the surface of the existing crystal, making the crystal continue to grow, as shown in Fig. 4a.
Same as the crystal nucleation process, firstly the precipitation probability of each PCU is calculated: where k is the total quantity of PCUs that have already been precipitated.
According to the probability, we randomly select a PCU that has not yet precipitated and integrate it into the corresponding position of the crystal to make the crystal grow up. As an example, the detailed implementation steps are revealed in Fig. 4b. From the figure, it is known that the current generated grains are A = {PCU a , PCU b , PCU c } and B = {PCU d , PCU e }. Now, selectingPCU i from the pool of PCU and judging the coupling condition between PCU i and thePCUs insideA, B, we can get thatcoup(a, i) > 0, coup(b, i) > 0, coup(i, c) > 0. Therefore, there exist constraints between PCU i and A grain, so let PCU i merge into the grainA, resulting in the growth of A. According to the value of coupling strength, PCU a , PCU b have constraints on PCU i , and PCU i has constraint on PCU c . Thus, the order of PCU in grains A is adjusted so that the PCU instantiation order is modified as PCU a → PCU b →PCU i →PCU c .

(3) Crystal fusion
This step simulates the process in which individual crystal grains scattered everywhere touch and fuse to form large grains during the crystal crystallization, as shown in Fig. 5a.
The same as the previous steps, a PCU is selected in terms of the precipitation probability, as is demonstrated in Fig. 5b. Then we judge the relationship between the selected PCU and each grain, knowing that coup(e, i) > 0 and coup(i, f) > 0, so it can be seen that PCU i is coupled with A, B at the same time.
Confronting with this situation, a fusion operation is needed. Therefore, the attraction force between the PCU and grains is defined to be: where j represents each PCU in the grain. The force of attraction between the PCU and each grain is calculated. After that, the grains are arranged in descending order in terms of attraction, and the PCU is integrated into the grain with the greatest attraction. Then, the order of the particles in the A grain is adjusted by the constraint relationship. The remaining grains are integrated into the grown grains in order of attraction. After the fusion is completed, a new larger grain is obtained, and the order of arrangement inside the grain is PCU a →PCU b →PCU e →PCU i →PCU f →PCU c .
(4) Atomic group formation As shown in Fig. 6a, sometimes it is not a single atom that participates in the crystallization in the nature, but maybe a group of atoms, such as SO 2− 4 ; NH þ 4 . They are called atomic groups in chemistry. For the situation shown in Fig. 2c in Section 3, when the directed graph of the coupling relationship contains strongly connected components, it is difficult to determine the instantiation order of each PCU based solely on constraints. For this type of problem, the solution is to identify all strongly connected components in the directed graph; the PCUs in the strongly connected components are considered a whole and consolidated into an atomic group. Figure 2c contains two strongly connected components. It can be identified as two atomic groups. Then, the constraint relationship of the atomic group-atomic group and the atomic group-atom is utilized to determine the arrangement position of the atomic group in the grain. After the crystallization is completed, the method proposed later is used to decouple the complex The identification method of strongly connected components in the directed graph is shown in Fig. 6b. When PCU i and PCU j are in the same strongly connected component, there must be coup(i, j) > 0 and coup(j, i) > 0. It can be seen from the figure that the coupling strength betweenPCU i and the two PCUs in the atomic group is coup(b, i) > 0,coup(i, b) > 0,coup(c, i) > 0, and coup(i, c) > 0. Therefore, PCU i , PCU b , and PCU c are merged into the same atomic group. In fact, according to the definition of strongly connected components, PCU i is only required to satisfy coup(i, k) > 0 and coup(k, i) > 0 with any PCU k in the atomic group to reach the conclusion that PCU i is in the current strongly connected component.

(5) Atomic group decoupling
There are some bidirectional coupling relationships between PCUs in the atomic group. For PCU i and PCU j , if the instantiation of PCU i needs output information from PCU j , and the instantiation of PCU j needs output information from PCU i , the configuration solving process will be complex. To complete the instantiation of the two, we first need to make assumptions about the information of PCU i and pass it toPCU j to complete the instantiation of PCU j . Then, the information of PCU j has to be passed to PCU i to complete the instantiation of PCU i . If the information of PCU i after instantiation is inconsistent with the hypothetical information, a new hypothesis must be made and the two must be instantiated again. At this time, there exists iteration in the configuration solving process. In order to reduce iterations and improve efficiency, it is necessary to reasonably plan the instantiation sequence of the PCUs in atomic groups, which is the so-called decoupling process. According to Smith and Eppinger [20], for such coupled tasks, the sequence planning should satisfy the following two propositions: Proposition 1. When other conditions are the same, the task with larger output and smaller input should be executed before the task with smaller output and larger input. Proposition 2. When other conditions are the same, tasks with a shorter execution time should be executed before tasks with a longer execution time.
Based on the above propositions, Wang et al. [25] propose an instantiation sequence optimization method based on the time-coupling degree, which is used here to decouple atomic groups.
Suppose the PCU set in the atomic group is {PCU 1 , PCU 2 , …, PCU k }, and the time required for each PCU to complete the instantiation is {T 1 , T 2 , …, T k }. When PCU j in the atomic group is instantiated after other PCUs, it may prompt other PCUs to re-instantiate. The sum of the expected time required for re-instantiation is: In the same way, when PCU j is instantiated before other PCUs, other PCUs may prompt PCU j to be instantiated again, and the total expected time required is: The larger the value of R j1 is, the earlier the PCU j should be instantiated. The larger the value of R j2 is, the later the PCU j should be instantiated. We use G j to measure the instantiation priority of PCU j : The larger the value of G j is, the earlier the PCU j should be instantiated.
When the PCU is instantiated according to the configuration rules, the execution time of the configuration solving process is positively related to the number of configuration rules encapsulated in the PCU: where n is the total number of configuration rules. We use n instead of time T and rewrite G j as: Taking account of G ' , the instantiation sequence of the PCU instantiation task is determined as follows: Step 1. Let Q be the PCU instantiation sequence, and the length of Q is k = 0.
Step 2. For each PCU j in the atomic group, calculate G 0 j .
Step 3. Select thePCU m whose

l is the number of
PCUs that have already been sorted.
Step 4. PlacePCU m at the end of the sequence Q and delete PCU m from the atomic group.
Step 5. Determine whether all PCUs in the atomic group have been sorted. If the sorting has been finished, end the loop. If the sorting has not been finished, jump to step 2.

The process of product configuration solving process planning
The arrangement of atoms and atomic groups in the crystal always has a remarkable regularity, so is the order of each PCU in the PCT after arrangement. By imitating the CCP, we can get the regular arrangement of each PCU, which is the improved sequence of the product configuration solving process. Figure 7 gives the flowchart of our method. Each PCU is regarded as an atom in the pool. Through the processes of crystal nucleation, crystal growth, and crystal fusion, all PCUs form a regular microstructure to obtain a large crystal. For any PCT, the detailed implementation steps of the algorithm are as follows: Step 1. According to the precipitation probability, select a PCU from the PCU pool to form a crystal nucleus as the starting point for crystal growth.
Step 2. Choose a PCU from the current PCU pool based on the probability and judge its relationship with each grain. If it is coupled with one of the grains, skip to step 3; if it is coupled with more than one grain, skip to step 4; if it is uncoupled with any grain, skip to step 5.
Step 3. Merge this PCU into the grain and judge whether the PCU forms a strongly connected component with other PCUs inside the grain. If there exists a strongly connected component, the PCU is solidified into an atomic group, treat the atomic group as a whole, and the order of arrangement is adjusted according to the constraint relationship. If there exists no strongly connected component, adjust the order directly by evaluating the relationship between PCUs.
Step 4. Calculate the attractive force between the PCU and each grain, add the PCU to the grain with the biggest attractive force and perform step 3, and then merge the rest of the grains into the grown grain in order by the attractive force to complete the crystal fusion step.
Step 5. If the PCU is uncoupled with the existing grains, let this PCU nucleate as a new starting point for crystal crystallization.

Randomly select a PCU that has not been selected
Whether the PCU is coupled with some of grains? Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7 Fig. 7 Flowchart of the heuristic method Step 6. Judge whether all PCUs in the pool have been precipitated. If there are still PCUs remaining in the pool, skip to step 2; else skip to step 7.
Step 7. Take out the obtained atomic groups, use the tearing algorithm informed in Section 5.1 to decouple the PCU, and determine the arrangement order of the PCUs in the atomic group. The configuration solving process planning is completed.
After the crystallization is completed, each PCU is combined to form one or more grains, and all grains form a big crystal. The crystal grains are in a parallel relationship and can be executed synchronously during configuration. Each PCU in the grain is instantiated in sequence according to their arrangement order.
6 Verification and results analysis

An industrial illustrative example of configuration design
Mechanical product configuration design is especially suitable for the industry where customer demands change continuously and the product can easily be modularized. The design of elevators is a high-variety, low-volume market in which competition is very high [26]. Elevator products are typical ordertype products, with significant functions and structural levels. The product configuration design of the elevator can be realized through modularization. Customers provide their requirements, and then enterprises combine different PCUs to generate PCT and instantiate each PCU in PCT. To increase the efficiency and accuracy of configuration design, it is necessary to assign a reasonable instantiation order of each PCU. This paper takes the GB10 elevator produced by Canny Elevator as an example, selects some of the coupled PCUs, and optimizes the instantiation sequence. The involved PCUs are shown in Table 1, the elevator model is shown in Fig. 8a, and the directed graph of the constraint relationship between the PCUs is shown in Fig. 8b.  Given the configuration rules encapsulated in the PCU, the method in Section 4.3 is used to calculate the weight of each PCU's attribute parameters and the frequent item of parameter combination. Take the traction machine as an example; the calculation results are shown in Table 2.
In the table, the single parameter represents one of the attribute parameters of the traction machine that restricts other PCUs, and the parameter combination is the frequent item mined by the FP-growth algorithm.
Knowing the weights and configuration rules, the coupling strength between PCUs can be calculated. Take the rope clip component as an example; the configuration rule of it is: It can be seen from the <prerequisite clause> part of the configuration rule that the instantiation of the rope clamp component requires the parameters of N1 and YYBPD from traction machine. From the previous calculation, we can get that the weight of N1 is 0.0575 and the weight of YYBPD is 0.0258. At the same time, there exist frequent itemsets {N1, YYBPD}, and the weight of it is 0.0214. Therefore, the coupling strength of the traction machine to the rope clip component is 0.1047. The coupling strength is calculated in this way for all other PCUs, and the calculation results are shown in Table 3.
(2) Instantiation sequence arrangement Knowing the coupling strength between PCUs, the method proposed in Section 5 is used to optimize the instantiation sequence of the PCUs. The crystal growth process is as follows. The PCU precipitated each time is randomly selected according to the calculated precipitation probability.
Symbol a represents the nucleation process. For example, when PCU 10 is selected, we find that the existing grain [Z_DZDG] has no constraint with 10; thus PCU 10 forms a new grain.
Symbol b represents the crystal growth process. For examp l e , w h e n P C U 0 1 i s s e l e c t e d , w e f i n d t h a t coup(01,Z_DZDG)=0.4319. Thus, we can judge that PCU 01 has constraints with [Z_DZDG]. PCU 01 is integrated into [Z_DZDG] and is placed in front of PCU Z_DZDG according to the direction of the constraint. Two grains are gotten after crystallization. The relationship between the two grains is parallel, and they can be solved at the same time. The relationship between PCUs in the grain is sequential, and they have to be instantiated in sequence.

Comparison and discussion
The main concerns of configuration results are the success rate of the instantiation and the time of the solving process. The success rate of the instantiation requires as many PCUs as possible to complete the instantiation and as few mismatched PCUs as possible. The time of the solving process requires the configuration solving time to be as short as possible. In this section, we discuss these two concerns and compare the running time of our method with other commonly used methods.
The success rate of instantiation depends on whether the information output unit is instantiated before the information input unit. When there is no loop in the directed graph, a reasonable sequence of instantiation will enable all PCUs to be instantiated successfully at one time. The time spent in the solving process is the sum of the time required for the instantiation of each PCU. In order to verify the correctness and effectiveness of the PCU instantiation sequence in the configuration solving process gotten by our method, some other instantiation sequence is used to instantiate the PCUs in PCT. These sequences include three common ways to traverse the PCT tree and six other random sequences. The number of mismatched PCUs (PCUs that fail to match the instance) is compared after the configuration solving process is completed. The result is shown in Table 4. As we can see from the table, only 2 PCUs mismatch using the sequence we got to instantiate PCUs, which is obviously better than other instantiation sequences.
The time of the configuration solving process is largely affected by bidirectional coupling relationships between PCUs in the atomic group. For the PCUs in the atomic group, no matter what order they are instantiated in, all of them can be instantiated successfully. But the different orders will greatly affect the number of iterations and solving time. For the three PCUs in the atomic group, 49, GB5976-86, and 07, the instantiation order has 3! = 6 combinations. In order to verify The preorder traversal 5 Random sequence 3 13 The inorder traversal 12 Random sequence 4 8 The postorder traversal 15 Random sequence 5 16 Random sequence 1 6 Random sequence 6 11 that the optimal instantiation order obtained by the above method with the target of minimum time is [49,07, GB5976-86], each PCU is instantiated 20 times according to all 6 order combinations, the time it takes to complete the instantiation is recorded. Then, the average time-consuming of 20 simulation results are calculated, and the results are shown in Table 5.
As shown in the table, the instantiation sequence [49, 07, GB5976-86] does take the minimum time. Instantiating in the order of decoupling can effectively reduce the number of iterations of the configuration solving process, reduce configuration time, and improve configuration efficiency.
The modeling method using DSM is the most frequently utilized activities management framework. This management framework usually includes processes such as sorting, partition, and tearing. The object of the sorting algorithm is to sort tasks that do not contain a bidirectional coupling relationship, and the most widely used algorithm is proposed by Lawler [27]. The goal of the decomposition algorithm is to find the smallest block matrix, that is, to identify the coupled task set. The frequently used methods include the power of DSM [28,29], reachability matrix [30,31], path searching [32,33], and some heuristic algorithms such as the simulated annealing [34] and genetic algorithm [35,36]. The DSM sorting and partition correspond to the process of crystal nucleation, growth, fusion, and atomic group identification in this paper. Without considering the subsequent atomic group decoupling process, our method and the above methods can get the almost same sequence. Based on that, the method in this paper is compared with other algorithms in terms of running time.
The efficiency of the method is mainly affected by three factors: the number of PCUs included in the PCT, the number of PCUs with bidirectional coupling, and the number of coupled PCU sets. To the method in this paper with other algorithms, each factor is changed individually and different algorithms are used to plan the PCU instantiation sequence. The running time of each algorithm is recorded, and the results are shown in Fig. 9. Figure 9a corresponds to the condition where the number of bidirectionally coupled PCUs is 5, the number of coupled PCU sets is 2, and the total number of PCUs changes. It can be seen from the figure that, when the total number of PCUs is less than 60, the computational efficiency of power of DSM method, reachability matrix method, and path search method is higher, but when the number of PCUs grows to 60-70, the algorithm proposed in this paper gradually exceeds the other algorithms. That is to say, our method has greater advantages when the number of PCUs is large. This is because the crystallization operations of our method are more time-consuming when the number of PCUs is small, and the flexibility of the method in this paper begins to show its advantages when the number of PCUs becomes larger. Figure 9b corresponds to the condition where the total number of PCUs is 50, the number of coupled PCU sets is 2, and the number of PCUs with bidirectional coupling changes. This figure reveals that when the number of bidirectionally coupled PCUs increases, the running time of the traditional algorithms greatly increases, while the running time of the algorithm in this paper is almost unaffected. It can also be found that, compared with the traditional DSM sorting and partition algorithm, the running time of our method is greatly affected by the total number of PCUs but less affected by the complexity of the coupled PCU set. When the number of PCUs is large and the coupling relationship is more complicated, our method has obvious advantages over the above algorithms. Figure 9c corresponds to the condition where the total number of PCUs is 50, the number of bidirectionally coupled PCUs is 35, and the number of coupled PCU sets changes. When the number of coupled PCU sets increases, the efficiency of the algorithm in this paper, the power of the DSM method, and the reachability matrix method do not change much, while the efficiency of the path search algorithm is greatly reduced. The reason for this phenomenon is that the other three algorithms perform one-step operations to identify all coupled PCU sets. As for the path search algorithm, when there is more than one coupled PCU set, it requires to go through more search steps to identify all sets.
From the above experimental conclusions, it can be known that the power of DSM method, reachability matrix method, and path search method are more efficient for simple DSM matrix, but are not ideal for complex DSM. The path search algorithm starts from a random PCU and searches for a coupled PCU set along the path according to the correlation between the PCUs. When the number of PCUs increases, the randomness of the path search will be greatly increased, which can lead to an increase in search time. The power of the DSM method uses continuous matrix multiplication. When the matrix dimension increases, the calculation time will increase greatly. The reachability matrix method uses the method of seeking strong connectivity in graph theory to find the coupled PCU sets. Its time complexity is O(n 2 ). All three algorithms operate on the DSM matrix as a whole. It is also worth mentioning that although this paper did not conduct corresponding experiments, when using the power of DSM method and the reachability matrix method to arrange the coupled PCU set, if there are multiple coupled sets of the same length in the DSM or when a design activity is multiple, there exists the problem that the result is not the smallest coupled PCU set. The algorithm in this paper does not have the above problems.
Genetic algorithm is a type of heuristic algorithm, which searches for the optimal solution of the problem by imitating the evolutionary reproduction process of biology, and has been widely used to arrange design activities in recent years.
When genetic algorithm is applied to the problem discussed in this paper, it can get similar results. However, when applying genetic algorithms, the choice of parameters has a significant impact on the efficiency of the algorithm. In this paper, we further compare our method with the genetic algorithm by calculating the running time of each algorithm, in which the mutation probability of GA is fixed to be 0.001 and the population size of GA is changed. The result has been displayed in Table 6.
Obviously, when the genetic algorithm is used for design activity planning, the choice of parameters has a great impact on its efficiency. When the number of PCUs is small, smaller population size should be selected. At this time, the efficiency Fig. 9 Running time of each method with different conditions. a The total number of PCUs alters, b the number of PCUs with bidirectional coupling alters, and c the number of coupled PCU sets alters of the genetic algorithm is higher than the method proposed in this paper; when the number of PCUs is large, larger population size should be selected, but the genetic algorithm's efficiency is lower than our method. For optimization problems with complex combinations, genetic algorithms have a large search space and long search time and are prone to premature convergence. Compared with the genetic algorithm, which is also a heuristic algorithm, the method in this paper does not have the problem of parameter selection, and it is more stable for complex problems.

Conclusion
This paper summarizes and abstracts the product configuration methods of machinery manufacturers. Aiming at the configuration of complex mechanical products, concepts such as PCU and PCT are defined, and a product configuration design model is established to meet the requirements of mass customization. For the problem of PCU instantiation sequence that appears during the configuration solving process, a heuristic configuration solving process planning method for product configuration design by imitating the CCP is proposed.
The biggest contribution of this paper is that when machinery manufacturers like Canny Elevator design configurators, it provides them with a method to make the configuration solving process more reasonable. Compared with traditional methods, the results of our coupling calculation method have stronger objectivity. Our heuristic method can effectively avoid the cumbersome characteristics of traditional DSMrelated algorithms and has great advantages for complex mechanical products with various component types. In addition to configuration design, this method can also be used to plan and coordinate other activities such as production activities. Despite the benefits outlined above, our research still has its limitations. As for the calculation of coupling strength between PCUs, although the subjective factors are avoided, the amount of calculation will increase obviously when the mechanical product has quantities of configuration rules. This might be the direction for future improvement.