# Reliability-based design optimization using SORM and SQP

- 2k Downloads
- 6 Citations

## Abstract

In this work a second order approach for reliability-based design optimization (RBDO) with mixtures of uncorrelated non-Gaussian variables is derived by applying second order reliability methods (SORM) and sequential quadratic programming (SQP). The derivation is performed by introducing intermediate variables defined by the incremental iso-probabilistic transformation at the most probable point (MPP). By using these variables in the Taylor expansions of the constraints, a corresponding general first order reliability method (FORM) based quadratic programming (QP) problem is formulated and solved in the standard normal space. The MPP is found in the physical space in the metric of Hasofer-Lind by using a Newton algorithm, where the efficiency of the Newton method is obtained by introducing an inexact Jacobian and a line-search of Armijo type. The FORM-based SQP approach is then corrected by applying four SORM approaches: Breitung, Hohenbichler, Tvedt and a recent suggested formula. The proposed SORM-based SQP approach for RBDO is accurate, efficient and robust. This is demonstrated by solving several established benchmarks, with values on the target of reliability that are considerable higher than what is commonly used, for mixtures of five different distributions (normal, lognormal, Gumbel, gamma and Weibull). Established benchmarks are also generalized in order to study problems with large number of variables and several constraints. For instance, it is shown that the proposed approach efficiently solves a problem with 300 variables and 240 constraints within less than 20 CPU minutes on a laptop. Finally, a most well-know deterministic benchmark of a welded beam is treated as a RBDO problem using the proposed SORM-based SQP approach.

## Keywords

RBDO FORM SORM SQP## 1 Introduction

A review of different RBDO approaches can be found in Valdebenito and Schuëller (2010). Most RBDO approaches are based on FORM and RBDO including SORM appears less freqently. However, RBDO using SORM is discussed already in the paper by Shetty et al. (1998), where fire safety of offshore structures was optimized. Another early paper on RBDO using SORM is by Choi et al. (2001). More recently, Lim et al. (2014) proposed a SORM-based RBDO approach using approximations of the Hessian. Yoo et al. (2014) performed sensitivity analysis of SORM at the MPP for RBDO. Gu et al. (2015) presented a practical approach for RBDO using SORM for vehicle occupant systems, which was further developed in Gu et al. (2016). RBDO using Breitung’s formula and non-Gaussian variables was demonstrated in Lim et al. (2016). Mansour and Olsson (2016) demonstrated the importance of using SORM-based methods for non-linear problems by solving a problem with a quadratic objective and quadratic constraints taken from Lee et al. (2015). The same conclusion is also drawn in this work by solving the same problem with our proposed SORM-based SQP method.

An early paper on RBDO using SQP is presented by Ahn and Kwon (2006). Karadeniz et al. (2009) optimized offshore towers using SQP and FORM. A filter-based SQP algorithm to solve RBDO problems with highly nonlinear constraints was proposed by Hsu and Chan (2010). Sampling-based RBDO of ship hull structures by SQP was performed by Choi et al. (2015). Recently, RBDO under mixed probability and interval uncertainties was done by SQP in Zhou et al. (2016).

The outline of the paper is as follows: in Section 2 the FORM-based SQP is derived by using the MPP and the IsoT, in the next section we introduce the four SORM-based corrections, in Section 4 the suggested second order approach for RBDO is evaluated for several benchmarks, and, finally, we present some concluding remarks.

## 2 FORM-based SQP

*f*, i.e. \(\mathrm {E}[f(\boldsymbol {X})]\) where \(\mathrm {E}[\cdot ]\) designates the expected value of the function

*f*. In the FORM-based SLP approach presented in Strömberg (2016), we use \(\mathrm {E}[f(\boldsymbol {X})]\) as objective function. In that latter work, we also let

*f*and

*g*be given as surrogate models using a new approach for radial basis function networks recently suggested and evaluated in Amouzgar and Strömberg (2016). In this work, we focus on the derivation and performance of the proposed second order RBDO approach and therefore only consider explicit analytical expressions on

*f*and

*g*. Surrogate model based RBDO can e.g. be found in (Gomes et al. 2011; Duborg et al. 2011; Qu et al. 2003; Youn and Choi 2004a; Song and Lee 2011; Kang et al. 2010; Zhu and Du 1403; Ju and Lee 2008).

