Research Article | Open Access

Volume 2018 |Article ID 1869232 | https://doi.org/10.1155/2018/1869232

Lei Wang, Yongqiang Liu, "Application of Simulated Annealing Particle Swarm Optimization Based on Correlation in Parameter Identification of Induction Motor", Mathematical Problems in Engineering, vol. 2018, Article ID 1869232, 9 pages, 2018. https://doi.org/10.1155/2018/1869232

# Application of Simulated Annealing Particle Swarm Optimization Based on Correlation in Parameter Identification of Induction Motor

Revised06 May 2018
Accepted15 May 2018
Published08 Jul 2018

#### Abstract

The strengths and weaknesses of correlation algorithm, simulated annealing algorithm, and particle swarm optimization algorithm are studied in this paper. A hybrid optimization algorithm is proposed by drawing upon the three algorithms, and the specific application processes are given. To extract the current fundamental signal, the correlation algorithm is used. To identify the motor dynamic parameter, the filtered stator current signal is simulated using simulated annealing particle swarm algorithm. The simulated annealing particle swarm optimization algorithm effectively incorporates the global optimization ability of simulated annealing algorithm with the fast convergence of particle swarm optimization by comparing the identification results of asynchronous motor with constant torque load and step load.

#### 1. Introduction

A certain motor parameter identification model is used, and the residual square sum of the predicted output value and the actual motor output value at the discrete time of the motor model under the parameter identification value serves as the minimization objective function in the identification of motor parameter follows for iterative optimization [15]. In recent years, plenty of studies using generalized Kalman filtering, least square method, and genetic algorithm have been performed on the identification of asynchronous motor parameters [69]. The weakness of the generalized Kalman filter method in these methods is that it requires considerable computation in every step of vector or matrix operation. The objective function of the motor parameters of the derivative is used by least square method in the optimization, and speed fluctuations are very susceptible. Genetic algorithm is easier to reach local optimum, which makes it difficult to have higher recognition accuracy in terms of convergence. Besides, the fundamental information will be impacted by the noise signal component in the stator current. Given these, the more effective algorithm should be studied to identify asynchronous motor parameters.

The correlation algorithm is used in this paper to extract the amplitude and phase of the stator current fundamental signal, and the harmonic components are filtered out to emphasize the fundamental signal given the characteristics of the stator voltage and current fundamental frequency equal to construct the same frequency with the stator voltage reference signal [1012]. Then, to identify the parameters of the dynamic mathematical model of asynchronous motor, a novel optimization algorithm incorporating simulated annealing with the advantages of particle swarm optimization is used [1315]. Some particles in the particle swarm get a new target position by flight in the identification iteration. To obtain a new target position, some particles are randomly sampled following simulated annealing [1620]. By calculating the acceptance probability of a new position, each particle can decide whether to reach a new position to ultimately update the position status of the entire particle swarm. The ability of simulated annealing algorithm to jump out of the local optimal value effectively incorporates the rapid optimization of particle swarm optimization, as suggested from the simulation results, which greatly increases the accuracy of parameter identification of the dynamic mathematical model of asynchronous motor.

#### 2. Correlation Algorithm

##### 2.1. Correlation Function Theory Overview

The dependency of the instantaneous value of a time t and the instantaneous value is expressed by the correlation function at another time. For periodic signals, the integral average time T is the signal period. The relevant autocorrelation function and cross-correlation function are defined as

Hypothesis

where denotes the initial phase angle of at time t = 0; presents the phase difference between and .

Given that the period T is a finite value, the estimated value of the cross-correlation function for and is expressed as

Cross-correlation analysis of two periodic signals with the same frequency maintains both the same frequency component and the phase information, as suggested from (5). As the nonfrequency periodic signals are irrelevant, the same frequency of the reference signal and the measured signal can be processed using cross-correlation. Given that the interference signal differs from the reference signal frequency, the interference can be eliminated after the measured signal and the amplitude and phase information can be extracted.

##### 2.2. Related Algorithms in the Application of Noise Signal Cancellation

