Kernel-function-based primal-dual interior-point methods for convex quadratic optimization over symmetric cone
© Cai et al.; licensee Springer. 2014
Received: 29 March 2014
Accepted: 24 July 2014
Published: 21 August 2014
In this paper, we give a unified computational scheme for the complexity analysis of kernel-function-based primal-dual interior-point methods for convex quadratic optimization over symmetric cone. By using Euclidean Jordan algebras, the currently best-known iteration bounds for large- and small-update methods are derived, namely, and , respectively. Furthermore, this unifies the analysis for a wide class of conic optimization problems.
Keywordsinterior-point methods convex quadratic optimization kernel function Euclidean Jordan algebras large- and small-update methods polynomial complexity
Since the groundbreaking paper of Karmarkar, many researchers have proposed and analyzed various interior-point methods (IPMs) for linear optimization (LO) and a large amount of results have been reported [1–4]. However, there is a gap between the practical behavior of the IPMs and the theoretical performance results. The so-called small-update IPMs enjoy the best-known worst-case iteration bound but their performance in computational practice is poor. In practice, however, the so-called large-update IPMs are much more efficient than small-update IPMs but with relatively weak theoretical result . Recently, Peng et al.  introduced so-called self-regular barrier functions for primal-dual IPMs for LO, the iteration bound for large-update methods for LO was improved from to , which almost closes the gap between the iteration bounds for large- and small-update methods. Bai et al.  presented a large class of eligible kernel functions, which is fairly general and includes the classical logarithmic function and the self-regular functions, as well as many non-self-regular functions as special cases. The best-known iteration bounds for LO obtained are as good as the ones in  for appropriate choices of the eligible kernel functions. For some other related kernel-based IPMs we refer to [7–27].
where μ is a positive parameter that is to be driven to zero explicitly. Since the IPC holds and is surjective, the parameterized system (1) has a unique solution for each , and we call the μ-center of and the μ-center of (D). The set of μ-centers gives a homotopy path (with μ running through all the positive real numbers), which is called the central path. If , then the limit of the central path exists and since the limit points satisfy the complementarity condition, i.e., , it naturally yields an optimal solution for (P) and (D) (see, e.g., [29, 35]).
The appropriate choices of u that lead to obtaining the unique search directions from the above system are called commutative class of search directions (see, e.g., ). In this paper, we consider the so-called NT-scaling scheme, the resulting direction is called NT search direction. This scaling scheme was first proposed by Nesterov and Todd [37, 38] for self-scaled cones and then adapted by Faybusovich [35, 39] for symmetric cones.
Lemma 1.1 (Lemma 3.2 in )
Since (7) has the same matrix of coefficients as (6), also (7) has a unique solution.a It follows that the eligible kernel function determines in a natural way search directions for an interior-point algorithm.
Similarly to the LO case, we require that the step size α should be taken so that the proximity measure function decreases sufficiently. A default bound for such a step size α will be given later by (38).
Hence, the value of can be considered as a measure for the distance between the given iterate and the corresponding μ-center .
Given any eligible kernel function , the parameters τ, θ and the step size α should be chosen in such a way that the algorithm is ‘optimized’ in the sense that the number of iterations required by the algorithm is as small as possible. We will prove that the resulting iteration bounds depend on the eligible kernel functions in Section 5.
The purpose of the paper is to propose a unified analysis of kernel-function-based primal-dual IPMs for CQSCO and give a general scheme on how to calculate the iteration bounds for the entire class of eligible kernel functions. The obtained complexity results match the best-known iteration bounds known for large-update methods, and small-update methods, . The order of the iteration bounds are derived as good as the ones for the LO case except that n is replaced by r, the rank of EJA. Although expected, these results were not obvious and, at certain steps of the analysis, they were not trivial and/or straightforward generalization of the LO case. Furthermore, this unifies the analysis for a wide class of conic optimization problems, which includes LO, CQO, SOCO, SDO, CQSDO, SCO and so on.
The outline of the paper is as follows. In Section 2, we provide some basic concepts and useful results on EJAs and symmetric cones. In Section 3, we recall and develop some useful properties of the eligible kernel functions and the corresponding barrier functions. In Section 4, we uniformly analyze the primal-dual IPMs for CQSCO. In Section 5, we derive the complexity bounds for large- and small-update methods. In Section 6, we report some preliminary numerical experiments. Finally, some conclusions and remarks are made in Section 7.
The following notations are used throughout the paper. , , and denote the set of all vectors (with n components), the set of non-negative vectors and the set of positive vectors, respectively. is the space of all matrices. , and denote the cones of symmetric, symmetric positive semidefinite and symmetric positive definite matrices, respectively. We use the matrix inner product , i.e., the trace of the matrix . The largest eigenvalue and the smallest eigenvalue of x are defined by and , respectively. The Löwner partial ordering ‘’ of defined by a symmetric cone is defined by if . The interior of is denoted as and we write if . Finally, if is a real-valued function of a real non-negative variable, the notation means that for some positive constant , and that for the two positive constants and .
where , respectively.
is indeed a symmetric cone (cf. Theorem III.2.1 in ). In the sequel, will always denote a symmetric cone, and an EJA with for which is its cone of squares.
The following theorem gives an important decomposition, the spectral decomposition, on the space .
Theorem 2.1 (Theorem III.1.2 in )
It should be noted that is just a vector-valued function induced by the derivative of the function rather than the derivative of the vector-valued function defined by (14).
The following theorem provides another important decomposition, the Peirce decomposition, on the space .
Theorem 2.2 (Theorem IV.2.1 in )
Lemma 2.3 (Lemma 14 in )
The following two theorems give explicitly the first derivatives of and , respectively.
Theorem 2.4 (Theorem 38 in )
Theorem 2.5 (Lemma 1 in )
3 Properties of the eligible kernel (barrier) functions
This means that is strictly convex and minimal at , with . Moreover, (22c) implies that has the barrier property.
Note that the first four conditions are logically independent, and the fifth condition is a consequence of (23b) and (23c). Since (23b) is much simpler to check than (23e), in many cases it is easy to know that is eligible if it satisfies the first four conditions .
Lemma 3.1 (Lemma 2.1 in )
where denotes the derivative of the barrier function .
As a consequence of Lemma 3.1, we have the following important result.
Theorem 3.2 (Theorem 4.3.2 in )
By applying Theorem 3.2 in , with x being the vector in consisting of all the eigenvalues of the symmetric cone v, the theorem below immediately follows.
Proof With and , the corollary follows immediately from Theorem 3.3. □
Hence, we can conclude that , and if and only if .
It follows from (25) and (28) that and depend only on the eigenvalues of the symmetric cone . This observation makes it possible to apply Theorem 4.8 in , with x being the vector in consisting of all the eigenvalues of the symmetric cone v. This gives the following theorem, which yields a lower bound on in terms of .
which bounds the second-order derivative of with respect to t (see, e.g., ).
4 Analysis of the algorithms
which means that gives an upper bound for the decrease of the barrier function . Furthermore, we can easily verify that .
In the sequel, we use the short notation .
This completes the proof of the lemma. □
Similar to the proof of Lemma 4.1 in , we have the following lemma, which gives an upper bound of in terms of δ and .
as the default step size.
In what follows, we will show that the barrier function in each inner iteration with the default step size , as defined by (38), is decreasing. For this, we need the following technical result.
Lemma 4.3 (Lemma 3.12 in )
As a consequence of Lemma 4.3 and the fact that , which is a twice differentiable convex function with , and , we can easily prove the following lemma.
Combining the results of Lemma 4.4 and (38), we have the following theorem, which shows that the default step size (38) yields a sufficient decrease of the barrier function value during each inner iteration.
This expresses the decrease in during an inner iteration completely in ψ, its first and second derivatives, and the inverse functions ρ and ϱ.
5 Complexity of the algorithms
In this section, we first derive an upper bound for the number of the iteration bounds by the algorithm depicted in Figure 1. Then we conclude this section by applying the iteration bound to a wide variety of kernel functions.
5.1 Iteration bounds for the algorithms
We need to count how many inner iterations are required to return to the situation where . We use the value of after the μ-update by , and the subsequent values in the same outer iteration are denoted as , , where K denotes the total number of inner iterations in the outer iteration.
Note that the left-hand side expression is increasing in . Therefore, such numbers β and γ certainly exist (take, e.g., and β equals the value of the left-hand side expression for ). In addition, the appropriate values of β and γ will vary for each eligible kernel function and finding them may not always be straightforward.
The following lemma provides an estimate for the number of inner iterations between two successive barrier parameter updates, in terms of and the parameters β and γ.
Thus, the conclusion of the lemma follows immediately from Lemma 14 in  with . This completes the proof of the lemma. □
The number of outer iterations coincides with the number of barrier parameter θ updates until we obtain . It is well known (cf. Lemma Π.17 in ) that the number of outer iterations is bounded above by . Thus, an upper bound on the total number of iterations is obtained by multiplying the number of outer iterations and the number of inner iterations.
which means that the total number of iterations is completely determined by the parameters θ, β, γ, τ, and the eligible kernel function .
5.2 Application to the eligible kernel functions
It follows from Theorem 5.2 that the iteration bound of the algorithms depends on the parameters β and γ and the upper bound on . Since these are different for different eligible kernel functions, the iteration bounds will also vary. Similar to the analysis considered in , Section 6.1, for the LO case, the iteration bounds for large- and small-update methods based on the eligible kernel functions can be performed in a systematic way by using the following scheme.
Step 0: Input an eligible kernel function ; an update parameter θ, ; a threshold parameter τ; and an accuracy parameter ε.
Step 1: Solve the equation to get , the inverse function of , . If the equation is hard to solve, derive a lower bound for .
Step 2: Calculate the decrease of in terms of δ for the default step size from
Step 3: Solve the equation to get , the inverse function of , . If the equation is hard to solve, derive the lower and upper bounds for .
Step 4: Derive a lower bound for in terms of by using
Step 5: Using the results of Step 3 and Step 4 find positive constants β and γ, with , such that
Step 6: Calculate the uniform upper bound for from
Step 7: Derive an upper bound for the total number of iterations from
Step 8: Set and so as to calculate an iteration bound for large-update methods, or set and to get an iteration bound for small-update methods.
In particular, for and this bound is obtained if we choose , and for and this bound is obtained if we choose . The same bound is achieved for , also by taking and .
In particular, for , , , , and , this bound is derived is we take .
Both for large- and small-update methods, the order of the iteration bounds are obtained as good as the bounds for the LO case except that n is replaced by r, the rank of the EJA. Thus, the iteration bounds are as good as they can be in the current state-of-the-art.
6 Numerical results
In this section, we report the computational performance of the algorithm depicted in Figure 1 for CQSDO, which is an important cases of CQSCO. The numerical experiments are carried out on a PC with Intel (R) Core (TM) i5-2500 Duo CPU at 3.30 GHz and 8 GB of physical memory. The PC runs MATLAB Version: 220.127.116.114 (R2010b) on a Windows 7 Enterprise 64-bit operating system.
Here, is a given self-adjoint positive semidefinite linear operator on , i.e., for any , and . is a given vector, is a given matrix. Without loss of generality we assume that the matrices , are linearly independent and CQSDO satisfy the IPC. The detailed discussion and analysis of primal-dual IPMs for CQSDO can be found in [24, 28, 34].
It should be noted that the default step size (38) selected during each inner iteration is small enough for analyzing the algorithm, while in practice it should be chosen large enough for the efficiency of the algorithm. In the following test problem, we choose the maximum allowed step size such that the next iterate satisfying the positive semidefiniteness condition, i.e., and .
In the test problems, we use the threshold parameter , the accuracy parameter , and the update parameter with in the implementation. In this case, the algorithm depicted in Figure 1 is indeed a small-update method. We choose , and as the starting point for our algorithm. Here E and e denote the identity matrix of dimension 8 and the identity vector of dimension 4, respectively. Note that the point is strictly feasible. The initial value of the barrier parameter μ is with , i.e., 1. We can easily check that . So these data can, indeed, be used to initialize our algorithm.
The respective objective values are and , and the duality gap is , which is less than 10−7.
Output of IPM for the sample problem of CQSDO based on with
Duality gap, i.e., X•S
It is clear from Table 2 that the small-update method presented in this paper is not efficient from a practical point of view, just as the feasible IPMs with the best theoretical performance are far from practical. In fact, our algorithm suffers from the usual drawback of primal-dual IPMs that the number of iterations needed for convergence leads to be close to the upper bound, namely, . This is due to the small, fixed μ-updates (i.e., with for CQSDO). It is desirable to make the largest possible update θ at each iteration, albeit at the cost of extra computation.
Output of IPM for the sample problem of CQSDO based on with
Duality gap, i.e., X•S
It is clear from Table 3 that the iteration number of the algorithm depend on the update parameter θ. A larger value of the update parameter θ gives rise to better results. However, it should be pointed out that the update parameter θ would be too large to solve the problem in the computational procedure. In the solution procedure, we might use the dynamic updates of the barrier parameter, as described in . This may significantly enhance the practical performance of the proposed algorithm.
7 Conclusions and remarks
In this paper, we presented a unified approach and comprehensive treatment of primal-dual IPMs for CQSCO based on the entire class of the eligible kernel functions. For large-update methods the best iteration bound is and for small-update methods all iteration bounds have the same order of magnitude, namely, , which almost closes the gap between the iteration bounds for large- and small-update methods. Some preliminary numerical results are provided to demonstrate the computational performance of the algorithm depicted in Figure 1.
The paper generalizes results obtained in the following papers,  where Bai et al. consider kernel-based primal-dual IPMs for LO, and [11, 16, 30] and  where Bai et al., El Ghami et al., Wang et al. and Vieira consider the same type of IPMs for SOCO, SDO, CQSDO and SCO, respectively. It turns out that the iterations bounds are the same as for the non-negative orthant except that n is replaced by r, the rank of the EJA. However, the analysis of the proposed algorithm is far more complicated in [6, 11, 16, 23]. This is due to the following fact that we lose the orthogonality of search directions that exist in LO, SOCO, SDO, and SCO cases does not hold for CQSCO.
Some interesting topics for further research remain. First, the search direction used in this paper is based on the NT-symmetrization scheme and it is natural to ask if other symmetrization schemes can be used. Second, although we present a simple examples to show the computational performance of the proposed algorithm, more numerical experiments are desired to compare the behavior of our algorithm with other existing IPMs. Finally, the extension to general nonlinear optimization over symmetric cone deserves to be investigated.
a It may be worth mentioning that if we use the kernel function of the classical logarithmic barrier function, i.e., , then , whence , and hence system (7) then coincides with the classical system (6).
This work was supported by Shanghai Natural Science Fund Project (14ZR1418900), National Natural Science Foundation of China (No. 11001169), China Postdoctoral Science Foundation funded project (Nos. 2012T50427, 20100480604) and Natural Science Foundation of Shanghai University of Engineering Science (No. 2014YYYF01).
- Roos C, Terlaky T, Vial JP: Theory and Algorithms for Linear Optimization. An Interior-Point Approach. Wiley, Chichester; 1997.MATHGoogle Scholar
- Wright SJ: Primal-Dual Interior-Point Methods. SIAM, Philadelphia; 1997.View ArticleMATHGoogle Scholar
- Ye Y: Interior Point Algorithms: Theory and Analysis. Wiley, Chichester; 1997.View ArticleMATHGoogle Scholar
- Anjos MF, Lasserre JB International Series in Operational Research and Management Science 166. In Handbook on Semidefinite, Conic and Polynomial Optimization: Theory, Algorithms, Software and Applications. Springer, New York; 2012.View ArticleGoogle Scholar
- Peng J, Roos C, Terlaky T: Self-regular functions and new search directions for linear and semidefinite optimization. Math. Program. 2002,93(1):129–171. 10.1007/s101070200296MathSciNetView ArticleMATHGoogle Scholar
- Bai YQ, El Ghami M, Roos C: A comparative study of kernel functions for primal-dual interior-point algorithms in linear optimization. SIAM J. Optim. 2004,15(1):101–128. 10.1137/S1052623403423114MathSciNetView ArticleMATHGoogle Scholar
- Amini K, Haseli A: A new proximity function generating the best known iteration bounds for both large-update and small-update interior-point methods. ANZIAM J. 2007,49(2):259–270. 10.1017/S1446181100012827MathSciNetView ArticleMATHGoogle Scholar
- Bai YQ, Lesaja G, Roos C, Wang GQ, El Ghami M: A class of large-update and small-update primal-dual interior-point algorithms for linear optimization. J. Optim. Theory Appl. 2008,138(3):341–359. 10.1007/s10957-008-9389-zMathSciNetView ArticleMATHGoogle Scholar
- Bai YQ, Roos C: A polynomial-time algorithm for linear optimization based a new simple kernel function. Optim. Methods Softw. 2003,18(6):631–646. 10.1080/10556780310001639735MathSciNetView ArticleMATHGoogle Scholar
- Bai YQ, Roos C, El Ghami M: A primal-dual interior-point method for linear optimization based a new proximity function. Optim. Methods Softw. 2002,17(6):985–1008. 10.1080/1055678021000090024MathSciNetView ArticleMATHGoogle Scholar
- Bai YQ, Wang GQ, Roos C: Primal-dual interior-point algorithms for second-order cone optimization based on kernel functions. Nonlinear Anal. 2009,70(10):3584–3602. 10.1016/j.na.2008.07.016MathSciNetView ArticleMATHGoogle Scholar
- Cai XZ, Wang GQ, Zhang ZH: Complexity analysis and numerical implementation of primal-dual interior-point methods for convex quadratic optimization based on a finite barrier. Numer. Algorithms 2013,62(2):289–306. 10.1007/s11075-012-9581-yMathSciNetView ArticleMATHGoogle Scholar
- Chi XN, Liu SY: An infeasible-interior-point predictor-corrector algorithm for the second-order cone program. Acta Math. Sci. 2008,28(3):551–559. 10.1016/S0252-9602(08)60058-2MathSciNetView ArticleMATHGoogle Scholar
- Cho GM: Primal-dual interior-point method based on a new barrier function. J. Nonlinear Convex Anal. 2011,12(3):611–624.MathSciNetMATHGoogle Scholar
- Cho GM: An interior-point algorithm for linear optimization based on a new barrier function. Appl. Math. Comput. 2011,218(2):386–395. 10.1016/j.amc.2011.05.075MathSciNetView ArticleMATHGoogle Scholar
- El Ghami M, Bai YQ, Roos C: Kernel-function based algorithms for semidefinite optimization. RAIRO Oper. Res. 2009,43(2):189–199. 10.1051/ro/2009011MathSciNetView ArticleMATHGoogle Scholar
- El Ghami M, Guennounb ZA, Bouali S, Steihaug T: Interior-point methods for linear optimization based on a kernel function with a trigonometric barrier term. J. Comput. Appl. Math. 2012,236(15):3613–3623. 10.1016/j.cam.2011.05.036MathSciNetView ArticleMATHGoogle Scholar
- El Ghami M, Ivanov ID, Roos C, Steihag T: A polynomial-time algorithm for LO based on generalized logarithmic barrier functions. Int. J. Appl. Math. 2008,21(1):99–115.MathSciNetMATHGoogle Scholar
- El Ghami M, Roos C: Generic primal-dual interior point methods based on a new kernel function. RAIRO Oper. Res. 2008,42(2):199–213. 10.1051/ro:2008009MathSciNetView ArticleMATHGoogle Scholar
- Gu G, Zangiabadi M, Roos C: Full Nesterov-Todd step infeasible interior-point method for symmetric optimization. Eur. J. Oper. Res. 2011,214(3):473–484. 10.1016/j.ejor.2011.02.022MathSciNetView ArticleMATHGoogle Scholar
- Peyghamia MR, Hafshejani SF, Shirvani L: Complexity of interior-point methods for linear optimization based on a new trigonometric kernel function. J. Comput. Appl. Math. 2014,255(1):74–85.MathSciNetView ArticleMATHGoogle Scholar
- Tang JY, He GP, Fang L: A new kernel function and its related properties for second-order cone optimization. Pac. J. Optim. 2012,8(2):321–346.MathSciNetMATHGoogle Scholar
- Vieira, MVC: Jordan algebraic approach to symmetric optimization. PhD thesis, Electrical Engineering, Mathematics and Computer Science, Delft University of Technology, The Netherlands (2007)Google Scholar
- Wang GQ, Bai YQ, Roos C: Primal-dual interior-point algorithms for semidefinite optimization based on a simple kernel function. J. Math. Model. Algorithms 2005,4(4):409–433. 10.1007/s10852-005-3561-3MathSciNetView ArticleMATHGoogle Scholar
- Wang GQ, Bai YQ: A new primal-dual path-following interior-point algorithm for semidefinite optimization. J. Math. Anal. Appl. 2009,353(1):339–349. 10.1016/j.jmaa.2008.12.016MathSciNetView ArticleMATHGoogle Scholar
- Wang GQ, Bai YQ: A class of polynomial interior-point algorithms for the Cartesian P-matrix linear complementarity problem over symmetric cones. J. Optim. Theory Appl. 2012,152(3):739–772. 10.1007/s10957-011-9938-8MathSciNetView ArticleMATHGoogle Scholar
- Wang GQ, Bai YQ: A new full Nesterov-Todd step primal-dual path-following interior-point algorithm for symmetric optimization. J. Optim. Theory Appl. 2012,154(3):966–985. 10.1007/s10957-012-0013-xMathSciNetView ArticleMATHGoogle Scholar
- Toh KC: An inexact primal-dual path following algorithm for convex quadratic SDP. Math. Program. 2008,112(1):221–254.MathSciNetView ArticleMATHGoogle Scholar
- Li L, Toh KC: A polynomial-time inexact interior-point method for convex quadratic symmetric cone programming. J. Math-for-Ind. 2010, 2B: 199–212.MathSciNetMATHGoogle Scholar
- Wang GQ, Zhu DT: A unified kernel function approach to primal-dual interior-point algorithms for convex quadratic SDO. Numer. Algorithms 2011,57(4):537–558. 10.1007/s11075-010-9444-3MathSciNetView ArticleMATHGoogle Scholar
- Wang GQ, Zhang ZH, Zhu DT: On extending primal-dual interior-point method for linear optimization to convex quadratic symmetric cone optimization. Numer. Funct. Anal. Optim. 2012,34(5):576–603.MathSciNetView ArticleMATHGoogle Scholar
- Wang GQ, Yu CJ, Teo KL: A full Nesterov-Todd step feasible interior-point method for convex quadratic optimization over symmetric cone. Appl. Math. Comput. 2013,221(15):329–343.MathSciNetView ArticleMATHGoogle Scholar
- Bai YQ, Zhang LP: A full-Newton step interior-point algorithm for symmetric cone convex quadratic optimization. J. Ind. Manag. Optim. 2011,7(4):891–906.MathSciNetView ArticleMATHGoogle Scholar
- Achache M: A full Nesterov-Todd step feasible primal-dual interior point algorithm for convex quadratic semi-definite optimization. Appl. Math. Comput. 2014,231(1):581–590.MathSciNetView ArticleGoogle Scholar
- Faybusovich L: Euclidean Jordan algebras and interior-point algorithms. Positivity 1997,1(4):331–357. 10.1023/A:1009701824047MathSciNetView ArticleMATHGoogle Scholar
- Schmieta SH, Alizadeh F: Extension of primal-dual interior-point algorithms to symmetric cones. Math. Program. 2003,96(3):409–438. 10.1007/s10107-003-0380-zMathSciNetView ArticleMATHGoogle Scholar
- Nesterov YE, Todd MJ: Self-scaled barriers and interior-point methods for convex programming. Math. Oper. Res. 1997,22(1):1–42. 10.1287/moor.22.1.1MathSciNetView ArticleMATHGoogle Scholar
- Nesterov YE, Todd MJ: Primal-dual interior-point methods for self-scaled cones. SIAM J. Optim. 1998,8(2):324–364. 10.1137/S1052623495290209MathSciNetView ArticleMATHGoogle Scholar
- Faybusovich L: A Jordan-algebraic approach to potential-reduction algorithms. Math. Z. 2002,239(1):117–129. 10.1007/s002090100286MathSciNetView ArticleMATHGoogle Scholar
- Faraut J, Korányi A: Analysis on Symmetric Cone. Oxford University Press, New York; 1994.MATHGoogle Scholar
- Baes M: Convexity and differentiability properties of spectral functions and spectral mappings on Euclidean Jordan algebras. Linear Algebra Appl. 2007,422(2–3):664–700. 10.1016/j.laa.2006.11.025MathSciNetView ArticleMATHGoogle Scholar
- Korányi A: Monotone functions on formally real Jordan algebras. Math. Ann. 1984,269(1):73–76. 10.1007/BF01455996MathSciNetView ArticleMATHGoogle Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.