Introduction

Additive manufacturing (AM), which is commonly known as three-dimensional (3D) printing, refers to the processes of accumulating materials layer upon layer to 3D objects from 3D model data (ISO/ASTM 52900 2015). AM processes provide better flexibility in 3D model design, generate fewer waste byproducts in part manufacturing, and require less time and cost in product development, over conventional subtractive manufacturing processes. In addition, AM processes enables the fabrication of components with complex geometries, heterogeneous materials, and user-customisable properties (Gibson et al. 2015). Some have anticipated that AM processes would bring revolutionary changes to the industry (Gao et al. 2015). Despite this, ensuring the repeatability of AM processes and the reproducibility of AM products is still considered as one of the biggest challenges to make the processes widely applied in the real world industry (Kim et al. 2017; Qin et al. 2019).

To tackle this challenge, substantial work needs to be carried out at a number of aspects (e.g. design and simulation for AM, process planning for AM, qualification and certification of AM parts, standardisation of AM processes, AM materials, and AM digital thread) (Kim et al. 2015, 2017), in which process planning is one of the most important aspects. Process planning for AM is the use of specific techniques to generate the process plans for building a part, which mainly include build orientation, support structure, 3D model slicing, and tool-path, according to the 3D model data of the part (Kulkarni et al. 2000; Ahsan et al. 2015; Liang 2018). It consists of a set of successive preparation steps before building the part, and determine the build orientation is the first step. Build orientation has direct influence on the subsequent preparation steps, namely support structure generation (Jiang et al. 2018a, b, 2019a, b, c), 3D model slicing (Xu et al. 2018), and tool-path planning (Xiao and Joshi 2018).

In the process of AM, the build orientation is the accumulating orientation of materials when building the part. The quality of a build orientation has important influence on the part quality, post-processing, build time and cost, etc. (Taufik and Jain 2013). Build orientation determination refers to the use of specific techniques to identify a proper orientation to build an AM part from an infinite number of theoretical orientations. It consists of two major tasks. One is to generate a certain number of alternative build orientations (ABOs) from the infinite set. The other is to determine the optimal build orientation (OBO) from the generated ABOs (Kulkarni et al. 2000). At present, build orientations are manually specified by AM machine operators according to their expertise. Under the same circumstances, different operators may be in favour of different build orientations, which may greatly increase the uncertainty of process planning and directly affect the build cost, build time, accuracy, and quality of the parts (Zhang et al. 2018).

To provide an effective tool for automatic determination of build orientations, a method based on fuzzy multi-attribute decision making is proposed in this paper. The method focuses on the second task in build orientation determination and assumes that the ABOs are known. It is carried out in two steps. In the first step, attributes that are considered in the determination and their relationships are identified. Values of the identified attributes will be obtained from vendor documents, benchmark data, experiments, or expert evaluation. The values are then fuzzified using a ratio model as a membership function. As such each attribute value is quantified by a fuzzy number (FN), which enables the use of aggregation operators upon the fuzzified values. In the second step, a fuzzy weighted power partitioned Muirhead mean (FWPPMM) operator and a fuzzy weighted power prioritised average (FWPPA) operator, are developed to aggregate all FNs of each ABO. The overall attribute value of each ABO can then be finally quantified by a single FN. By comparing these FNs (from high to low), a ranking of all ABOs can then be generated, and the one which is ranked first is then proposed as the OBO.

The remainder of the paper is organised as follows. An overview of related work is provided in section “Related work”. “OBO determination method” section explains the details of the proposed OBO determination method. Two examples and qualitative and quantitative comparisons are presented to illustrate and demonstrate the method in “Examples and comparisons” section. “Conclusion” section ends the paper with a conclusion.

Related work

An ideal method for OBO determination is preferably a standardised method for practical applications. The latest AM process standards (ISO 17296-2 2015; ISO 17296-3 2014) provide a classification of AM processes, an introduction to the principle of each AM process, and a description to the performance test methods of AM processes, but have not yet enclosed a practical method for OBO determination.

To provide an effective tool for OBO determination, a number of methods have been presented during the past two decades. These methods can be classified into the following two categories on the basis of their used techniques:

(1) Multi-objective optimisation (MOO) methods. The fundamental principle of this category of methods is to use specific MOO techniques to find out a build orientation that enables one or more specific objectives (i.e. attributes of build orientations), such as design requirements, build cost, build time, part accuracy, mechanical properties, and thermodynamic properties, to be optimal from an infinite number of theoretical orientations or a certain number of alternative orientations. The methods based on this principle mainly include the methods proposed by Cheng et al. (1995), Lan et al. (1997), Alexander et al. (1998), McClurkin and Rosen (1998), Hur and Lee (1998), Xu et al. (1999), Hur et al. (2001), Masood et al. (2003), Thrimurthulu et al. (2004), Pandey et al. (2004), Kim and Lee (2005), Ahn et al. (2007), Canellidis et al. (2009), Padhye and Deb (2011), Strano et al. (2011), Zhang and Li (2013), Paul and Anand (2015), Ezair et al. (2015), Delfs et al. (2016), Luo and Wang (2016), Zhang et al. (2017), Brika et al. (2017), Chowdhury et al. (2018), Mi et al. (2018), Jaiswal et al. (2018), Al-Ahmari et al. (2018), Huang et al. (2018), Raju et al. (2018), and Golmohammadi and Khodaygan (2019). A brief summarisation of these methods is provided in Table 1. As can be seen from the table, different MOO techniques and optimised objectives were used. Among the used MOO techniques, genetic algorithm is the most frequently used technique, in which Brika et al. (2017) and Chowdhury et al. (2018) have considered significantly more numbers of optimised objectives than the others. This means that the two methods can achieve better optimisation results than other methods under the same conditions. However, considering more number of objectives is likely to generate large number of Pareto-optimal solutions (most of them are not the real optimal solutions) (Ancău and Caizar 2010), and will greatly extend the convergence time of the optimisation algorithm. These can hardly be accepted for the actual OBO determination (Zhang et al. 2018).

Table 1 A brief summarisation of some typical MOO methods

(2) MADM methods. The basic principle of this category of methods is to use specific MADM techniques to estimate the overall score of each ABO in the case of comprehensively considering multiple attributes, and to sort all ABOs according to their overall scores (from high to low), and to select the ABO ranked first as the OBO. Representative methods based on this principle are the methods proposed by Pham et al. (1999), West et al. (2001), Byun and Lee (2006), Chen et al. (2008), Zhang et al. (2016, 2018), Ransikarbum and Kim (2017), and Qie et al. (2018). A brief summarisation of these methods is listed in Table 2. It can be seen from the table that different MADM techniques were adopted, and various sets of considered attributes were used. Like the MOO methods, the MADM methods also determine the OBO according to specific attributes of build orientations. The two categories of methods involve roughly the same types of attributes, but they are essentially different. The core of the MOO methods is optimisation. That is, the OBO is obtained via optimising the values of attributes. The core of the MADM methods is aggregation. That is, the OBO is determined through aggregating the values of attributes. Aggregation has the following two advantages over optimisation (Zhang et al. 2016): (1) The number of the optimal solutions obtained by aggregation is generally one or several (If several solutions have the same highest score, then any one of them can be selected as the optimal solution) when the number of attributes increases; (2) The time required for aggregation generally increases in a polynomial relationship with the number of attributes and ABOs. According to the two advantages, it is not difficult to know that a MADM method is better suited than a MOO method in the real situation. However, the existing MADM methods still have two main issues: (1) The methods have not dealt with the complex relationships among the attributes of ABOs comprehensively. The different attributes used for OBO determination are usually not independent of each other, but are contradictory, interrelated, or prioritised. It can be seen from Table 2 that most of the methods [except the method presented by Zhang et al. (2016)] assume that the attributes are independent of each other when aggregating their values (Zhang et al. 2016, 2018). (2) Negative influence from the deviation of attribute values has never been reduced. The values of the attributes are generally obtained via experiments, simulation, or expert evaluation. It is usually impossible to ensure the absolute objectivity of these ways, which means that there will often be deviation in one or several attribute values. To obtain reasonable OBO under such circumstance, it is of necessity to reduce the effect of deviation on the aggregation result. But none of the methods in Table 2 can achieve this.

Table 2 A brief summarisation of some typical MADM methods