The fundamental components of the stator voltage and the stator current signal are considered to have the same frequency when the grid has sufficient capacity. A signal with the frequency identical to that of the stator voltage can serve as a reference signal. The noise component and the reference signal have different frequencies by cross-correlating the grid voltage signal and the stator current signal of the motor. Accordingly, the amplitude and phase information of the stator current fundamental component can be obtained. The implementation is detailed as follows: the stator current signal of the measured motor is denoted as , the phase of the fundamental component expressed as , the amplitude is represented by A, the angular frequency refers to ω, and denotes the harmonic component of the stator signal and the other components of the noise. The following is available:

Two-reference signals with the same frequency as the stator voltage are created, and the rated current of the motor to be measured is the effective value and B is the reference signal, as expressed below

The stator current signal of the measured motor goes through the cross-correlation with the reference signals and , respectively. Given that is not associated with the two-reference signals and , , the estimated value of the correlation function between the measured signal and the reference signal and is expressed as

Solving (9) to (11) results in (12) to (14)

Assume that the number of sampling points in the period T is N, the discrete time series of the stator current signal s (t) expressed as , and the discrete time series of the two-reference signals are denoted as , respectively . Then, the following is formed:

, , and are calculated through the discrete time series , , and . By introducing them into (12) to (14), the amplitude A and the phase of the stator current fundamental wave signal can be obtained. And then according to (18)

denotes the fundamental signal sequence, and the represents the harmonic and noise signal sequence.

SVD filtering is an algorithm on the basis of the singular value decomposition. Keep large singular values (complying with energy-focused signals or large energy signals such as harmonic signals). Discard small singular values (complying with energy dispersive signals or small energy signals, such as noise signals). Singular value decomposition is performed on , and large singular values are reserved. To obtain a pure harmonic component , harmonic restoration is performed based on these large singular values. The induction motor current signal is as expressed below:

The information of induction motor can be known through the parameter identification of .

#### 3. SA-PSO

##### 3.1. SA Algorithm

SA (short for Simulated annealing algorithm) refers to a heuristic random search method following the strategy of Monte-Carlo iterative solution. Using the Metropolis sampling criterion characterized by probabilistic sudden jump, the SA is first searched randomly in the solution space at a comparatively high initial temperature. The sampling process is repeated with the continuous decrease of temperature, and eventually the global optimal solution of the problem is obtained.

The general steps of the SA algorithm are as follows:(1)optional initial solution ; ; ; (2)selecting a value randomly from the field and calculating ; if , then ; otherwise, . Then ; repeat step two times(3)calculating; terminating the calculation if the termination conditions are satisfied; otherwise, back to step two.

##### 3.2. PSO Algorithm

Each latent solution in D-dimensional space is deemed as a particle in PSO (short for particle swarm optimization) algorithm. m particles are first generated in the solution space in the optimization calculation [2123]. The position vector of the ith particle in the particle swarm is , and the velocity vector is . The optimal position searched by the particle is denoted by . The optimal position searched by the entire particle group is denoted by . Particle swarm optimization algorithm can be expressed below:

where t denotes an iterative algebra; c1 and c2 represent a learning factor, generally c1 = c2 = 2, and refers to a random number between 0 and 1 independent of each other. There is a maximum speed of particle flight [2426]. The maximum speed is used instead when the calculated speed surmounts this maximum.

An inertia weight term w is added to the basic evolution equation to obtain wPSO given that the flight speed of particles affects the global convergence performance of the algorithm. The improved equation is as follows:

In the basic evolution equation to increase the contraction factor r CPSO algorithm, the iterative equation is expressed as

##### 3.3. SA-PSO Hybrid Algorithm

This paper proposes an optimization algorithm following the particle swarm optimization algorithm and simulated annealing algorithm given the characteristics of SA and PSO. The two algorithms are mixed and iterated in the calculation. Using the Metropolis criterion of simulated annealing, the acceptance of particles for each of their leapfrog results is modeled. The optimal solution in a particle swarm serves as the initial solution to the next temperature sampling process of the simulated annealing algorithm. The number of particles reaching a certain level of similarity to the optimal particle is considered as the length of the randomly sampled Markov chain at that temperature, and they are not flown. Yet a new solution is generated by the simulated annealing random disturbance to reach a new location, which increases the diversity of particle populations to avoid falling into the local optimum.

As for SA-PSO particle swarm optimization, Fast Convergence, and global convergence of simulated annealing algorithms, the “premature” phenomenon of PSO is effectively overcome, and the convergence speed is fast by the powerful combination of the two-algorithm search.