*k*with mean values collected in \(\boldsymbol {\mu }^{k}\), the incremental iso-probabilistic transformation

^{1}reads

*f*and

*g*, at an iterate

*k*, are performed for increments \(\text {d} Y_{i}=Y_{i}-{Y_{i}^{k}}\) and \(\text {d} X_{i}=X_{i}-{X_{i}^{k}}\). By taking the means of these increments, we get

*f*is performed at \({\mu _{i}^{k}}\), when

*f*is considered to be a function of \(\mu _{i}\) as in (2). This can be written as

*g*obtained by the Taylor expansion in the intermediate variables reads

^{2}. We have that

*k*is no longer valid at iteration \(k+1\). This is also explained by Fig. 4.

*quadprog.m*) and it is denoted \(\eta _{i}^{*}\). The corresponding mean value \(\boldsymbol {\mu }^{k+1}\) is then updated by using (8). By using this relationship, we map back \(\eta _{i}^{*}\) from the standard normal space to the means in the physical space according to

## 3 SORM-based corrections

*g*in (2). This is explained in detail in Appendix B. When \(\beta _{\text {HL}}=\beta _{t}\), the probability of failure is estimated using FORM to

This is suggested to be an improvement of Breitung’s correction.

## 4 Numerical examples

The performance of the proposed SORM-based SQP methodology for RBDO is demonstrated in this section for three established benchmarks. However, the first two benchmarks are generalized to be formulated for considerable higher number of variables and constraints than the original formulations, and the final one is typically used to test deterministic design optimization algorithms, but in this work formulated instead as a RBDO problem. The density functions and the corresponding gradients of the five distributions (normal, lognormal, Gumbel, gamma and Weibull) are presented in Appendix A, see also Fig. 2. The distributions are generated by using the statistics and machine learning toolbox of Matlab and the QP-problem is solved using *quadprog.m*of Matlab. In all examples, the starting point is taken to be the deterministic optimal solution obtained by a genetic algorithm (GA) and SLP, and the sample size is set to 1E6 using quasi-Monte Carlo simulations with our in-house code with Halton and Hammersley samplings, see Appendix C. All SORM approaches have been tested and so far we think that their performances are very similar. The solutions are obtained on a laptop workstation with Intel i7 2.80 GHz and 16 GB RAM.

Our solution (SSQP) compared to the solution reported in Cho and Lee (2011)

\(\mu _{1}\) | \(\mu _{2}\) | \(\mu _{3}\) | \(\mu _{4}\) | \(\mu _{5}\) | \(\mu _{6}\) | \(\mu _{7}\) | \(\mu _{8}\) | \(\mu _{9}\) | \(\mu _{10}\) | |

SSQP | 2.135 | 2.331 | 8.709 | 5.102 | 0.922 | 1.445 | 1.389 | 9.809 | 8.156 | 8.476 |

(Cho and Lee 2011) | 2.129 | 2.346 | 8.710 | 5.097 | 0.929 | 1.453 | 1.377 | 9.800 | 8.136 | 8.468 |

\(\beta _{1}^{\text {MC}}\) | \(\beta _{2}^{\text {MC}}\) | \(\beta _{3}^{\text {MC}}\) | \(\beta _{4}^{\text {MC}}\) | \(\beta _{5}^{\text {MC}}\) | \(\beta _{6}^{\text {MC}}\) | \(\beta _{7}^{\text {MC}}\) | \(\beta _{8}^{\text {MC}}\) | \(f(\boldsymbol {\mu })\) | \(\mathrm {E}[f]\) | |

SSQP | 3.00 | 3.00 | 3.00 | 3.00 | 3.00 | \(\infty \) | 3.00 | \(\infty \) | 27.747 | 27.758 |

(Cho and Lee 2011) | 3.00 | 3.01 | 3.03 | 3.03 | 2.99 | \(\infty \) | 3.00 | \(\infty \) | 27.755 | 27.765 |

Our solution of (43) for non-Gaussian distributions

\(\mu _{1}\) | \(\mu _{2}\) | \(\mu _{3}\) | \(\mu _{4}\) | \(\mu _{5}\) | \(\mu _{6}\) | \(\mu _{7}\) | \(\mu _{8}\) | \(\mu _{9}\) | \(\mu _{10}\) | |

