^{1}

^{*}

^{2}

^{*}

^{1}

^{*}

This paper addresses the problem for solving a Continuous-time Riccati equation with an indefinite sign of the quadratic term. Such an equation is closely related to the so called full information H
∞ control of linear time-invariant system with external disturbance. Recently, a simultaneous policy update algorithm (SPUA) for solving H
∞ control problems is proposed by Wu and Luo (
*Simultaneous policy update algorithms for learning the solution of linear continuous-time H*
*∞*
* state feedback control, Information Sciences, *222, 472-485, 2013). However, the crucial point of their method is to find an initial point, which ensuring the convergence of the method. We will show one example where Wu and Luo’s method is not effective and it converges to an indefinite solution. Three effective methods for computing the stabilizing solution to the considered equation are investigated. Computer realizations of the presented methods are numerically compared on the computational platforms MATLAB and SCILAB.

The continuous-time algebraic Riccati equations and their extensions have been investigated extensively in the literature. Recently, the H_{¥} control problem was solved for linear time-invariant system [

Wu and Luo [

Note that this equation has indefinite quadratic part. Assume there exists a positive semidefinite solution

The H_{¥} linear quadratic problems have been introduces by Basar and Bernhard [

The controller player aims to minimize the

Knowing the stabilizing solution

The functions

And thus they form the equilibrium point of the two-player zero-sum game described by (2) and the functional

So, why we need to study the iterative equations for computing the stabilizing equation to (1)? Many re- searchers have investigated Riccati Equation (1) and more specially how to compute his stabilizing solution. Lanzon et al. [

Example 1. Let us we take the following matrix coefficients to (1) (using the MATLAB notations):

We execute Algorithm 2 [

And the solution computed by Algorithm 4 is

Note that the matrix

indefinite and

We compute eigenvalues of

and the matrix

solution with

solution

So, this example gives us the conclusion that the Algorithm 4 described in [

In this reason we confirm that the Lanzon’s method [

We write

The first method is the Lanzon’s method [

perties for constructing two matrix sequences of positive semidefinite matrices

sequences are constructed as follows. We take

We find

where

The matrices

Theorem 1 Assume there exist symmetric matrices

defined by (3), (4) are satisfied for

1)

2)

3) the matrix

4)

Proof. The proof follows the proof of Theorem 3 from [

Theorem 1 presents sufficient conditions for the equation

Further on, we consider an alternative iteration process where one matrix sequence is constructed. Consider the behaviour of the controller player (u(t)). Assume the controller player knows the matrix

find

And the functional

The corresponding Riccati equation regarding to

where

Based on recurrence Equation (5) we derive the following new iteration:

with

with

The notation “(6) + care” means that the iteration (6) is solved as a Ricacti equation with unknown matrix

Thus, Equation (6) can be considered as a new iteration formula. This equation constructs a new matrix

sequence

Equation (6) is obtained from (4) when we substitute

the matrix pair

finite. This is enough to start iterative process (7) with

Further on, we extend the idea for constructing the matrix sequence

in (4) we obtain:

Next, we extricate the term

manipulations. We derive

We apply the following implementation for the latest recurrence equation:

Our thoughts and algebraic manipulations for deriving recurrence Equation (8) show that it is equivalent to the main iterative process (3)-(4). Thus iteration (9) constructs a new matrix sequence which converges to the stabilizing solution of (1). In order to execute iteration (9) we apply the following algorithm:

1) We take

2) We compute

3) For

a) Compute

b) Find

c) Algorithm stops when the inequality

4) The stabilizing solution is

We carry out experiments for solving a continuous-time algebraic Riccati equation with an indefinite quadratic

term (1). We construct two matrix sequences

sequence is computed using the iterative process (3)-(4). Iteration (4) is a Riccati equation and

per one iteration.

Moreover, we have carried out experiments in the open source software SCILAB

http://www.scilab.org/scilab/about. It provides a computing environment for scientific applications. There are functions for solving linear and nonlinear matrix equations. We apply the “ricc” function for solving a con- tinuous Riccati equation and “lyap” function for a linear Lyapunov equation.

Our experiments are executed in MATLAB on a 2.20 GHz Intel (R) Core (TM) i7-4702MQ CPU computer. We use two variables tolR and tol for small positive numbers to control the accuracy of computations. We

denote

is satisfied for some

For our purpose we have executed hundred runs of each value of n for two family of examples. The tables report the maximal number It of iterations for which the inequality

Example 2. We consider a family of examples in case

Results from experiments in Example 2 are given in

Example 3. We consider a family of examples in case

Results from experiments for Example 3 are given in

The application of all iterative methods shows that they achieve the same accuracy for different number of iterations. Our conclusions based on experiments are:

1) The execution the iterations (3), (4) and “(6) + care” takes almost the same CPU time (see the corresponding

(3)-(4) | (6) + lyap (Alg 2) | (6) + care | (9) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|

n | It | avIt | CPU | It | avIt | CPU | It | avIt | CPU | It | avIt | CPU |

The MATLAB Execution | ||||||||||||

10 | 3 | 2.6 | 0.5 s | 4 | 6.9 | 0.32 s | 4 | 3.15 | 0.54 s | 5 | 4.1 | 0.16 s |

11 | 3 | 2.7 | 0.5 s | 4 | 7.2 | 0.37 s | 4 | 3.26 | 0.57 s | 6 | 4.22 | 0.25 s |

12 | 3 | 2.8 | 0.56 s | 4 | 7.24 | 0.39 s | 4 | 3.28 | 0.62 s | 6 | 4.31 | 0.22 s |

13 | 3 | 2.8 | 0.57 s | 4 | 7.46 | 0.45 s | 4 | 3.43 | 0.64 s | 7 | 4.56 | 0.26 s |

14 | 3 | 2.9 | 0.65 s | 4 | 7.7 | 0.40 s | 4 | 3.62 | 0.65 s | 8 | 4.86 | 0.25 s |

15 | 3 | 2.9 | 0.76 s | 4 | 7.9 | 0.49 s | 4 | 3.69 | 0.75 s | 9 | 5.02 | 0.37 s |

The SCILAB Execution | ||||||||||||

10 | 3 | 2.6 | 0.4 s | 4 | 6.9 | 0.36 s | 4 | 3.10 | 0.45 s | 5 | 4.0 | 0.29 s |

11 | 3 | 2.7 | 0.5 s | 4 | 7.1 | 0.40 s | 4 | 3.22 | 0.58 s | 5 | 4.1 | 0.31 s |

12 | 3 | 2.7 | 0.56 s | 4 | 7.2 | 0.45 s | 4 | 3.27 | 0.64 s | 6 | 4.2 | 0.35 s |

13 | 3 | 2.8 | 0.72 s | 4 | 7.5 | 0.52 s | 4 | 3.38 | 0.80 s | 7 | 4.4 | 0.4 s |

14 | 3 | 2.9 | 0.77 s | 4 | 7.7 | 0.55 s | 4 | 3.64 | 0.94 s | 7 | 4.7 | 0.45 s |

15 | 3 | 2.9 | 0.92 s | 4 | 8.0 | 0.64 s | 4 | 3.76 | 1.10 s | 8 | 5.0 | 0.52 s |

(3)-(4) | (6) + lyap (Alg 2) | (6) + care | (9) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|

n | It | avIt | CPU | It | avIt | CPU | It | avIt | CPU | It | avIt | CPU |

The MATLAB Execution | ||||||||||||

15 | 4 | 3 | 0.42 s | 11 | 8.3 | 0.5 s | 4 | 4.0 | 0.57 s | 12 | 6.6 | 0.28 s |

16 | 4 | 3 | 0.45 s | 11 | 8.3 | 0.4 s | 5 | 4.0 | 0.57 s | 14 | 6.7 | 0.28 s |

17 | 4 | 3 | 0.54 s | 10 | 8.5 | 0.39 s | 5 | 4.0 | 0.57 s | 11 | 7.0 | 0.32 s |

18 | 4 | 3 | 0.57 s | 11 | 8.8 | 0.57 s | 5 | 4.0 | 0.60 s | 12 | 7.5 | 0.32 s |

19 | 4 | 3.1 | 0.61 s | 17 | 8.8 | 0.56 s | 6 | 4.1 | 0.68 s | 21 | 7.7 | 0.38 s |

20 | 4 | 3.1 | 0.64 s | 12 | 9.3 | 0.54 s | 5 | 4.1 | 0.65 s | 26 | 8.3 | 0.42 s |

The SCILAB Execution | ||||||||||||

15 | 4 | 3 | 0.68 s | 9 | 8.1 | 0.44 s | 5 | 4.0 | 0.82 s | 10 | 6.2 | 0.37 s |

16 | 4 | 3 | 0.72 s | 12 | 8.5 | 0.47 s | 5 | 4.0 | 0.87 s | 10 | 6.5 | 0.38 s |

17 | 4 | 3 | 0.96 s | 11 | 8.5 | 0.54 s | 4 | 4.0 | 1.12 s | 12 | 6.7 | 0.44 s |

18 | 4 | 3 | 1.03 s | 11 | 8.7 | 0.58 s | 4 | 4.0 | 1.20 s | 11 | 6.9 | 0.49 s |

19 | 4 | 3.1 | 1.21 s | 11 | 8.7 | 0.63 s | 5 | 4.1 | 1.40 s | 15 | 7.3 | 0.57 s |

20 | 4 | 3.1 | 1.29 s | 12 | 9.0 | 0.67 s | 7 | 4.2 | 1.53 s | 25 | 8.0 | 0.70 s |

columns of the tables). Note that the procedure care in these iterations have to be applied;

2) Iterations based on the solution of Lyapunov equations faster than the iterations based on the solution of Riccati equations;

3) The new iteration (9) is fastest than other iterative methods;

4) Comparing the MATLAB Execution and the SCILAB Execution we note the MATLAB implementations of the considered iterative methods are faster than the same executed in the SCILAB environment. However, the SCILAB implementations achieve the same accuracy and based on the fact it is an open source software we deduce the SCILAB is an useful tool for education to master and PhD students.

The conclusions are indicated by implemented numerical simulations.

We have studied two iterative processes for finding the stabilizing solution to generalized Riccati Equations (2). We have made numerical experiments for computing this solution and we have compared the considered methods numerically. We have compared the results from the experiments in regard of number of iterations and CPU time for executing. Our numerical experiments confirm the effectiveness of proposed new method (9). It is introduced here and moreover numerical experiments show its efficiency.

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.

Ivan G.Ivanov,Ivelin G.Ivanov,Nikolay C.Netov, (2015) On the Iterative Solution to H_{∞} Control Problems. Applied Mathematics,06,1263-1270. doi: 10.4236/am.2015.68119