#### 4. SA-PSO Used in Asynchronous Motor Parameter Identification

##### 4.1. Asynchronous Motor Dynamic Mathematical Model

Motor voltage equation is

Electromagnetic torque equation is

Equation of motion is

In (27)-(29), and denote the stator voltages of d and q axes, and denote d and q-axis rotor voltage on the stator conversion value, and denote d and q-axis stator current, and and , denote d and q-axis rotor current stator converted value. refers to the stator’s resistance per phase. represents the rotor’s commutation value per stator resistance. Ls denotes the inductance of each phase of the stator. represents the rotor’s inductance per phase of the stator conversion value. refers to the magnetizing inductance of each phase of the stator. denotes the rotor electrical angular velocity. refers to the electromagnetic torque. p represents the asynchronous motor pole pairs. denotes the load torque. B represents the damping coefficient. J refers to the moment of inertia.

To be identified parameter vector is

Input vector is

State vector is

##### 4.2. SA-PSO Applied to Asynchronous Motor Parameter Identification Steps

By incorporating equations (27), (28), and (29), the dynamic mathematical model of induction motor can be expressed by

where X denotes the state variable; V refers to the input variable; H represents the identification parameter variable; D denotes the differential operator, .

The identification parameter variable matrix (N particles) is denoted as

where suggests that the ith particle is encompassed by m identification parameters.

where denotes the measured value. C represents the coefficient matrix associated with selecting those measurements. k refers to the order of each measurement during the measurement. denotes the instantaneous time for the kth measurement. The entire measurement starts from and ends at .

Two different sets of measurements are selected, i.e.,

where denotes the A-phase winding current; represents the stator B-phase winding current; refers to the stator C-phase winding current.The corresponding coefficient matrix , respectively, is

Assume that iter is an iterative algebra in SA-PSO algorithm and the steps of applying the algorithm to perform the foregoing parameter identification of dynamic mathematical model are as follows.

Step 1. Randomly generate the initial generation particle group all individuals , in which each particle identification parameter is under the following conditions:where denotes the jth identification parameter of the ith particle in the first iteration. and refer to the upper and lower limits of the jth identification parameter of all particles, respectively. The upper and lower limits should comply with the experience given. The parameter is from iter = 0.

Step 2. Introduce each particle into (29), find the state variable , and then introduce (34) into . Then find the error between the measurement result and the calculation result:Obtain the objective function value of the particle :where ∧ denotes the identity matrix; refers to the discrete computation time exactly identical to the measurement time.

Step 3. Calculate the objective function value of all individuals in a particle swarm. Calculate the initial temperature if = 0, so that the initial acceptance rate of various particles in the initial iteration is large (. At least 95% of the particles pass (24) and (25) can be accepted as a new location after iteration).

Step 4. Determine the optimal position of each particle and the global optimum position . The sampling initial value of the simulated annealing algorithm is established at .

Step 5. Convert all particles into a binary representation. Each identification parameter is represented by a 10-bit binary number. Calculate the number of particles (N1) which are similar to θgbest according to the gene distribution function defined in [27].

Step 6. Iterate on (N-N1-1) particles farther away from using (24) and (25), involving contraction factor r = 01729. Let be the initial value of sampling, and then calculate (N1 + 1) random sampling.

Step 7. Calculate the respective objective function value for N new particles. And determine whether to accept the new state by following the Metropolis criteria. Number of iterations increases by 1. Perform the annealing operation. Annealing temperature selection equation

Step 8. Determine whether to reach the maximum number of iterations; otherwise turn Step 2; output the optimal value.

#### 5. Experimental Results

##### 5.1. Experimental Equipment

The sampling frequency of the stator current signal is 8kHz in this paper. Table 1 lists the induction motor parameters.

 parameter value Rated voltage 380 Rated frequency 50 Number of pole pairs 3 Maximum speed 1000 Stator resistance 1.54 Rotor resistance 1.294 Stator inductance 0.1000 Rotor inductance 0.0969 Mutual inductance 0.0915
##### 5.2. Induction Motor Parameter Identification under Load Torque Change

In most cases the load is changing given the actual asynchronous motor operation. Thus, the load torque is merely changed, and the three classic loads are described, such as the constant torque load, the step load, and the constant power load to study the performance of the CSA-PSO algorithm under different loads.