Aiming at the two issues in the existing MADM methods for OBO determination, FS (Dubois and Prade 1980), the MM operator (Muirhead 1902), the PA operator (Yager 2008), the power average operator (Yager 2001), and the partitioned average operator (Dutta and Guha 2015) are introduced in this paper to construct a FWPPMM operator and a FWPPA operator to aggregate the values of the attributes of ABOs. An OBO determination method based on fuzzy MADM and the constructed operators is proposed. FS is a mathematical tool that can normalise the values of attributes into the numbers in [0, 1] to make them easy to handle. The MM operator is an aggregation operator that is applicable whenever all attributes are independent of each other, or there are correlative relationships between any two attributes, or any three or more attributes. The PA operator can capture priority relationships among attributes. The power average operator is an aggregation operator that can reduce the negative effect of the deviation of one or several argument values on the aggregation result. The partitioned average operator can handle the heterogeneous relationships among the aggregated arguments. Because of the combination of the MM, PA, power average, and partitioned average operators in the constructed operators, the proposed method can deal with the heterogeneous correlative relationship (HCR) and heterogeneous priority relationship (HPR) among the attributes of ABOs, while can also reduce the negative influence of the deviation of attribute values. Here HCR (or HPR) means that the attributes are partitioned into different partitions and the attributes in the same partitions are correlative with each other (have the same priority) whereas the attributes in different partitions are independent of each other (have different priority).

OBO determination method

In this section, the details of an OBO determination method based on fuzzy MADM and the FWPPMM and FWPPA operators are explained. The schematic representation of this method is shown in Fig. 1. As can be seen from the figure, the method mainly includes two parts: quantification of the attributes of ABOs and generation of the OBO. In the first part, the attributes considered in OBO determination and their relationships are identified and the values of the identified attributes are attained. Based on this, a ratio model is used to fuzzify the attained values and a fuzzy decision matrix is established and then normalised. In the second part, weights and operations of FNs are combined with the MM, PA, power average, and partitioned average operators to construct a FWPPMM operator and a FWPPA operator. The FWPPMM operator is used to aggregate the fuzzy information in the normalised matrix if the identified relationships belong to HCR, while the FWPPA operator is used if the identified relationships belong to HPR. Finally, a ranking of ABOs is obtained via comparing the aggregation results and the then OBO can be determined according to the ranking.

Fig. 1
figure 1

The schematic diagram of the proposed OBO determination method

Based on the description above, the present section is divided into three subsections, which explain the details of the FWPPMM and FWPPA operators, quantification of the attributes of ABOs, and generation of the OBO, respectively.

FWPPMM and FWPPA operators

Preliminaries

(1) Definition of FS In mathematics, a FS is a set whose elements have membership degrees, which indicate the degrees to which the elements belong to the set (Zadeh 1965). It can be formally defined as follow.

Definition 1

A FS S in a finite universe of discourse X is: S = {<x, µS(x)> | xX}, where µS : X → [0, 1] denotes the membership degree of xX to S, with the condition that 0 ≤ µS(x) ≤ 1.

(2) Definition of FN Generally, the values of the membership function µS(x) are called as FNs. The definition of a FN can be naturally obtained as follow.

Definition 2

A FN Ξ on a FS S = {<x, µS(x)> | xX} is: Ξ = <µS(x)>. For the sake of simplicity, the FN is usually denoted as Ξ = <µ> .

(3) Comparison rules of FNs Any two FNs can be compared via comparing their membership degrees. For example, suppose Ξ1 = <µ1> and Ξ2 = <µ2> are two arbitrary FNs, then Ξ1 < Ξ2 if and only if µ1 < µ2; Ξ1 > Ξ2 if and only if µ1 > µ2; and Ξ1 = Ξ2 if and only if µ1 = µ2.

(4) Operational rules of FNs Generally, the operations between FNs and between real numbers and FNs are based on specific family of T-norm and T-conorm. The following four operational rules, which are based on the Algebraic T-norm and T-conorm, respectively define the sum and product operations between FNs and the multiplication and power operations between real numbers and FNs (Dubois and Prade 1980):

$$ \Xi_{1} \Xi_{2} = \, {<}\mu_{1} + \mu_{2} - \mu_{1} \mu_{2}{>} $$
(1)
$$ \Xi_{1} \Xi_{2} = \, {<}\mu_{1} \mu_{2}{>} $$
(2)
$$ a\Xi = {<}1 \, - \, \left( {1 \, - \mu } \right)^{a}{>} $$
(3)
$$ \Xi^{b} = \, {<}\mu^{b}{>} $$
(4)

where Ξ = <μ> , Ξ1 = <μ1> , and Ξ2 = <μ2> are three arbitrary FNs, and a and b are two arbitrary real numbers and a, b > 0.

(5) Distance between FNs The distance between two FNs can be measured by the absolute value of the difference of their membership degrees (Dubois and Prade 1980). For example, suppose Ξ1 = <µ1> and Ξ2 = <µ2> are two arbitrary FNs, then the distance between these two FNs is:

$$ DIST\left( {\Xi_{1} , \, \Xi_{2} } \right) \, = \, \left| {\mu_{1} - \mu_{2} } \right| $$
(5)

(6) MM operator The MM operator was firstly introduced to aggregate crisp numbers by Muirhead (1902). It is an all-in-one aggregation operator for capturing the relationships among multiple aggregated arguments, since it is applicable in the cases where all arguments are independent of each other, there are interrelationships between any two arguments, and there are interrelationships among any three or more arguments. The formal definition of the MM operator is as follow.

Definition 3

Let (Ω1, Ω2, …, Ωn) be a collection of crisp numbers, Δ = (δ1, δ2, …, δn) (where δ1, δ2, …, δn ≥ 0 but not at the same time δ1 = δ2 = ··· = δn = 0) be a collection of n real numbers, p(i) be a permutation of (1, 2, …, n), and Pn be the set of all permutations of (1, 2, …, n). Then the aggregation function

$$ MM^{\Delta } (\Omega_{1} ,\Omega_{2} , \ldots ,\Omega_{n} ) = \left( {\frac{1}{n!}\sum\nolimits_{{p \in \varvec{P}_{n} }} {\prod\limits_{i = 1}^{n} {\Omega_{p(i)}^{{\delta_{i} }} } } } \right)^{{\frac{1}{{\sum\nolimits_{i = 1}^{n} {\delta_{i} } }}}} $$
(6)

is called the MM operator. In this operator, the values of δi (i = 1, 2, …, n) are used to specify the relationships among aggregated arguments: (1) If δ1> 0 and δ2 = δ3 = ··· = δn = 0, then the arguments are independent of each other; (2) If δ1, δ2 > 0 and δ3 = δ4 = ··· = δn = 0, then the correlative relationships between two arguments are considered; (3) If δ1, δ2, …, δk > 0 (k = 3, 4, …, n) and δk+1 = δk+2 = ··· = δn = 0, then the correlative relationships among k arguments are considered.

(7) PA (prioritised average) operator The PA operator, introduced by Yager (2008), has the capability of dealing with the HPR among the aggregated arguments. Its formal definition is as follow.

Definition 4

Let (Ω1, Ω2, …, Ωn) be a collection of crisp numbers, S = {Ω1, Ω2, …, Ωn} be a set, Sk = {Ω1, Ω2, …, Ω|Sk|} (k = 1, 2, …, N) be N partitions of S (i.e. S1 ∪ S2 ∪ ··· ∪ SN = S and S1 ∩ S2 ∩ ··· ∩ SN = Ø), S1 ≻ S2 ≻ ··· ≻ SN be the priority relationship among S1, S2, …, SN, S0 = 1 and Sk = max(Ω1, Ω2, …, Ω|Sk|) (k = 1, 2, …, N), and Tk = S0S1Sk−1. Then the aggregation function

$$ PA(\Omega_{1} ,\Omega_{2} , \ldots ,\Omega_{n} ) = \sum\limits_{k = 1}^{N} {\left( {T_{k} \left( {\sum\limits_{{i_{k} = 1}}^{{\left| {\varvec{S}_{k} } \right|}} {\Omega_{{i_{k} }} } } \right)} \right)} $$
(7)

is called the PA operator.

(8) Power average operator The power average operator, introduced by Yager (2001), can assign weights to the aggregated arguments via computing the support degrees between these arguments. This makes it possible to reduce the negative influence of the unduly high or unduly low argument values on the aggregation results. The formal definition of the power average operator is as follow.

Definition 5

Let (Ω1, Ω2, …, Ωn) be a collection of crisp numbers, SUPPi, Ωj) = 1 − DISTi, Ωj) (i, j = 1, 2, …, n and j ≠ i; Di, Ωj) is the distance between Ωi and Ωj) be the support degree for Ωi from Ωj, and

$$ TT(\Omega_{i} ) = \sum\limits_{j = 1,j \ne i}^{n} {SUPP(\Omega_{i} , \, \Omega_{j} )} $$
(8)

Then the aggregation function

$$ PwA(\Omega_{1} ,\Omega_{2} ,\ldots,\Omega_{n} ) = \frac{{\sum\nolimits_{i = 1}^{n} {\left( {\left( {1 + TT(\Omega_{i} )} \right)\Omega_{i} } \right)} }}{{\sum\nolimits_{i = 1}^{n} {\left( {1 + TT(\Omega_{i} )} \right)} }} $$
(9)

is called the power average operator.