Lognormal | 2.127 | 2.349 | 8.711 | 5.098 | 0.912 | 1.415 | 1.373 | 9.798 | 8.138 | 8.481 |

Gumbel | 2.265 | 2.218 | 8.502 | 5.366 | 0.984 | 1.632 | 1.554 | 9.884 | 8.337 | 8.422 |

Gamma | 2.130 | 2.343 | 8.711 | 5.100 | 0.915 | 1.425 | 1.378 | 9.802 | 8.144 | 8.480 |

Weibull | 2.259 | 2.231 | 8.522 | 5.333 | 0.990 | 1.628 | 1.551 | 9.885 | 8.351 | 8.432 |

\(\beta _{1}^{\text {MC}}\) | \(\beta _{2}^{\text {MC}}\) | \(\beta _{3}^{\text {MC}}\) | \(\beta _{4}^{\text {MC}}\) | \(\beta _{5}^{\text {MC}}\) | \(\beta _{6}^{\text {MC}}\) | \(\beta _{7}^{\text {MC}}\) | \(\beta _{8}^{\text {MC}}\) | \(f(\boldsymbol {\mu })\) | \(\mathrm {E}[f]\) | |

Lognormal | 3.00 | 3.00 | 3.00 | 3.00 | 3.00 | \(\infty \) | 3.00 | \(\infty \) | 27.755 | 27.766 |

Gumbel | 3.04 | 3.01 | 3.11 | 4.75 | 3.17 | 4.75 | 3.02 | \(\infty \) | 28.865 | 28.873 |

Gamma | 3.00 | 3.00 | 3.00 | 3.00 | 3.00 | \(\infty \) | 3.00 | \(\infty \) | 27.751 | 27.763 |

Weibull | 3.25 | 3.41 | 3.11 | \(\infty \) | 3.10 | \(\infty \) | 3.12 | \(\infty \) | 28.48 | 28.49 |

A 10 variables benchmark with 15 constraints

\(\mu _{1}\) | \(\mu _{2}\) | \(\mu _{3}\) | \(\mu _{4}\) | \(\mu _{5}\) | \(\mu _{6}\) | \(\mu _{7}\) | \(\mu _{8}\) | \(\mu _{9}\) | \(\mu _{10}\) | |

\(N_{\text {VAR}}=2\) | 3.4525 | 3.2758 | 3.4073 | 3.1724 | 3.7129 | 3.8508 | 3.4214 | 3.2034 | 3.6130 | 3.6369 |

\(N_{\text {VAR}}=10\) | 3.4525 | 3.2758 | 3.4073 | 3.1724 | 3.7129 | 3.8508 | 3.4214 | 3.2034 | 3.6130 | 3.6369 |

\({\Phi }(4)\) | 3.6204 | 3.6485 | 3.5328 | 3.4677 | 4.3255 | 4.8719 | 3.5583 | 3.5198 | 3.9730 | 4.3566 |

Calls, CPU | 1749, 6.45 s | 1546, 5.96 s | 2519, 8.94 s | 1616, 8.80 s | 2470, 9.11 s | |||||

\(\beta _{1}^{\text {MC}}\) | \(\beta _{2}^{\text {MC}}\) | \(\beta _{4}^{\text {MC}}\) | \(\beta _{5}^{\text {MC}}\) | \(\beta _{7}^{\text {MC}}\) | \(\beta _{8}^{\text {MC}}\) | \(\beta _{10}^{\text {MC}}\) | \(\beta _{11}^{\text { MC}}\) | \(\beta _{13}^{\text {MC}}\) | \(\beta _{14}^{\text {MC}}\) | |

\(N_{\text {VAR}}=2\) | 2.99 | 3.00 | 3.00 | 3.00 | 2.98 | 3.01 | 3.00 | 3.00 | 2.99 | 3.00 |

\(N_{\text {VAR}}=10\) | 2.99 | 3.00 | 3.00 | 3.01 | 2.98 | 3.01 | 3.00 | 3.00 | 3.00 | 3.00 |

\({\Phi }(4)\) | 3.99 | 4.00 | 4.00 | 4.01 | 3.99 | 4.00 | 4.00 | 4.00 | 3.99 | 4.00 |