###### 5.2.1. Induction Motor Parameter Identification under Load Torque Change

Asynchronous motor parameter identification results under constant torque load curve, which are stator resistance, rotor resistance, stator inductance, rotor inductance, and mutual inductance identification curve are presented in Figures 15, the stator resistance identification results are presented in Figure 1, the rotor resistance identification results are presented in Figure 2, the stator inductance identification results are presented in Figure 3, the rotor inductance identification results are presented in Figure 4, and the result of mutual inductance is identified in Figure 5. Because the stator current contains the noise signal, the value of the objective function in the induction motor parameter identification is always in a state of fluctuation. At this point, the identification result of the induction motor parameters has been fluctuating. After the stator current is filtered, the recognition results of the induction motor parameters are quickly converged to the identification value after a brief fluctuation and the error between the identification value and the actual value is very small. When there is no stator current filtering, the induction motor parameter identification result is always in a fluctuation state and the error between the identification value and the actual value is large. After 60 iterations of identification, the identification parameters are stable. The accuracy of the induction motor parameter identification is notably greater than when the stator current is not filtered as the stator current is filtered. The identification of the motor parameters stability error is small, as suggested from the identification curve and the actual curve comparison.

###### 5.2.2. Parameter Identification for Step Load Torque Variation

The step input is usually the most unfavorable input situation under the actual situation. Practically, many inputs are similar to step inputs. As a result, the system performance index of the control system is usually obtained by analyzing the step response of the system as a stepping number is applied. Similarly, fast tracking and accuracy can be provided using the load torque as an input to the control system if the system’s step response is high. It is suggested that CSA-PSO algorithm identification method is applicable under the step load.

The speed of asynchronous motor was 1000rpm, and the load torque suddenly increased from 10Nm to 20Nm at 0.5s in the simulation. The curve of asynchronous motor parameter identification results is presented in Figures 610 under step load, i.e., stator resistance, rotor resistance, stator inductance, rotor inductance, and mutual inductance identification curve. The stator resistance identification results are presented in Figure 6, the rotor resistance identification results are presented in Figure 7, the stator inductance identification results are presented in Figure 8, the rotor inductance identification results are presented in Figure 9, and the result of mutual inductance is identified in Figure 10.

At 0.5 s, the load torque changes from 10 Nm to 20 Nm. Correspondingly, the output torque increases and the output current also increases. In the armature circuit, the voltage drop across the inductor and resistor will increase, and the effect of the skin effect will increase, causing the induction motor parameters to change. However, it can be seen from Figures 610 that the difference between the identification result of the induction motor parameter and its actual value is not significant. In the case of abrupt changes in load torque, the CSA-PSO algorithm can accurately search the true value of the estimated parameter after 60 iterations. After 100 iterations, relatively stable output results can be obtained. Therefore, it can be considered that the step load disturbance has almost no effect on the convergence speed and accuracy of the CSA-PSO algorithm. After the stator current is filtered, the accuracy of the induction motor parameter identification is significantly higher than when the stator current is not filtered. According to the identification curve and the actual curve comparison, the identification of the motor parameters stability error is small. Accordingly, the disturbance of step load exerts no effect on the convergence speed and precision of identification.

#### 6. Discussion

The global convergence of simulated annealing algorithm is effective, whereas the calculation time is longer. The advantage of the particle swarm optimization algorithm is that the convergence speed is fast. However, the particle swarm optimization algorithm is easy to fall into local optimum. In this paper, the CSA-PSO (short for simulated annealing particle swarm optimization) is proposed by incorporating the characteristics of autocorrelation algorithm to reduce fundamental components, the global convergence of simulated annealing algorithm, and the fast-local search of particle swarm optimization algorithm. The identification of asynchronous motor parameters under various load changes is obtained by identifying asynchronous motor parameters under constant load and constant load. The CSA-PSO algorithm cannot only increase the convergence speed of the simulated annealing algorithm but also overcomes the “premature” problem of PSO, as suggested from the experimental results. It is a hybrid algorithm with strong global search performance.

#### Data Availability

The data in this article are obtained through experiments. The total amount of all the data has hundreds of GB and involves the laboratory equipment information, and it is inconvenient to provide all.

#### Conflicts of Interest

The authors declare no conflicts of interest.