(9) Partitioned average operator The partitioned average operator (Dutta and Guha 2015) can aggregate the arguments in different partitions using the same aggregation operator and aggregate the aggregation results of different partitions using the ordinary arithmetic mean operator. By this way, the HCR among arguments can be considered. The formal definition of the partitioned average operator is as follow.

Definition 6

Let (Ω1, Ω2, …, Ωn) be a collection of crisp numbers, S = {Ω1, Ω2, …, Ωn} be a set of Ω1, Ω2, …, Ωn, Sk = {Ω1, Ω2, …, Ω|Sk|} (k = 1, 2, …, N) be N partitions of S (i.e. S1 ∪ S2 ∪ ··· ∪ SN = S and S1 ∩ S2 ∩ ··· ∩ SN = Ø), and AO be a specific aggregation operator. Then the aggregation function

$$ PtA(\Omega_{1} ,\Omega_{2} ,\ldots,\Omega_{n} ) = \frac{1}{N}\sum\limits_{k = 1}^{N} {\left( {\mathop {AO}\limits_{{i_{k} = 1}}^{{\left| {\varvec{S}_{k} } \right|}} \left( {\Omega_{{i_{k} }} } \right)} \right)} $$
(10)

is called the partitioned average operator.

FWPPMM operator

To handle the HCR among the attributes of ABOs and meanwhile reduce the negative effect of the deviation of attribute values on the OBO determination result, weights and the MM, power average, and partitioned average operators of FNs are combined to construct a FWPPMM operator. Based on the definitions of these operators (see Definitions 3, 5, and 6), the FWPPMM operator can be defined as follow.

Definition 7

Let (Ξ1, Ξ2, …, Ξn) (Ξi = <μi>, i = 1, 2, …, n) be a collection of n FNs, S = {Ξ1, Ξ2, …, Ξn} be an ordered set, Sk = {Ξ1, Ξ2, …, Ξ|Sk|} (k = 1, 2, …, N) be N partitions of S (i.e. S1 ∪ S2 ∪ ··· ∪ SN = S and S1 ∩ S2 ∩ ··· ∩ SN = Ø), δ1, δ2, …, δ|Sk| (k = 1, 2, …, N and δ1, δ2, …, δ|Sk| ≥ 0 but not at the same time δ1 = δ2 = ··· = δ|Sk| = 0) be |Sk| real numbers that respectively correspond to Ξ1, Ξ2, …, Ξ|Sk|, δk = (δ1, δ2, …, δ|Sk|) be a collection of δ1, δ2, …, δ|Sk|, Δ = (δ1, δ2, …, δN) be a collection of δ1, δ2, …, δN, p(ik) be a permutation of (1, 2, …, |Sk|), P|Sk| be a set of all permutations of (1, 2, …, |Sk|), Ξi\( \oplus \) Ξj and Ξi\( \otimes \) Ξj (i, j = 1, 2, …, n) be respectively the sum and product operations of Ξi and Ξj, aΞr and Ξbs (r, s = 1, 2, …, n; a, b > 0) be respectively the multiplication operation of Ξr and the power operation of Ξs, and w1, w2, …, wn be respectively the weights of Ξ1, Ξ2, …, Ξn such that 0 ≤ w1, w2, …, wn ≤ 1 and w1 + w2 + ··· + wn = 1. Then the aggregation function

$$ FWPPMM^{{\varvec{\Delta}}} (\Xi_{1} ,\Xi_{2} , \ldots ,\Xi_{n} ) = \frac{1}{N}\left( {\mathop \oplus \limits_{k = 1}^{N} \left( {\frac{1}{{\left| {\varvec{S}_{k} } \right|!}}\mathop \oplus \limits_{{p \in \varvec{P}_{{\left| {\varvec{S}_{k} } \right|}} }} \mathop \otimes \limits_{{i_{k} = 1}}^{{\left| {\varvec{S}_{k} } \right|}} \left( {\frac{{nw_{{p(i_{k} )}} \left( {1 + TT(\Xi_{{p(i_{k} )}} )} \right)}}{{\sum\nolimits_{j = 1}^{n} {\left( {w_{j} \left( {1 + TT(\Xi_{j} )} \right)} \right)} }}\Xi_{{p(i_{k} )}} } \right)^{{\delta_{{i_{k} }} }} } \right)^{{\frac{1}{{\sum\nolimits_{{i_{k} = 1}}^{{\left| {\varvec{S}_{k} } \right|}} {\delta_{{i_{k} }} } }}}} } \right) $$
(11)

is called the FWPPMM operator. In this operator, the values of δik (ik = 1, 2, …, |Sk|) are used to specify the relationships among the aggregated FNs in each of the N partitions S: (1) If δ1> 0 and δ2 = δ3 = ··· = δ|Sk| = 0, then the FNs in the k-th partition Sk are independent of each other; (2) If δ1, δ2 > 0 and δ3 = δ4 = ··· = δ|Sk| = 0, then the correlative relationships between two FNs in Sk are considered; (3) If δ1, δ1, …, δt > 0 (t = 3, 4, …, n) and δt+1 = δt+2 = ··· = δ|Sk| = 0, then the correlative relationships among t FNs in Sk are considered.

Equation (11) is a generalised form of the FWPPMM operator. If specific rules are assigned to the sum, product, multiplication, and power operations in it, then specific FWPPMM operators can be constructed. For instance, if the operational rules based on the Algebraic T-norm and T-conorm in Eqs. (1)–(4) are assigned, then a specific FWPPMM operator is constructed as follow:

$$ FWPPMM^{{\varvec{\Delta}}} (\Xi_{1} ,\Xi_{2} , \ldots ,\Xi_{n} ) = 1 - \left( {\prod\limits_{k = 1}^{N} {\left( {1 - \left( {1 - \left( {\prod\limits_{{p \in \varvec{P}_{{\left| {\varvec{S}_{k} } \right|}} }} {\left( {1 - \prod\limits_{{i_{k} = 1}}^{{\left| {\varvec{S}_{k} } \right|}} {\left( {1 - \left( {1 - \mu_{{p(i_{k} )}} } \right)^{{n\xi_{{p(i_{k} )}} }} } \right)^{{\delta_{{i_{k} }} }} } } \right)} } \right)^{{\frac{1}{{\left| {\varvec{S}_{k} } \right|!}}}} } \right)^{{\frac{1}{{\sum\limits_{{i_{k} = 1}}^{{\left| {\varvec{S}_{k} } \right|}} {\delta_{{i_{k} }} } }}}} } \right)} } \right)^{{\frac{1}{N}}} $$
(12)

where

$$ \xi_{{p(i_{k} )}} = \frac{{w_{{p(i_{k} )}} \left( {1 + TT(\Xi_{{p(i_{k} )}} )} \right)}}{{\sum\nolimits_{j = 1}^{n} {\left( {w_{j} \left( {1 + TT(\Xi_{j} )} \right)} \right)} }} $$
(13)
$$ TT(\Xi_{{p(i_{k} )}} ) = \sum\limits_{{q = 1,q \ne p(i_{k} )}}^{n} {SUPP(\Xi_{{p(i_{k} )}} , \, \Xi_{q} )} $$
(14)
$$ TT(\Xi_{j} ) = \sum\limits_{r = 1,r \ne j}^{n} {SUPP(\Xi_{j} , \, \Xi_{r} )} $$
(15)
$$ SUPP(\Xi_{{p(i_{k} )}} , \, \Xi_{q} ) = 1 - DIST(\Xi_{{p(i_{k} )}} , \, \Xi_{q} ) $$
(16)
$$ SUPP(\Xi_{j} , \, \Xi_{r} ) = 1 - DIST(\Xi_{j} , \, \Xi_{r} ) $$
(17)

It is easy to prove that the aggregation result of Eq. (12) [i.e. FWPPMMΔ1, Ξ2, …, Ξn)] is still a FN. Thus if the aggregation results of different ABOs are computed, the comparison rules of FNs can be applied to generate a ranking of the ABOs. The determination of the OBO is naturally carried out on the basis of the ranking.

FWPPA operator

To deal with the HPR among the attributes of ABOs and meanwhile reduce the negative influence of the deviation of attribute values on the OBO determination result, weights and the PA and power average operators of FNs are combined to construct a FWPPA operator. Based on the definitions of these operators (see Definitions 4 and 5), the FWPPA operator can be defined as follow.

Definition 8

