Skip to main content
Log in

A new method for functional assembly plan generation and evaluation. Implementation in CapLog, an efficient software

  • ORIGINAL ARTICLE
  • Published:
The International Journal of Advanced Manufacturing Technology Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. 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

    Article  Google Scholar 

  2. 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

    Article  Google Scholar 

  3. 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

    Article  Google Scholar 

  4. 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

    Article  Google Scholar 

  5. 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

    Article  Google Scholar 

  6. 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

    Article  Google Scholar 

  7. 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

    Article  Google Scholar 

  8. 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

  9. 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)

  10. 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

  11. 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)

  12. 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

  13. 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

    Article  Google Scholar 

  14. 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

    Article  Google Scholar 

  15. 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

    Article  Google Scholar 

  16. 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

    Article  Google Scholar 

  17. 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

    Article  Google Scholar 

  18. 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

    Chapter  Google Scholar 

  19. Reisig W (2012) Petri nets: an introduction, vol 4. Springer Science & Business Media

    Google Scholar 

  20. 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)

  21. 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

    Article  Google Scholar 

  22. Homem de Mello LS, Lee S (eds) (1991) Computer-aided mechanical assembly planning. Springer US, Boston, MA

    Google Scholar 

  23. 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

  24. 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

    Article  Google Scholar 

  25. 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

    Article  Google Scholar 

  26. 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

    Article  Google Scholar 

  27. 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

    Article  Google Scholar 

  28. 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

    Article  Google Scholar 

  29. 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

    Article  Google Scholar 

  30. 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

    Chapter  Google Scholar 

  31. 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

    Article  Google Scholar 

  32. 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

    Article  Google Scholar 

  33. 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

    Article  Google Scholar 

  34. 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

    Article  Google Scholar 

  35. 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

    Article  Google Scholar 

  36. 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

  37. 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

    Article  Google Scholar 

  38. 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

    Article  Google Scholar 

  39. 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

  40. 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

    Article  Google Scholar 

  41. Delchambre A (1992) Computer-aided assembly planning. Springer Netherlands, Dordrecht

    Book  Google Scholar 

  42. 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

  43. 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

    Article  Google Scholar 

  44. 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

    Article  MathSciNet  Google Scholar 

  45. 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

    Article  Google Scholar 

  46. 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

    Article  Google Scholar 

  47. 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

    Article  Google Scholar 

  48. 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

    Article  Google Scholar 

  49. 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

    Article  Google Scholar 

  50. 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

    Article  Google Scholar 

  51. 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

    Article  Google Scholar 

  52. 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

    Article  Google Scholar 

  53. 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

    Article  Google Scholar 

  54. 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

    Article  Google Scholar 

  55. 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

    Article  Google Scholar 

  56. 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

    Article  Google Scholar 

Download references

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

Authors

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

Correspondence to Eric Bonjour.

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).

Table 1 Symbolisms used to represent functional assembly plans (FAP)

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’, EA→F, EF→A) is such a tree that respects the following constraints:

  • T is a bipartite sub-graph of G (A’⊂A, F’⊂F, EA→FEA→F, and EF→AEF→A)

  • T is a tree

  • T includes every leaf aggregate (ALA’) 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 ∈ EA → F and 0 otherwise.

By the same way, xF→A(j,i) = 1 if ej, i ∈ EF → 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:

$$\textrm{Cost}(T)={C}_{\textrm{TotalMin}}\left({a}_{\textrm{N}}\right)=\min \sum_{\textrm{j}}{x}_{\textrm{F}\to \textrm{A}}\left(\textrm{j},\textrm{i}\right).{\textrm{Cf}}_{\textrm{j}}+\sum_{\textrm{i}}{x}_{\textrm{A}\to \textrm{F}}\left(\textrm{i},\textrm{j}\right).{\textrm{Ca}}_{\textrm{i}}$$

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.

Table 2 Formulation of the constraints

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.

Fig. 13
figure 13

Procedure to extract the “lowest cost” FAP from a FAP net

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).

Fig 14
figure 14

Data of the application example, a theorical FAP net

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.

Fig 15
figure 15

Procedure applied to the theorical FAP net—data initialization

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).

Fig 16
figure 16

Procedure applied to the theorical FAP net—first loop

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. 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. 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.

Fig. 17
figure 17

Procedure applied to the theorical FAP net—last loop and final results

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.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00170-023-12698-y

Keywords

Navigation