#### Authors’ Contributions

Lei Wang conceived and designed the experiments and performed the experiments and analyzed the data; Lei Wang and Yongqiang Liu wrote the paper.

#### Acknowledgments

Thanks are due to the electrical machinery, measuring equipment, and related experimental materials provided by the electrical laboratory of the School of Electric Power, South China University of Technology. Thanks are also due to Mr. Huang Weiqian for his collaborative experiments, suggestions, and guidance on the experiment.

#### References

1. D. Wang, Z. Hu, C. Zhu, C. Zhou, and Y. Xie, “Stator flux observer for induction motor based on tracking differentiator,” Mathematical Problems in Engineering, vol. 2013, Article ID 927582, 8 pages, 2013. View at: Publisher Site | Google Scholar
2. B. Fan, Z. Yang, W. Xu, and X. Wang, “Rotor resistance online identification of vector controlled induction motor based on neural network,” Mathematical Problems in Engineering, vol. 2014, Article ID 831839, 10 pages, 2014. View at: Publisher Site | Google Scholar
3. R. Caballero-Águila, A. Hermoso-Carazo, and J. Linares-Pérez, “Least-squares filtering algorithm in sensor networks with noise correlation and multiple random failures in transmission,” Mathematical Problems in Engineering, vol. 2017, Article ID 1570719, 9 pages, 2017. View at: Publisher Site | Google Scholar | MathSciNet
4. Y. Hoon, M. A. Mohd Radzi, M. K. Hassan, and N. F. Mailah, “Enhanced instantaneous power theory with average algorithm for indirect current controlled three-level inverter-based shunt active power filter under dynamic state conditions,” Mathematical Problems in Engineering, vol. 2016, Article ID 9682512, 12 pages, 2016. View at: Publisher Site | Google Scholar
5. S. H. Mahdavi and H. Abdul Razak, “A comparative study on optimal structural dynamics using wavelet functions,” Mathematical Problems in Engineering, vol. 2015, Article ID 956793, 10 pages, 2015. View at: Publisher Site | Google Scholar
6. J. Fei, T. Li, F. Wang, and W. Juan, “A novel sliding mode control technique for indirect current controlled active power filter,” Mathematical Problems in Engineering, vol. 2012, Article ID 549782, 18 pages, 2012. View at: Publisher Site | Google Scholar
7. C. Floris, “Stochastic stability of damped Mathieu oscillator parametrically excited by a Gaussian noise,” Mathematical Problems in Engineering, vol. 2012, Article ID 375913, 18 pages, 2012. View at: Publisher Site | Google Scholar | MathSciNet
8. H. Liu, X. Wang, and C. Lu, “Rolling bearing fault diagnosis under variable conditions using hilbert-huang transform and singular value decomposition,” Mathematical Problems in Engineering, vol. 2014, Article ID 765621, 10 pages, 2014. View at: Publisher Site | Google Scholar
9. F. D. Marques and R. M. Vasconcellos, “Chaotic patterns in aeroelastic signals,” Mathematical Problems in Engineering, vol. 2009, Article ID 802970, 19 pages, 2009. View at: Publisher Site | Google Scholar
10. I. Khoja, T. Ladhari, A. Sakly, and F. M’sahli, “Parameter identification of an activated sludge wastewater treatment process based on particle swarm optimization method,” Mathematical Problems in Engineering, vol. 2018, Article ID 7823930, 11 pages, 2018. View at: Publisher Site | Google Scholar
11. R.-M. Hou, Y.-l. Hou, C. Wang, Q. Gao, and H. Sun, “A hybrid wavelet fuzzy neural network and switching particle swarm optimization algorithm for AC servo system,” Mathematical Problems in Engineering, vol. 2016, Article ID 9724917, 9 pages, 2016. View at: Publisher Site | Google Scholar | MathSciNet
12. Z. Song, A. Jiang, and Z. Jiang, “Back analysis of geomechanical parameters using hybrid algorithm based on difference evolution and extreme learning machine,” Mathematical Problems in Engineering, vol. 2015, Article ID 821534, 11 pages, 2015. View at: Publisher Site | Google Scholar
13. J. Chen, J. Zhao, F. Xu, H. Hu, Q. Ai, and J. Yang, “Modeling of energy demand in the greenhouse using PSO-GA hybrid algorithms,” Mathematical Problems in Engineering, vol. 2015, Article ID 871075, 6 pages, 2015. View at: Publisher Site | Google Scholar
14. Z. Tan, L. Ju, H. Li, C. Qin, and D. Peng, “Multiobjective CVaR optimization model and solving method for hydrothermal system considering uncertain load demand,” Mathematical Problems in Engineering, vol. 2015, Article ID 741379, 10 pages, 2015. View at: Publisher Site | Google Scholar | MathSciNet
15. T.-H. Kim, I. Maruta, T. Sugie, S. Chun, and M. Chae, “Identification of multiple-mode linear models based on particle swarm optimizer with cyclic network mechanism,” Mathematical Problems in Engineering, vol. 2017, Article ID 4321539, 10 pages, 2017. View at: Publisher Site | Google Scholar | MathSciNet
16. X. He, H. Guan, and J. Qin, “A hybrid wavelet neural network model with mutual information and particle swarm optimization for forecasting monthly rainfall,” Journal of Hydrology, vol. 527, no. 17, pp. 88–100, 2015. View at: Publisher Site | Google Scholar
17. D. Ma, W. Tan, Z. Zhang, and J. Hu, “Parameter identification for continuous point emission source based on Tikhonov regularization method coupled with particle swarm optimization algorithm,” Journal of Hazardous Materials, vol. 325, pp. 239–250, 2017. View at: Publisher Site | Google Scholar
18. A. Petrovas, A. Pitrėnas, and Z. Savickienė, “DC motor parameter identification using equation error method,” Electrical Engineering, vol. 100, no. 2, pp. 415–423, 2018. View at: Publisher Site | Google Scholar
19. S. D. Lee and S. Jung, “Speed estimation and parameter identification of a DC-motor using a recursive least square method,” in Proceedings of the Institute of Electronics and Information Engineers Summer Conference, pp. 1138-1139, 2016. View at: Google Scholar
20. M. A. Rahman, S. Anwar, and A. Izadian, “Electrochemical model parameter identification of a lithium-ion battery using particle swarm optimization method,” Journal of Power Sources, vol. 307, pp. 86–97, 2016. View at: Publisher Site | Google Scholar
21. X. Yang, L. Chen, X. Xu et al., “Parameter identification of electrochemical model for vehicular lithium-ion battery based on particle swarm optimization,” Energies, vol. 10, no. 11, p. 1811, 2017. View at: Publisher Site | Google Scholar
22. Z. Yu, L. Xiao, H. Li, X. Zhu, and R. Huai, “Model parameter identification for lithium batteries using the coevolutionary particle swarm optimization method,” IEEE Transactions on Industrial Electronics, vol. 64, no. 7, pp. 5690–5700, 2017. View at: Publisher Site | Google Scholar
23. Z.-H. Liu, H.-L. Wei, Q.-C. Zhong, K. Liu, X.-S. Xiao, and L.-H. Wu, “Parameter estimation for VSI-Fed PMSM based on a dynamic PSO with learning strategies,” IEEE Transactions on Power Electronics, vol. 32, no. 4, pp. 3154–3165, 2017. View at: Publisher Site | Google Scholar
24. Z. Liu, H. Wei, X. Li, K. Liu, and Q. Zhong, “Global identification of electrical and mechanical parameters in PMSM drive based on dynamic self-learning PSO,” IEEE Transactions on Power Electronics, 2018. View at: Publisher Site | Google Scholar
25. C. Zhong and Y. Lin, “Model reference adaptive control (MRAC)-based parameter identification applied to surface-mounted permanent magnet synchronous motor,” International Journal of Electronics, vol. 104, no. 11, pp. 1854–1873, 2017. View at: Publisher Site | Google Scholar
26. B. Ranjbar Sahraei, A. Nemati, and A. A. Safavi, “Real-time parameter identification for highly coupled nonlinear systems using adaptive particle swarm optimization,” Mechanika, vol. 6, no. 6, pp. 43–49, 2016. View at: Google Scholar
27. R. H. Lin and X. L. Chen, “Genetic algorithm based on instructing by population diversity,” Computer Engineering & Design, vol. 26, pp. 3100–3102, 2005. View at: Google Scholar

Copyright © 2018 Lei Wang and Yongqiang Liu. 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.