Let (Ξ1, Ξ2, …, Ξn) (Ξi = <μi>, i = 1, 2, …, n) be a collection of n FNs, S = {Ξ1, Ξ2, …, Ξn} be a set, Sk = {Ξ1, Ξ2, …, Ξ|Sk|} (k = 1, 2, …, N) be N partitions of S (i.e. S1 ∪ S2 ∪ ··· ∪ SN = S and S1 ∩ S2 ∩ ··· ∩ SN = Ø), S1 ≻ S2 ≻ ··· ≻ SN be the priority relationship among S1, S2, …, SN, S0 = <1> and Sk = <max(μ1, μ2, …, μ|Sk|)> (k = 1, 2, …, N), \( T_{k} \, = \,S_{0} \otimes S_{1} \otimes \cdots \otimes S_{k - 1} \), and w1, w2, …, wn be respectively the weights of Ξ1, Ξ2, …, Ξn such that 0 ≤ w1, w2, …, wn ≤ 1 and w1 + w2 + ··· + wn = 1. Then the aggregation function

$$ FWPPA(\Xi_{1} ,\Xi_{2} ,\ldots,\Xi_{n} ) = \mathop \oplus \limits_{k = 1}^{N} \left( {T_{k} \otimes \left( {\mathop \oplus \limits_{{i_{k} = 1}}^{{\left| {\varvec{S}_{k} } \right|}} \left( {\frac{{nw_{{i_{k} }} \left( {1 + TT(\Xi_{{i_{k} }} )} \right)}}{{\sum\limits_{j = 1}^{n} {\left( {w_{j} \left( {1 + TT(\Xi_{j} )} \right)} \right)} }}\Xi_{{i_{k} }} } \right)} \right)} \right) $$
(18)

is called the FWPPA operator.

Equation (18) is a generalised form of the FWPPA operator. If specific rules are assigned to the sum, product, and multiplication operations in it, then specific FWPPA operators can be constructed. For example, if the operational rules based on the Algebraic T-norm and T-conorm in Eqs. (1)–(4) are assigned, then a specific FWPPA operator is constructed as follow:

$$ FWPPA(\Xi_{1} ,\Xi_{2} ,\ldots,\Xi_{n} ) = 1 - \prod\limits_{k = 1}^{N} {\left( {1 - \left( {\prod\limits_{t = 0}^{k - 1} {\hbox{max} (\mu_{1} ,\mu_{2} , \ldots ,\mu_{{\left| {\varvec{S}_{t} } \right|}} )} } \right)\left( {1 - \prod\limits_{{i_{k} = 1}}^{{\left| {\varvec{S}_{k} } \right|}} {\left( {1 - \mu_{{i_{k} }} } \right)^{{n\xi_{{i_{k} }} }} } } \right)} \right)} $$
(19)

where max(μ1, μ2, …, μ|S0|) = 1 and

$$ \xi_{{i_{k} }} = \frac{{w_{{i_{k} }} \left( {1 + TT(\Xi_{{i_{k} }} )} \right)}}{{\sum\limits_{j = 1}^{n} {\left( {w_{j} \left( {1 + TT(\Xi_{j} )} \right)} \right)} }} $$
(20)
$$ TT(\Xi_{{i_{k} }} ) = \sum\limits_{{q = 1,q \ne i_{k} }}^{n} {SUPP(\Xi_{{i_{k} }} , { }\Xi_{q} )} $$
(21)
$$ SUPP(\Xi_{{i_{k} }} , \, \Xi_{q} ) = 1 - DIST(\Xi_{{i_{k} }} , \, \Xi_{q} ) $$
(22)

and TTj) is calculated using Eqs. (15) and (17).

It is easy to prove that the aggregation result of Eq. (19) [i.e. FWPPA1, Ξ2, …, Ξn)] is still a FN. Therefore, if the aggregation results of different ABOs are computed, the comparison rules of FNs can be used to generate a ranking of the ABOs. The determination of the OBO is naturally carried out based on the ranking.

Quantification of attributes of ABOs

Quantification of the attributes of ABOs aims to quantify the values of the attributes of ABOs in FNs. It takes a certain number of ABOs as input and output a normalised fuzzy decision matrix that quantifies the attributes of these ABOs. The quantification of the attributes of ABOs mainly consists of three tasks. The first one is identification of the attributes of ABOs and their relationships. Acquisition of the values of the identified attributes is the second task. The third task is transformation of the acquired values.

For the identification of the attributes of ABOs, there are already a number of research results available for reference. In the existing OBO determination methods in Tables 1 and 2, a variety of attributes of ABOs that are affected by build orientations has been identified, which mainly include cost, time, surface quality, accuracy, mechanical properties, support structure, and geometric features. Further, ISO 17296-3 (2014) has identified surface quality, dimensional and geometrical tolerance, mechanical properties, and build material requirements as the attributes that are affected by AM process. Based on these research results, the attributes affected by build orientation mainly include the followings (Taufik and Jain 2013; Zhang et al. 2016):

(1) Surface roughness. Build orientation has an important effect on surface roughness because of the layer upon layer building manner of AM processes. For example, planes or surfaces that are parallel or perpendicular to build orientation would have smaller roughness than those that have an angle with build orientation. Declining faces would be more seriously affected by stair-step effect (Zhang et al. 2016). When determining the build orientation, surface roughness should always be considered as a key factor. Most of the methods listed in Table 1 and Table 2 have taken into account this factor.

(2) Part accuracy. Part accuracy mainly contains dimensional error, geometric error, and volumetric error. Build orientation affects shrinkage, curling, and distortion, which are the major factors influencing part accuracy (Zhang et al. 2016). Thus, part accuracy is another important attribute for build orientation determination. Many existing orientation methods, which mainly include the methods of Cheng et al. (1995), McClurkin and Rosen (1998), Hur and Lee (1998), West et al. (2001), Masood et al. (2003), Zhang and Li (2013), Paul and Anand (2015), Luo and Wang (2016), Zhang et al. (2016), Ransikarbum and Kim (2017), Jaiswal et al. (2018), and Al-Ahmari et al. (2018), have studied the relationship between this attribute and build orientation.

(3) Volume of support structure. In general, support structure is needed when there are overhanging areas or declining faces. It is quite intuitive that different build orientations require different amount of supports. An ideal orientation should require as little support as possible, since support would affect build time, build cost, post-processing, and surface roughness (Jiang et al. 2018a, b, 2019a, b, c). In the orientation methods of Alexander et al. (1998), Hur and Lee (1998), Pham et al. (1999), Chen et al. (2008), Paul and Anand (2015), Ezair et al. (2015), Zhang et al. (2016), Brika et al. (2017), Ransikarbum and Kim (2017), Chowdhury et al. (2018), Qie et al. (2018), Zhang et al. (2018), and Golmohammadi and Khodaygan (2019), volume of support structure is considered as a key attribute.

