the Creative Commons Attribution 4.0 License.
the Creative Commons Attribution 4.0 License.
Improved strategies of the Equality Set Projection (ESP) algorithm for computing polytope projection
Binbin Pei
Wenfeng Xu
Yinghui Li
This paper proposes an optimization method for the Equality Set Projection algorithm to compute the orthogonal projection of polytopes. However, its computational burden significantly increases for the case of dual degeneracy, which limits the application of the algorithm. Two improvements have been proposed to solve this problem for the Equality Set Projection algorithm: first, a new criterion that does not require a discussion of the uniqueness of the solution in linear programming, which simplifies the algorithm process and reduces the computational cost; and second, an improved method that abandons the calculation of a ridge's equality set to reduce the computational burden in the case of high-dimensional dual degeneracy.
- Article
(1149 KB) - Full-text XML
- BibTeX
- EndNote
Orthogonal projection is valuable for both theoretical research (Kwan et al., 2022; Xu and Guo, 2021) and engineering applications (Xia et al., 2021; Liu et al., 2023), particularly as a basic operator for polytopes, which are a type of geometric structure composed of flat boundaries and giving a good representation of linear constraints on variables. The orthogonal projection of polytopes is extensively applied in the field of control and optimization (Borrelli et al., 2017; Lee and Kouvaritakis, 2000; Sadeghzadeh, 2018). For example, the calculations of the Minkowski sum (Teissandier and Delos, 2011), controllable set (Vincent and Wu, 1990), reachable set (Rakovic et al., 2006), and parametric linear program (Jones et al., 2008) can all be transformed into the projection of polytopes.
Traditional projection algorithms can be grouped into three classes, i.e., Fourier elimination (Keerthi and Sridharan, 1990; Saraswat and Hentenryck, 1995), block elimination (Balas, 1998; Fukuda and Prodon, 1996), and vertex enumeration (Avis, 1998). The former two algorithms require expensive computation and produce a lot of redundant inequalities. The third algorithm is suitable for polytopes with fewer vertices; however, the number of vertices of a high-dimensional polytope exceeds the number of half-spaces. Thus, it is not an efficient algorithm for the high-dimensional cases.
The Equality Set Projection (ESP) algorithm was proposed in Jones et al. (2004), and it applies the inspiration of the gift-wrapping algorithm to the projection calculation. Under the condition of non-degeneracy, the complexity of ESP is linear in the number of half-spaces, which offers a tremendous advantage compared to the traditional projection algorithms. However, in the case of dual degeneracy, the computation grows exponentially.
Dual degeneracy is a frequently encountered phenomenon in control applications. For instance, when variables have constant maximum and minimum constraints, the occurrence of dual degeneracy is more likely. Unfortunately, this limitation curtails the wider application of ESP algorithms in the control field. Therefore, the primary motivation behind enhancing the ESP method is to improve its performance under dual-degeneracy conditions. We propose a novel criterion based on the non-zero rows of the null-space matrix to address the issue of discussing the uniqueness of solutions under such conditions. Furthermore, we introduce an improved strategy that eliminates the need to search for equation sets under dual-degeneracy conditions. These two advancements render the ESP algorithm more concise, efficient, and easily implementable. Consequently, the algorithm's performance in the situations involving dual degeneracy has been significantly enhanced, which paves the way for further promotion and application of ESP in engineering practices.
The paper is organized as follows. The preliminary knowledge and the workflow of the original ESP algorithm are introduced in Sect. 2. The two proposed improvement strategies are given in Sects. 3 and 4. Numerical simulation comparisons between the original ESP and the improved ESP are reported in Sect. 5, and final conclusions given in Sect. 6.
2.1 Definitions and notation
- 1.
A polytope is a bounded polyhedron defined by the intersection of closed half-spaces. Let P equal ; the orthogonal projection of P onto x space is defined as
- 2.
f is a face of the polytope if there exists a hyperplane , where c∈Rd, d∈Rk, and b∈R such that
and for all . The face of the polytope refers to the face of dimension n−1, whereas the ridge refers to the face of dimension n−2.
- 3.
The affine hull of every face of the polytope is
- 4.
If A is a matrix and , then AE is a matrix formed by rows of A whose indices are in E. If P is a polytope, then the notation PE refers to the set .
- 5.
E is an equality set of P if and only if E=G(E), where
- 6.
N(A) is defined as a matrix whose columns form an orthonormal basis for the null space of A.
2.2 Auxiliary results
The following results can be found in Jones (2005), Ziegler (1995), Webster (1994), and Balas and Oosten (1998), respectively. Their proofs are omitted for the sake of brevity.
Theorem 2.1 (Jones, 2005) Given a polytope
if E is an equality set of P, then PE is a face of P. Furthermore, if F is a face of P, then there exists a unique equality set such that F=PE.
Proposition 2.1 (Ziegler, 1995) If is a polytope, then the projection of P onto Rd is a polytope.
Proposition 2.2 (Webster, 1994) If are facets of a polytope , , where each ai∈Rn, bi∈R, then
Proposition 2.3 (Ziegler, 1995) If is a polytope, then for every face F of πd(P), the pre-image is a face of P.
Proposition 2.4 (Jones, 2005) If is a affine set, then the projection of M onto Rd is
Proposition 2.5 (Balas and Oosten, 1998) If E is an equality set of polytope
then .
2.3 Original ESP algorithm
We introduce the workflow of the original ESP algorithm in this subsection. A brief introduction is given here, and the details can be found in Jones (2005).
The algorithm is initialized by discovering a random facet Fπ in πd(P). Then we compute all ridges contained in the initial facet and search all facets adjacent to it through each ridge. Subsequently, we compute all the ridges of each new facet and let the iterating process continue until all the ridges appear twice. According to the property of the polytope, each ridge exactly connects to two facets. Therefore, all facets of πd(P) can be found by this iteration. From Proposition 2.2, we finally get .
The ESP algorithm consists of three key oracles as given below. Shooting Oracle:
Ridge Oracle:
Adjacency Oracle:
The SHOOT oracle randomly obtains an equality set of P satisfying as a facet of πd(P), the RDG oracle returns all ridges contained in the facet of πd(P), and the ADJ oracle takes two equality sets Er and Ef of P and returns the unique equality set Eadj, where is a facet of πd(P) and is a ridge of πd(P) with .
2.3.1 Outline of the ESP algorithm
Step 1. Get an initial facet of P: . Then, all the ridges contained in the facet are calculated: . For each element in LEr, record in list L and let , g=bf.
Step 2. If L≠ϕ, select an element randomly from list L and let . If L=ϕ, stop and report G and g.
Step 3. Search the adjacent facet such that and let
Then, all the ridges contained in the adjacent facet can be calculated: . For each element in LEr, if there exists an element in L that already contains , we remove the element from the list. Otherwise, we add element to list L. Go to Step 2.
2.3.2 SHOOT oracle
Step 1 (selecting a direction γ and finding a point on the surface of P)
Randomly choose γ∈Rd and solve the following linear programming.
Step 2 (determining whether a facet of πd(P) is found)
Get as . If , go to Step 3. Otherwise, go to Step 1.
Step 3 (computing the affine hull of the facet and normalizing)
Step 4 (handling the dual degeneracy in Step 1)
If the linear programming (1) in Step 1 is not dual-degenerate, i.e., (1) has a unique optimizer, then stop. Otherwise, needs to be recalculated as follows.
For each row of P, we compute the following linear programming problem:
where
2.3.3 RDG oracle
Step 1 (computing the dimension of )
If , continue. Otherwise, go to step 3.
Step 2 () For all ,
and, solving the following linear programming,
where c is an arbitrary positive constant, . If τ(i)<0, then and add to LEr.
Step 3 ()
Conduct singular value decomposition , . Then, we get
where , , and . The can be computed using a recursive call to the ESP algorithm. Each facet of can be converted into the ridge of πd(P) as
Then, we get , , and to LEr.
Step 4 (normalizing and orthogonalizing)
2.3.4 ADJ oracle
Step 1 (finding a point on the adjacent facet and its corresponding pre-image)
Solve the following linear programming:
where ε is a sufficiently small positive constant.
If LP (2) is not dual-degenerate, i.e., LP (2) has a unique optimizer , then continue. Otherwise, go to Step 3.
Step 2 (the case without dual degeneracy)
Go to Step 4.
Step 3 (the case of dual degeneracy)
For each row of P, compute the following linear programming problem:
where , .
Step 4 (computing the affine hull of the facet and normalizing)
In the original ESP algorithm, expressions (1) and (2) in the SHOOT and ADJ oracles need to judge the uniqueness of the optimizer of linear programming (LP), and different steps are taken according to whether the optimizer is unique or not.
In this section, an illustrative example is given at first, the barriers of the original ESP algorithm in the case of dual degeneracy are listed, and the alternative criteria are proposed.
3.1 An illustrative example
The linear programming (2) in Step 1 of the ADJ oracle is given for illustration, and the solution of (2) satisfies
The projection of is on (Jones, 2005). If the optimizer of linear programming is unique, Eadj should be taken as the equality set corresponding to the face where is located. If the optimizer is not unique, Eadj should be taken as the equality set corresponding to the face where the entire optimal solution space is located. Next, a simple example is provided to illustrate the reasons for the discussion of the uniqueness of the optimizer and leads to its alternative strategy.
Example 1
Given a polytope ,
the orthogonal projection onto x space Rd is shown in Fig. 1, where
Figure 2 shows that the ADJ oracle takes the facet of P (the blue line segment in this example) and ridge (the intersection of the blue line segment and the yellow line segment in this example) to solve the adjacent facet (the yellow line segment in this example is the facet to be solved), and x* is the intersection of plane and the yellow line segment.
All the points on the red line segment of P can be projected onto x*, which indicates that all points on the red line segment are optimal solutions of the LP problem. The optimal solution domain belongs to the yellow facet of , and its corresponding equality set is Eadj={4}.
However, most of the LP solvers will only give one optimal solution for the LP problem with multiple optimal solutions. If this solution is mistakenly considered the only optimal solution, this may lead to the iteration cycle and increase the computational burden.
In this case, if on the intersection of the blue facet and yellow facet is taken as the unique optimal solution, the that belongs to is the intersection line of the blue and yellow facets of P, . According to Fig. 3, and .
Owing to , some facets may appear multiple times in the following iterative process, which may increase the number of iterations, and even the algorithm cannot be terminated.
3.2 Shortcomings of the original algorithm
The barriers of the original ESP algorithm in the case of dual degeneracy can be listed as follows.
- i.
Currently, most of the LP solvers do not have the ability to judge the uniqueness of the solutions of linear programming. Although several achievements have been made on the unique conditions of LP solutions (Mangasarian, 1979), these methods are difficult to embed into the existing LP solvers, since they induce additional computation.
- ii.
Since the dual degeneracy is only a necessary but insufficient condition for linear programming to have multiple optimizers (Borrelli et al., 2017), it is conservative to determine the uniqueness of the solution by testing whether the dual degeneracy occurs in Jones et al. (2004).
- iii.
Expression (3) implies that, in the case of d≥3, the value of x* is always not unique; i.e., the LP problem always has multiple optimal solutions. However, if only the value of x* is not unique and the value of y* is unique, irrespective of the point in the optimal solution space, it can be regarded as the unique optimal solution, and the obtained does not vary. In this case, an extra computation is added to handle the non-uniqueness of the optimal solution of the LP.
3.3 Alternative criteria
According to Example (1), there may be multiple faces in P, and the projections of their affine hulls are all aff Fπ. The collection of all Ef satisfying this condition can be denoted as
where
The discussion on the uniqueness of optimizers of LP is to ensure that the obtained Ef is the element in with the maximal . The primary result can be stated as given below.
Theorem 3.1 Consider the defined in Expression (4), and Ef is the subset of that maximizes the value of if and only if there are no zero rows in .
Proof (sufficient part): the sufficiency of Theorem 3.1 has been proven by the following inverse negative proposition.
If there exist zero rows in , then Ef is not the element in that maximizes the value of .
Let , ; without loss of generality, we can assume that the last m rows of are zero rows.
According to , there is a one-to-one correspondence between and ; i.e., there is a one-to-one correspondence between the rows of and the elements of Ef.
Let .
forms a basis for the null space of , implying that forms a basis for the null space of .
Next, we will prove that is an equality set, i.e.,
Since Ef is an equation set, we only need to prove that
where
Since , the null space of and has the same number of bases, and thus
Equation (5) implies that
Then, combining Proposition 2.5 with Expression (6), we get
implies that
Combining Expressions (7) and (8) gives us
Thus, . Let , , and thus is an equality set. We can verify that
From Proposition 2.4, , and thus . Therefore, , and the sufficient part is proven.
Necessary part: the necessary part is proven by contradiction.
Suppose that each row in is not a zero row. If , then . Let , since the projections of and Ef have the same affine hull. This can be obtained from Proposition 2.5:
since . Proposition 2.4 implies that and have the same number of columns, i.e., , .
We can denote as follows.
Then, we add nc zero elements to each column of as follows.
Since , are linearly independent, , are bases of . There are no zero rows in , and thus N1, cannot be expressed linearly by , , which is a contradiction. Therefore, the necessary part is proven.
Corollary 3.1 Let . If there exist zero rows in , then , which consists of elements of Ef corresponding to non-zero rows in , is the element in that maximizes the value of .
Corollary 3.1 is a direct consequence of Theorem 3.1, and it implies that it is no longer necessary to discuss the uniqueness of the solutions in the SHOOT and ADJ oracles. However, it only takes an arbitrary solution as the unique solution and then gets the Ef that maximizes the value of in .
3.3.1 Improved SHOOT oracle
Step 1 (selecting a direction γ and finding a point on the surface of P)
By randomly choosing γ∈Rd, we solve the following linear programming.
Step 2 (whether a facet of πd(P) is found)
If , continue. Otherwise, go to Step 1.
Step 3 (ensuring the is the element with the maximal in )
If there exist zero rows in , let as Corollary 3.1. Otherwise, continue.
Step 4 (computing the affine hull of the facet and normalizing)
3.3.2 Improved ADJ oracle
Step 1 (finding a point on the adjacent facet of πd(P) and its corresponding pre-image)
Solve the following linear programming.
Step 2 (searching for the Ef of that maximizes the value of )
If there exist zero rows in , let as Corollary 3.1. Otherwise, continue.
Step 3 (computing the affine hull of the adjacent facet and normalizing)
In this section, we first explain the obstacles to searching for Er in the case of , an improved strategy that does not require Er is proposed, and then a new criterion is given to judge whether the two ridges are the same.
4.1 The barrier to searching for Er
In the RDG oracle, if , this requires a recursive call to the ESP algorithm that reduces the dimension onto which we are projecting at each step.
We note that ar and br can easily be obtained through this strategy, but it is often expensive to search for Er. The only way to do this is to list all of the equality sets , , and Ei⊂Ec, and searching for the is equal to . The computational effort increases in an exponential manner in the number of dimensions.
4.2 New criteria without Er
To improve the computational efficiency of the algorithm when the optimizer of LP is not unique, the search for Er has been abandoned. However, in the original ESP algorithm, Er is needed to judge the occurrence times of ridges, and hence we have proposed a new criterion to judge whether the two ridges in πd(P) are the same without Er.
Lemma 4.1 Let P be a polytope. and are the facets of P, and are the ridges of P, and R1⊂F1 and R2⊂F2. Then, if and only if
Proof Only the proof of sufficiency is given here, and the necessity is obvious. Since ,
Combining Expression (11) with Expression (12) gives us
Note that
and thus R1=R2. Since the two facets of the polytope can only have one common ridge, .
4.3 Some other patches caused by the abandonment of searching for Er
Since Er is required in other steps in the original ESP algorithm, certain other patches need to be made.
In the ADJ oracle, LP (9) and Eq. (10) can be changed to LP (13) and Eq. (14), respectively.
We can verify that the modified algorithm still gets the correct result, though it also adds certain extra computation cost in the case of . We note that if and only if the optimizer of LP is non-unique. A switching strategy can be adopted to take the original method until the optimizer of LP is non-unique.
In this section, the effectiveness of the proposed method is verified based on certain typical orthogonal projection cases and applications to N-step controllable set calculations in the control field.
5.1 Numerical simulations for the typical orthogonal projection cases
We select three cases for numerical simulation, and two of them are dual-degenerate, though one is not dual-degenerate.
- i.
The projection of a three-dimensional n prism with n+2 half-spaces onto a two-dimensional plane
- ii.
The projection of an n-dimensional cube with 2n half-spaces onto a two-dimensional plane
- iii.
The projection of an n-dimensional cube onto a three-dimensional space
In cases (i) and (ii), the dual degeneracy occurs, whereas there is no dual degeneracy in case (iii). The simulation operation has been implemented in MATLAB 2019, and the running times of the original ESP and the improved ESP are shown in Fig. 4.
The running time of the original ESP algorithm increases exponentially with dimensions and the number of half-planes of the input polytopes under the dual-degeneracy cases, whereas the improved ESP algorithm significantly reduces the computational burden in the case of dual degeneracy. The running time is also optimized in the case of non-dual degeneracy, since it is no longer necessary to judge the uniqueness of linear programming solutions in the improved ESP algorithm.
5.2 Applications to N-step controllable set calculations
We apply the proposed method for the calculation of N-step controllable sets in the control field, and the problem setup is described as given below.
Consider the following linear discrete system.
and u are the state and input vectors, respectively, subject to the constants as follows.
Then, we define the target set as follows.
The N-step controllable set C(N) is defined as the collection of all initial states x0 that can evolve into the target set in N steps while satisfying the state and input constraints, and it can be transformed into the orthogonal projection problem as given below.
where d=2, k=1,
and
The N-step controllable set can be derived, as shown in Fig. 5, using either the improved ESP algorithm or the original ESP algorithm. When N is small, the region of the N-step controllable set changes significantly with the increasing N, though the trend of change gradually weakens and when N≥12. The N-step controllable set no longer changes with the increase in N.
Moreover, the running times of the original ESP and the improved ESP are shown in Fig. 6. When , the two algorithms have similar computational efficiencies. When N>2, the computational efficiency of the improved ESP method is higher than that of the original ESP method. This is due to the fact that, when , dual degeneracy does not occur or occurs very rarely, while, when N>3, dual degeneracy occurs frequently. Clearly, the improved ESP algorithm is better than the original ESP method in the application of N-step controllable set computation.
In this paper, the improved ESP algorithm becomes simpler, faster, and easier to implement in the case of dual degeneracy. This is achieved by the following methods. First, an alternative criterion has been proposed to directly obtain the equality set that maximizes the value of . It avoids the uniqueness discussion of the optimizer in linear programming, which is not easy to implement. Further, it also reduces the operation times and simplifies the algorithm process. Second, an improved strategy has been presented to solve the difficulty in searching for the equality set Er in the case of , which significantly reduces the burden of computation. Finally, the effectiveness of the proposed improved ESP algorithm has been validated through numerical simulations.
Software code in this study can be requested from the corresponding author.
Research data in this study can be requested from the corresponding author.
BP and WX proposed improved strategies for the ESP algorithm. WX finished the simulation part. YL participated in the correction of the paper.
The contact author has declared that none of the authors has any competing interests.
Publisher’s note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. While Copernicus Publications makes every effort to include appropriate place names, the final responsibility lies with the authors.
The authors acknowledge the financial support of the National Natural Science Foundation of China. The authors would like to thank the editors and the anonymous reviewers for their constructive comments and suggestions that have improved the quality of the paper.
This research has been supported by the National Natural Science Foundation of China (grant no. 62103440).
This paper was edited by Daniel Condurache and reviewed by two anonymous referees.
Avis, D.: Computational experience with the reverse search vertex enumeration algorithm, Optim. Method. Softw., 10, 107–124, https://doi.org/10.1080/10556789808805706, 1998. a
Balas, E.: Projection with a minimal system of inequalities, Comput. Optim. Appl., 10, 189–193, https://doi.org/10.1023/a:1018368920203, 1998. a
Balas, E. and Oosten, M.: On the dimension of projected polyhedra, Discrete Appl. Math., 87, 1–9, https://doi.org/10.1016/s0166-218x(98)00096-1, 1998. a, b
Borrelli, F., Bemporad, A., and Morari, M.: Predictive Control for Linear and Hybrid Systems, Cambridge University Press, New York, https://doi.org/10.1017/9781139061759, 2017. a, b
Fukuda, K. and Prodon, A.: Double description method revisited, Springer, Berlin, https://doi.org/10.1007/3-540-61576-8_77, 1996. a
Jones, C. N.: Polyhedral Tools for Control, thesis, Department of Engineering University of Cambridge, Corpus ID: 117208061, 2005. a, b, c, d, e
Jones, C. N., Kerrigan, E. C., and Maciejowski, J. M.: Equality set projection: a new algorithm for the projection of polytopes in halfspace representation, Report CUED/F-INFENG/TR. 463, University of Cambridge, Corpus ID: 14790429, 2004. a, b
Jones, C. N., Kerrigan, E. C., and Maciejowski, J. M.: On polyhedral projection and parametric programming, J. Optimiz. Theory App., 138, 207–220, https://doi.org/10.1007/s10957-008-9384-4, 2008. a
Keerthi, S. S. and Sridharan, K.: Solution of parametrized linear inequalities by Fourier elimination and its applications, J. Optimiz. Theory App., 65, 161–169, https://doi.org/10.1007/bf00941167, 1990. a
Kwan, M., Sauermann, L., and Zhao, Y. F.: Extension complexity of low-dimensional polytopes, T. Am. Math. Soc., 375, 4209–4250, https://doi.org/10.1090/tran/8614, 2022. a
Lee, Y. I. and Kouvaritakis, B.: Robust receding horizon predictive control for systems with uncertain dynamics and input saturation, Automatica, 36, 1497–1504, https://doi.org/10.1016/s0005-1098(00)00064-9, 2000. a
Liu, H. Y., He, P. Q., Jiang, Y., Zhang, Q. L., and Xia, Q. Q.: A Simple Check Polytope Projection Penalized Algorithm for ADMM Decoding of LDPC Codes, IEEE Access, 11, 2524–2530, https://doi.org/10.1109/access.2023.3234182, 2023. a
Mangasarian, O. L.: Uniqueness of solution in linear programming, Linear Algebra Appl., 25, 151–162, https://doi.org/10.1016/0024-3795(79)90014-4, 1979. a
Rakovic, S. V., Kerrigan, E. C., Mayne, D. Q., and Lygeros, J.: Reachability analysis of discrete-time systems with disturbances, IEEE T. Automat. Contr., 51, 546–561, https://doi.org/10.1109/tac.2006.872835, 2006. a
Sadeghzadeh, A.: Gain-scheduled continuous-time control using polytope-bounded inexact scheduling parameters, Int. J. Robust Nonlin., 28, 5557–5574, https://doi.org/10.1002/rnc.4333, 2018. a
Saraswat, V. and Hentenryck, V. P.: Principles and Practice of Constraint Programming, MIT Press, Boston, ISBN: 978-0-262-19361-0, 1995. a
Teissandier, D. and Delos, V.: Algorithm to calculate the Minkowski sums of 3-polytopes based on normal fans, Comput. Aided Design, 43, 1567–1576, https://doi.org/10.1016/j.cad.2011.06.016, 2011. a
Vincent, T. L. and Wu, Z. Y.: Estimating projections of the controllable set, J. Guid. Control Dynam., 13, 572–575, https://doi.org/10.2514/3.25372, 1990. a
Webster, R. J.: Convexity, Oxford University Press, Oxford, https://doi.org/10.1093/oso/9780198531470.001.0001, 1994. a, b
Xia, Q. Q., Wang, X., Liu, H. J., and Zhang, Q. L.: A Hybrid Check Polytope Projection Algorithm for ADMM Decoding of LDPC Codes, IEEE Commun. Lett., 25, 108–112, https://doi.org/10.1109/lcomm.2020.3023600, 2021. a
Xu, Y. and Guo, Q.: On Monotone Translation-Projection Covariant Minkowski Valuations, Discrete Comput. Geom., 65, 713–729, https://doi.org/10.1007/s00454-019-00069-y, 2021. a
Ziegler, G. M.: Lectures on Polytopes, Springer, New York, https://doi.org/10.1007/978-1-4613-8431-1, 1995. a, b, c
- Abstract
- Introduction
- Preliminaries and existing results
- Improvement of the uniqueness discussion
- An improved strategy without searching for Er
- Numerical simulations
- Conclusions
- Code availability
- Data availability
- Author contributions
- Competing interests
- Disclaimer
- Acknowledgements
- Financial support
- Review statement
- References
- Abstract
- Introduction
- Preliminaries and existing results
- Improvement of the uniqueness discussion
- An improved strategy without searching for Er
- Numerical simulations
- Conclusions
- Code availability
- Data availability
- Author contributions
- Competing interests
- Disclaimer
- Acknowledgements
- Financial support
- Review statement
- References