Next, we let \(N=4\), i.e. 10 variables and 15 constraints, where the first pair of variables is normal distributed, the second pair is lognormal, the third is Gumbel, the fourth is gamma and the fifth pair is Weibull distributed. The solution to this problem is presented on the second rows of Table 3. Notice that the solution obtained for 10 variables with mixtures of the five distributions is identical to the sub-solutions obtained for two variables. Furthermore, the targets of reliability are also satisfied most accurately. We also solve this problem with 10 variables when the target of reliability is changed from \({\Phi }(3)\) to \({\Phi }(4)\). The solution is given on the third rows of Table 3. For this particular problem we let the sampling size of the quasi-Monte Carlo simulation be 1E7. The solutions for Weibull distributions are plotted in Fig. 7 for both \({\Phi }(3)\) and \({\Phi }(4)\). In Fig. 8, we have solved (44) when \(N=0\) for each distribution with targets of reliability ranging from 0.99 to 0.99999.

^{3}with \(\text {VAR}[X_{1}]=\text {VAR}[X_{4}]=0.1^{2}\) and \(\text {VAR}[X_{2}]=\text {VAR}[X_{3}]=0.3^{2}\). The optimal objective value for the deterministic problem is 2.381 at \(\boldsymbol {X}^{*}=(0.24437,6.2175,8.2915,0.24437)\) and is obtained when constraints 1-3 and 6 are active. However, for our RBDO formulation of the welded beam problem, the expected mean of the optimal objective is 9.9442 at \(\boldsymbol {\mu }^{*}=(0.43379,6.9512,9.0252,0.92561)\) when constraints 1 and 3 are active. The probability of safety of these constraints are 0.9990. The corresponding histograms are plotted in Fig. 10. Problem (45) might serve as a challenging RBDO benchmark with highly non-linear objective and constraints.

## 5 Concluding remarks

In this work SORM-based RBDO is performed by SQP for large problem sizes with mixtures of non-Gaussian distributions and high targets of reliability. This is done by deriving a FORM-based QP-problem in (19), where the target of reliability index is corrected using (25) with four different SORM approaches. In this work, all SORM corrections have shown very similar performance.

The derivation of (19) utilize the fact that the IsoT in (3) is incremental in a sequential approach, therefore (3) is termed incremental IsoT in this work. A proper treatment of this fact is crucial for the performance of the method and this is presented in detail in the paper. The derivation is performed by using (8) and intermediate variables, both defined by the incremental IsoT, such that (19) is formulated in the standard normal space, which implies that the setting of the move limits is straight-forward. Another important feature of the methodology is the treatment of the MPP, which is solved in the physical space instead of the normal space. In such manner, we only have to deal with the IsoT in the objective function instead of the limit functions. This is crucial for the numerical performance when dealing with many constraints and non-Gaussian variables. In addition, we have also found the introduction of the inexact Jacobian in (15) improve the performance significantly for non-Gaussian variables.

The proposed methodology is studied numerically for several problems with non-Gaussian variables. In particular, two established RBDO benchmarks are generalized to large number of variables and many constraints of reliability. These two generalizations, (43) and (44), might sever as benchmarks for testing new RBDO algorithms for large problem sizes with mixtures of non-Gaussian variables. The numerical performance of the implementation of the proposed second order RBDO approach is excellent, showing high accuracy and robustness at low CPU times when solving (43) for 300 variables and 240 contraints, and (44) for 50 variables and 75 constraints with mixtures of non-Gaussian variables and high targets of reliability.

## Footnotes

- 1.
Notice that in the next iteration \(k+1\) we have a new IsoT defined by \(Y_{i} = {\Phi }^{-1}\left (F_{i}(X_{i};{\boldsymbol {\theta }_{i}}(\mu _{i}^{k+1}))\right )\) , implying that E[

*Y*_{ i }] ≈ 0 and \(\text {VAR}[Y_{i}]\approx 1\) during the sequential step starting at exact zero and one, respectively, see also Fig. 4. - 2.
\(\tilde {g}\) is of course normal distributed.

- 3.
This choice is crucial since \(X_{i}\) cannot be negative.

## References