(4) Mechanical strength. The mechanical strength of a part manufactured by AM process is generally anisotropic. The tensile strength and yield strength in horizontal orientation are often greater than they in vertical orientation (Zhang et al. 2016). The KARMA knowledge base (http://karma.aimme.es) constructed based on a large number of practical experiments suggests that build orientation has direct impact on mechanical strength. The orientation methods presented by Zhang et al. (2016), Brika et al. (2017), Ransikarbum and Kim (2017), and Raju et al. (2018) have identified mechanical strength as an important attribute when dealing with the orientation problem.

(5) Build time. Build time mainly consists of layer scanning time, layer preparation time, and recoating time. It is not difficult to imagine that build orientation directly affects build time due to the layer by layer nature of AM technologies. Most of the orientation methods listed in Tables 1 and 2 have considered build time.

(6) Build cost. Build cost calculates all resources required in building a part, such as materials, machine, energy, and labour. It is also influenced by build orientation because different orientations would cause different support volume, material consumption, build time, and post-processing. Build cost has also been regarded as an important factor in most of the orientation methods listed in Tables 1 and 2.

(7) Post-processing. Post-processing is an important AM process activity. One of its purposes is to improve the surface quality and mechanical properties of the manufactured part. Build orientation has direct or indirect effect on this activity since it directly affects surface quality and mechanical properties. However, only a few orientation methods, such as the methods of Kim and Lee (2005), Canellidis et al. (2009), and Zhang et al. (2016), have considered post-processing. The reason could be the difficulty in establishing computable post-processing models or representing related experience.

(8) Geometric features. Geometric features can be simply understood as the geometric shapes that constitutes a part. As investigated by Pham et al. (1999) and Zhang et al. (2016), geometric features are also affected by build orientation. But very limited number of orientation methods have investigated the relationship between them.

(9) Need for filler material. Apart from the above attributes, need for filler material can also be selected as attributes when determining build orientation for specific AM processes (Singh et al. 2017). However, few orientation methods have taken into account this attribute separately. The reason could be the combination of this factor into build cost, since the needed filler material can be seen as one types of consumption materials.

In practice, the attributes of ABOs in specific situations can be identified via experiments, simulation, or expert experience. The complex relationships among the attributes of ABOs generally include independent relationship, correlative relationship, and priority relationship, where each relationship could possibly be heterogeneous. The independent and correlative relationships can be identified by expert evaluation and actual experiments. The priority relationship is the reflection of the preference of users and is generally specified by users.

For the acquisition of the values of attributes, various ways have been presented in the existing methods in Tables 1 and 2. They can be classified into acquisition from vendor documents and benchmark data, estimation based on experiments, prediction based on simulation, and evaluation based on expert experience according to their nature. In the proposed OBO determination method, the values of the attributes of ABOs can also be obtained by these ways.

For the transformation of the values of attributes into FNs, a specific membership function is required since the values of attributes are generally in crisp numbers. Brauers et al. (2008) tested the total ratio, Scharlig ratio, Weitendorf ratio, Van Delft and Nijkamp ratio, Juttler ratio, Stopp ratio, Korth ratio, and Peldschus ratio models and found that the best ratio model for transforming crisp numbers into FNs in MADM is the square root of the sum of squares of each option per attribute for such denominator. This ratio model is used as the membership function to transform attribute values into FNs in the proposed method.

On the basis of the description above and the basic principle of MADM, the quantification of attributes of ABOs in the proposed method is carried out according to the following steps:

(1) Identify the attributes of ABOs and their relationships.

(2) Obtain the values of the attributes of ABOs.

(3) Describe an OBO determination problem formally. In general, a MCDM problem can be described by a set of options O = {O1, O2, …, Om}, a set of attributes A = {A1, A2, …, An}, a vector of weights w = [w1, w2, …, wn], and a decision matrix M = [vi,j]m×n (i = 1, 2, …, m; j = 1, 2, …, n), where O1, O2, …, Om are m different options, A1, A2, …, An are n different attributes, w1, w2, …, wn are respectively the weights of A1, A2, …, An such that 0 ≤ w1, w2, …, wn ≤ 1 and w1 + w2 +… + wn = 1, and vi,j is the numerical value of the j-th attribute of the i-th option. According to the set O, the set A, and the matrix M, the MADM problem can be described as: Making a decision with the help of a ranking of the elements of O based on A, w, and M. For an OBO determination problem, the ABOs, the attributes of ABOs, the relative importance of the attributes of ABOs, and the values of the attributes of ABOs can be respectively regarded as the options (O1, O2, …, Om), the attributes (A1, A2, …, An), the weights of attributes (w1, w2, …, wn), and the values of attributes (vi,j) of a MADM problem. Based on this, the OBO determination problem is formally described as: Determining the OBO with the help of a ranking of the elements of O based on A, w, and M.

(4) Transform the values of the attributes of ABOs into FNs. Using the following ratio model, the values of the attributes of ABOs are transformed into FNs:

$$ r_{i,j} = \frac{{v_{i,j} }}{{\sqrt {\sum\nolimits_{i = 1}^{m} {v_{i,j}^{2} } } }} $$
(23)

where i = 1, 2, …, m, j = 1, 2, …, n, and ri,j is the ratio of vi,j. It is not difficult to prove that 0 ≤ ri,j ≤ 1. Therefore, the crisp value vi,j can be described by the FN <ri,j> .

(5) Construct a fuzzy decision matrix. According to the transformation results, a fuzzy decision matrix is constructed as MF = [ri,j]m×n (i = 1, 2, …, m; j = 1, 2, …, n).

(6) Normalise the fuzzy decision matrix. A MADM problem may have two types of attributes, i.e. benefit attributes and cost attributes. They respectively have positive and negative influences on decision making. To remove the influences of different types of attributes, the fuzzy decision matrix MF is normalised as MN = [Ξi,j]m×n (i = 1, 2, …, m; j = 1, 2, …, n), where Ξi,j is <ri,j> for benefit attribute Aj and is <1 − ri,j> for cost attribute Aj.

Generation of the OBO

Generation of the OBO aims to generate the OBO from a certain number of ABOs. It takes the normalised fuzzy decision matrix and the identified relationships among the attributes of ABOs as input and output the OBO among the given ABOs. Based on the constructed FWPPMM and FWPPA operators, the generation of the OBO can be carried out according to the following steps:

(1) Calculate the support degrees. Based on the normalised fuzzy decision matrix MN, the support degrees SUPPi,j, Ξi,k) (i = 1, 2, …, m; j, k = 1, 2, …, n) are computed using:

$$ SUPP(\Xi_{i,j} , \, \Xi_{i,k} ) = 1 - DIST(\Xi_{i,j} , \, \Xi_{i,k} ) $$
(24)

where DISTi,j, Ξi,k) is the distance between Ξi,j and Ξi,k.

(2) Calculate the TT values. On the basis of the computed support degrees SUPPi,j, Ξi,k), the TT values TTi,j) are computed using:

$$ TT(\Xi_{i,j} ) = \sum\limits_{k = 1,k \ne j}^{n} {SUPP(\Xi_{i,j} , \, \Xi_{i,k} )} $$
(25)

(3) Calculate the power weights. Based on the computed TT values TTi,j), the power weights ξi,j are computed using:

$$ \xi_{i,j} = \frac{{w_{j} \left( {1 + TT(\Xi_{i,j} )} \right)}}{{\sum\limits_{j = 1}^{n} {\left( {w_{j} \left( {1 + TT(\Xi_{i,j} )} \right)} \right)} }} $$
(26)

(4) Calculate the overall attribute values of the given ABOs. If the relationships among attributes belong to HCR, then the FWPPMM operator in Eq. (12) is used to compute the overall attribute value Ξi. If the relationships among attributes belong to HPR, then the FWPPA operator in Eq. (19) is used to compute the overall attribute value Ξi.

(5) Rank the given ABOs. On the basis of the calculated overall attribute values Ξi, the given ABOs are ranked from high membership degree to low membership degree using the comparison rules of FNs.

(6) Determine the OBO. The OBO is determined as the ABO ranked first.

Examples and comparisons

In this section, two examples are firstly leveraged to illustrate the working procedure of the proposed OBO determination method. Then the effectiveness of the method is demonstrated via qualitative and quantitative comparisons to the existing methods for OBO determination.

Examples

Example 1

The first example is a classic example of OBO determination. It was developed by Cheng et al. (1995) and has been used to illustrate the OBO determination methods presented by Pham et al. (1999), Pandey et al. (2004), Byun and Lee (2006), Canellidis et al. (2009), Zhang et al. (2016), Ransikarbum and Kim (2017), and Qie et al. (2018). In this example, a part whose 3D model is shown in Fig. 2 was assumed to be built using selective laser sintering. There are six ABOs O1, O2, O3, O4, O5, and O6, which are shown in Fig. 3. The attributes of these ABOs are surface roughness (A1), build time (A2), build cost (A3), volume of support structure (A4), and favourableness of AM features (A5). Suppose surface roughness and favourableness of AM features are correlative, build time, build cost, and volume of support structure are correlative, and {surface roughness, favourableness of AM features} and {build time, build cost, volume of support structure} are independent. The values of the five attributes of the six ABOs are listed in Table 3. The relative importance of the five attributes is measured by the five even weights in w = [0.2, 0.2, 0.2, 0.2, 0.2].

Fig. 2
figure 2

The 3D model of the part in Example 1

Fig. 3
figure 3

The ABOs of the part in Example 1

Table 3 The values of the five attributes of the six ABOs of the part in Example 1

With the given five attributes of ABOs and the relationships among them, the values of the five attributes in Table 3 and the weights of the five attributes in w, determination of the OBO among the six ABOs can be carried out using the proposed method. The procedure of the determination consists of the following twelve steps:

(1) Identify the attributes of ABOs and their relationships. The attributes of the six ABOs are identified as surface roughness (A1), build time (A2), build cost (A3), volume of support structure (A4), and favourableness of AM features (A5). The four attributes are divided into two partitions {A1, A5} and {A2, A3, A4}, where A1 and A5 are correlative, A2, A3, and A4 are correlative, and {A1, A5} and {A2, A3, A4} are independent of each other.

