Abstract
Designing an assembly system is a complex task that is broken down into different steps that deal with various representations of the product, the assembly plan, and the assembly process plan. Each step faces a huge combinatorial explosion problem. Many research works have focused on the generation of assembly plans. They often fail to represent the logistic functions (choice of primary/secondary subassemblies and their orientations implying specific logistic operations). The resulting assembly sequences are therefore not fully satisfactory from an operational point of view. In the 1990s, the concept of the functional assembly plan (FAP) was introduced to refine the assembly plans with these key inputs that are essential to consider before proceeding with the next step concerning the assembly process plan. However, in the literature, there is no method to systematically generate, evaluate, and select the most relevant FAPs. In this paper, we propose an original semi-automated method to generate FAPs and to evaluate them. This method combines automated steps and user’s intervention to limit the phenomenon of combinatorial explosion and to make the solution explainable. It allows the user to find the “lowest cost” FAP, according to predefined evaluation criteria, without fully evaluating each potential FAP. This method and its associated procedure have been used to improve an existing software, CapLog, efficient for the optimization of manufacturing systems, like end-of-life systems or assembly systems. A case study is used to illustrate the steps of the proposed method.
Similar content being viewed by others
References
Abdullah MA, Ab Rashid MFF, Ghazalli Z (2019) Optimization of assembly sequence planning using soft computing approaches: a review. Arch Comput Methods Eng 26:461–474. https://doi.org/10.1007/s11831-018-9250-y
Bedeoui A, Ben Hadj R, Hammadi M, Aifaoui N (2021) Tool workspace consideration for assembly plan generation. Assem Autom 41:612–625. https://doi.org/10.1108/AA-05-2020-0063
Gao B, Zhang S, Sun H, Ma C (2021) Assembly sequence planning based on adaptive gravitational search algorithm. Int J Adv Manuf Technol 115:3689–3700. https://doi.org/10.1007/s00170-021-07241-w
Das SK, Swain AK (2022) An ontology-based modelling and reasoning framework for assembly process selection. Int J Adv Manuf Technol 120:4863–4887. https://doi.org/10.1007/s00170-022-09002-9
Abdullah Make MR, Ab. Rashid MFF, Razali MM (2017) A Review of two-sided assembly line balancing problem. Int J Adv Manuf Technol 89:1743–1763. https://doi.org/10.1007/s00170-016-9158-3
Tsutsumi D, Gyulai D, Kovács A, Tipary B, Ueno Y, Nonaka Y, Fujita K (2020) Joint optimization of product tolerance design, process plan, and production plan in high-precision multi-product assembly. J Manuf Syst 54:336–347. https://doi.org/10.1016/j.jmsy.2020.01.004
Henrioud JM, Bourjault A, Chappe D (1990) Contribution to computer-aided design of flexible assembly systems. IFAC Proc 23:461–464. https://doi.org/10.1016/S1474-6670(17)52600-2
Perrard C, Djemel N, Bourjault A (1993) Design of flexible assembly systems: extension of the conceptual diagrams to the modelling of multi-product manufacturing. In Proceedings of the Proceedings of IEEE Systems Man and Cybernetics Conference - SMC; IEEE, pp 526–531
Henrioud J-M (1989) Contribution à la conceptualisation de l'assemblage automatisé: nouvelle approche en vue de la détermination des processus d'assemblage (Thèse d'état, Université de Franche-Comté, Besançon)
Movilla NA (2016) Contribution Aux Méthodes de Conception Pour La Fin de Vie : Prise En Compte Des Pratiques de Prétraitement de La Filière DEEE (Déchets d’Equipements Electriques et Electroniques), Ph.D dissertation, Université Grenoble Alpes
Movilla NA, Zwolinski P, Barnabé F, Zuanna Dalla C, Moulin V (2013, September) Considering real endof-life scenarios in a design for disassembly methodology. In CIRP Global Conference on Sustainable Manufacturing (pp. 314–319)
Perrard C, Henrioud J-M, Vallet G (2000) Assembly systems design: a practical approach for industrial cases. In Proceedings of the 16th International Conference on CAD/CAM, Robotics and Factories of the Future, (CARs & FoF 2000). Trinidad & Tobago (Spain), pp 26–28
Lu C, Li J-Y (2017) Assembly sequence planning considering the effect of assembly resources with a discrete fireworks algorithm. Int J Adv Manuf Technol 93:3297–3314. https://doi.org/10.1007/s00170-017-0663-9
Li S, Tang D, Xue D, Wang Q, Zhu H (2022) Assembly sequence planning based on structure cells in open design. Adv Eng Inform 53:101685. https://doi.org/10.1016/j.aei.2022.101685
Liu X, Ni Z, Liu J, Cheng Y (2016) Assembly process modeling mechanism based on the product hierarchy. Int J Adv Manuf Technol 82:391–405. https://doi.org/10.1007/s00170-015-7372-z
Mauborgne P, Deniaud S, Levrat É, Bonjour É, Micaëlli J-P, Loise D (2017) The determination of functional safety concept coupled with the definition of logical architecture: a framework of analysis from the automotive industry. IFAC-PapersOnLine 50:7278–7283. https://doi.org/10.1016/j.ifacol.2017.08.1400
Hui W, Dong X, Guanghong D, Linxuan Z (2007) Assembly planning based on semantic modeling approach. Comput Ind 58:227–239. https://doi.org/10.1016/j.compind.2006.05.002
Henrioud J-M, Bourjault A (1991) LEGA: A Computer-aided generator of assembly plans. In: Computer-aided mechanical assembly planning. Springer US, Boston, MA, pp 191–215
Reisig W (2012) Petri nets: an introduction, vol 4. Springer Science & Business Media
Bourjault A (1984) Contribution à une approche méthodologique de l'assemblage automatisé: élaboration automatique des séquences opératoires. (Thèse d'état, Université de Franche-Comté, Besançon)
De Fazio T, Whitney D (1987) Simplified generation of all mechanical assembly sequences. IEEE J Robot Autom 3:640–658. https://doi.org/10.1109/JRA.1987.1087132
Homem de Mello LS, Lee S (eds) (1991) Computer-aided mechanical assembly planning. Springer US, Boston, MA
Perrard C, Lutz P, Salgueiro P (2007, July) New bottom-up algorithm for assembly plan generation: opportunities for micro-factory design. In Proceedings of the 2007 IEEE International Symposium on Assembly and Manufacturing; IEEE, pp 276–281
Perrard C, Bonjour E (2012) A priori checking inconsistencies among strategic constraints for assembly plan generation. Int J Adv Manuf Technol 63:817–838. https://doi.org/10.1007/s00170-012-3942-5
Perrard C, Bonjour E (2013) Unification of the a priori inconsistencies checking among assembly constraints in assembly sequence planning. Int J Adv Manuf Technol 69:669–685. https://doi.org/10.1007/s00170-013-4885-1
Qiao L, Qie Y, Zhu Z, Zhu Y, Zaman UK, Anwer, N. (2018) An ontology-based modelling and reasoning framework for assembly sequence planning. Int J Adv Manuf Technol 94:4187–4197. https://doi.org/10.1007/s00170-017-1077-4
Xin L, Jianzhong S, Yujun C (2017) An efficient method of automatic assembly sequence planning for aerospace industry based on genetic algorithm. Int J Adv Manuf Technol 90:1307–1315. https://doi.org/10.1007/s00170-016-9449-8
da Xu L, Wang C, Bi Z, Yu J (2014) Object-oriented templates for automated assembly planning of complex products. IEEE Trans Autom Sci Eng 11:492–503. https://doi.org/10.1109/TASE.2012.2232652
Abdullah TA, Popplewell K, Page CJ (2003) A Review of the support tools for the process of assembly method selection and assembly planning. Int J Prod Res 41:2391–2410. https://doi.org/10.1080/002075431000087265
Bonneville F, Perrard C, Henrioud JM (1995) A genetic algorithm to generate and evaluate assembly plans. In: Proceedings of the Proceedings 1995 INRIA/IEEE Symposium on Emerging Technologies and Factory Automation, vol 2. ETFA’95; IEEE Comput Soc Press, pp 231–239
Lazzerini B, Marcelloni F (2000) A genetic algorithm for generating optimal assembly plans. Artif Intell Eng 14:319–329. https://doi.org/10.1016/S0954-1810(00)00011-X
Marian RM, Luong LHS, Abhary K (2003) Assembly sequence planning and optimisation using genetic algorithms. Appl Soft Comput 2:223–253. https://doi.org/10.1016/S1568-4946(02)00064-9
Hu SJ, Ko J, Weyand L, ElMaraghy HA, Lien TK, Koren Y, Bley H, Chryssolouris G, Nasr N, Shpitalni M (2011) Assembly System Design and Operations for Product Variety. CIRP Ann 60:715–733. https://doi.org/10.1016/j.cirp.2011.05.004
Bortolini M, Ferrari E, Gamberi M, Pilati F, Faccio M (2017) Assembly system design in the Industry 4.0 Era: a general framework. IFAC-PapersOnLine 50:5700–5705. https://doi.org/10.1016/j.ifacol.2017.08.1121
Cohen Y, Faccio M, Pilati F, Yao X (2019) Design and management of digital manufacturing and assembly systems in the Industry 4.0 Era. Int J Adv Manuf Technol 105:3565–3577. https://doi.org/10.1007/s00170-019-04595-0
Association Française de Normalisation (2018) Produits mécaniques - Méthodologie pour l'évaluation de la conception des assemblages en vue du traitement pour leurs recyclages en fin de vie - Partie 4 : étude du désassemblage, XP E01-015-4 (07/2018), AFNOR
Shiang-Fong Smith S, Smith GC, Liao X (2001) Automatic stable assembly sequence generation and evaluation. J Manuf Syst 20:225–235. https://doi.org/10.1016/S0278-6125(01)80043-1
Lu C, Yang Z (2016) Integrated assembly sequence planning and assembly line balancing with ant colony optimization approach. Int J Adv Manuf Technol 83:243–256. https://doi.org/10.1007/s00170-015-7547-7
Relange L (2002) Utilisation et Détermination d’hypergraphes de Précédence Pour La Conception et l’équilibrage Des Lignes d’assemblage, Ph.D dissertation, Université de Franche-Comté. https://tel.archives-ouvertes.fr/tel-00260486
Rashid MFF, Hutabarat W, Tiwari A (2012) A review on assembly sequence planning and assembly line balancing optimisation using soft computing approaches. Int J Adv Manuf Technol 59:335–349. https://doi.org/10.1007/s00170-011-3499-8
Delchambre A (1992) Computer-aided assembly planning. Springer Netherlands, Dordrecht
Hadj R, Ben Trigui M, Aifaoui N (2015) Integrated CAD approach for generating assembly sequence plans based on collision study results. In Proceedings of the Design and Modeling of Mechanical Systems-II: Proceedings of the Sixth Conference on Design and Modeling of Mechanical Systems, CMSM’2015, March 23-25, Hammamet, Tunisia. Springer International Publishing. Springer International Publishing, pp 63–72
Gungor A, Gupta SM (2001) Disassembly sequence plan generation using a branch-and-bound algorithm. Int J Prod Res 39:481–509. https://doi.org/10.1080/00207540010002838
Wilson RH, Latombe J-C (1994) Geometric reasoning about mechanical assembly. Artif Intell 71:371–396. https://doi.org/10.1016/0004-3702(94)90048-5
Zhang W, Ma M, Li H, Yu J (2017) Generating interference matrices for automatic assembly sequence planning. Int J Adv Manuf Technol 90:1187–1201. https://doi.org/10.1007/s00170-016-9410-x
Trigui M, BenHadj R, Aifaoui N (2015) An interoperability CAD assembly sequence plan approach. Int J Adv Manuf Technol 79:1465–1476. https://doi.org/10.1007/s00170-015-6855-2
Yi Y, Yan Y, Liu X, Ni Z, Feng J, Liu J (2021) Digital twin-based smart assembly process design and application framework for complex products and its case study. J Manuf Syst 58:94–107. https://doi.org/10.1016/j.jmsy.2020.04.013
Sierla S, Kyrki V, Aarnio P, Vyatkin V (2018) Automatic assembly planning based on digital product descriptions. Comput Ind 97:34–46. https://doi.org/10.1016/j.compind.2018.01.013
Qian J, Zhang Z, Shao C, Gong H, Liu D (2021) Assembly sequence planning method based on knowledge and ontostep. Procedia CIRP 97:502–507. https://doi.org/10.1016/j.procir.2020.05.266
Makris S, Pintzos G, Rentzos L, Chryssolouris G (2013) Assembly support using AR technology based on automatic sequence generation. CIRP Ann 62:9–12. https://doi.org/10.1016/j.cirp.2013.03.095
da Xu L, Wang C, Bi Z, Yu J (2012) AutoAssem: an automated assembly planning system for complex products. IEEE Trans Ind Informatics 8:669–678. https://doi.org/10.1109/TII.2012.2188901
Neb A, Schoenhof R, Briki I (2020) Automation potential analysis of assembly processes based on 3D product assembly models in CAD systems. Procedia CIRP 91:237–242. https://doi.org/10.1016/j.procir.2020.02.172
Kou X, Cao Y, Qiao H (2022) A method for intelligently optimizing hierarchical assembly structure sequences by assembly hybrid G-diagram. Int J Adv Manuf Technol 122:27–39. https://doi.org/10.1007/s00170-021-07951-1
Bonjour E, Deniaud S, Micaëlli J-P (2013) A method for jointly drawing up the functional and design architectures of complex systems during the preliminary system-definition phase. J Eng Des 24:305–319. https://doi.org/10.1080/09544828.2012.737457
Masehian E, Ghandi S (2021) Assembly sequence and path planning for monotone and nonmonotone assemblies with rigid and flexible parts. Robot Comput Integr Manuf 72:102180. https://doi.org/10.1016/j.rcim.2021.102180
Bikas C, Argyrou A, Pintzos G, Giannoulis C, Sipsas K, Papakostas N, Chryssolouris G (2016) An automated assembly process planning system. Procedia CIRP 44:222–227. https://doi.org/10.1016/j.procir.2016.02.085
Acknowledgements
The authors thank CETIM for the provision of relevant test cases and the collaboration in the implementation of the academic results in its efficient software.
Author information
Authors and Affiliations
Contributions
CP and OL contributed to the study conception and design, material preparation, data collection, and analysis. The first draft of the manuscript was written by CP and OL. All authors commented on previous versions of the manuscript and improved them. All authors read and approved the final manuscript.
Corresponding author
Ethics declarations
Ethics approval
The authors fully respect the “Ethical Responsibilities of Authors” included in the authors’ guidelines of the journal.
Competing interests
Authors Christophe Perrard and Olivier Lehmann have received consultant honoraria from company CETIM. Cyrille Dalla-Zuanna is an employee of CETIM, the prime contractor for this research.
Author Eric Bonjour has non-financial interests to disclose.
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix 1 Notations used in XP E01-015-4 standard to represent functional assembly (CETIM courtesy)
The notations used to represent the functional assembly plans (FAP) are shown in Table 1 (an example is presented in Fig. 4).
Appendix 2 Optimization problem and application example of the method to generate the “best” FAP
2.1 Formulation of the optimization problem
2.1.1 Input data modelling
FAP net modelling
The FAP net can be modelled by a graph G(A, F, EA→F, EF→A) where:
-
A is the set of the nodes representing aggregates
-
F is the set of the nodes representing functions
-
EA→F is the set of oriented edges (arcs) from A to F; ei,j is an arc of EA→F
-
EF→A is the set of oriented edges (arcs) from F to A; ej',i' is an arc of EF→A
-
N is the cardinality of A
-
aN is the root aggregate (that represents the end product)
-
ai is an aggregate
-
AL is the subset of A including the leaf aggregates (the set of elementary components)
-
fj is a function
Main properties of G
-
G is a bipartite graph (aggregates and functions)
-
G is a directed graph
-
G is a connected graph
-
G is without loop
G is an AND/OR graph where:
-
To perform a function fj of F, two aggregates ai1 and ai2 of A (where ei1,j and ei2,j belong to EA→F ) are requested; this property describes an AND condition. fj produces only one single result, the aggregate ai’ of A (where ej,i’ belongs to EF→A).
-
An aggregate ai of A may be produced by more than one function fj of F. This is indicated by each arc ej,i of EF→A. By the same way, an aggregate ai of A may be used by more than one function fj of F. This is indicated by each arc ei,j of EA→F. These two properties describe OR conditions.
2.1.2 Parameters
Let be the parameters:
-
Cai the cost of aggregate ai
-
Cfj the cost of function fj
Important note: these costs are input data as parameters of the proposed modelling. However, it seems irrelevant to know all of them at the beginning of the problem solving, because evaluating the cost of an aggregate or function is time consuming and if this aggregate or function is not included in the FAP generation, this evaluation will be useless. In other words, “a good FAP generation procedure should minimize a cost function and at the same time limit the work time of the assembly expert.”
2.1.3 Modelling of the optimization problem
The FAP net may include many FAP. Each FAP can be represented by a tree. We search for one FAP that presents the lowest cost in the FAP net. A lowest cost FAP can be represented by a tree T issued from the G graph associated to the FAP net. We note T (A’, F’, E’A→F, E’F→A) is such a tree that respects the following constraints:
-
T is a bipartite sub-graph of G (A’⊂A, F’⊂F, E’A→F ⊂EA→F, and E’F→A ⊂EF→A)
-
T is a tree
-
T includes every leaf aggregate (AL⊂A’) and the root aggregate (the end product, aN)
-
T is only an AND graph (where OR conditions are removed) then for each ai of A:
-
Zero or only one arc of EF→A ends to ai (zero if ai is a leaf that describes an elementary component and if the aggregate is not used)
-
Zero or only one arc of EA→F starts from ai (zero if ai is the root of T that describes the end product and zero if the corresponding functions are not performed)
-
Note: the simplified notation T (A’,F’) is sufficient to describe a FAP because the arcs of this tree can be deduced from its nodes.
Decision variables
Let xA→F(i,j) and xF→A(j,i) be boolean variables associated to each arc of respectively EA→F and EF→A.
x A→F(i,j) = 1 if ei, j ∈ E’A → F and 0 otherwise.
By the same way, xF→A(j,i) = 1 if ej, i ∈ E’F → A and 0 otherwise.
Cost function
The lowest cost FAP is a bipartite tree of G, that is called T and that presents the minimum cost denoted CTotalMin:
T can be deduced from the two sets of decision variables where xA→F(i,j) and xF→A(j,i) are equal to 1.
Constraints
The used constraints are formulated in Table 2.
This optimization problem corresponds to an integer linear programming model with binary (logical) variables (called binary integer programming). This problem is known to be NP-complete. As the number of variables in this problem may be high, this problem can not be solved by exploring all admissible solutions.
In addition, since an objective is to spare user’s time, an algorithm inspired from a branch-and-bound algorithm could be efficient.
When we consider the first fourth constraints, they can describe a top-down approach to explore the graph and to select a feasible assembly tree:
-
C1 is an initialization constraint (the end product as the root aggregate has to be assembled).
-
C2 requires that only one function has to produce this aggregate.
-
C3 requires that two aggregates are required by the chosen function.
-
C2 requires that only one function has to produce aggregates selected with C3.
-
And so on, C3, then C2…
-
Until an aggregate is a leaf aggregate, then C4 indicates that only one function uses this aggregate.
2.2 Proposed procedure
At the beginning of the solving of a real problem, it is assumed that the cost parameters (see Appendix 2 Parameters) are not known. One of the objectives of the proposed procedure is to save the user’s time. Then, it is proposed to evaluate the costs of functions and aggregates only when necessary. It is hoped that some evaluations of “irrelevant” functions and aggregates could be avoided.
As described in Appendix 2 the proposed method is presented in Fig. 7. It aims to extract the “lowest cost” FAP (i.e., one with the lowest cost) from a FAP net. The following procedure lies on an adaptation of the principles of the branch-and-bound algorithms. The algorithm is not really a branch-and-bound algorithm since it mixes automated and manual steps. However, since an objective is to minimize the number of user’s solicitations (to save his/her time), branch-and-bound principles seem to be efficient for this type of problems by avoiding to completely explore trees whose cumulative costs are higher than the current lowest cumulative cost.
The method can be transposed into the procedure shown in Fig. 13. Steps 1 and 4, shown in red, are manual (user’s solicitations). The others are automated.
2.3 Application
In this appendix, it is proposed to apply this procedure to the theoretical example shown in Fig. 14. All local costs of aggregates (in red) and functions (in green) are indicated. Note, however, that the procedure does not require all this data to be known. It will ask the user to document only the relevant data (related to the branches being considered).
The aim of the proposed method is to find the lowest cost and the corresponding FAP without exploring the entire net and then without evaluating the cost of each function or aggregate.
For this example, it is possible to explore the entire net. The “lowest cost” FAP included in this FAP net contains functions and aggregates ({A,B,C,D,AB,CD,ABCD},{F11, F13, F32}) and its costs are 3081. The “highest cost” is 3353.
2.3.1 Procedure initialisation
The results of steps 1 and 2 of the procedure in Fig. 13 are the intermediate costs displayed in Fig. 15.
Step 0: Initialize all costs to 0
Initially, the functions and aggregates are not evaluated. Their costs (penalties) are set to 0.
Step 1: Evaluate end aggregates (end product)
The procedure asks the expert to evaluate the cost of the end product (ABCD). In the example, she/he knows that it equals 1001. At this step, the output flow of FAP net, that is the CTotalMin (ABCD), equals 1001 (Fig. 15).
2.3.2 First loop of the procedure
After the initialization steps 0 and 1, the current output flow of FAP net is 1001 (CTotalMin (ABCD) = 1001).
Step 2: Search for the first partial cumulative cheapest FAP
FAP = ({ABCD},∅) and CTotalMin (ABCD) = 1001
(See notation in Appendix D for the FAP writing).
Q: Is this FAP complete?
FAP = ({ABCD},∅) does not describe a full assembly process for the end product ABCD.
No
Step 3: Search for the first non-evaluated upstream function that presents the lowest cumulative cost
Input flows that produce ABCD in Fig. 15 have a cumulative cost that equals to 0. Usually, the cheapest one (lowest cost) is selected. In this particular case where every cumulative flow is equal to the others, the first one is selected. Then, function F31 and its linked aggregates ABC and D are selected to be studied.
Choose F31: FAP = ({ABCD,BCA,D},{F31})
Step 4: Evaluate this function and its input aggregates
The expert estimates the cost of function F31 and enters the value (here 2001—see Fig. 16).
Aggregates ABC and D allow to perform function F31. The expert has to evaluate the cost of aggregate ABC (i.e., 101) and the cost of aggregate D (i.e., 4).
C F31 = 2001; CBCA = 101; CD = 4
Step 5: Re-evaluate cumulative costs of the FAP net
Using the formula in Fig. 8, each flow that links an aggregate to a function, or a function to an aggregate, can be evaluated in terms of cumulative costs. This evaluation process starts from the leaf aggregates of the FAP net (elementary components) and ends to the root aggregate (end product).
GmD = 4 then
GmF13 = GmCD = GmF22 = GmF32 = GmBCD = GmF33 = GmABCD = 4
GmBCA + GmD + CF31 = 101 + 4 + 2001 = 2016
Finally, GmABCD = min (2106, 4, 4) + 1001 = 1005 (See Fig. 16)
Remarks:
-
1.
If each aggregate has a local cost of 0 (no penalty) and each function also has a local cost of 0 (also no penalty), the lowest cumulative cost of the FAP net is found and is also 0.
-
2.
At each loop of the procedure, step 5 must be performed to propagate the new cost information throughout the net. For example, as the cost of aggregate D is 4, then at this step, the cumulative flow cost from CD to F22 is also 4.
Output data of the first loop (Fig. 16)
According to the execution of the first loop of this procedure, the current output flow cost of FAP net is now 1005 (CTotalMin (ABCD) = 1005).
2.3.3 Intermediate loops of the procedure
The following loops performed by the procedure lead to the following evaluations:
Loop 2
Step 2: Search for the first partial cumulated cheapest FAP
FAP = ({ABCD},∅) and CTotalMin (ABCD) = 1005
Q: Is this FAP complete?
No
Step 3: Search for the first non-evaluated upstream function that presents the cheapest cumulative cost
Choose F32; FAP = ({ABCD,AB,CD},{F32})
Step 4: Evaluate this function and its input aggregates
C F32 = 2002; CAB = 11; CCD = 13
Step 5: Re-evaluate cumulative costs of the FAP net
GmAB = 11 then GmF23 = 11
GmCD = 4+13 = 17 then GmF22
GmABC = min (0,11) + 101 = 101; GmF31 = 101 + 4 + 2001 = 2106
GmF33 = 4 + 0 + 0 = 4
Finally, GmABCD = min (2106,2030,4) + 1001 = 1005
Loop 3
Step 2: Search for the first partial cumulated cheapest FAP
FAP = ({ABCD},∅) and CTotalMin (ABCD) = 1005
Q: Is this FAP complete?
No
Step 3: Search for the first non-evaluated upstream function that presents the cheapest cumulative cost
Choose F33; FAP = ({ABCD,A,BCD},{F33})
Step 4: Evaluate this function and its input aggregates
C F33 = 2003; C(A) = 1; C(BCD) = 102
Step 5: Re-evaluate cumulative costs of the FAP net
C A = 1 then GmF11 = 0 + 1 + 0 = 1 and GmAB = 1 + 11 = 12
C BCD = 102 then GmBCD = min (17,4) + 102 = 106
Then GmF31 = 102 + 4 + 2001 = 2107
Then GmF33 = 1 + 106 + 2003 = 2110 and GmF32 = 12 + 17 + 2002 = 2031
Then GmF32 = 12 + 17 + 2002 = 2031
Finally, GmABCD = min (2107,2031,2110) + 1001 = 3032
Loop 4
Step 2-Search for the first partial cumulated cheapest FAP
FAP = ({ABCD,AB,CD},{F32}) and CTotalMin (ABCD) = 3032
Q: Is this FAP complete?
No
Step 3: Search for the first non-evaluated upstream function that presents the cheapest cumulative cost
Choose F11; FAP = ({ABCD,AB,CD,A,B},{F32,F11})
Step 4: Evaluate this function and its input aggregates
CF11 = 21; CA = 1 (already known); C(B) = 2
Step 5: Re-evaluate cumulative costs of the FAP net
Recompute Gm of aggregates and functions.
Finally, GmABCD = min (2109,2054,2112) + 1001 = 3055
Loop 5
Step 2: Search for the first partial cumulated cheapest FAP
FAP = ({ABCD,AB,CD},{F32,F11}) and CTotalMin (ABCD) = 3035
Q: Is this FAP complete?
No
Step 3: Search for the first non-evaluated upstream function that presents the cheapest cumulative cost
Choose F13; FAP = ({ABCD,AB,CD,A,B,C,D},{F32,F11,F13})
Step 4: Evaluate this function and its input aggregates
C F13 = 23; CC = 3; CD = 4 (already known)
Step 5: Reevaluate cumulative costs of the FAP net
Recompute Gm of aggregates and functions.
Finally, GmABCD = min (2112, 2080, 2115) + 1001 = 3081
Loop 6 (last loop)
Step 2: Search for the first partial cumulated cheapest FAP
FAP = ({ABCD,AB,CD,A,B,C,D},{F32,F11,F13}) and CTotalMin (ABCD) = 3081
Q: Is this FAP complete?
Yes
The last found partial FAP describes a full assembly process for the end product ABCD (each of its functions and each of its aggregates are evaluated). The loop can exit to step 6.
Step 6: Display the cheapest FAP and the corresponding cumulative cost (end of the procedure)
Now, the output flow cost of the FAP net (end node) presents the lowest cumulative cost of 3081 (CTotalMin (ABCD) = 3081). The final result is presented in Fig. 17, through its bold arrows. Then, the procedure leads to the discover of the “lowest cost” FAP = ({ABCD,AB,CD,A,B,C,D},{F32,F11,F13}) and its CTotalMin (ABCD) = 3081. In this example, the lowest cost FAP is unique.
2.4 Conclusion
In this appendix, we have formulated the optimization problem for the search of the best FAP in a FAP net, as an integer linear programming model with binary (logical) variables. It is known to be NP-Complete.
As the number of variables in this problem may be high (in the case of complex products), it may be complicated to solve it by exploring all admissible solutions. Then, we have proposed an original procedure that combines automated steps and manual intervention by the user to evaluate the local costs of only a reduced subset of the aggregates and functions. It enables the assembly expert to generate a lowest cost FAP and at the same time limit his/her work time due to the evaluation of the costs of the functions and aggregates in the FAP net.
We have applied this procedure to an example to illustrate its interest.
In this example, the “lowest cost” FAP included in this FAP net is 3081. For information, the “highest cost” is 3353. Only 5/10 functions (in red) and 9/10 aggregates (in green—except (BC)) required user intervention (see Fig. 17). There is, therefore, no need to pre-evaluate each node (aggregate, function) in the FAP net. It is not necessary to explore all paths (all FAPs) in the net. Only the cumulative costs need to be recalculated simply and quickly when the user evaluates a new cost of a function or of an aggregate. The cheapest FAP can be deduced easily.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Perrard, C., Lehmann, O., Bonjour, E. et al. A new method for functional assembly plan generation and evaluation. Implementation in CapLog, an efficient software. Int J Adv Manuf Technol 130, 1665–1692 (2024). https://doi.org/10.1007/s00170-023-12698-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00170-023-12698-y