- Ahn J, Kwon JH (2006) An Efficient Strategy for Reliability-based Multidisciplinary Design Optimization using BLISS. Struct Multidiscip Optim 31:363–372CrossRefGoogle Scholar
- Amouzgar K, Strömberg N (2016) Radial Basis Functions as Surrogate Models with a Priori Bias in Comparison with a Posteriori Bias, Structural and Multidisciplinary Optimization on-lineGoogle Scholar
- Breitung K (1984) Asymptotic approximations for multinormal integrals. J Eng Mech 110:357–366CrossRefzbMATHGoogle Scholar
- Chan KY, Skerlos SJ, Papalambros P (2007) An Adaptive Sequential Linear Programming Algorithm for Optimal Design Problems with Probabilistic Constraints. J Mech Des 129:140–149CrossRefGoogle Scholar
- Cho TM, Lee BC (2011) Reliability-based Design Optimiztion using Convex Linearization and Sequantial Optimization and Reliability Assessment Method. Struct Saf 33:42–50CrossRefGoogle Scholar
- Choi KK, Tu J, Park YH (2001) Extensions of Design Potential Concept for Reliability-based Design Optimization to Nonsmooth and Extreme Cases. Struct Multidiscip Optim 22:335–350CrossRefGoogle Scholar
- Choi M-J, Cho H, Choi KK, Cho S (2015) Sampling-based RBDO of Ship Hull Structures considering Thermo-elastic-plastic Residual Deformation. Mech Based Des Struct Mach 43:183–208CrossRefGoogle Scholar
- Choi S-K, Grandhi RV, Canfield R (2010) Reliability-based Structural Design. Springer London Ltd.Google Scholar
- Duborg V, Sudret B, Bourinet J-M (2011) Reliability-based Design Optimization using Kriging Surrogates and Subset Simulation, vol 44Google Scholar
- Fleury C (1979) Structural weight optimization by dual methods of convex programming. Int J Numer Methods Eng 14:1761–1783CrossRefzbMATHGoogle Scholar
- Fleury C, Braibant V (1986) Structural Optimization: A New Dual Method using Mixed Variables. Int J Numer Methods Eng 23:409–428MathSciNetCrossRefzbMATHGoogle Scholar
- Garg H (2014) Solving Structural Engineering Design Optimization Problems using an Artificial Bee Colony Algorithm. J Ind Manag Optim 10:777–794MathSciNetCrossRefzbMATHGoogle Scholar
- Gomes H, Awruch A, Lopes P (2011) Reliability Based Optimization of Laminated Composite Structures using Genetic Algorithms and Artificial Neural Networks. Struct Saf 33:186–195CrossRefGoogle Scholar
- Gu X, Dai J, Huang X, Li G (2016) Reliable Optimisation Design of Vehicle Structure Crashworthiness under Multiple Impact Cases, International Journal of Crashworthiness onlineGoogle Scholar
- Gu X, Lu J, Wang H (2015) Reliability-based Design Optimization for Vehicle Occupant Protection System based on Ensemble of Metamodels. Struct Multidiscip Optim 51:533–546CrossRefGoogle Scholar
- Halder A, Mahadevan S (2000) Probability, Reliability, and Statistical Methods in Engineering Design. WileyGoogle Scholar
- Hasofer A, Lind N (1974) Exact and Invariant Second Moment Code Format. J Mech Div ASCE 100:111–121Google Scholar
- Hohenbichler M, Gollwitzer S, Kruse W, Rackwitz R (1987) New Light on First- and Second-Order Reliability Methods. Struct Saf 4:267–284CrossRefGoogle Scholar
- Hsu K-S, Chan K-Y (2010) A Filter-based Sample Average SQP for Optimization Problems with Highly Nonlinear Probabilistic Constraints. J Mech Des Trans ASME 132:111002CrossRefGoogle Scholar
- Ju BH, Lee BC (2008) Reliability-based Design Optimization using a Moment Method and a Kriging Metamodel. Eng Optim 40:421–438MathSciNetCrossRefGoogle Scholar
- Kang SC, Koh HM, Choo JF (2010) An Efficient Response Surface Method using Moving Least Squares Approximation for Structural Reliability Analysis. Probabilistic Eng Mech 25:365–371CrossRefGoogle Scholar
- Karadeniz H, Togan V, Vrouwenvelder T (2009) An Integrated Reliability-based Design Optimization of Offshore Towers. Reliab Eng Syst Saf 94:1510–1516CrossRefGoogle Scholar
- Klarbring A, Strömberg N (2013) Topology Optimization of Hyperelastic Bodies including Non-zero Prescribed Displacements. Struct Multidiscip Optim 47:37–48MathSciNetCrossRefzbMATHGoogle Scholar
- Lee I, Noh Y, Yoo D (2015) A Novel Second Order Reliability Method (SORM) using Non-central or Generalized Chi-Squared Distributions. J Mech Des Trans ASME 134:100912CrossRefGoogle Scholar
- Lemaire M (2009) Structural Reliability. WileyGoogle Scholar
- Lim J, Lee B, Lee I (2014) Second-order Reliability Method-based Inverse Reliability Analysis using Hessian Update for Accurate and Efficient Reliability-based Design Optimization. Int J Numer Methods Eng 100:773–792MathSciNetCrossRefzbMATHGoogle Scholar
- Lim J, Lee B, Lee I (2016) Post Optimization for Accurate and Efficient Reliability-based Design Optimization using Second-order Reliability Method based on Importance Sampling and Its Stochastic Sensitivity Analysis. Int J Numer Methods Eng 107:93–108MathSciNetCrossRefzbMATHGoogle Scholar
- Mansour R, Olsson M (2014) A Closed-form Second Order Reliabillity Method using Noncentral Chi-Squared Distributions , vol 136Google Scholar
- Mansour R, Olsson M (2016) Response Surface Single Loop Reliability-based Design Optimization with Higher Order Reliability Assessment. Struct Multidiscip Optim 54:63–79MathSciNetCrossRefGoogle Scholar
- Qu X, Haftka RT, Venkataraman S, Johnson TF (2003) Deterministic and Reliability-Based Optimization of Composite Laminates for Cryogenic Environments. AIAA J 41:2029–2036CrossRefGoogle Scholar
- Shetty NK, Guedes Soares C, Thoft-Christensen P, Jensen FM (1998) Fire Safety Assessment and Optimal Design of Passive Fire Protection for Offshore Structures. Reliab Eng Syst Saf 61 :139–149CrossRefGoogle Scholar
- Song C, Lee J (2011) Reliability-based Design Optimization of Knuckle Component using Conservative Method of Moving Least Squares Meta-models. Probabilistic Eng Mech 26:364–379CrossRefGoogle Scholar
- Strömberg N (2016) Reliability Based Design Optimization by using a SLP Approach and Radial Basis Function Networks, in the proceedings of the
*ASME 2016 International Design Engineering Technical Conferences & Computers and Information in Engineering Conference IDETC/CIE 2016*, August 21-24, Charlotte, North Carolina, USAGoogle Scholar - Strömberg N (2011) An eulerian approach for Simulating Frictional Heating in Disc-Pad Systems. Eur J Mech A/Solids 30:673–683CrossRefzbMATHGoogle Scholar
- Tvedt L (1983) Two Second Order Approximations to the Failure Probability, Technical report: RDIV/20-004-83 Det Norske VeritasGoogle Scholar
- Valdebenito MA, Schuëller GI (2010) A Survey on Approaches for Reliabillity-Based Optimization. Struct Multidiscip Optim 42:645–663MathSciNetCrossRefzbMATHGoogle Scholar
- Yoo D, Lee I, Cho H (2014) Probabilistic Sensitivity Analysis for Novel Second-order Reliability Method (SORM) using Generalized Chi-squared Distribution. Struct Multidiscip Optim 50:787–797MathSciNetCrossRefGoogle Scholar
- Youn BD, Choi KK (2004) A New Response Surface Methodology for Reliability-Based Design Optimization. Comput Struct 82:241–256CrossRefGoogle Scholar
- Youn BD, Choi KK (2004) An Investigation of Nonlinearity of Reliability-Based Design Optimization Approaches. J Mech Des 126:403–411CrossRefGoogle Scholar
- Zhou J, Xu M, Li M (2016) Reliability-based Design Optimization concerning Objective Variation under Mixed Probabilistic and Interval Uncertainties. J Mech Des Trans ASME 138 :114501CrossRefGoogle Scholar
- Zhu Z, Du X (1403) Reliability Analysis with Monte Carlo Simulation and Dependent Kriging Predictions, ASME Journal of Mechanical Design. J Mech Des Trans ASME 138(12):2016Google Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.