Abstract
This paper addresses the problem of solving discrete-time control problems for periodic systems. The approach for solving such a type of equations is well known in the literature. However, the focus of our research is set on the numerical computation of the stabilizing solution. In particular, two effective methods for practical realization of the known iterative processes are described. Furthermore, a new iterative approach is investigated and applied. On the basis of numerical experiments, we compare the presented methods. A major conclusion is that the new iterative approach is faster than rest of the methods and it uses less RAM memory than other methods.
1. Introduction
Periodic systems are an important sub-class of time-varying systems therefore their investigation has attracted significant attention during the past years. The theory of stability, optimal control and applications of periodic systems is available in several recent monographs [,,,] as well as in the references therein. The so called stabilizing solution of discrete-time periodic systems has a crucial role in solving a linear linear quadratic optimal control problem on infinite time horizon. There are different methods to solve the periodic Riccati equations with a definite quadratic part [,]. Recently, [,] two iterative procedures have been developed for numerical computation of the stabilizing solution of a class of periodic discrete-time Riccati equation with an indefinite sign of it’s quadratic term.
Our aim is to find the stabilizing solution of a set of periodic discrete-time Riccati equations with indefinite sign in the quadratic part:
where , , , , , is a given scalar. Our investigation is based on the theory of periodic discrete-time Riccati equations as well as on the iterative methods described in []. Dragan et al. [,] study two iterative processes for the computation of the stabilizing solution to Equation (1) and derive their convergence properties. However, the proposed iterative methods are not investigated numerically. In this paper we consider two iterative methods (Block Successive Approximations and A Block Stein Iteration) so as to develop numerical procedures (derived in [,]) for computing the stabilizing solution of a set of periodic discrete-time Riccati equations.
We further propose a new iterative procedure for the practical realization of the main iterative processes. The performed numerical experiments are supportive to the fact that the new procedure is faster than the others, furthermore, it uses less RAM memory. We should note that our study is based on ideas developed in [,,], where new iterative procedures for the numerical computation of a stabilizing solution in the time-invariant case has been proposed.
The main assumption for the existence of such a type set of periodic discrete-time Riccati equations is:
H1:
An integer exits such that for .
In our approach the class of admissible solutions consists of all bounded sequences satisfying Equation (1) and the following two sign conditions:
. Therefore, we are interested in the global and bounded on solutions for which the matrices have not defined sign.
Definition 1.
[] An admissible solution is called stabilizing solution , if the zero state equilibrium of the discrete-time linear system on :
is exponentially stable, where
2. Iterative Methods for Stabilizing Solution
2.1. The Iterative Procedure with Two Matrix Sequences
We consider the iterative procedure for numerical computation of the unique stabilizing and θ-periodic solution of Equation (1), which is described in Section 3.1 of the paper of Dragan and co-authors []. In fact, the iterative procedure is based on the solution to θ -periodic discrete-time Riccati equation with definite quadratic part:
with where
We rewrite the above equations using a block structure. We denote and J is a permutation matrix such that
Introducing the following notations
Equation (6) has a form:
or, in the equivalent form
A matter of practical importance is how to solve the last equation. There are several approaches for this purpose, which are briefly outlined in the text that follows.
1. Block Successive Approximations. The method of Block Successive Approximations solves Equation (7). It is a modification of the method derived in [] and applied in []. We take and use the following recurrence equation:
The iteration process stops with .
2. A Block Stein Iteration. The second method for solving Equation (7) is a method of A Block Stein Iteration. We take and use the following recurrence equation:
The iteration process stops with . We use MATLAB command dlyap for solving Equation (9). This approach is adapted in our investigation [].
3. Successive Approximations: Equation by Equation. On the basis of performed experimetes we introduce a new (third) method for solving Equation (6). It belongs to the class of successive approximations methods and we call it Equation by Equation. We apply this approach to Equation (1) with . Therefore, the set of new iterative equations is : (i = 1, 2, ...)
The iteration process stops with .
In order to execute the iterative procedure Equation (6), the following algorithm is applied:
Algorithm TMS (Two Matrix Sequences)
1. We take , as well as small positive numbers ε and .
2. We compute as θ-periodic and stabilizing solution of the Riccati equation:
3. For we carry out the following steps:
3.1. We take .
3.2. We compute as the stabilizing solution of the set of Riccati equations with a defined sign Equation (6). This step might be executed with one of the following approaches (with the tolerance ):
3.2.1. Block Successive Approximations presented via Equation (8).
3.2.2. A Block Stein Iteration presented via Equation (9).
3.2.3. Successive Approximations: Equation by Equation presented via Equation (10).
3.3. The algorithm stops if for some integer , the inequality holds.
4. The stabilizing solution is .
It should be noted that the approaches involved in the algorithm via points in 3.2.1, 3.2.2 and 3.2.3 preserve the convergence properties of the iterative procedure derived in Theorem 3.1 proved in [].
2.2. The Iterative Procedure with One Matrix Sequences
An alternative globally convergent iterative method for the computation of the unique stabilizing and θ-periodic solution of Equation (1) is derived in []. The method preserves similar desirable characteristics as global convergence and local quadratic rate of convergence. The main advantage of this method is that the matrix sequence of approximations of the stabilizing solution are computed directly without exploiting an additional sequence as it is done in the Algorithm TMS. The procedure is described in Section III in [].
Compute as the stabilizing solution of the discrete-time Riccati equations with a defined sign []:
where
We present the above set of Equations (11) as one equation with a block structure. We denote and J is a permutation matrix such that
and
The set of equations is transformed:
or
We present two iterative approaches to implement iteration Equation (12).
1. A Block Stein Iteration. The first method for solving Equation (12) is a method of A Block Stein Iteration. We take and use the following recurrence equation:
.... The iteration process stops with . We use the MATLAB command dlyap for solving Equation (13).
2. Successive Approximations: Equation by Equation. The second method for the solution of Equation (11) is a method of Successive Approximations: Equation by Equation. We apply this approach to Equation (11) with . Our iteration is:( ...)
The iteration process stops with .
The following algorithm is applied so as to execute the iterative procedure described by Equation (11):
Algorithm OMS (One Matrix Sequence).
1. We take , ε as a small positive number.
2. We compute as θ-periodic and stabilizing solution of the following Riccati equation:
3. For we compute the stabilizing solution of the discrete-time Riccati equations with a defined sign Equation (11). This step might be performed with one of the following approaches:
3.1. A Block Stein Iteration presented via Equation (13).
3.2. Successive Approximations: Equation by Equation presented via Equation (14).
3.3. The algorithm stops if for some integer , the inequality holds.
4. The stabilizing solution is .
We should note that the approaches involved in the algorithm via points in 2 and 3 preserve the convergence properties of the iterative procedure derived in Theorem 3.2 derived in [].
3. Numerical Experiments
In this section we present the performance of the latter two algorithms when finding the stabilizing solution to a set of periodic discrete-time Riccati equations with indefinite sign in the quadratic part Equation (1). Our experiments are executed in MATLAB on a 2.16 GHz Intel(R) Duo CPU computer. We remark the fact, the computer realization of the block methods and the method of Successive Approximations: Equation by Equation needs and computer memory cells, respectively.
3.1. Experiment I
Consider a discrete-time periodic linear system described by
with For all of the discussed methods are executed consequently 100 and 200 runs with the same matrix coefficients. We use (the number is the computational tolerance for the first sequence , see []) and for all executions. The results could be summarized as follows.
Algorithm TMS with Block Successive Approximations Equation (8) requires 3 main iterations and it computes the stabilizing solution with < tol. CPU time for execution of the algorithm is 0.4 s for 100 runs and 0.97 s for 200 runs.
Algorithm TMS with Block Stein Iteration Equation (9) requires 3 main iterations and it computes the stabilizing solution with < tol. CPU time for execution of the algorithm is 0.78 s for 100 runs and 1.57 s for 200 runs.
Algorithm TMS with Successive Approximations Equation by Equation (10) requires 3 main iterations and it computes the stabilizing solution with < tol. CPU time for execution of iteration Equation (10) is 0.3750 s for 100 runs and 0.75 s for 200 runs.
Algorithm OMS with Block Stein Iteration Equation (13) requires 3 main iterations and it computes the stabilizing solution with . CPU time for execution of iteration Equation (13) is 1.15 s for 100 runs and 2.41 s for 200 runs.
Algorithm OMS with Method of Successive Approximations Equation by Equation (14) requires 3 main iterations and it computes the stabilizing solution with . CPU time for execution of iteration Equation (14) is 0.5150 s for 100 runs and 1.14 s for 200 runs.
3.2. Experiment II
We take , and . The matrix coefficients are described below:
Two experimental trials are carried out. These are Test 1 and Test 2, where Test 1 consists of 100 examples and Test 2 of 200 examples. The matrix coefficients and differ for all of the examples as the random Matlab functions and are used to define them. We execute Tests 1 and 2 successively.
Our results might be summarized as follows.
Block Successive Approximations Equation (8) with tol = and eps = requires 2 main iterations and it computes the stabilizing solution with . CPU time for execution of iteration Equation (8) is 2.5 s for Test 1 and 5.1 s for Test 2.
Block Stein Iteration Equation (9) with tol = and eps = requires 2 main iterations and it computes the stabilizing solution with . CPU time for execution of iteration Equation (9) is 1.8 s for Test 1 and 3.7 s for Test 2.
Method of Successive Approximations Equation by Equation (10) with tol = and eps = requires 2 main iterations and it computes the stabilizing solution with . CPU time for execution of iteration Equation (10) is 1.5 s for Test 1 and 3.1 s for Test 2.
Block Stein Iteration Equation (13) with tol = and eps = requires 2 main iterations and it computes the stabilizing solution with . CPU time for execution of iteration Equation (13) is 2.9 s for Test 1 and 5.1 s for Test 2.
Method of Successive Approximations Equation by Equation (14) with tol = and eps = requires 2 main iterations and it computes the stabilizing solution with . CPU time for execution of iteration Equation (14) is 2.1 s for Test 1 and 4.2 s for Test 2.
4. Conclusions
On basis of the performed computational experiments the following conclusions might be outlined. First of all, Block Stein iterations Equations (9) and (13) achieve highest accuracy. Nevertheless, this method uses block “equation” structure, i.e., it works with block matrix coefficients, hence, the utilized RAM memory is greater than that required by the method of the Successive Approximations: Equation by Equation. Secondly, the method of Successive Approximations: Equation by Equation is faster than rest of the methods and at the same time it uses less RAM memory.
Acknowledgments
The present research paper was supported in a part by the EEA Scholarship Programme BG09 Project Grant D03-91 under the European Economic Area Financial Mechanism. This support is greatly appreciated.
Author Contributions
The contributions of all of the authors have been similar. All of them have worked together to develop the present manuscript.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Pastor, A.; Hernandez, V. Differential periodic Riccati equations existence and uniqueness of nonnegative definite solutions. Math. Control Signal Syst. 1993, 6, 341–362. [Google Scholar] [CrossRef]
- Abou-Kandil, H.; Freiling, G.; Ionescu, V.; Jank, G. Matrix Riccati Equations in Control Systems Theory; Birhauser: Basel, Switzerland, 2003. [Google Scholar]
- Bittanti, S.; Colaneri, P. Periodic Systems, Filtering and Control; Springer-Verlag: London, UK, 2009. [Google Scholar]
- Halanay, A.; Rasvan, V.l. Stability and Stable Oscillations in Discrete Time Systems; Gordon and Breach: Amsterdam, The Netherlands, 2000. [Google Scholar]
- Varga, A. On solving periodic differential matrix equations with applications to periodic system norms computation. In Proceedings of the 44th IEEE Conference on Decision and Control, CDC-ECC ’05, Seville, Spain, 12–15 December 2005.
- Varga, A. On solving periodic Riccati equations. Numer. Linear Algebra Appl. 2008, 15, 809–835. [Google Scholar] [CrossRef]
- Dragan, V.; Aberkane, S.; Ivanov, I.G. On computing the stabilizing solution of a class of discrete-time periodic Riccati equations. Int. J. Robust Nonlinear Control 2015, 25, 1066–1093. [Google Scholar] [CrossRef]
- Dragan, V.; Aberkane, S.; Ivanov, I.G. An iterative procedure for computing the stabilizing solution of discrete-time periodic Riccati equations with an indefinite sign. In Proceedings of the 21st International Symposium on Mathematical Theory of Networks and Systems, MTNS 2014, Groningen, The Netherlands, 7–11 July 2014.
- Dragan, V.; Ivanov, I.G. A numerical procedure to compute the stabilizing solution of game theoretic Riccati equations of stochastic control. Int. J. Control 2011, 84, 783–800. [Google Scholar] [CrossRef]
- Dragan, V.; Ivanov, I.G. Computation of the stabilizing solution of game theoretic Ric-cati equation arising in stochastic H∞ control problems. Numer. Algorithms 2011, 57, 357–375. [Google Scholar] [CrossRef]
- Feng, Y.; Anderson, B.D.O. An iterative algorithm to solve state-perturbed stochastic algebraic Riccati equations in LQ zero-sum games. Syst. Control Lett. 2010, 59, 50–56. [Google Scholar] [CrossRef]
- Dragan, V.; Morozan, T.; Stoica, A.M. Iterative algorithm to compute the maximal and stabilizing solutions of a general class of discrete-time Riccati-type equations. Int. J. Control 2010, 83, 837–847. [Google Scholar] [CrossRef]
- Ivanov, I.G. An Improved Method for Solving a System of Discrete-Time Generalized Riccati Equations. J. Numer. Math. Stoch. 2011, 3, 57–70. [Google Scholar]
© 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons by Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).