Building Mathematical Models for Multicriteria and Multiobjective Applications 2017View this Special Issue
Research Article | Open Access
Yuan Yang, Zhongqi Wang, Bo Yang, Zewang Jing, Yonggang Kang, "Multiobjective Optimization for Fixture Locating Layout of Sheet Metal Part Using SVR and NSGA-II", Mathematical Problems in Engineering, vol. 2017, Article ID 7076143, 10 pages, 2017. https://doi.org/10.1155/2017/7076143
Multiobjective Optimization for Fixture Locating Layout of Sheet Metal Part Using SVR and NSGA-II
Fixture plays a significant role in determining the sheet metal part (SMP) spatial position and restraining its excessive deformation in many manufacturing operations. However, it is still a difficult task to design and optimize SMP fixture locating layout at present because there exist multiple conflicting objectives and excessive computational cost of finite element analysis (FEA) during the optimization process. To this end, a new multiobjective optimization method for SMP fixture locating layout is proposed in this paper based on the support vector regression (SVR) surrogate model and the elitist nondominated sorting genetic algorithm (NSGA-II). By using ABAQUS™ Python script interface, a parametric FEA model is established. And the fixture locating layout is treated as design variables, while the overall deformation and maximum deformation of SMP under external forces are as the multiple objective functions. First, a limited number of training and testing samples are generated by combining Latin hypercube design (LHD) with FEA. Second, two SVR prediction models corresponding to the multiple objectives are established by learning from the limited training samples and are integrated as the multiobjective optimization surrogate model. Third, NSGA-II is applied to determine the Pareto optimal solutions of SMP fixture locating layout. Finally, a multiobjective optimization for fixture locating layout of an aircraft fuselage skin case is conducted to illustrate and verify the proposed method.
Sheet metal part (SMP), having the advantages of high strength, light weight, and fluent geometric modeling, widely exists in various fields of aerospace, vehicle, and so on [1, 2]. However, it is easy to deform during its assembly, machining, and inspection processes because of the properties of thin wall, large size, and low rigidity. Recently, flexible fixture is widely used during the whole manufacturing process to locate and constrain SMP accurately to reduce its dimensional and form errors. Moreover, the “N-2-1” () locating principle, originally proposed by Cai et al. , is extensively recognized in the fixture design to not only ensure the locating deterministic but also restrain the excessive deformation of SMP. However, the key to the application of “N-2-1” principle in flexible fixture design is how to find the optimal fixture locating layout to minimize the SMP deformation.
To determine the optimal SMP fixture locating layout effectively and efficiently, many scholars and technicians have conducted a lot of research. In the beginning, finite element analysis (FEA) and evolutionary algorithm were integrated to model the SMP fixture system and search for the optimal SMP fixture layout. Kaya  proposed a combined GA and FEA approach to optimizing the fixture layout to decrease the workpiece deformation during its machining process. Prabhaharan et al.  used FEA to compute the workpiece deformation and applied ant colony algorithm (ACA) for the workpiece fixture layout optimization to minimize its dimensional and form errors. Dou et al.  established an FEA model implemented by ANSYS to calculate the elastic deformation of the part and employed four evolutionary approaches including GA, PSO, improved GA, and improved PSO for fixture layout optimization. Cheng et al.  presented a hierarchical fixture layout model to optimize the locating points of aeronautical thin-walled structure to decrease the assembly variation by genetic algorithm and ants algorithm. Xiong et al.  put forward an “N-2-1-1” locating principle and then solved the fixture layout optimization of a compliant aerospace part by integrating FEA and GA.
We can see that the optimization method integrating FEA with evolutionary algorithm has become the main popular method to optimize the fixture locating layout of SMP. However, since there is no explicit functional relation between fixture layout scheme and the corresponding SMP deformation, the above optimization methods for SMP fixture layout often involve a lot of time-consuming FEA which results in unbearable computational costs and burdens. Therefore, the surrogate or prediction models, such as artificial neural network (ANN) and response surface methodology (RSM), were developed and applied to approximate the mapping relation between the design variables and objective values so as to improve the optimization efficiency and to decrease the computational cost. Li et al.  developed three different design models of an ANN-enhanced RSM, a nonlinear programming model, and a polynomial RSM to assist optimization and design of fixture layout during the SMP spot welding assembly. Rex and Ravindran  also established an ANN-based model to approximate the workpiece fixture system and determine the optimal fixture layout to reduce the maximum elastic deformation by incorporating full factorial design of experiments (DOE) and statistical analysis. Lu and Zhao  built a back propagation neural network (BPNN) so as to approximate the deformation of SMP under a given fixture layout and then employed GA to find the optimal fixture layout based on the BPNN prediction model. Wang et al. [12, 13] proposed a radial basis function neural network (RBFNN) prediction model to predict the deformation of SMP and then carried out the follow-up work to search for the optimal fixture layout by integrating RBFNN and bat algorithm to improve the location quality and optimization efficiency. Furthermore, Yang et al.  presented an integrated method to determine the optimum fixture locating layout to minimize the overall deformation of SMP by combining kriging with cuckoo search algorithm.
All researches above only involve single objective of fixture layout optimization. However, in most cases, the fixture layout design should satisfy the requirements of multiple objectives. So as to decrease the workpiece deformation and improve the deformation distributing uniformity, Chen et al.  put forward a multiobjective method for fixture design optimization, where FEA was used to calculate the deformation and GA was employed to solve the optimization model. By regarding fixture locating layout as a multiobjective optimization problem, Wang and Nee  applied nondominated GA and ACA to solve the multiobjective problem with the objective of maximizing the distance of the locators and minimizing the locating error and the deviation of the locating error. Liu et al.  developed an accelerated FEA model to calculate the nodal displacements of the workpiece under external forces and proposed an optimization method to find the optimal fixture layout based on the multiobjective GA. Considering multiple requirements for the locating layout of a checking fixture such as detachability, stability, and accuracy, Jiang et al.  presented a multiobjective optimization method to continuous search for a detachable, stable, and accurate locating layout in checking fixture design. By combining nondominated sorting algorithm and the social radiation algorithm, a nondominated sorting social radiation algorithm was proposed by Xing et al.  to conduct the multiobjective optimization of compliant parts fixture scheme to simultaneously meet the multiple requirements of gravity deformation and assembly tolerance.
In this paper, a new multiobjective optimization method by integrating support vector regression (SVR) with the elitist nondominated sorting genetic algorithm (NSGA-II) is proposed for the SMP fixture locating layout design. The objective here is twofold. One is to minimize the overall deformation of SMP, and the other is to minimize the maximum deformation. A parametric FEA model implemented by Python scripting interface of ABAQUS is developed to calculate the deformation for a given fixture layout under given forces. Then NSGA-II is integrated, and the NSGA-II toolbox based on MATLAB™ is developed to solve the optimization problem. The remainder of this paper is organized as follows. The mathematical model for SMP fixture layout multiobjective optimization is represented in Section 2. The fundamental theory related to SVR is introduced in Section 3. Section 4 describes the construction flowchart for the multiobjective optimization of SMP fixture layout using SVR and NSGA-II. In Section 5, an experiment is conducted to verify the proposed optimization method by comparing the simulated results with the experimental data. Finally, the major conclusions are provided in Section 6.
2. Problem Formulation
Since it is easy to deform in many manufacturing operations, SMP is often located under an overconstraint condition in the flexible fixture based on the “N-2-1” () locating principle. Figure 1 depicts the typical “N-2-1” () fixture locating scheme for a curved SMP. It can be seen that N locating points (LPs), generally more than three, are required on the primary datum to prevent excessive deformation and supply more reinforcements for SMP. And two LPs on the secondary datum and one on the tertiary datum are expected to locate SMP uniquely in space. Obviously, the locating effectiveness based on “N-2-1” principle is strongly related to the layout of the N LPs where the number N is determined by the SMP dimensional specifications. In this paper, our interests focus on the flexible fixture layout optimization of SMP on the primary datum to minimize its overall deformation and maximum deformation synchronously. Therefore, the fixture layout design is regarded as a multiobjective optimization problem in this work.
In SMP fixture layout optimization problem, two goals (the overall deformation accuracy and the maximum deformation accuracy) should be synchronously satisfied to obtain an optimal solution. In this paper, FEA method is employed to model the SMP fixture system and to compute the objective values. Here, in order to minimize the human assistance and realize the automation of the whole iterative optimization and FEA, this paper performs the secondary development of ABAQUS and establishes a parametric FEA model for SMP fixture layout optimization. Thus, the multiobjective optimization problem can be formulated aswhere represents the design variables on behalf of various fixture layout schemes; and represent the coordinates of any two different LPs, respectively, where ; and denote the two goals, the overall deformation, and maximum deformation, respectively; is the displacement deviation of the ith finite element node after deformation; L depicts the total number of the SMP finite element nodes; S represents the set of all finite element nodes. Here, the design variable X has to be in the predetermined domain S, and in each fixture layout scheme, any two LPs cannot overlap.
As a powerful machine learning method, support vector machine (SVM) was initially presented by Vapnik [20, 21] and applied to solve regression and classification problems having small samples and high dimensions on the base of structural risk minimization principle and statistical learning theory. By introducing Vapnik’s -insensitive loss function, the regression version of SVM, named SVR, has been used as a powerful and effective method to solve the nonlinear regression problems.
Given a training set of size , where are the input vectors (representing fixture locating layout schemes) and are the associated output values (representing the SMP overall deformation and maximum deformation ) of . The aim of SVR is to provide a nonlinear mapping function to map the training data to a higher dimensional feature space. Now, the nonlinear mapping relation between the input data and the output values can be expressed as follows: where is the feature that is nonlinearly mapped from the input vector X; W and b are the coefficients to be adjusted. Moreover, Vapnik’sε-insensitive loss function  is employed in this paper to panelize the training error between the real training value and the regression value .
As displayed in Figure 2, thisε-insensitive loss function formulizes a tube with a radius ofε around the assumptive regression function so that if a training sample point lies within the tube, the loss function equals zero, while if a training sample point falls on or outside the tube, the loss is in proportion to the magnitude of the Euclidean difference between the training sample point and the radiusε of the tube. Thus, the SVR regression problem can be solved by calculating the following constrained optimization function:
Here, the penalty factor defines the trade-off between the model complexity of and the amount up to which deviations larger than the radiusεcan be tolerated. and denote the nonnegative slack variables measuring the error of the up and down sides, separately. Then, by solving the optimization problem above and introducing Lagrange multipliers, the coefficient W of (1) can be obtained by where and are the Lagrange multipliers. Then the SVR regression function can be reformulated to a dual equation:
Here, stands for the so-called kernel function. In this paper, the most commonly used kernel function, namely, the Gaussian radial basis function (RBF), is adopted in the SVR modeling. The RBF kernel function can be expressed as where denotes the width of the Gaussian RBF function; represents the jth input of the training sample set, and represents the input of the prediction data. Here, the coefficient of , , and b can be obtained by several iterations of the training sample set. Now, by tuning the penalty factor C, width of the RBF kernel function , and tube size ofε-insensitive loss functionε, the SVR model can be constructed to deal with the optimization problem of the SMP fixture locating layout.
4. Multiobjective Optimization Based on SVR and NSGA-II
Multiobjective optimization always typically involves multiple conflicting objectives and does not have a feasible solution that minimizes or maximizes all objectives synchronously. Hence, the final outcome of such a multiobjective optimization problem is a set of trade-off solutions between different objectives. These trade-off points are termed as Pareto optimal solutions which are not dominated by any other solution and cannot be improved in the case of at least one other objective without worsening. The set of all these feasible nondominated solutions is termed as Pareto optimal solution set, and the corresponding objective values are named the Pareto front . Figure 3 demonstrates the Pareto front for the optimization of two objectives of Obj-1 and Obj-2.
Recently, it has been found that NSGA-II can converge near to the real Pareto front and keep a good diversity of the population in the final Pareto optimal solution set [23, 24]. In this work, the Pareto optimal solutions and the corresponding Pareto front are obtained by NSGA-II which was originally proposed by Deb et al.  based on the nondominated sorting genetic algorithm (NSGA) . The three main features of NSGA-II are elitist strategy, crowding distance, and fast ranking of nondominated solutions. Therefore, so as to verify the feasibility and effectiveness of the proposed multiobjective optimization method integrating SVR and NSGA-II, based on the ABAQUS  secondary development, this paper uses Python language to compile FEA model of the parametric SMP fixture system to generate the limited training and testing samples for SVR surrogate models and finally uses MATLAB language to compile the NSGA-II program to do the multiobjective optimization of SMP fixture layout.
ABAQUS can execute the finite element calculation by running a script file with the .PY extension and store the postprocessing results in a database file with the .ODB extension. MATLAB can read and modify the PY and ODB files to achieve the connection and data transmission between MATLAB language and ABAQUS software. Thus, the information from optimization algorithm can be sent to finite element model by modifying the PY files, and the displacement can be received from ABAQUS by reading the ODB files. The main steps of the multiobjective optimization method are described as follows.
Step 1. Generate the limited training and testing samples by Latin hypercube design (LHD)  and then calculate the responding overall deformation and maximum deformation of the SMP under external forces with the help of the parametric FEA model.
Step 2. Scale the training data set and testing data set into the range of using the following normalization formula:where is the ith original data value, is the ith scaled data value, and and are the upper and lower bound of the original data, respectively.
Step 3. Tune the SVR hyperparameters (C, and ) and establish the SVR prediction models to depict the nonlinear mapping relation between different fixture layout and the corresponding SMP deformation.
Step 4. Calculate and analyze the relative root mean squared error (RRMSE) of the SVR models on the testing sample set. Then increase training samples and repeat Steps 1–4 until the prediction accuracy is satisfied.
Step 5. Initialize the parent population of NSGA-II randomly and evaluate the population by calculating the objectives of each individual using the established SVR prediction models.
Step 6. Perform the nondominated sorting on and rank each individual based on the dominance criteria.
Step 7. Compute the crowding distances and sort the individuals.
Step 8. Select individuals using a tournament selection and store them in a temporary mating pool. Then apply the crossover and mutation operators to produce the offspring population where subscript t denotes the count of current generation.
Step 9. Merge the parent population and offspring population to generate a larger population and assign a fitness value to each individual by a fast nondominated sorting.
Step 10. Perform elitism to find the individuals with better fitness from the merged population as the new parent population .
When the optimization process terminates, the nondominated solutions of the final population are the approximate Pareto optimal solutions with a good diversity. Figure 4 explains the implementation of the proposed multiobjective optimization of SMP fixture layout.
5. Case Study
In this section, a simplified aircraft fuselage skin is chosen as an example to illustrate and evaluate the multiobjective optimization method for SMP fixture locating layout by combining SVR and NSGA-II. The basic dimension, force condition, and initial fixture layout of the sheet metal fuselage skin are demonstrated in Figure 5, and the physical properties of the material are listed in Table 1. “N” () LPs on the primary datum plane of the fuselage skin are LP-1, LP-2, LP-3, and LP-4, and the “2” LPs on the secondary datum are LP-5 and LP-6, while the “1” LP on the tertiary datum is LP-7. The coordinates of the fixed locating points (FLPs) of LP-1, LP-2, LP-3, LP-5, LP-6, and LP-7 are preset as , and , respectively. The LP to be optimized (OLP) is LP-4 and its coordinate is expressed by . The sheet metal fuselage skin is subjected to its own gravity (G) and a concentrated external force (F).
The Pareto optimal position of LP-4 is to be determined by the method proposed in this paper by combining SVR and NSGA-II for a trade-off between the two goals, the minimum overall deformation and the minimum maximum deformation of the aluminum alloy sheet metal fuselage skin. According to the workflow in Figure 4, the training and testing sample points are produced by LHD and the two-objective function values of the fuselage skin under its dead weight and a concentrated force is calculated by ABAQUS. In this work, after several trials and a normalization of the sample data sets, two SVR models are built with 800 sets of known input and output values for training and 40 sets of known values for testing. Figure 6 depicts the comparison between the SVR output and the expected FEA output for the same testing samples. As a result, the RRMSE of the SVR prediction models for the overall deformation and maximum deformation are 3.68% and 3.55%, respectively; both are less than the need of general engineering of 10%. The parameter setting and the RRMSE of the two SVR models are listed in Table 2. Therefore, the response surface models depicting the mapping relation between fixture layout and the corresponding SMP deformation are built, as demonstrated in Figure 7. Now, for a given fixture locating layout, the SMP deformation (the overall deformation and the maximum deformation) can be obtained.
The crossover and mutation probabilities of NSGA-II used in this example are 0.9 and 0.1, respectively. The Pareto front by NSGA-II is illustrated in Figure 8, with 100 population individuals and the maximum number of iterations is 1000. (The coordinate values and the corresponding overall and maximum deformation of the trade-off points on the Pareto front are given in Table 4.)
In order to further verify the feasibility and effectiveness of the proposed multiobjective optimization method, the multipoint flexible fixture system, as shown in Figure 9, was designed, and the validation experiment for the Pareto optimal solutions of the sheet metal fuselage skin was conducted. The experimental data were measured to assess the validity of the simulated results. In this experiment, the high precision coordinate measurement system of API Laser Tracker 3 was used to determine the locators’ spatial position of the flexible fixture system, and the HandySCAN 3D™ handheld scanner was employed to measure the deformation condition of the sheet metal fuselage skin after being located, as shown in Figure 10.
In this paper, the two ends (numbers 1 and 100 in Table 4) of the Pareto front and an arbitrary point (number 57) in the middle were taken for experimental verification. The experimental comparisons are given in Table 3.
It is known from Table 3 that the maximum relative error of the simulated results is not more than the need of general engineering of 10% from the experimental data. The results show that the established FEA model can be efficiently applied to analyze the SMP overall deformation and maximum deformations, and the proposed multiobjective optimization method as well as the given Pareto front (see Figure 8) can be used to guide the designers to evaluate and determine the final optimal acceptable fixture layout design with a proper trade-off based on multiple objectives.
In order to realize the multiobjective optimization of SMP fixture locating layout and reduce the cost of FEA calculation during the iterative optimization, a new multiobjective optimization design method is proposed, which combines SVR surrogate model and NSGA-II in fixture layout design. The two major conclusions are as follows:(1)On the basis of a few FEA calculations, the SVR prediction models of the SMP overall deformation and maximum deformation are constructed, respectively, which greatly reduce the cost of finite element calculation of fixture layout optimization and improve the fixture design effectiveness. At the same time, the RRMSE of the prediction data satisfies the general engineering requirement (10%), and the prediction speed is fast and the prediction result is stable.(2)A new multiobjective optimization model for SMP fixture locating layout is established by combining SVR with NSGA-II. The Pareto distribution is obtained, which can provide a theoretical guidance for multiobjective optimization design of SMP fixture locating layout.
Table 4 gives the coordinate values and the corresponding overall deformation and maximum deformation of the trade-off points on the Pareto front.
Conflicts of Interest
The authors declare that there are no conflicts of interest regarding the publication of this paper.
This work is supported by the National Natural Science Foundation of China (Grant no. 51375396) and Shaanxi Science and Technology Innovation Project Plan, China (Grant no. 2016KTCQ01-50).
- N. Jayaweera and P. Webb, “Automated assembly of fuselage skin panels,” Assembly Automation, vol. 27, no. 4, pp. 343–355, 2007.
- S. J. Hu and J. Camelio, “Modeling and control of compliant assembly systems,” CIRP Annals - Manufacturing Technology, vol. 55, no. 1, pp. 19–22, 2006.
- W. Cai, S. J. Hu, and J. X. Yuan, “Deformable sheet metal fixturing: principles, algorithms, and simulations,” Journal of Manufacturing Science and Engineering, vol. 118, no. 3, pp. 318–324, 1996.
- N. Kaya, “Machining fixture locating and clamping position optimization using genetic algorithms,” Computers in Industry, vol. 57, no. 2, pp. 112–120, 2006.
- G. Prabhaharan, K. P. Padmanaban, and R. Krishnakumar, “Machining fixture layout optimization using FEM and evolutionary techniques,” International Journal of Advanced Manufacturing Technology, vol. 32, no. 11-12, pp. 1090–1103, 2007.
- J. Dou, X. Wang, and L. Wang, “Machining fixture layout optimisation under dynamic conditions based on evolutionary techniques,” International Journal of Production Research, vol. 50, no. 15, pp. 4294–4315, 2012.
- H. Cheng, Y. Li, K.-F. Zhang, C. Luan, Y.-W. Xu, and M.-H. Li, “Optimization method of fixture layout for aeronautical thin-walled structures with automated riveting,” Assembly Automation, vol. 32, no. 4, pp. 323–332, 2012.
- L. Xiong, R. Molfino, and M. Zoppi, “Fixture layout optimization for flexible aerospace parts based on self-reconfigurable swarm intelligent fixture system,” International Journal of Advanced Manufacturing Technology, vol. 66, no. 9-12, pp. 1305–1313, 2013.
- B. Li, Y. Hu, H. Tang, H. Yu, and H. Hu, “A comparative study on quality design of fixture planning for sheet metal assembly,” Journal of Engineering Design, vol. 19, no. 1, pp. 1–13, 2008.
- F. M. T. Rex and D. Ravindran, “An integrated approach for optimal fixture layout design,” Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture, 2015.
- C. Lu and H.-W. Zhao, “Fixture layout optimization for deformable sheet metal workpiece,” International Journal of Advanced Manufacturing Technology, vol. 78, no. 1–4, pp. 85–98, 2015.
- Z. Wang, B. Yang, Y. Kang, and Y. Yang, “Development of a prediction model based on rbf neural network for sheet metal fixture locating layout design and optimization,” Computational Intelligence and Neuroscience, vol. 2016, Article ID 7620438, pp. 1–6, 2016.
- Z. Wang, Y. Yang, B. Yang, and Y. Kang, “Optimal sheet metal fixture locating layout by combining radial basis function neural network and bat algorithm,” Advances in Mechanical Engineering, vol. 8, no. 12, pp. 1–10, 2016.
- B. Yang, Z. Wang, Y. Yang, Y. Kang, and X. Li, “Optimum fixture locating layout for sheet metal part by integrating kriging with cuckoo search algorithm,” International Journal of Advanced Manufacturing Technology, pp. 1–14, 2016.
- W. Chen, L. Ni, and J. Xue, “Deformation control through fixture layout design and clamping force optimization,” International Journal of Advanced Manufacturing Technology, vol. 38, no. 9-10, pp. 860–867, 2008.
- B. F. Wang and A. Y. C. Nee, “Robust fixture layout with the multi-objective non-dominated ACO/GA approach,” CIRP Annals - Manufacturing Technology, vol. 60, no. 1, pp. 183–186, 2011.
- Z. Liu, M. Y. Wang, K. Wang, and X. Mei, “Multi-objective optimization design of a fixture layout considering locator displacement and force-deformation,” International Journal of Advanced Manufacturing Technology, vol. 67, no. 5-8, pp. 1267–1279, 2013.
- K. Jiang, X. Zhou, M. Li, and X. Kong, “A multi-objective optimization and decision algorithm for locator layout continuous searching in checking fixture design,” International Journal of Advanced Manufacturing Technology, vol. 67, no. 1-4, pp. 357–366, 2013.
- Y. Xing, M. Hu, H. Zeng, and Y. Wang, “Fixture layout optimisation based on a non-domination sorting social radiation algorithm for auto-body parts,” International Journal of Production Research, vol. 53, no. 11, pp. 3475–3490, 2015.
- V. N. Vapnik, The Nature of Statistical Learning Theory, Springer, 1995.
- V. N. Vapnik, Statistical Learning Theory, Adaptive and Learning Systems for Signal Processing, Communications, and Control, Wiley- Interscience, New York, NY, USA, 1998.
- A. Konak, D. W. Coit, and A. E. Smith, “Multi-objective optimization using genetic algorithms: a tutorial,” Reliability Engineering & System Safety, vol. 91, no. 9, pp. 992–1007, 2006.
- K. Deb, Multiobjective Optimization Using Evolutionary Algorithms, New York, NY, USA, Wiley, 2001.
- K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan, “A fast and elitist multiobjective genetic algorithm: NSGA-II,” IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182–197, 2002.
- N. Srinivas and K. Deb, “Multiobjective function optimization using nondominated sorting genetic algorithms,” Evolutionary Computation, vol. 2, pp. 221–248, 1994.
- D. S. Simulia, Abaqus 6.12 documentation, Dassault Systemes Simulia, Providence, RI, USA, 2012.
- M. D. Mckay, R. J. Beckman, and W. J. Conover, “A comparison of three methods for selecting values of input variables in the analysis of output from a computer code,” Technometrics, vol. 42, no. 1, pp. 55–61, 2000.
Copyright © 2017 Yuan Yang et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.