(2) Obtain the values of the attributes of ABOs. The values of the surface roughness, build time, build cost, and favourableness of AM features of each ABO are cited from Zhang et al. (2016), which were estimated using the prediction models in an AM process planning platform named KARMA Tool (http://karma.aimme.es/app). The values of the volume of support structure of each ABO were obtained via using Meshmixer to generate the support structure of each ABO and using MeshLab to compute the volume of the generated support structure of each ABO.

(3) Describe an OBO determination problem formally. Based on the given O = {O1, O2, O3, O4, O5, O6}, A = {A1, A2, A3, A4, A5}, w = [0.2, 0.2, 0.2, 0.2, 0.2], and M = [vi,j]6×5 (i = 1, 2, 3, 4, 5, 6; j = 1, 2, 3, 4, 5; the values of vi,j are listed in Table 3), the OBO determination problem in the example can be formally described as: Determining the OBO with the help of a ranking of the elements of O based on A, w, and M.

(4) Transform the values of the attributes of ABOs into FNs. Using the ratio model in Eq. (23), the values of the five attributes of the six ABOs in Table 3 are transformed into the FNs listed in Table 4.

Table 4 The FNs that stand for the values of the five attributes of the six ABOs of the part in Example 1

(5) Construct a fuzzy decision matrix. According to the transformation results, a fuzzy decision matrix is constructed as:

$${\mathbf{M}}_{\mathbf{F}} = \left[ {r_{i,j} } \right]_{{6 \times 5}} \left( {i = 1,2,3,4,5,6;j = 1,2,3,4,5} \right)$$

where the values of ri,j are listed in Table 4.

(6) Normalise the fuzzy decision matrix. Since surface roughness (A1), build time (A2), build cost (A3), and volume of support structure (A4) are cost attributes and favourableness of AM features (A5) is benefit attribute, the fuzzy decision matrix MF is normalised as:

$${\mathbf{M}}_{{\mathbf{N}}} = \left[ {\begin{array}{*{20}c} {<}0.6379{>} &\quad {<}0.7093{>} &\quad {<}0.7858{>} &\quad {<}0.6920{>} &\quad {<}0.6490{>} \\ {<}0.5792{>} &\quad {<}0.6881{>} &\quad {<}0.7090{>} &\quad {<}0.5892{>} &\quad {<}0.3937{>} \\ {<}0.5792{>} &\quad {<}0.6881{>} &\quad {<}0.7090{>} &\quad {<}0.2931{>} &\quad {<}0.3937{>} \\ {<}0.6047{>} &\quad {<}0.4843{>} &\quad {<}0.4480{>} &\quad {<}0.6338{>} &\quad {<}0.3937{>} \\ {<}0.5859{>} &\quad {<}0.5327{>} &\quad {<}0.5294{>} &\quad {<}0.7141{>} &\quad {<}0.2386{>} \\ {<}0.5676{>} &\quad {<}0.5135{>} &\quad {<}0.4914{>} &\quad {<}0.8555{>} &\quad {<}0.2386{>} \\ \end{array} } \right]$$

(7) Calculate the support degrees. According to Eq. (24), the support degrees SUPPi,j, Ξi,k) (i = 1, 2, 3, 4, 5, 6; j, k = 1, 2, 3, 4, 5) are computed as:

$$ \begin{aligned} & \left[ {SUPP(\Xi_{i,1} , \, \Xi_{i,2} )} \right] = \left[ {SUPP(\Xi_{i,2} , \, \Xi_{i,1} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 9 2 8 5} &\quad { 0. 8 9 1 1} &\quad { 0. 8 9 1 1} &\quad {\begin{array}{*{20}c} { 0. 8 7 9 6} &\quad { 0. 9 4 6 8} &\quad { 0. 9 4 6 0} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ & \left[ {SUPP(\Xi_{i,1} , \, \Xi_{i,3} )} \right] = \left[ {SUPP(\Xi_{i,3} , \, \Xi_{i,1} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 8 5 2 0} &\quad { 0. 8 7 0 2} &\quad { 0. 8 7 0 2} &\quad {\begin{array}{*{20}c} { 0. 8 4 3 3} &\quad { 0. 9 4 3 5} &\quad { 0. 9 2 3 9} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ & \left[ {SUPP(\Xi_{i,1} , \, \Xi_{i,4} )} \right] = \left[ {SUPP(\Xi_{i,4} , \, \Xi_{i,1} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 9 4 5 8} &\quad { 0. 9 9 0 0} &\quad { 0. 7 1 3 9} &\quad {\begin{array}{*{20}c} { 0. 9 7 0 9} &\quad { 0. 8 7 1 8} &\quad { 0. 7 1 2 0} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ & \left[ {SUPP(\Xi_{i,1} , \, \Xi_{i,5} )} \right] = \left[ {SUPP(\Xi_{i,5} , \, \Xi_{i,1} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 9 8 8 9} &\quad { 0. 8 1 4 5} &\quad { 0. 8 1 4 5} &\quad {\begin{array}{*{20}c} { 0. 7 8 9 0} &\quad { 0. 6 5 2 7} &\quad { 0. 6 7 1 0} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ & \left[ {SUPP(\Xi_{i,2} , \, \Xi_{i,3} )} \right] = \left[ {SUPP(\Xi_{i,3} , \, \Xi_{i,2} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 9 2 3 5} &\quad { 0. 9 7 9 1} &\quad { 0. 9 7 9 1} &\quad {\begin{array}{*{20}c} { 0. 9 6 3 7} &\quad { 0. 9 9 6 7} &\quad {} &\quad { 0. 9 7 7 9} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ & \left[ {SUPP(\Xi_{i,2} , \, \Xi_{i,4} )} \right] = \left[ {SUPP(\Xi_{i,4} , \, \Xi_{i,2} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 9 8 2 7} &\quad { 0. 9 0 1 1} &\quad { 0. 6 0 5 0} &\quad {\begin{array}{*{20}c} { 0. 8 5 0 5} &\quad { 0. 8 1 8 6} &\quad { 0. 6 5 8 0} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ & \left[ {SUPP(\Xi_{i,2} , \, \Xi_{i,5} )} \right] = \left[ {SUPP(\Xi_{i,5} , \, \Xi_{i,2} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 9 3 9 7} &\quad {} &\quad { 0. 7 0 5 5} &\quad { 0. 7 0 5 5} &\quad {\begin{array}{*{20}c} { 0. 9 0 9 4} &\quad { 0. 7 0 5 9} &\quad { 0. 7 2 5 1} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ & \left[ {SUPP(\Xi_{i,3} , \, \Xi_{i,4} )} \right] = \left[ {SUPP(\Xi_{i,4} , \, \Xi_{i,3} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 9 0 6 2} &\quad { 0. 8 8 0 2} &\quad { 0. 5 8 4 1} &\quad {\begin{array}{*{20}c} { 0. 8 1 4 2} &\quad { 0. 8 1 5 4} &\quad { 0. 6 3 5 9} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ & \left[ {SUPP(\Xi_{i,3} , \, \Xi_{i,5} )} \right] = \left[ {SUPP(\Xi_{i,5} , \, \Xi_{i,3} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 8 6 3 2} &\quad { 0. 6 8 4 6} &\quad { 0. 6 8 4 6} &\quad {\begin{array}{*{20}c} { 0. 9 4 5 7} &\quad { 0. 7 0 9 1} &\quad { 0. 7 4 7 2} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ & \left[ {SUPP(\Xi_{i,4} , \, \Xi_{i,5} )} \right] = \left[ {SUPP(\Xi_{i,5} , \, \Xi_{i,4} )} \right] = \left[ {\begin{array}{*{20}c} { 0. 9 5 7 0} &\quad { 0. 8 0 4 5} &\quad { 0. 8 9 9 4} &\quad {\begin{array}{*{20}c} { 0. 7 5 9 9} &\quad { 0. 5 2 4 5} &\quad { 0. 3 8 3 1} \\ \end{array} } \\ \end{array} } \right]^{\text{T}} \\ \end{aligned} $$

(8) Calculate the TT values. According to Eq. (25), the TT values TTi,j) (i = 1, 2, 3, 4, 5, 6; j = 1, 2, 3, 4, 5) are computed as:

$$ \left[ {TT(\Xi_{i,j} )} \right] = \left[ \begin{aligned} \begin{array}{*{20}c} { 3. 7 1 5 3} &\quad { 3. 7 7 4 4} &\quad {\begin{array}{*{20}c} { 3. 5 4 5 0} &\quad { 3. 7 9 1 7} &\quad { 3. 7 4 8 7} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 3. 5 6 5 7} &\quad { 3. 4 7 6 8} &\quad {\begin{array}{*{20}c} { 3. 4 1 4 1} &\quad { 3. 5 7 5 7} &\quad { 3. 0 0 9 1} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 3. 2 8 9 6} &\quad { 3. 1 8 0 7} &\quad {\begin{array}{*{20}c} { 3. 1 1 8 0} &\quad { 2. 8 0 2 3} &\quad { 3. 1 0 4 1} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 3. 4 8 2 7} &\quad { 3. 6 0 3 2} &\quad {\begin{array}{*{20}c} { 3. 5 6 6 9} &\quad { 3. 3 9 5 4} &\quad { 3. 4 0 4 0} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 3. 4 1 4 8} &\quad { 3. 4 6 8 0} &\quad {} &\quad {\begin{array}{*{20}c} { 3. 4 6 4 8} &\quad { 3. 0 3 0 3} &\quad { 2. 5 9 2 2} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 3. 2 5 2 9} &\quad { 3. 3 0 6 9} &\quad {\begin{array}{*{20}c} { 3. 2 8 4 8} &\quad {} &\quad { 2. 3 8 8 9} &\quad { 2. 5 2 6 3} \\ \end{array} } \\ \end{array} \hfill \\ \end{aligned} \right] $$

(9) Calculate the power weights. According to Eq. (26), the power weights ξi,j (i = 1, 2, 3, 4, 5, 6; j = 1, 2, 3, 4, 5) are computed as:

$$ \left[ {\xi_{i,j} } \right] = \left[ \begin{aligned} \begin{array}{*{20}c} { 0. 2 0 0 0} &\quad { 0. 2 0 2 5} &\quad {\begin{array}{*{20}c} { 0. 1 9 2 8} &\quad { 0. 2 0 3 3} &\quad { 0. 2 0 1 4} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 0. 2 0 7 1} &\quad { 0. 2 0 3 1} &\quad {\begin{array}{*{20}c} { 0. 2 0 0 3} &\quad { 0. 2 0 7 6} &\quad { 0. 1 8 1 9} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 0. 2 0 9 3} &\quad { 0. 2 0 4 0} &\quad {\begin{array}{*{20}c} { 0. 2 0 0 9} &\quad { 0. 1 8 5 5} &\quad { 0. 2 0 0 3} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 0. 1 9 9 7} &\quad { 0. 2 0 5 0} &\quad {\begin{array}{*{20}c} { 0. 2 0 3 4} &\quad { 0. 1 9 5 8} &\quad { 0. 1 9 6 1} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 0. 2 1 0 5} &\quad { 0. 2 1 3 1} &\quad {\begin{array}{*{20}c} { 0. 2 1 2 9} &\quad { 0. 1 9 2 2} &\quad { 0. 1 7 1 3} \\ \end{array} } \\ \end{array} \hfill \\ \begin{array}{*{20}c} { 0. 2 1 5 2} &\quad { 0. 2 1 8 0} &\quad {\begin{array}{*{20}c} { 0. 2 1 6 8} &\quad { 0. 1 7 1 5} &\quad { 0. 1 7 8 5} \\ \end{array} } \\ \end{array} \hfill \\ \end{aligned} \right] $$

(10) Calculate the overall attribute values of the given ABOs. Because the relationships among A1, A2, A3, A4, and A5 belong to HCR, the FWPPMM operator in Eq. (12) is used to compute the overall attribute values of the six ABOs [When adapting the FWPPMM operator, Δ = (δ1, δ2), δ1 = (1, 2), and δ2 = (1, 2, 3)]. The computed results are as follows:

Ξ1 = <0.4503>; Ξ2 = <0.3691>; Ξ3 = <0.3141>; Ξ4 = <0.3010>; Ξ5 = <0.3120>; Ξ6 = <0.3246>

(11) Rank the given ABOs. According to the comparison rules of FNs, the six ABOs are ranked from high membership degree to low membership degree as: O1 ≻ O2 ≻ O6 ≻ O3 ≻ O5 ≻ O4

(12) Determine the OBO. Based on the ranking, the OBO is determined as O1.

Example 2

The second example was developed by Zhang et al. (2016). In this example, a part whose 3D model is shown in Fig. 4 was assumed to be built using stereolithography. There are seven ABOs O1, O2, O3, O4, O5, O6, and O7, which are shown in Fig. 5. The attributes of these ABOs are surface roughness (A1), build time (A2), build cost (A3), volume of support structure (A4), and favourableness of AM features (A5). Assume there is a HPR among the five attributes, which is {volume of support structure} ≻ {build time, build cost} ≻ {surface roughness, favourableness of AM features}. The values of the five attributes of the seven ABOs are listed in Table 5. The relative importance of the five attributes is measured by the five weights in w = [0.125, 0.125, 0.125, 0.500, 0.125].

Fig. 4
figure 4

The 3D model of the part in Example 2

Fig. 5
figure 5

The ABOs of the part in Example 2

Table 5 The values of the five attributes of the seven ABOs of the part in Example 2

With the given five attributes of ABOs and the relationships among them, the values of the five attributes in Table 5 and the weights of the five attributes in w, determination of the OBO among the seven ABOs can be carried out using the proposed method. The procedure of the determination consists of the following twelve steps:

(1) Identify the attributes of ABOs and their relationships. The attributes of the seven ABOs are identified as surface roughness (A1), build time (A2), build cost (A3), volume of support structure (A4), and favourableness of AM features (A5). The five attributes are divided into three partitions {A1, A5}, {A2, A3} and {A4}, where the relationship among these partitions is the heterogeneous priority relationship {A4} ≻ {A2, A3} ≻ {A1, A5}.

Through (2)–(6), a normalised fuzzy decision matrix is obtained as:

$$ \varvec{M}_{{\mathbf{N}}} = \left[ {\begin{array}{*{20}c} { 0. 6 6 3 0} &\quad { 0. 7 1 1 2} &\quad { 0. 6 9 6 1} &\quad {\begin{array}{*{20}c} { 0. 6 7 9 7} &\quad { 0. 3 2 6 8} \\ \end{array} } \\ { 0. 7 7 7 8} &\quad { 0. 7 1 4 5} &\quad { 0. 7 0 1 4} &\quad {\begin{array}{*{20}c} { 0. 5 9 1 8} &\quad { 0. 5 3 8 8} \\ \end{array} } \\ { 0. 6 4 0 5} &\quad { 0. 7 1 1 2} &\quad { 0. 6 9 6 1} &\quad {\begin{array}{*{20}c} { 0. 5 5 2 9} &\quad { 0. 3 2 6 8} \\ \end{array} } \\ {\begin{array}{*{20}c} { 0. 7 5 9 7} \\ { 0. 4 8 0 8} \\ { 0. 6 6 9 9} \\ { 0. 4 7 8 9} \\ \end{array} } &\quad {\begin{array}{*{20}c} { 0. 7 1 4 5} \\ { 0. 5 4 3 3} \\ { 0. 4 9 4 5} \\ { 0. 5 4 6 0} \\ \end{array} } &\quad {\begin{array}{*{20}c} { 0. 7 0 1 4} \\ { 0. 5 5 2 1} \\ { 0. 5 0 9 5} \\ { 0. 5 5 7 5} \\ \end{array} } &\quad {\begin{array}{*{20}c} {\begin{array}{*{20}c} { 0. 5 5 9 2} \\ { 0. 7 5 2 0} \\ { 0. 5 9 0 6} \\ { 0. 6 7 2 2} \\ \end{array} } &\quad {\begin{array}{*{20}c} { 0. 5 3 8 8} \\ { 0. 1 6 8 4} \\ { 0. 3 8 6 2} \\ { 0. 1 6 8 4} \\ \end{array} } \\ \end{array} } \\ \end{array} } \right] $$

Through (7)–(9), the power weights ξi,j (i = 1, 2, 3, 4, 5, 6, 7; j = 1, 2, 3, 4, 5) are computed as:

$$ \left[ {\xi_{i,j} } \right] = \left[ {\begin{array}{*{20}c} { 0. 1 2 8 5} &\quad { 0. 1 2 7 2} &\quad { 0. 1 2 8 5} &\quad {\begin{array}{*{20}c} { 0. 5 1 5 8} &\quad { 0. 1 0 0 0} \\ \end{array} } \\ { 0. 1 2 2 6} &\quad { 0. 1 2 7 8} &\quad { 0. 1 2 8 2} &\quad {\begin{array}{*{20}c} { 0. 5 0 0 6} &\quad { 0. 1 2 0 8} \\ \end{array} } \\ { 0. 1 2 9 6} &\quad { 0. 1 2 6 7} &\quad { 0. 1 2 8 0} &\quad {\begin{array}{*{20}c} { 0. 5 0 8 3} &\quad { 0. 1 0 7 4} \\ \end{array} } \\ {\begin{array}{*{20}c} { 0. 1 2 4 1} \\ { 0. 1 3 7 0} \\ { 0. 1 1 9 6} \\ { 0. 1 3 2 5} \\ \end{array} } &\quad {\begin{array}{*{20}c} { 0. 1 2 7 9} \\ { 0. 1 3 9 0} \\ { 0. 1 2 8 1} \\ { 0. 1 3 4 5} \\ \end{array} } &\quad {\begin{array}{*{20}c} { 0. 1 2 8 2} \\ { 0. 1 3 8 7} \\ { 0. 1 2 8 5} \\ { 0. 1 3 4 2} \\ \end{array} } &\quad {\begin{array}{*{20}c} {\begin{array}{*{20}c} { 0. 4 9 7 2} \\ { 0. 4 7 8 2} \\ { 0. 5 0 4 9} \\ { 0. 4 9 4 7} \\ \end{array} } &\quad {\begin{array}{*{20}c} { 0. 1 2 2 6} \\ { 0. 1 0 7 1} \\ { 0. 1 1 8 9} \\ { 0. 1 0 4 1} \\ \end{array} } \\ \end{array} } \\ \end{array} } \right] $$

(10) Calculate the overall attribute values of the given ABOs. Because the relationships among A1, A2, A3, A4, and A5 belong to HPR, the FWPPA operator in Eq. (19) is used to compute the overall attribute values of the seven ABOs:

Ξ1 = <0.5812>; Ξ2 = <0.4951>; Ξ3 = <0.4694>; Ξ4 = <0.4889>; Ξ5 = <0.5818>; Ξ6 = <0.4546>; Ξ7 = <0.5180>

(11) Rank the given ABOs. According to the comparison rules of FNs, the seven ABOs are ranked from high membership degree to low membership degree as: O5 ≻ O1 ≻ O7 ≻ O2 ≻ O4 ≻ O3 ≻ O6

(12) Determine the OBO. Based on the ranking, the OBO is determined as O5.

Comparisons

Qualitative comparison

In general, a qualitative comparison among different OBO determination methods can be made through comparing their characteristics. Section 2 classified the existing OBO determination methods into MOO and MADM methods and briefly described the major characteristics of each category of methods. In a nutshell, the computation cost of most MOO methods would be expensive as the number of ABOs or objectives increases. MOO algorithms may encounter difficulty in forming the Pareto front when dealing with some optimisation cases with more than three objectives, which are common in most OBO determination problems. In addition, large number of optimal solutions on the Pareto front would bring difficulty to later determination (Zhang et al. 2018). MADM methods avoid these issues to some extent. In a MADM method, the computation time generally increases in a polynomial relation with the number of ABOs or attributes, and the number of the optimal solutions is usually one or several as the number of ABOs or attributes increases. However, the existing MADM methods have not handled the complex relationships among attributes comprehensively and nor taken into account the reducing of the negative effect of the deviation of attribute values on the OBO determination result.

Compared to the existing MOO methods, the proposed method does not need expensive computation cost [It is not difficult to obtain that the time complexity of the proposed method is polynomial from Eqs. (12) and (19)] and will not generate those Pareto-optimal solutions that make determination difficult when the number of attributes is more than three. Compared to the existing MADM methods, the proposed method not only can deal with the complex relationships among the attributes of ABOs, but also reduce the influence of the deviation of attribute values on the OBO determination result.

Quantitative comparison

A quantitative comparison among different OBO determination methods can be carried out using the same benchmark. Since there is currently no common open-source benchmark, Example 1 is used as a benchmark to compare the methods of Cheng et al. (1995), Pham et al. (1999), Pandey et al. (2004), Byun and Lee (2006), Canellidis et al. (2009), Zhang et al. (2016), Ransikarbum and Kim (2017), and Qie et al. (2018) (The reason for selecting these methods in the comparison is that all of them used Example 1 to demonstrate their effectiveness) and the proposed method, and Example 2 is used as another benchmark to compare the method of Zhang et al. (2016) and the proposed method. The details and results of the comparison are shown in Table 6.

Table 6 The details and results of the quantitative comparison

As can be seen from Table 6, the OBO of the proposed method is the same as the OBOs of the methods of Cheng et al. (1995), Pham et al. (1999), Pandey et al. (2004), Byun and Lee (2006), Canellidis et al. (2009), Zhang et al. (2016), and Ransikarbum and Kim (2017) when the used benchmark is Example 1. These indicate its feasibility and effectiveness. In addition, the ranking of the proposed method is exactly the same as the ranking of the method of Zhang et al. (2016) when the used benchmark is Example 2, which also indicates the feasibility and effectiveness of the proposed method.

From the comparison results in Table 6, it is difficult to see the difference between “a method that can deal with the HCR and HPR among attributes and reduce the negative effect of the deviation of attribute values” and “a method that supposes all attributes are independent of each other and ignores such negative effect”. To show the difference intuitively, two additional comparison experiments were carried out. In these experiments, the method of Byun and Lee (2006), one of the most highly cited OBO determination methods, was used as an example which assumes all attributes are independent of each other and neglects the negative influence. In this method, the applied aggregation way of attributes values is the simple weighted average (SWA) operator. The proposed method was naturally used as an example of those methods that can handle the HCR and HPR and reduce the negative effect. The applied aggregation ways in it are the constructed FWPPMM and FWPPA operators. The details of the experiments are shown in Table 7.

Table 7 The details of the two additional comparison experiments

The first experiment was carried out to illustrate the difference between the aggregation results of SWA and FWPPMM. In this experiment, Example 1 was used as the benchmark and the elements Ξ1,2 and Ξ1,3 of the normalised matrix MN in this example were constantly adjusted according to Table 8. It is easy to guess that such adjustments will affect the ranking of O1, which may probably be changed from the best ABO to the worst one, because the values of A2 and A3 of this ABO become smaller and smaller. To confirm this conjecture, Fig. 6 respectively depicts the changes of the places of O1 in the rankings generated by SWA and FWPPMM. It can be seen that the results generated by the two operators are consistent with the conjecture. This also indicates the feasibility of the proposed method. In addition, the ranking of O1 of SWA declines in a straight line, while the ranking of O1 of FWPPMM declines in a curve. This is because SWA assumes all attributes are independent of each other and FWPPMM can handle the HCR among attributes. As can also be seen from Fig. 6, the ranking of O1 of SWA descends faster than the ranking of O1 of FWPPMM. The reason is that FWPPMM can reduce the negative effect of the deviation of attribute values (The adjustment of attribute values can be regarded as the deviation of attribute values).

Table 8 The values of the adjusted elements in the two additional comparison experiments
Fig. 6
figure 6

The results of the comparison Experiment 1

The second experiment was carried out to illustrate the difference between the aggregation results of SWA and FWPPA. In this experiment, Example 2 was used as the benchmark and the element Ξ5,4 of the normalised matrix MN in this example were constantly adjusted according to Table 8. Similarly, it can be guessed that the ranking of O5 may constantly decline. To confirm this conjecture, Fig. 7 respectively depicts the changes of the places of O5 in the rankings of SWA and FWPPA. It shows that the results of the two operators are consistent with the conjecture, which also demonstrates the feasibility of the proposed method. Further, the ranking of O5 of SWA starts from the fourth places, keeps at the fourth place at 1, descends to the fifth place at 2, and descends to the seventh place from 3, while the ranking of O5 of FWPPA starts from the first place, keeps at the second place from 1 to 3, and respectively declines to the third, fifth, sixth, and seventh places at 4, 5, 6, and 7. From the aspect of dealing with the priority relationship among attributes, the result of FWPPA is more in line with actual preference and more reasonable than the result of SWA. This indicates that FWPPA can handle priority relationship more effectively than those methods that assign a higher weight to certain attribute. As can also be seen from Fig. 7, the ranking of O5 of SWA descends faster than the ranking of O5 of FWPPA. This is because FWPPA also has the capability of reducing the negative influence of the deviation of attribute values.

Fig. 7
figure 7

The results of the comparison Experiment 2

As can be summarised from the quantitative comparison and the two experiments, the proposed method is feasible and effective for solving the OBO determination problems, and has distinctive capabilities of dealing with the HCR and HPR among attributes and reducing the effect of the deviation of attribute values compared to the existing methods.

Conclusion

In this paper, a method for determining the optimal build orientations from a finite set of alternatives is proposed based on fuzzy multi-attribute decision making. This method firstly quantifies the attributes of all alternative build orientations, and then generates the optimal build orientations from the alternatives. The quantification of attributes transforms the values of attributes into fuzzy numbers using a ratio model. A fuzzy decision matrix is constructed and normalised based on the fuzzy numbers. Later, two fuzzy number aggregation operators (i.e. FWPPMM and FWPPA) have been constructed to aggregate the fuzzy information in the normalised matrix. All attribute values of each alternative are aggregated into a fuzzy number using these aggregation operators. By comparing the fuzzy numbers, the optimal solution is determined.

The major contribution of the paper is the development of a multi-attribute decision making based method for determination of the optimal build orientation from a set of alternatives. Compared with the existing methods, the developed method does not need expensive computation cost, can deal with complex relationships among the attributes of alternative build orientations, and at the same time can reduce negative influence of the distortion of attribute values. To the best of the knowledge, the method is the first multi-attribute decision making based build orientation determination method that considers both the handling of the complex relationships of build orientation attributes and the reducing of the effect of attribute value deviation.

As the present paper addresses only the determination of the optimal build orientation, future work will aim especially at the study of the generation of alternative build orientations. In process planning for AM, there are four basic tasks, which are build orientation determination, support structure generation, 3D model slicing, and tool-path planning. To develop a complete build orientation determination method for AM, the method would be extended to include support structure generation, 3D model slicing, and tool-path planning.

Supplementary material

The authors are releasing the Java implementation code of the proposed OBO determination method at GitHub. Every reader can freely access https://github.com/YuchuChingQin/OptimalBODetermination to download the code. The authors hope that the implemented method will provide a reliable basis for other decision-making tasks in manufacturing environment and foster further research in the development of other new OBO determination methods.