INTRODUCTION

According to the multimethod approach for solving optimal control problems, several iterative optimization methods are used in parallel to find the solution of the same problem. The basic difficulty arising when the multimethod approach is applied to the numerical solution of optimal control problems is associated with choosing an efficient method for continuing the optimization process after the convergence of the current method has worsened. Modern operating systems make it possible to organize parallel computational threads for parallel computations based on several methods. Each thread can implement an iterative process for a single optimization method, and a problem can be solved simultaneously by applying several methods. On multiprocessor computers, it is more convenient to implement each method on an individual processor. After the current approximation is found, all the methods are estimated, for example, in terms of the increment of the functional, the most efficient of them is chosen to continue the optimization process, and the approximation produced by this method is sent out to the other methods as an initial approximation for executing the next iteration.

Continuing the iterative process until obtaining an approximation that satisfies the optimality criterion with prescribed accuracy, we find an approximate solution of the problem. This solution is found by a multimethod algorithm consisting of a sequence of steps of different methods used in the optimization process to accelerate its convergence. For example, when three methods are used in parallel (see Fig. 1), the best approximation is determined by the maximum increment of the functional produced by each of them at a given iteration step:

$${{u}_{{{{i}_{0}}}}} = \mathop {\arg\max}\limits_{i \in \{ 1,2,3\} } \,(I(u_{i}^{k}) - I(u_{i}^{{k - 1}})).$$

Then this approximation is sent out to all three methods for executing the next iteration: \(u_{i}^{{k + 1}} = {{u}_{{{{i}_{0}}}}}\), \(i = 1,2,3\).

Fig. 1.
figure 1

Schematic of executing the \((k + 1)\)th iteration in a multimethod algorithm consisting of three methods: \({{M}_{1}}\), \({{M}_{2}}\), and \({{M}_{3}}\).

Thus, the multimethod approach for solving real-world optimal control problems is implemented in the form of parallel iterative optimization processes with the choice of the best approximation; this approach yields solutions with automatic application of different optimization methods, thus significantly enhancing the efficiency and reliability of numerical solutions found with prescribed accuracy in optimal control applications.

1. PROBLEM WITHOUT CONTROL CONSTRAINTS

First, we consider an optimal control problem (see [1]) with equality constraints and without control constraints:

$$x = f(x,u,t),\quad t \in T = [{{t}_{0}},{{t}_{1}}],\quad x(t) \in {{R}^{n}},\quad u(t) \in {{R}^{r}},\quad x({{t}_{0}}) = {{x}^{0}},$$
(1.1)
$${{I}_{0}}(u) \to \min,$$
(1.2)
$${{I}_{j}}(u) = 0,\quad j = \overline {1,m} ,$$
(1.3)

where

$${{I}_{j}}(u) = {{\varphi }^{j}}(x({{t}_{1}})) + \int_{{{t}_{0}}}^{{{t}_{1}}} {{{F}^{j}}(x,u,t)dt} ,\quad m \leqslant n.$$

The gradients of functionals (1.2), (1.3) are given by

$$\nabla {{I}_{j}}(u) = - H_{u}^{j}(\psi ,x,u,t),$$
(1.4)

where \({{H}^{j}}(\psi ,x,u,t) = \psi _{j}^{'}(t)f(x,u,t) - {{F}^{j}}(x,u,t)\) is the Pontryagin function from [1] and \({{\psi }_{j}}(t)\) is the solution of the adjoint system

$${{\psi }_{j}} = - f_{x}^{'}(x,u,t){{\psi }_{j}} + F_{x}^{j}(x,u,t),\quad \psi ({{t}_{1}}) = - \psi _{x}^{j}(x({{t}_{1}})).$$
(1.5)

Consider a numerical method for solving problem (1.1)–(1.3) based on applying the first and second variations. At the first phase of this method, the iterative process is implemented with strongly violated terminal conditions and the penalty functional to be minimized is

$$J(u) = \varphi (x({{t}_{1}})) + \int\limits_{{{t}_{0}}}^{{{t}_{1}}} \,{{F}^{0}}(x,u,t)dt,$$
(1.6)

where

$$\varphi (x({{t}_{1}})) = {{\varphi }^{0}}(x({{t}_{1}})) + \sum\limits_{j = 1}^m \,{{K}_{j}}{{[{{\varphi }^{j}}(x({{t}_{1}})) + {{x}_{{n + j}}}({{t}_{1}})]}^{2}},$$

here, \({{K}_{j}} \geqslant 0\) and \({{x}_{{n + j}}}({{t}_{1}}),\) \(j = \overline {1,m} \), are the solutions of the additional equations (to system (1.1))

$${{\dot {x}}_{{n + j}}} = {{F}^{j}}(x,u,t),\quad {{x}_{{n + j}}}({{t}_{0}}) = 0,\quad j = \overline {1,m} .$$

After the iteration at the first phase ceases to converge, we pass to the second phase of the method, at which the original functional (1.2) is minimized and the variation \(\delta u(t)\) is constructed taking into account the linearized boundary conditions.

Now suppose that \(H(\psi ,x,u,t) = \psi {\kern 1pt} 'f(x,u,t) - {{F}^{0}}(x,u,t),\)

$$\dot {\psi } = - {{H}_{x}}(\psi ,x,u,t),\quad \psi ({{t}_{1}}) = - {{\varphi }_{x}}(x({{t}_{1}})),$$
(1.7)

and \({{x}^{k}}\) and \({{\psi }^{k}}\) are the solutions of systems (1.1) and (1.7) found for a given control \({{u}^{k}}(t)\). Then the problem of constructing a suitable variation \(\delta {{u}^{k}}(t)\) is stated in the form of the linear-quadratic problem

$$I(\delta u) = \frac{1}{2}\delta x{\kern 1pt} '({{t}_{1}}){{\varphi }_{{xx}}}({{x}^{k}}({{t}_{1}}))\delta x({{t}_{1}}) - \int\limits_{{{t}_{0}}}^{{{t}_{1}}} \,H_{u}^{'}\delta udt - \frac{1}{2}\int\limits_{{{t}_{0}}}^{{{t}_{1}}} \,[\delta u{\kern 1pt} '{\kern 1pt} {{H}_{{uu}}}\delta u + 2\delta u{\kern 1pt} '{\kern 1pt} {{H}_{{ux}}}\delta x + \delta x{\kern 1pt} '{\kern 1pt} {{H}_{{xx}}}\delta x]{\kern 1pt} dt \to \min,$$
(1.8)
$$\delta \dot {x} = {{f}_{x}}({{x}^{k}},{{u}^{k}},t)\delta x + {{f}_{u}}({{x}^{k}},{{u}^{k}},t)\delta u,\quad \delta x({{t}_{1}}) = 0.$$
(1.9)

Here, \({{H}_{u}}\), \({{H}_{{uu}}}\), \({{H}_{{ux}}}\), and \({{H}_{{xx}}}\) are \(r \times 1\), \(r \times r\), \(r \times n\), and \(n \times n\) matrices of partial derivatives of \(H\) computed for the control \({{u}^{k}}(t)\) and the trajectories \({{x}^{k}}(t)\), \({{\psi }^{k}}(t)\).

For this problem, the Hamiltonian is defined as

$$\mathcal{H}(\delta \psi ,\delta x,\delta u,t) = \delta \psi {\kern 1pt} '{\kern 1pt} {{f}_{x}}\delta x + \delta \psi {\kern 1pt} '{\kern 1pt} {{f}_{u}}\delta u + H_{u}^{'}\delta u + \frac{1}{2}(\delta u{\kern 1pt} '{\kern 1pt} {{H}_{{uu}}}\delta u + 2\delta u{\kern 1pt} '{\kern 1pt} {{H}_{{ux}}}\delta x + \delta x{\kern 1pt} '{\kern 1pt} {{H}_{{xx}}}\delta x)$$

and the adjoint system is given by

$$\delta \dot {\psi } = - f_{x}^{'}\delta \psi - H_{{ux}}^{'}\delta u - {{H}_{{xx}}}\delta x,\quad \delta \psi ({{t}_{1}}) = - {{\varphi }_{{xx}}}\delta x({{t}_{1}}).$$
(1.10)

The condition \({{\mathcal{H}}_{{\delta u}}} = 0\) is used to find the solution of variational problem (1.8), (1.9):

$$\delta u = - H_{{uu}}^{{ - 1}}(f_{u}^{'}\delta \psi + {{H}_{{ux}}}\delta x + {{H}_{u}}).$$
(1.11)

Substituting this formula into Eqs. (1.9) and (1.10) yields the linear two-point boundary value problem

$$\delta \dot {x} = C\delta x - {{f}_{u}}H_{{uu}}^{{ - 1}}f_{u}^{'}\delta \psi - {{f}_{u}}H_{{uu}}^{{ - 1}}{{H}_{u}},$$
(1.12)
$$\delta \dot {\psi } = - ({{H}_{{xx}}} - H_{{ux}}^{'}H_{{uu}}^{{ - 1}}{{H}_{{ux}}})\delta x - C{\kern 1pt} '{\kern 1pt} \delta \psi + {{H}_{{ux}}}H_{{uu}}^{{ - 1}}{{H}_{u}},$$
(1.13)

where

$$\begin{gathered} C = {{f}_{x}} - {{f}_{u}}H_{{uu}}^{{ - 1}}{{H}_{{ux}}}, \\ \delta x({{t}_{0}}) = 0,\quad \delta \psi ({{t}_{1}}) = - {{\varphi }_{{xx}}}\delta x({{t}_{1}}). \\ \end{gathered} $$
(1.14)

A standard method for solving the problem consists in applying the Cauchy formula, which relates the boundary conditions with the help of the \(2n \times 2n\) transition matrix \(\Phi ({{t}_{0}},{{t}_{1}})\):

$$\left( {\begin{array}{*{20}{c}} {\delta x({{t}_{1}})} \\ {\delta \psi ({{t}_{1}})} \end{array}} \right) = \Phi ({{t}_{0}},{{t}_{1}})\left( {\begin{array}{*{20}{c}} {\delta x({{t}_{0}})} \\ {\delta \psi ({{t}_{0}})} \end{array}} \right) + \left( {\begin{array}{*{20}{c}} {\rho ({{t}_{1}})} \\ {\eta ({{t}_{1}})} \end{array}} \right),$$

where \((\rho (t),\;\eta (t))\) is the solution of the Cauchy problem for system (1.12), (1.13) with \(\delta x({{t}_{1}}) = \delta {{x}_{0}} = 0\) and \(\delta \psi ({{t}_{0}}) = \delta {{\psi }_{0}} = 0\).

After splitting the matrix \(\Phi ({{t}_{0}},{{t}_{1}})\) into four equal blocks and taking into account the equality \(\delta x({{t}_{0}}) = 0\), the last equation can be rewritten as

$$\begin{array}{*{20}{c}} {\delta x({{t}_{1}}) = {{\Phi }_{{12}}}\delta {{\psi }_{0}} + \rho ({{t}_{1}}),} \\ {\delta \psi ({{t}_{1}}) = {{\Phi }_{{22}}}\delta {{\psi }_{0}} + \eta ({{t}_{1}}).} \end{array}$$
(1.15)

Substituting boundary condition (1.14) into system (1.15), we obtain the following equation for determining the initial values \(\delta {{\psi }_{0}}\):

$$({{\Phi }_{{22}}} + {{\varphi }_{{xx}}}{{\Phi }_{{12}}})\delta {{\psi }_{0}} = - {{\varphi }_{{xx}}}\rho ({{t}_{1}}) - \eta ({{t}_{1}}).$$
(1.16)

The blocks \({{\Phi }_{{12}}}\) and \({{\Phi }_{{22}}}\) can be computed by integrating the matrix equation

$$\dot {\Phi } = A(t)\Phi ,\quad \Phi ({{t}_{0}},{{t}_{0}}) = E,$$

where \(A(t)\) is the \(2n \times 2n\) coefficient matrix of system (1.12), (1.13).

Another method, which requires half as much CPU time, can be described as follows.

Setting \(\delta x({{t}_{0}}) = 0\) and \(\delta \psi ({{t}_{0}}) = {{e}^{i}},\) \(i = \overline {1,n} \) (where \({{e}^{i}}\) are the vectors of the standard orthonormal basis), we integrate the \(2n\)-dimensional system (1.12), (1.13) \(n\) times. Each of the vectors obtained by the integration is used as the \((n + i)\)th column of the matrix \(\Phi \); as a result, we obtain its blocks \({{\Phi }_{{12}}}\) and \({{\Phi }_{{22}}}\).

Solving the system of linear algebraic equations (1.16) yields a vector \(\delta {{\psi }_{0}}\). Next, integrating system (1.12), (1.13) in direct time and applying formula (1.11) at the solution (\(\delta x(t),\;\delta \psi (t)\)), we find the desired variation \(\delta u(t)\). Formula (1.11) is applicable only if the matrix \({{H}_{{uu}}}\) is sufficiently well conditioned. To preserve the numerical stability of the method in the general case, the matrix \({{H}_{{uu}}}\) is replaced in practice by \({{H}_{{uu}}} + W\), where \(W\) is a positive definite matrix. The found variation is used to construct a new approximation \({{u}^{k}} + {{\alpha }_{k}}\delta {{u}^{k}}\), where \({{\alpha }_{k}} = \mathop {\arg\min}\limits_{\alpha \geqslant 0} \,J({{u}^{k}} + \alpha \delta {{u}^{k}})\). The iterative process of the first phase of the method terminates when \(J({{u}^{k}}) - J({{u}^{{k + 1}}}) \leqslant \varepsilon ,\) \(\varepsilon \geqslant 0\). Since we minimized the penalty functional (1.6), the required accuracy of satisfying the boundary conditions may not be attained. Then we pass to the second phase, which solves problem (1.12), (1.13) taking into account the linearized boundary conditions (1.3).

Assume that, after introducing additional equations into system (1.1), boundary conditions (1.3) are reduced to the form

$${{\varphi }^{i}}(x({{t}_{1}})) = 0,\quad i = \overline {1,m} ,\quad m \leqslant n,$$
(1.17)

or \(\varphi (x({{t}_{1}})) = 0\), where \(\varphi = ({{\varphi }^{1}},{{\varphi }^{2}}, \ldots ,{{\varphi }^{m}}){\kern 1pt} '\) and the functional is given by

$${{I}_{0}}(u) = {{\varphi }^{0}}(x({{t}_{1}})).$$

The boundary conditions (1.17) are linearizes around the point \({{x}^{k}}({{t}_{1}})\):

$$\varphi ({{x}^{k}}({{t}_{1}})) + {{\varphi }_{x}}({{x}^{k}}({{t}_{1}}))\delta x({{t}_{1}}) = 0.$$
(1.18)

Some of the components \(\delta x_{i}^{f},\;{\kern 1pt} i = \overline {1,m} \), of the vector \(\delta x({{t}_{1}})\) are related by equalities (1.18), while the remaining \(n - m\) free components have to satisfy the terminal conditions

$$\delta {{\psi }^{c}}({{t}_{1}}) = - \varphi _{{xx}}^{0}({{x}^{k}}({{t}_{1}}))\delta {{x}^{0}}({{t}_{1}}).$$
(1.19)

Splitting the above-introduced matrices \({{\Phi }_{{12}}}\) and \({{\Phi }_{{22}}}\) into blocks according to the components of the vectors \(\delta x({{t}_{1}}) = (\delta {{x}^{f}},\delta {{x}^{c}})\) and \(\delta \psi ({{t}_{1}}) = (\delta {{\psi }^{f}},\delta {{\psi }^{c}}),\) we rewrite Eqs. (1.15) as

$$\Phi _{{12}}^{{11}}\delta \psi _{0}^{f} + \Phi _{{12}}^{{12}}\delta \psi _{0}^{c} + {{\rho }^{f}} = \delta {{x}^{f}},$$
$$\Phi _{{12}}^{{21}}\delta \psi _{0}^{f} + \Phi _{{12}}^{{22}}\delta \psi _{0}^{c} + {{\rho }^{c}} = \delta x_{1}^{c},$$
$$\Phi _{{12}}^{{11}}\delta \psi _{0}^{f} + \Phi _{{12}}^{{12}}\delta \psi _{0}^{c} + {{\eta }^{f}} = \delta \psi _{1}^{f},$$
$$\Phi _{{12}}^{{21}}\delta \psi _{0}^{f} + \Phi _{{12}}^{{22}}\delta \psi _{0}^{c} + {{\eta }^{c}} = \delta \psi _{1}^{c}.$$

Substituting boundary conditions (1.18), (1.19) into these equations gives a system of linear algebraic equations for the initial value vector \(\delta {{\psi }_{0}} = (\delta \psi _{0}^{f},\delta \psi _{0}^{c}):\)

$$\begin{gathered} (\Phi _{{22}}^{{21}} + \varphi _{{xx}}^{0}\Phi _{{12}}^{{21}})\delta \psi _{0}^{f} + (\Phi _{{22}}^{{22}} + \varphi _{{xx}}^{0}\Phi _{{12}}^{{22}})\delta \psi _{0}^{c} = - \varphi _{{xx}}^{0}{{\rho }^{0}} - {{\eta }^{c}}, \\ ({{\varphi }_{{{{x}^{f}}}}}\Phi _{{12}}^{{11}} + {{\varphi }_{{{{x}^{c}}}}}\Phi _{{12}}^{{21}})\delta \psi _{0}^{f} + ({{\varphi }_{{{{x}^{f}}}}}\Phi _{{12}}^{{12}} + {{\varphi }_{{{{x}^{c}}}}}\Phi _{{12}}^{{22}})\delta \psi _{0}^{c} = - {{\varphi }_{x}}\rho - \varphi , \\ \end{gathered} $$
(1.20)

where

$$\varphi _{{xx}}^{0} = \varphi _{{xx}}^{0}({{x}^{k}}({{t}_{1}})),\quad {{\varphi }_{x}} = ({{\varphi }_{{{{x}^{f}}}}},{{\varphi }_{{{{x}^{c}}}}}) = {{\varphi }_{x}}({{x}^{k}}({{t}_{1}})),\quad \varphi = \varphi ({{x}^{k}}({{t}_{1}})).$$

Therefore, the variation \(\delta u(t)\) constructed at the solution \((\delta x(t),\delta \psi (t))\) of system (1.12), (1.13) with initial values \((0,\delta {{\psi }_{0}})\) satisfies boundary conditions (1.17) in the linear approximation and simultaneously minimizes the quadratic approximation of functional (1.2).

Algorithm 1

Let us describe the numerical scheme including both phases of the described method. The first phase consists of the following steps.

Step 1. Given the control \({{u}^{k}}(t)\), integrate Eq. (1.1) and store the trajectory \({{x}^{k}}(t)\) at integration nodes.

Step 2. Integrate Eq. (1.7) in reverse time and store the solution \({{\psi }^{k}}(t)\) at integration nodes.

Step 3. With the coefficients computed using the control \({{u}^{k}}(t)\) and the solutions \({{x}^{k}}(t)\), \({{\psi }^{k}}(t)\), integrate system (1.12), (1.13) \(n + 1\) times with initial conditions

$$\delta x({{t}_{0}}) = 0,\quad \delta \psi ({{t}_{0}}) = {{e}^{i}},\quad i = \overline {1,n} ;\quad \delta x({{t}_{0}}) = 0,\quad \delta \psi ({{t}_{0}}) = 0.$$

Set the \((n + j)\)th columns of the matrix \(\Phi \) equal to \((\delta x{\kern 1pt} '({{t}_{1}}),\delta \psi {\kern 1pt} '({{t}_{1}})){\kern 1pt} ',\) \(j = \overline {1,n} \).

Step 4. Use the blocks \({{\Phi }_{{12}}}\) and \({{\Phi }_{{22}}}\) of the matrix \(\Phi \) to form system (1.16) and find its solution \(\delta {{\psi }^{0}}\).

Step 5. Integrate system (1.12), (1.13) with \(\delta x({{t}_{0}}) = 0\) and \(\delta \psi ({{t}_{0}}) = \delta {{\psi }^{0}}\), compute the variation \(\delta {{u}^{k}}(t)\) at each integration node by applying formula (1.11), and store the results.

Step 6. Find the parameter \({{\alpha }_{k}} = \mathop {\arg\min}\limits_{\alpha \geqslant 0} \,J({{u}^{k}} + \alpha \delta {{u}^{k}})\) by solving \(\nu \) Cauchy problems (1.1) with the use of linesearch.

Step 7. Construct the new approximation \({{u}^{{k + 1}}}(t) = {{u}^{k}}(t) + {{\alpha }_{k}}\delta {{u}^{k}}(t),\) \(t \in T.\) If \(J({{u}^{k}}) - J({{u}^{{k + 1}}}) > \varepsilon \), then go to Step 1 with \(k = k + 1\); otherwise, go to the second phase of the algorithm.

The basic difference of the second phase is that the vector \(\delta {{\psi }^{0}}\) is determined by solving system (1.20) rather than system (1.16). The second phase consists of the same Steps 1–7, except for Step 4, where system (1.20) is formed instead of (1.16), and except for Step 2, where Eq. (1.5) with \(j = 0\) is integrated instead of (1.7).

In fact, the second phase of Algorithm 1 is a version of the quasilinearization method (see [2]), which converges quadratically, but requires a rather good initial approximation, which is provided by the first phase of the algorithm. Thus, the most efficient algorithm is one in which the sequence of approximations is produced by two optimization methods if we are able to determine a suitable moment of switching between them.

Graphically, the decrease in the functional \(I(u)\) at iterations of the multimethod algorithm is depicted by the polygonal line made up of the plots of the constituent methods. Figure 2 demonstrates the performance of the multimethod algorithm in the case of two methods, \({{M}_{1}}\) and \({{M}_{2}}\). The plots present the decrease in the functional at iterations of these methods. Then these plots are combined to show the decrease in the functional at iterations of the multimethod algorithm (see the curve \(ABC\), where the segment \(BC\) is obtained by parallel translation of the curve \(EL\)). According to Fig. 2, a zero value of the functional is reached after \({{k}_{1}}\) iterations of the method \({{M}_{1}}\) and \({{k}_{2}}\) iterations of the method \({{M}_{2}}\). The multimethod algorithm follows the method \({{M}_{1}}\) until the \(\bar {k}\)th iteration (curve \(AB\)) and then switches to the method \({{M}_{2}}\) (curve \(BC\)), since, starting at \(\bar {k}\), the rate of decaying the functional in \({{M}_{2}}\) is higher. As a result, a zero value of the functional in the multimethod algorithm is reached after \(k\text{*}\) iterations, where \(k\text{*}\) is much fewer than the number of iterations required in each of the methods \({{M}_{1}}\) and \({{M}_{2}}\).

Fig. 2.
figure 2

Decrease in the functional at iterations of the methods \({{M}_{1}}\), \({{M}_{2}}\), and l in the multimethod algorithm.

2. PROBLEMS WITH CONTROL CONSTRAINTS

To solve the practically most important class of problems with control constraints

$$u(t) \in U,\quad t \in T,$$
(2.1)

where \(U\) is a compact subset of \({{R}^{r}}\), we construct multimethod algorithms based on the maximum principle (see [3, 4]) and on gradient-type methods (see [58]).

Assume that introducing a penalty functional yields a problem with a free right end. Suppose that the solution \({{x}^{k}}(t)\) of Eq. (1.1) is found for an admissible control \({{u}^{k}}(t) \in U,\) \(t \in T\). Solving Eq. (1.5) with \(u = {{u}^{k}}(t),\) \(x = {{x}^{k}}(t),\) \(j = 0\), we find \({{\psi }^{k}} = {{\psi }_{0}}(t)\) and compute

$${{\bar {u}}^{k}}(t) = \mathop {\arg\max}\limits_{u \in U} \,H({{\psi }^{k}},{{x}^{k}},u,t),\quad t \in T.$$
(2.2)

Define the scalar function

$${{w}_{k}}(u(t),t) = H({{\psi }^{k}},{{x}^{k}},u,t) - H({{\psi }^{k}},{{x}^{k}},{{u}^{k}},t),$$
(2.3)

which, for \(u = \bar {u}(t)\), obviously satisfies the inequality

$${{w}_{k}}({{\bar {u}}^{k}}(t),t) \geqslant 0,\quad t \in T.$$
(2.4)

Let \({{\tau }_{k}} \in T\) be a maximizer of the function \({{w}_{k}}({{\bar {u}}^{k}}(t),t)\):

$${{w}_{k}}({{\bar {u}}^{k}}({{\tau }_{k}}),{{\tau }_{k}}) = \mathop {\max}\limits_{t \in T} {{w}_{k}}({{\bar {u}}^{k}}(t),t).$$
(2.5)

Then the first-order necessary condition (the maximum principle [1, 2]) is formulated as follows: if \({{u}^{k}}(t)\) is an optimal control in problem (1.2), (1.1), (2.1), then

$${{w}_{k}}({{\bar {u}}^{k}}({{\tau }_{k}}),{{\tau }_{k}}) = 0.$$
(2.6)

Assume that condition (2.6) does not hold for the given \({{u}^{k}}(t) \in U\) and found \({{x}^{k}}(t),\;{{\psi }^{k}}(t),\;{{\bar {u}}^{k}}(t)\):

$${{w}_{k}}({{\bar {u}}^{k}}({{\tau }_{k}}),{{\tau }_{k}}) > 0.$$

Then we can find a new control for which the value of functional (1.2) is less than \({{I}_{0}}({{u}^{k}})\).

The interval \(T_{\varepsilon }^{k} \subseteq T\) is constructed according to the following rule:

$$T_{\varepsilon }^{k} = [{{\tau }_{k}} - \varepsilon ({{\tau }_{k}} - t_{0}^{k}),{{\tau }_{k}} + \varepsilon (t_{1}^{k} - {{\tau }_{k}})],\quad \varepsilon \in [0,1],$$
(2.7)

where \(t_{0}^{k}\) and \(t_{1}^{k}\) are the nearest left and right discontinuity points of the function \({{w}_{k}}({{\bar {u}}^{k}}(t),t)\). This interval with measure \(\operatorname{mes} T_{\varepsilon }^{k} = {{\alpha }_{k}}(\varepsilon ) = {{\alpha }_{k}}\varepsilon ,\) \(0 \leqslant {{a}_{k}} \leqslant {{t}_{1}} - {{t}_{0}},\) \(\varepsilon \in [0,1]\), has the following properties:

(i) \({{\alpha }_{k}}(\varepsilon ) \to 0\) as \(\varepsilon \to 0\);

(ii) as \(\varepsilon \to 0\), the interval contracts to the point \({{\tau }_{k}}\);

(iii) for all \(\varepsilon \in [0,1]\), the function \({{w}_{k}}({{\bar {u}}^{k}}(t),t)\) is continuous on \({{T}_{\varepsilon }}\).

Next, we find the parameter

$${{\varepsilon }_{k}} = \mathop {\arg\min}\limits_{\varepsilon \in [0,1]} \,{{I}_{0}}(u_{\varepsilon }^{k}),$$
(2.8)

where

$$u_{\varepsilon }^{k} = \left\{ {\begin{array}{*{20}{l}} {{{{\bar {u}}}^{k}}(t),\quad t \in {{T}_{\varepsilon }},} \\ {{{u}^{k}}(t),\quad t \in T{{\backslash }}{{T}_{\varepsilon }},} \end{array}} \right.$$
(2.9)

and determine the new approximation

$${{u}^{{k + 1}}}(t) = u_{{{{\varepsilon }_{k}}}}^{k}(t),\quad t \in T,\quad k = 0,1, \ldots .$$
(2.10)

The numerical scheme for the described method can be described as follows. Its convergence was proved in [4].

Algorithm 2

Step 1. Specify a boundary control \({{u}^{0}}(t),\;{\kern 1pt} t \in T\); set \(k = 1\).

Step 2. Integrate system (1.1) with \(u = {{u}^{k}}(t)\) in direct time and store \({{x}^{k}}(t)\) at integration nodes.

Step 3. Integrate adjoint system (1.5) in reverse time. Specifically, at each integration node, find and store control (2.2), compute the value of the function \({{w}_{k}}({{\bar {u}}^{k}}(t),t)\), and determine the maximizer \({{\tau }_{k}}\).

Step 4. If \({{w}_{k}}({{\bar {u}}^{k}}({{\tau }_{k}}),{{\tau }_{k}}) \leqslant \varepsilon \), then terminate the process. Otherwise, go to Step 5.

Step 5. Solve problem (2.8), (2.9), (2.7) by applying the linesearch procedure. Since control (2.9) is equal to \({{u}^{k}}(t)\) at points \(t \in T\) satisfying the inequality \(t < {{\tau }_{k}} - \varepsilon ({{\tau }_{k}} - t_{0}^{k})\), the integration of system (1.1) should start at the left node \({{t}_{k}}\) nearest to \({{\tau }_{k}} - \varepsilon ({{\tau }_{k}} - t_{0}^{k})\), at which \(x({{t}_{k}}) = {{x}^{k}}({{t}_{k}})\) was found at Step 2. Taking into account the structure of control (2.9), the initial point can also be specified as the “largest” node \({{t}_{k}} \in \{ {{t}_{k}} \in T_{\varepsilon }^{k}:{{u}^{k}}({{t}_{k}}) = {{\bar {u}}^{k}}({{t}_{k}})\} \). Since the search for \({{\varepsilon }_{k}}\) involves repeated integrations of system (1.1), this choice of the initial point can significantly reduce the time required for solving the problem.

Step 6. Given the found \({{\varepsilon }_{k}}\), the accuracy \(\delta \) of the computed \({{I}_{0}}({{u}^{k}})\), and the step size \(h\), if \({{I}_{0}}(u_{{{{\varepsilon }_{k}}}}^{k}) \geqslant {{I}_{0}}({{u}^{k}}) - \delta \) and \(t_{1}^{s} - t_{0}^{s} > h\), then reduce the interval \(T_{\varepsilon }^{k}\) by setting \(\varepsilon = {{2}^{{ - s}}}\) (\(s\) is the number of reductions in \(T_{\varepsilon }^{k}\)) and go to Step 5.

If \({{I}_{0}}(u_{{{{\varepsilon }_{k}}}}^{k}) < {{I}_{0}}({{u}^{k}}) - \delta \), then set \({{u}^{{k + 1}}} = u_{{\varepsilon k}}^{k},\) \(k = k + 1\) and go to Step 2. Otherwise, terminate the iterative process.

Since the iterations of the algorithm are performed in the class of piecewise constant controls, the optimality condition (2.8) for the resulting control may not be satisfied with the prescribed accuracy (although the value of \(\int_T {{{w}_{k}}({{u}^{k}}(t),t)dt} \) is sufficiently small). In contrast to gradient methods, this algorithm is also applicable to optimal control problems in which the vector function \(f(x,u,t)\) is not differentiable with respect to \(u\) and the set \(U\) is not convex or even connected.

As was noted in [4, 8, 9], algorithms based on the maximum principle often lead to a control stuck on the boundary, which deteriorate their convergence. This effect is caused by the fact that, in certain systems (e.g., in control-linear ones), the solution of problem (1.2) is reached on the boundary and, hence, control approximations of the form (2.9), (2.10) also have boundary values. With this approximation, the convergence of the algorithm at the last iterations is ensured by a very small step size, which leads to excessive CPU times. The convergence of the iterative process in this situation can often be recovered or improved by applying a simpler technique, namely, by constructing a convex combination of the controls \({{u}^{k}}(t)\) and \({{\bar {u}}^{k}}(t)\):

$${{u}^{{k + 1}}}(t) = {{u}^{k}}(t) + {{\alpha }_{k}}[{{\bar {u}}^{k}}(t) - {{u}^{k}}(t)],\quad {{\alpha }_{k}} \in [0,1],$$
(2.11)

on the interval \(T_{\varepsilon }^{k}\).

The ceasing of convergence can also be caused by the fact that the integration nodes remaining within the reduced interval \(T_{\varepsilon }^{k}\) are too few to construct a control variation for which the functional increment is greater (in absolute value) than the integration errors.

Consider a numerical method in which a new approximation is specified as a control generated using the maximum principle on the set

$${{T}_{\varepsilon }} = \{ t \in T:{{w}_{k}}({{\bar {u}}^{k}}(t),t) \geqslant \varepsilon {{w}_{k}}({{\bar {u}}^{k}}({{t}_{k}}),{{\tau }_{k}})\} ,\quad \varepsilon \in [0,1].$$
(2.12)

The set \(T\) includes all points \(t \in T\) of violation of the maximum principle and consists of several disjoint intervals if the function \({{w}_{k}}({{\bar {u}}^{k}}(t),t)\) has several extrema. By varying \(\varepsilon \), it is possible to find \({{\varepsilon }_{k}}\) for which control (2.9) minimizes the functional. For many problems, the convergence of Algorithm 2 is improved when interval (2.7) is replaced by set (2.12). When the maximum of \({{w}_{k}}({{\bar {u}}^{k}}(t),t)\) is reached on a set \({{T}_{{{{\varepsilon }_{k}}}}}\) of positive measure, the algorithm may cease to converge. Then the iterations of Algorithm 2 are continued with \(T_{\varepsilon }^{k}\) given by formula (2.7).

Finally, the numerical scheme for constructing a new approximation can be described as follows.

Algorithm 3

Step 1. Integrate Eq. (1.1) with \(u = {{u}^{k}}(t)\) and store the trajectory \({{x}^{k}}(t)\) at integration nodes.

Step 2. Integrate the adjoint system (1.5) in reverse time and, at each integration node, compute and store the control \({{\bar {u}}^{k}}(t)\) and the scalar function

\({{w}_{k}}(t) = {{w}_{k}}({{\bar {u}}^{k}}(t),t).\)

Step 3. Find the point \({{\tau }_{k}} = \mathop {\arg\max}\limits_{t \in T} \,{{w}_{k}}(t)\). If \({{w}_{k}}({{\tau }_{k}}) \leqslant \varepsilon \), then terminate the iterative process.

Step 4. Solve the linesearch problem \(I(u_{\varepsilon }^{k}) \to \min\). Specifically, for each \(\varepsilon \in [0,1]\) used in the linesearch procedure, integrate Eq. (1.1) starting at the node \({{t}_{k}}\) where the inequality \({{w}_{k}}(t) > \varepsilon {{w}_{k}}({{\tau }_{k}})\) holds for the first time, and choose the control by using the formula

$$u_{\varepsilon }^{k}(t) = \left\{ {\begin{array}{*{20}{l}} {{{{\bar {u}}}^{k}}(t)\quad {\text{if}}\quad {{w}_{k}}(t) \geqslant \varepsilon {{w}_{k}}({{\tau }_{k}}),} \\ {{{u}^{k}}(t)\quad {\text{if}}\quad {{w}_{k}}(t) < \varepsilon {{w}_{k}}({{\tau }_{k}}),\quad t \in T.} \end{array}} \right.$$

Step 5. If \({{I}_{0}}(u_{{{{\varepsilon }_{k}}}}^{k}) \geqslant {{I}_{0}}({{u}^{k}}) - \delta \) and \(\operatorname{mes} {{T}_{{{{\varepsilon }_{k}}}}} > h\), then execute Step 5 of Algorithm 2, where \(T_{\varepsilon }^{k}\) is given by formula (2.7) and the first approximation is specified as \({{T}_{{{{\varepsilon }_{k}}}}}\).

Step 6. If the iteration of Algorithm 2 also does not improve the control \({{u}^{k}}(t)\), then, on the interval \(T_{{{{\varepsilon }_{k}}}}^{k}\) obtained at Step 4, perform an iteration of the conditional gradient method (2.11), where \({{\alpha }_{k}}\) is again determined using linesearch.

Step 7. If Steps 4–6 produce \({{\varepsilon }_{k}}\) or \({{\alpha }_{k}}\) for which the new control approximation ensures a smaller value of the functional, then go to Step 1 (with \(k: = k + 1\)). Otherwise, terminate the iterative process.

Note that this algorithm, like the one described above, is intended for problems with control constraints and a free right end.

3. GENERAL OPTIMAL CONTROL PROBLEM WITH PARAMETERS

Now we consider a more general optimal control problem, namely, one with state constraints and a right-hand side of the system depending not only on controls, but also on parameters. The initial values of the system can also depend on parameters, and their choice usually ensures, for example, an optimal “start” of the process.

Before solving this complicated problem, we first reduce it to a finite-dimensional one and then construct a multimethod algorithm for finding an optimal control.

Consider a controlled process depending on parameters, namely,

$$\begin{gathered} \dot {x} = f(x,u,w,t),\quad x(t) \in {{E}^{n}},\quad u(t) \in {{E}^{r}},\quad t \in T = [{{t}_{0}},{{t}_{1}}], \\ x({{t}_{0}}) = \Theta (v),\quad w \in {{R}^{p}},\quad v \in {{R}^{n}}, \\ \end{gathered} $$
(3.1)

with terminal conditions

$${{I}_{i}}(u) = {{h}_{i}}(x({{t}_{1}})) = 0,\quad i = \overline {1,m} ,$$
(3.2)

and state constraints

$${{J}_{i}}(u,v) = {{g}_{i}}(x(t),t) = 0,\quad t \in T,\quad i = \overline {1,s} .$$
(3.3)

The control and parameters obey the constraints

$${{c}_{i}}(u,t) = 0,\quad t \in T,\quad i = \overline {1,l} ,$$
(3.4)
$${{u}^{{\text{l}}}}(t) \leqslant u(t) \leqslant {{u}^{{\text{u}}}}(t),\quad t \in T,$$
(3.5)
$${{v}^{{\text{l}}}} \leqslant v \leqslant {{v}^{{\text{u}}}},\quad {{w}^{{\text{l}}}} \leqslant w \leqslant {{w}^{{\text{u}}}},$$
(3.6)

where the functions \({{c}_{i}}(u,t),\;i = \overline {1,l} \), are continuously differentiable with respect to \(u\) and piecewise continuous in \(t\), while \(\Theta (v)\) is a continuously differentiable vector function. The functions determining conditions (3.1)–(3.3) satisfy the assumptions stated above; additionally, they are assumed to be continuously differentiable with respect to the parameters.

The task is, among the controls and parameters satisfying constraints (3.4)–(3.6), to find ones that ensure the fulfillment of conditions (3.3) for controlled process (3.1) and drive it to a state point where conditions (3.2) hold with the prescribed accuracy and the functional

$${{I}_{0}}(u) = \varphi (x({{t}_{1}}))$$
(3.7)

reaches its smallest value.

3.1. Reduction to a Finite-Dimensional Problem

To construct a finite-dimensional problem, on the given interval \(T,\) we introduce a grid with nodes \({{t}_{0}},{{t}^{1}}, \ldots ,{{t}^{N}}\) such that

$${{t}_{0}} = {{t}^{0}} < {{t}^{1}} < \ldots < {{t}^{N}} = {{t}_{1}}.$$
(3.8)

This grid is allowed to be nonuniform.

The control functions \({{u}^{i}}(t),\;i = \overline {1,r} \), are sought only at nodes (3.8), while the intermediate values \({{u}^{i}}(t),\;i = \overline {1,r} \), are obtained using the piecewise constant approximation

$${{u}^{i}}(t) = {{u}^{i}}({{t}^{j}}) = u_{j}^{i},\quad t \in [{{t}^{j}},{{t}^{{j + 1}}}],$$

or the piecewise linear approximation

$${{u}^{i}}(t) = [({{t}^{{j + 1}}} - t){{u}_{j}} + (t - {{t}^{j}}){{u}_{{j + 1}}}]({{t}^{{j + 1}}} - {{t}^{j}}),\quad t \in [{{t}^{j}},{{t}^{{j + 1}}}].$$
(3.9)

Then the finite-dimensional problem approximating problem (3.1)–(3.7) has the form

$$\dot {x} = f(x,u,w,t),\quad t \in T = [{{t}_{0}},{{t}_{1}}],\quad x({{t}_{0}}) = \Theta (v),$$
$${{h}_{i}}(x({{t}^{N}})) = 0,\quad i = \overline {1,m} ,$$
$${{g}_{i}}(x({{t}^{j}}),{{t}^{j}}) = 0,\quad i = \overline {1,s} ,\quad j = \overline {0,N} ,$$
$${{c}_{i}}({{u}_{j}},{{t}^{j}}) = 0,\quad i = \overline {1,l} ,\quad j = \overline {0,N} ,$$
(3.10)
$${{v}^{{\text{l}}}} \leqslant v \leqslant {{v}^{{\text{u}}}},\quad {{w}^{{\text{l}}}} \leqslant w \leqslant {{w}^{{\text{u}}}},$$
$$\varphi (x({{t}^{N}})) \to \min,\quad u_{j}^{{\text{l}}} \leqslant {{u}_{j}} \leqslant u_{j}^{{\text{u}}},\quad j = \overline {0,N} ,$$

where

$$u_{j}^{{\text{l}}} = {{u}^{{\text{l}}}}({{t}^{j}}),\quad u_{j}^{{\text{u}}} = {{u}^{{\text{u}}}}({{t}^{j}}),\quad j = \overline {0,N} .$$

Note that the controlled process (3.1) in approximating problem (3.10) remains continuous and, in the course of the computations, it is modeled by the numerical integration method with the required (sufficiently high) accuracy.

3.2. Numerical Solution of the Finite-Dimensional Problem

With the help of the functions \({{H}^{j}}({{\psi }_{j}},x,u,t) = \psi _{j}^{'}(t)f(x,u,t)\) and the adjoint system

$${{\dot {\psi }}_{j}} = - {{f}_{x}}(x,u,t){\kern 1pt} '{{\psi }_{j}}(t),\quad {{\psi }_{j}}({{t}_{1}}) = - \varphi _{x}^{j}(x({{t}_{1}}),$$

the gradients of the functionals \({{I}_{j}}(u),\;j = \overline {0,m} \), are traditionally defined by the formulas

$$\nabla {{I}_{j}}(u) = - H_{u}^{j}({{\psi }_{j}},x,u,t),\quad j = \overline {0,m} .$$

For each \(t \in T\), the gradients of \({{J}_{j}}(u,t),\;j = \overline {1,s} \), can be computed in a similar manner:

$$\nabla {{J}_{j}}(u,t) = - \bar {H}_{u}^{j}({{\Phi }_{j}},x,u,t,\tau ),\quad {{t}_{0}} \leqslant \tau \leqslant t \leqslant {{t}_{1}},$$

where \(\bar {H}_{{}}^{j}({{\Phi }_{j}},x,u,t,\tau ) = \Phi _{j}^{'}(t,\tau )f(x,u,\tau )\) and \({{\Phi }_{j}}(t,\tau ),\) \(j = \overline {1,s} ,\) are the solutions of the adjoint system

$$\frac{{\partial {{\Phi }_{j}}(t,\tau )}}{{\partial \tau }} = - \frac{{\partial f(x,u,\tau )}}{{\partial x}}{{\Phi }_{j}}(t,\tau ),\quad \tau \in [{{t}_{0}},t],$$

with boundary conditions

$${{\Phi }_{j}}(t,t) = - \frac{{\partial {{g}^{j}}(x(t))}}{{\partial x}},\quad j = \overline {1,s} .$$

We linearize the constraints in the approximating problem. The Jacobian matrix of the linearized constraints is made up of the gradients \(\nabla {{I}_{i}},i = \overline {1,m} \), and \(\nabla {{J}_{j}}(t),\;j = \overline {1,s} ,\) \(t \in T\). Since the right-hand sides and initial values of system (3.1) depend additionally on parameters, we need to know the gradients of the functionals \({{I}_{i}},i = \overline {1,m} \), and \({{J}_{j}}(t),\;j = \overline {1,s} ,\) \(t \in T\), with respect to these parameters (see [3, 8]):

$$\begin{gathered} {{\nabla }_{v}}{{I}_{i}}({{u}^{k}},{{w}^{k}},{{v}^{k}}) = - {{\psi }_{i}}({{t}_{0}}){\kern 1pt} '{{\Theta }_{v}}({{v}^{k}}),\quad i = \overline {1,m} , \\ {{\nabla }_{w}}{{I}_{i}}({{u}^{k}},{{w}^{k}},{{v}^{k}}) = - \int\limits_{{{t}_{0}}}^{{{t}_{1}}} \,{{\psi }_{i}}(t){\kern 1pt} '{\kern 1pt} {{f}_{w}}({{x}^{k}},{{u}^{k}},{{w}^{k}},t)dt, \\ \end{gathered} $$
(3.11)
$${{\nabla }_{w}}{{J}_{i}}({{u}^{k}},{{w}^{k}},{{v}^{k}},{{t}^{j}}) = - \int\limits_{{{t}_{0}}}^{{{t}^{j}}} \,{{\Phi }_{i}}(t){\kern 1pt} '{\kern 1pt} {{f}_{w}}({{x}^{k}},{{u}^{k}},{{w}^{k}},t)dt,$$
(3.12)
$${{\nabla }_{v}}{{J}_{i}}({{u}^{k}},{{w}^{k}},{{v}^{k}},{{t}^{j}}) = - {{\Phi }_{i}}({{t}_{0}}){\kern 1pt} '\Theta ({{v}^{k}}),\quad i = \overline {1,s} ,\quad j = \overline {1,N} .$$
(3.13)

Now suppose that \({{u}^{k}}({{t}^{j}})\) and the corresponding \({{x}^{k}}({{t}^{j}}),\;j = \overline {1,N} ,\) have been found on grid (3.8) at the \(k\)th iteration of the outer method. To calculate the gradients with respect to the control \({{\nabla }_{u}}{{I}_{i}},i = \overline {1,m} \), system (3.10) is integrated \(m\) times from \({{t}_{1}}\) to \({{t}_{0}}\) with various initial conditions. Simultaneously, gradients (3.11) are computed using quadrature rules for evaluating the integrals. Next, we find the gradients of the functionals \({{J}_{i}}({{t}^{j}}),\;j = \overline {1,N} ,\) \(i = \overline {1,s} \). For this purpose, the Cauchy problem is solved \(s\) times for each node of grid (3.8), i.e., the system is integrated \(s \cdot N\) times on average on a half of the interval \(T\).

The resulting solutions are used to compute the components of the gradients \({{\nabla }_{u}}{{I}_{i}},i = \overline {1,m} \), and \({{\nabla }_{u}}{{J}_{i}}({{t}^{j}}),\;i = \overline {1,s} ,\) \(j = \overline {1,N} \). Taking into account the control approximation, their values are equal to

$$\int\limits_{{{t}^{j}}}^{{{t}^{{j + 1}}}} \,{{\psi }^{k}}(t){\kern 1pt} '{\kern 1pt} {{f}_{u}}({{x}^{k}},u_{j}^{k},{{w}^{k}},t)dt$$

in the case of a piecewise constant approximation and to

$$\frac{1}{{{{t}^{{j + 1}}} - {{t}^{j}}}}\left[ {\int\limits_{{{t}^{{j - 1}}}}^{{{t}^{j}}} \,{{\psi }^{k}}(t){\kern 1pt} '{\kern 1pt} {{f}_{u}}({{x}^{k}},{{{\bar {u}}}^{k}}(t),{{w}^{k}},t)(t - {{t}^{{j - 1}}})dt} \right. + \left. {\int\limits_{{{t}^{j}}}^{{{t}^{{j + 1}}}} \,{{\psi }^{k}}(t){\kern 1pt} '{\kern 1pt} {{f}_{u}}({{x}^{k}},{{{\bar {u}}}^{k}}(t),{{w}^{k}},t)({{t}^{{j + 1}}} - t)dt} \right]$$
(3.14)

in the case of piecewise linear approximation (3.9). Here, \({{\bar {u}}^{k}}(t)\) is computed using formula (3.9) with \({{u}_{j}} = u_{j}^{k},\) \({{u}_{{j + 1}}} = u_{{j + 1}}^{k}\).

The resulting values of the control gradients \(\nabla {{I}_{i}},i = \overline {1,m} \), and \(\nabla {{J}_{j}}(t)\), \(j = \overline {1,s} ,\) \(t \in T\), and the gradients with respect to the parameters computed using formulas (3.11)(3.13) make up the coefficient matrix of the linearized constraints. It is supplemented with the block of elements \(\partial {{c}_{i}}{\text{/}}\partial {{u}_{j}}\) corresponding to the control constraints to become a matrix of special block structure, which is denoted by \(A\).

3.3. Reduced Gradient Algorithm from [6]

After introducing vector notation for equalities (3.2)–(3.4), the augmented Lagrangian (see [7]) for problem (3.1)–(3.7) is defined as

$$\begin{gathered} L = \varphi (x({{t}_{1}})) - {{\lambda }^{{k{\kern 1pt} '}}}[h(x({{t}_{1}})) - {{{\bar {h}}}^{L}}] + \frac{\rho }{2}[h(x({{t}_{1}})) - {{{\bar {h}}}^{L}}]{\kern 1pt} '[h(x({{t}_{1}})) - {{{\bar {h}}}^{L}}] - \int\limits_{{{t}_{0}}}^{{{t}_{1}}} \,{{\mu }^{{k{\kern 1pt} '}}}(t)[g(x(t),t) - {{{\bar {g}}}^{L}}]{\kern 1pt} dt \\ + \;\frac{\rho }{2}\int\limits_{{{t}_{0}}}^{{{t}_{1}}} \,[g(x(t),t) - {{{\bar {g}}}^{L}}]{\kern 1pt} '[g(x(t),t) - {{{\bar {g}}}^{L}}]{\kern 1pt} dt - \int\limits_{{{t}_{0}}}^{{{t}_{1}}} \,{{\gamma }^{k}}(t)[c(u,t) - {{{\bar {c}}}^{L}}]{\kern 1pt} dt + \frac{\rho }{2}\int\limits_{{{t}_{0}}}^{{{t}_{1}}} \,[c(u,t) - {{{\bar {c}}}^{L}}]{\kern 1pt} '[c(u,t) - {{{\bar {c}}}^{L}}]{\kern 1pt} dt, \\ \end{gathered} $$
(3.15)

where

$${{\bar {h}}^{L}} = h({{x}^{k}}({{t}_{1}})) + {{h}_{x}}({{x}^{k}}({{t}_{1}}))\delta x({{t}_{1}}),\quad {{\bar {g}}^{L}} = g({{x}^{k}}(t),t) + {{g}_{x}}({{x}^{k}}(t),t)\delta x(t),$$
$${{\bar {c}}^{L}} = c({{u}^{k}}(t),t) + {{c}_{u}}({{u}^{k}}(t),t)\delta u(t),\quad \delta u = u - {{u}^{k}},\quad \delta x = x - {{x}^{k}}.$$

Next, constraints (3.2) and (3.3) are linearized at the \(k\)th approximation:

$${{I}^{k}} + \sum\limits_{j = 0}^N \,{{\nabla }_{u}}{{I}^{k}}({{t}^{j}}){\kern 1pt} '({{u}_{j}} - u_{j}^{k}) + {{\nabla }_{w}}{{I}^{{k{\kern 1pt} '}}}(w - {{w}^{k}}) + {{\nabla }_{v}}{{I}^{{k{\kern 1pt} '}}}(v - {{v}^{k}}) = 0,$$
(3.16)
$$J_{j}^{k} + \sum\limits_{i = 0}^j \,[{{\nabla }_{u}}{{J}^{k}}({{t}^{j}}){\kern 1pt} '({{u}_{i}} - u_{i}^{k}) + {{\nabla }_{w}}{{J}^{k}}({{t}^{j}}){\kern 1pt} '(w - {{w}^{k}}) + {{\nabla }_{v}}{{J}^{k}}({{t}^{j}}){\kern 1pt} '(v - {{v}^{k}})] = 0,\quad j = \overline {0,N} .$$
(3.17)

Here, \(I = ({{I}_{1}},{{I}_{2}}, \ldots ,{{I}_{m}})\) and \(J = ({{J}_{1}},{{J}_{2}}, \ldots ,{{J}_{s}})\). Therefore, we have \(m\) constraints (3.16) and \((N + 1)s\) constraints (3.17), which represent linearized \(({{h}^{L}},g_{j}^{L})\) constraints (3.2) and (3.3) written in explicit form (in terms of \(u\), \(w\), \(v\)); moreover, equalities (3.3) specified at each time \(t \in T\) are replaced by \(N\) equalities determined at nodes of grid (3.8).

Conditions (3.4) are also linearized:

$$c({{u}^{k}},{{t}^{j}}) + {{\nabla }_{u}}c({{u}^{k}},{{t}^{j}}){\kern 1pt} '({{u}_{j}} - u_{j}^{k}) = 0,\quad j = \overline {0,N} ,$$
(3.18)

where \(c = ({{c}_{1}},{{c}_{2}}, \ldots ,{{c}_{l}})\). The primal constraints on the control and the parameters remain unchanged:

$$u_{j}^{{\text{l}}} \leqslant {{u}_{j}} \leqslant u_{j}^{{\text{u}}},\quad j = \overline {1,N} ,$$
(3.19)
$$v_{j}^{{\text{l}}} \leqslant {{v}_{j}} \leqslant v_{j}^{{\text{u}}},\quad j = \overline {1,n} ,\quad w_{i}^{{\text{l}}} \leqslant {{w}_{i}} \leqslant w_{i}^{{\text{u}}},\quad i = \overline {1,p} .$$
(3.20)

For functional (3.15) with variables \(x(t)\) determined by system (3.1) with a given \(u(t),\;t \in T\), we consider the finite-dimensional approximation

$$\begin{gathered} L = \varphi ({{x}^{N}}) - {{\lambda }^{{k{\kern 1pt} '}}}[h(x({{t}^{N}})) - {{{\bar {h}}}^{L}}] + \frac{\rho }{2}[h(x({{t}^{N}})) - {{{\bar {h}}}^{L}}]{\kern 1pt} '[h(x({{t}^{N}})) - {{{\bar {h}}}^{L}}] - \sum\limits_{j = 0}^N \,\mu _{j}^{{k{\kern 1pt} '}}[g(x({{t}^{j}}),{{t}^{j}}) - {{{\bar {g}}}^{L}}] \\ + \;\frac{\rho }{2}\sum\limits_{j = 0}^N \,[g(x({{t}^{j}}),{{t}^{j}})\, - \,{{{\bar {g}}}^{L}}]{\kern 1pt} '[g(x({{t}^{j}}),{{t}^{j}})\, - \,{{{\bar {g}}}^{L}}]\, - \,\sum\limits_{j = 0}^N \,\gamma _{j}^{{k'}}[c({{u}_{j}},{{t}^{j}})\, - \,{{{\bar {c}}}^{L}}]\, + \,\frac{\rho }{2}\sum\limits_{j = 0}^N \,[c({{u}_{j}},{{t}^{j}})\, - \,{{{\bar {c}}}^{L}}]{\kern 1pt} '[c({{u}_{j}},{{t}^{j}})\, - \,{{{\bar {c}}}^{L}}], \\ \end{gathered} $$
(3.21)

where

$${{\bar {h}}^{L}} = h({{x}^{k}}({{t}^{N}})) + {{h}_{x}}({{x}^{k}}({{t}^{N}}))(x({{t}^{N}}) - {{x}^{k}}({{t}^{N}})),$$
$${{\bar {g}}^{L}} = g({{x}^{k}}({{t}^{j}}),{{t}^{j}}) + {{g}_{x}}({{x}^{k}}({{t}^{j}}),{{t}^{j}})(x({{t}^{j}}) - {{x}^{k}}({{t}^{j}})),$$
$${{\bar {c}}^{L}} = c({{u}^{k}}({{t}^{j}}),{{t}^{j}}) + {{c}_{u}}({{u}^{k}}({{t}^{j}}),{{t}^{j}})({{u}_{j}} - u_{j}^{k}),\quad j = \overline {0,N} .$$

Functional (3.21), which is, in fact, a multivariable function, is minimized under linear constraints (3.16)–(3.20) by applying the reduced gradient method (see [6]). Note that functional (3.21) assumes the use of the original system (3.1) for computing the trajectory \(\{ x({{t}^{1}}),x({{t}^{2}}), \ldots ,x({{t}^{N}})\} \) for given parameters \(v\), \(w\) and control \(u({{t}^{0}}),u({{t}^{1}}),\) \( \ldots ,u({{t}^{N}})\), i.e., a complete model of the auxiliary problem is described by relations (3.1) and (3.16)–(3.21).

Let \(A[m + (l + s)(N + 1)] \times [r(N + 1) + p + n]\) denote the coefficient matrix of linear equations (3.16)(3.18), \(b\) be the vector of free terms of dimension \(m + (l + s)(N + 1)\), and \(z\) denote the vector of desired variables (\({{u}_{j}},j = \overline {0,N} \); \(v\); \(w\)) of dimension \(r(N + 1) + p + n\). Then the problem under study can be written as

$$\begin{gathered} L(z) \to \min, \\ Az = b, \\ {{z}^{{\text{l}}}} \leqslant z \leqslant {{z}^{{\text{u}}}}. \\ \end{gathered} $$
(3.22)

Problem (3.22) is solved by applying the reduced gradient method (see [6]), which differs from the simplex method well-known in linear programming in that, in view of the nonlinearity of the objective function, its successive approximations are not necessarily vertices of the linear constraint polyhedron, but may be its interior points.

3.4. Projected Lagrangian Algorithm (see [69])

Now we describe the complete algorithm for solving the original problem (3.1)–(3.6).

Step 1. Given the control \(u_{j}^{k},\;j = \overline {0,N} \), integrate system (3.1) and store the state trajectory points \(x_{j}^{k},\;j = \overline {0,N} ,\) at nodes of grid (3.8). Here, \(k\) is the iteration number (starting from \(k = 0\)).

Linearize the constraints of problem (3.10) at the resulting solution and construct auxiliary problem (3.16)–(3.21).

Step 2. Solve the auxiliary problem of minimizing the augmented Lagrangian (3.21) with linear constraints (3.16)–(3.20) by applying the reduced gradient method.

As a result, new approximations for the control \(u_{j}^{{k + 1}},\;j = \overline {0,N} \), the parameters \({{w}^{{k + 1}}}\) and \({{v}^{{k + 1}}}\), and the dual variables \({{\lambda }^{{k + 1}}}\) and \(\mu _{j}^{{k + 1}},\;j = \overline {0,N} \), are found.

Step 3. Check the stopping rule for the iterative process with respect to both primal and dual variables:

$$\left| {{{I}_{i}}({{u}^{{k + 1}}},{{w}^{{k + 1}}},{{v}^{{k + 1}}})} \right|{\text{/}}(1 + {{\alpha }^{{k + 1}}}) \leqslant \varepsilon ,\quad i = \overline {1,m} ,$$
$$\left| {{{J}_{i}}({{u}^{{k + 1}}},{{w}^{{k + 1}}},{{v}^{{k + 1}}})} \right|{\text{/}}(1 + {{\alpha }^{{k + 1}}}) \leqslant \varepsilon ,\quad i = \overline {1,s} ,$$

where

$${{\alpha }^{{k + 1}}} = \max\{ {\kern 1pt} {\text{|}}{\kern 1pt} {\text{|}}u_{j}^{{k + 1}}{\text{|}}{\kern 1pt} {\text{|}},j = \overline {0,N} ;\left| {{{w}_{i}}} \right|,i = \overline {1,p} ;\left| {{{v}_{l}}} \right|,l = \overline {1,n} \} ;$$
$$\left| {\lambda _{j}^{k} - \lambda _{j}^{{k + 1}}} \right|{\text{/}}(1 + {{\Theta }^{{k + 1}}}) \leqslant \varepsilon ,\quad j = \overline {1,m} ;$$
$$\left| {\mu _{{ij}}^{k} - \mu _{{ij}}^{{k + 1}}} \right|{\text{/}}(1 + {{\Theta }^{{k + 1}}}) \leqslant \varepsilon ,\quad i = \overline {1,s} ,\quad j = \overline {0,N} ;$$
$${{\Theta }^{{k + 1}}} = \max\{ {\text{|}}\lambda _{j}^{{k + 1}}{\text{|}},j = \overline {1,m} ;{\text{|}}\mu _{{ij}}^{{k + 1}}{\text{|}},i = \overline {1,s} ,j = \overline {0,N} \} .$$

If at least one of these conditions is violated, then go to Step 1 to execute the new \((k + 1)\)th iteration. If these inequalities hold for the given \(\varepsilon > 0\), then terminate the iterative process and output the found values \(u_{j}^{{k + 1}},\;j = \overline {0,N} ,\;{{w}^{{k + 1}}}\), and \({{v}^{{k + 1}}}\) as an approximate solution of the optimal control problem.

4. NUMERICAL EXPERIMENTS: REAL-WORLD PROBLEMS WITH SOLUTIONS

Below are examples of applications related to the classes of optimization problems considered in Sections 1–3 with solutions found by applying the multimethod algorithms described in these sections.

4.1. Optimal Control of a Spherical Mobile Robot with Three-Dimensional Control Functions

The problem was formulated by M.M. Svinin and can be found in [10]. Consider a mobile spherical robot moving in a plane. The robot consists of a shell with three engines (rotors) mounted on it. The dynamics of the robot in terms of contact coordinates is described by the system of ordinary differential equations

$$\dot {x} = G(x){{J}^{{ - 1}}}(x){{J}_{r}}\sum\limits_{k = 1}^n \,{{n}_{k}}(x){{u}_{k}},$$

where the state and control vectors are defined as

$$x \triangleq {{[{{u}_{a}},{{v}_{a}},{{u}_{o}},{{v}_{o}},\psi ]}^{{\text{T}}}},\quad u \triangleq {{[{{\dot {\varphi }}_{1}},{{\dot {\varphi }}_{2}},{{\dot {\varphi }}_{3}}]}^{{\text{T}}}},$$

and \({{\varphi }_{i}},\;i = \overline {1,3} \), denote the angles of rotation of the engines.

The position of a point of contact on the plane is specified by the coordinates \({{u}_{a}},\;{{v}_{a}}\), while its coordinates on the sphere are defined by the angles \({{u}_{o}},\;{{v}_{o}}\).

The matrix and vector quantities are defined as

$$G = \left[ {\begin{array}{*{20}{c}} 0&{ - R}&0 \\ R&0&0 \\ {\sin\psi {\text{/}}\cos {{v}_{o}}}&{\cos \psi {\text{/}}\cos {{v}_{o}}}&0 \\ {\cos\psi }&{ - \sin\psi }&0 \\ {\sin\psi \tan {{v}_{o}}}&{\cos\psi \tan {{v}_{o}}}&1 \end{array}} \right],$$

and the vectors \({{n}_{1}},\;{{n}_{2}},\;{{n}_{3}}\) are the columns of the matrix

$$R = \left[ {\begin{array}{*{20}{c}} {\cos{{u}_{o}}\cos\psi + \sin{{u}_{o}}\sin{{v}_{o}}\sin\psi }&{\cos{{{v}}_{o}}\sin\psi }&{ - \sin{{u}_{o}}\cos\psi + \cos{{u}_{o}}\sin{{v}_{o}}\sin\psi } \\ { - \cos{{u}_{o}}\sin\psi + \sin{{u}_{o}}\sin{{v}_{o}}\cos\psi }&{\cos{{v}_{o}}\cos\psi }&{\sin{{u}_{o}}\sin\psi + \cos{{u}_{o}}\sin{{v}_{o}}\cos\psi } \\ {\sin{{u}_{o}}\cos{{v}_{o}}}&{ - \sin{{v}_{o}}}&{\cos{{u}_{o}}\cos{{v}_{o}}} \end{array}} \right].$$

The matrix of inertia of the system is defined as

$$J = \left[ {\begin{array}{*{20}{c}} {(2{\text{/}}3{{m}_{o}} + M){{R}^{2}}}&0&0 \\ 0&{(2{\text{/}}3{{m}_{o}} + M){{R}^{2}}}&0 \\ 0&0&{2{\text{/}}3{{m}_{o}}{{R}^{2}}} \end{array}} \right] + (2{{J}_{p}} + {{J}_{r}})E,$$

where \(M\) is the total mass of the robot, while \({{m}_{o}}\) and \({{m}_{r}}\) denote the mass of the spherical shell and the mass of a rotor, respectively.

The problem of optimal control of the spherical robot is to drive it from the point \(x(0)\) to the point \(x(T)\) so as to minimize the control energy \(J = \int_0^T {{{u}^{T}}udt} \).

For example, let \(x(0) = [0,0,0,0,0]\) and \(x(10) = \left[ {0,2,0,3,0,0,\frac{\pi }{6}} \right]\). Then the resulting solutions are physically feasible, and they are presented in Fig. 3. The constraints are satisfied up to \(\mathop {10}\nolimits^{ - 5} ,\) and the functional value is \(J(10) = 5\,769\,001\).

Fig. 3.
figure 3

Controls and trajectories found for a mobile robot.

4.2. Optimal Control of a Robotic Manipulator

The dynamics of a moving industrial robotic manipulator is described by the system of differential equations

$${{\dot {x}}_{1}} = {{x}_{2}},$$
$${{\dot {x}}_{2}} = \frac{{[{{M}_{1}}(x,u) - {{F}_{1}}(x)]{{a}_{{22}}} - [{{M}_{2}}(x,u) - {{F}_{2}}(x)]{{a}_{{12}}}(x)}}{{{{a}_{{11}}}{{a}_{{22}}} - {{a}_{{12}}}(x){{a}_{{21}}}(x)}},$$
$${{\dot {x}}_{3}} = {{x}_{4}},$$
$${{\dot {x}}_{4}} = \frac{{[{{M}_{2}}(x,u) - {{F}_{2}}(x)]{{a}_{{11}}} - [{{M}_{1}}(x,u) - {{F}_{1}}(x)]{{a}_{{21}}}(x)}}{{{{a}_{{11}}}{{a}_{{22}}} - {{a}_{{12}}}(x){{a}_{{21}}}(x)}},$$

where

$${{M}_{1}}(x,u) = - {{c}_{1}}({{x}_{1}} - {{u}_{1}}),\quad {{M}_{2}}(x,u) = - {{c}_{2}}({{x}_{3}} - {{x}_{1}} - {{u}_{2}}),$$
$${{F}_{1}}(x) = - {{m}_{2}}{{l}_{1}}{{R}_{2}}\sin({{x}_{3}} - {{x}_{1}})x_{2}^{2},\quad {{F}_{2}}(x) = {{m}_{2}}{{l}_{2}}{{R}_{2}}\sin({{x}_{3}} - {{x}_{1}})x_{4}^{2},$$
$${{a}_{{11}}} = {{m}_{1}}\rho _{1}^{2} + {{m}_{2}}l_{1}^{2},\quad {{a}_{{12}}} = {{a}_{{21}}} = {{m}_{2}}{{R}_{1}}{{l}_{1}}\cos({{x}_{3}} - {{x}_{1}}),\quad {{a}_{{22}}} = {{m}_{2}}\rho _{2}^{2}.$$

For the considered robot model, \({{m}_{1}} = 7.62\), \({{m}_{2}} = 8.73\), \({{R}_{1}} = 0.239\), \({{R}_{2}} = 0.251\), \({{\rho }_{1}} = 0.968\), \({{\rho }_{2}} = 0.973\), \({{l}_{1}} = 0.5\), \({{l}_{2}} = 0.67\), and \({{c}_{1}} = {{c}_{2}} = 10\). The trajectory of motion is assumed to satisfy the constraints \({\text{|}}{{M}_{i}}(x,u){\kern 1pt} {\text{|}} \leqslant 10\) for \(i = 1,2\) and \(\pi {\text{/}}6 \leqslant {{x}_{1}}(t) \leqslant 5{\text{/}}6\pi \) and \(\pi {\text{/}}3 \leqslant {{x}_{1}}(t) - {{x}_{3}}(t) \leqslant 5{\text{/}}6\pi \) for \(t \in [0,T]\).

The task is to find a control driving the system from the point \(x{\kern 1pt} '(0) = (\pi {\text{/}}6,0, - \pi {\text{/}}6,0)\) to the point \(x{\kern 1pt} '(T) = (5{\text{/}}6\pi ,0,\pi {\text{/}}3,0)\) over a minimum time \(T.\)

Starting at the approximation \(T = 4\), \({{u}_{1}}(t) = 0\), \({{u}_{2}}(t) = 0,\) \(t \in [0,T]\), a solution was obtained for which the constraint residuals did not exceed \({{10}^{{ - 3}}}\) and the functional value was 2.88. The optimal control and the corresponding state coordinates are shown in Fig. 4.

Fig. 4.
figure 4

Plots of the controls and state coordinates for the problem described in Subsection 4.2.

4.3. Optimization of an Electric Power System (EPS)

A mathematical EPS model was developed at the Melentiev Energy Systems Institute of the Siberian Branch of the Russian Academy of Science. It consists of a family of subsystems describing the generation and consumption of electricity, which are combined in a unified system by electrical network equations. For many years, this model has been successfully used to compute various operation modes of designed EPSes. Consider a small EPS model consisting of \(m\) synchronous generators and \(m\) steam turbines. Each synchronous machine is described by the Park–Gorev differential equations (without allowance for transient processes in the stator armature), which, after reducing them to the standard form, become

$$\mathop {\dot {x}}\nolimits_i = {{x}_{{m + i}}},\quad i = \overline {1,m} ,$$
$$\begin{gathered} \mathop {\dot {x}}\nolimits_{m + i} = {{\omega }_{0}}{\text{/}}({{T}_{{ji}}}{{P}_{{{{n}_{i}}}}})[{{x}_{{5m + i}}} - U_{i}^{1}{\text{/}}X_{{{{d}_{i}}}}^{1}({{x}_{{2m + i}}}\sin{{x}_{i}} + {{x}_{{3m + i}}}\cos{{x}_{i}}) \\ \, + U_{i}^{2}{\text{/}}X_{{{{d}_{i}}}}^{1}({{x}_{{2m + i}}}\cos{{x}_{i}} - {{x}_{{3m + i}}}\sin{{x}_{i}}) - {{D}_{i}}{{x}_{{m + i}}}],\quad i = \overline {1,m} , \\ \end{gathered} $$
$${{\dot {x}}_{{2m + i}}} = 1{\text{/}}{{T}_{{{{d}_{0}}i}}}[{{x}_{{4m + i}}} - {{x}_{{2m + i}}} + ({{X}_{{{{d}_{i}}}}} - X_{{{{d}_{i}}}}^{1}){\text{/}}X_{{{{d}_{i}}}}^{1}(U_{i}^{2}\sin{{x}_{i}} - {{x}_{{2m + i}}} + U_{i}^{1}\cos{{x}_{i}})],\quad i = \overline {1,m} ,$$
$$\begin{gathered} {{{\dot {x}}}_{{4m + i}}} = 1{\text{/}}T{{R}_{i}}[{{E}_{{{{R}_{0}}i}}} - {{x}_{{4m + i}}} + {{K}_{{Ui}}}({{U}_{{0i}}} - \sqrt {{{{(U_{i}^{1})}}^{2}} + {{{(U_{i}^{2})}}^{2}}} + {{K}_{{{{I}_{i}}}}}{\text{/}}X_{{{{d}_{i}}}}^{1}( - {{I}_{{0i}}}X_{{{{d}_{i}}}}^{1} + ({{({{x}_{{2m + i}}})}^{2}} \\ \, + {{({{x}_{{3m + i}}})}^{2}} + {{(U_{i}^{1})}^{2}} + {{(U_{i}^{2})}^{2}} - 2\cos{{x}_{i}}(U_{i}^{2}{{x}_{{3m + i}}} + U_{i}^{1}{{x}_{{2m + i}}}) + 2\sin{{x}_{i}}(U_{i}^{1}{{x}_{{3m + i}}} - U_{i}^{2}{{x}_{{2m + i}}}){{)}^{{1/2}}}) \\ \, + {{K}_{{{{f}_{i}}}}}{\text{/}}2\pi {{x}_{{m + i}}} + K_{{{{f}_{i}}}}^{1}{\text{/}}2\pi {{x}_{{2m + i}}}],\quad i = \overline {1,m} . \\ \end{gathered} $$

The dynamics of the steam turbines are governed by the equations

$$\mathop {\dot {x}}\nolimits_{5m + i} = 1{\text{/}}{{T}_{{si}}}[ - {{P}_{{ni}}}{\text{/}}{{\omega }_{0}}{{\sigma }_{{1i}}}{{x}_{{m + i}}} + {{x}_{{6m + i}}} - {{x}_{{5m + i}}}],\quad i = \overline {1,m} ,$$
$$\mathop {\dot {x}}\nolimits_{6m + i} = 1{\text{/}}{{T}_{{p2i}}}[ - {{P}_{{ni}}}{\text{/}}{{\omega }_{0}}{{\sigma }_{{2i}}}{{x}_{{m + i}}} + {{u}_{i}}],\quad i = \overline {1,m} .$$

The state variables \({{x}_{{jm + i}}},\;j = \overline {0,6} \), are the generator rotor angle, slip, the transition emf components in the longitudinal and transverse directions, and the field coil voltage for each \(i = \overline {1,m} \). The control \({{U}_{i}}\) changes the setting of the velocity regulator to ensure a stable dynamic transition to the prescribed post-emergency state after emergency load shedding. The right-hand sides of the equations also involve technical parameters of the generators and turbines, whose interpretations are omitted. The number of generators and turbines is set equal to five. Thus, for \(m = 5\), the number of differential equations is 35, i.e., \(n = 35\).

The electrical network model consists of algebraic equations for node voltages, which also involve the state variables. These equations are usually set in complex variables, but, for the numerical solution, they are rewritten in real variables. For example, in the experiment, the number of equations in complex variables was specified as \(N = 14\), while the transition to real variables produced a system of 28 algebraic equations:

$$C_{i}^{1}U_{i}^{1} - C_{i}^{2}U_{i}^{2} + \sum\limits_{k = 1,k \ne i}^N \,( - U_{k}^{1}Y_{{ik}}^{1} + U_{k}^{2}Y_{{ik}}^{2}) = 1{\text{/}}X_{{{{d}_{i}}}}^{1}({{x}_{{2m + i}}}\sin{{x}_{i}} + {{x}_{{3m + i}}}\cos{{x}_{i}}),\quad i = \overline {1,N} ,$$
$$C_{i}^{1}U_{i}^{2} + C_{i}^{2}U_{i}^{1} + \sum\limits_{k = 1,k \ne i}^N \,( - U_{k}^{1}Y_{{ik}}^{2} - U_{k}^{2}Y_{{ik}}^{1}) = 1{\text{/}}X_{{{{d}_{i}}}}^{1}({{x}_{{2m + i}}}\cos{{x}_{i}} + {{x}_{{3m + i}}}\sin{{x}_{4}}),\quad i = \overline {1,N} ,$$

where \(C_{i}^{1} = {{P}_{{ni}}}{\text{/}}{{({{U}_{i}})}^{2}} + A_{i}^{1},\) \(C_{i}^{2} = A_{i}^{2} - {{Q}_{{ni}}}{\text{/}}{{({{U}_{i}})}^{2}},\) and \({{({{U}_{i}})}^{2}} = {{(U_{i}^{1})}^{2}} + {{(U_{i}^{2})}^{2}}\).

Additionally, the state and control constraints were specified as

$${\text{|}}{\kern 1pt} {{x}_{i}}(t) - {{x}_{j}}(t){\kern 1pt} {\text{|}} \leqslant {{\delta }_{{\max}}},\quad i,j = \overline {1,m} ,$$
$${{x}_{{{{\min}_{i}}}}} \leqslant {{x}_{{4m + i}}}(t) \leqslant {{x}_{{{{\max}_{i}}}}},\quad i = \overline {1,2m} ,$$
$${{U}_{{{{\min}_{i}}}}} \leqslant {{U}_{i}}(t) \leqslant {{U}_{{{{\max}_{i}}}}},\quad i = \overline {1,m} .$$

The objective functional was a terminal state function for the system (at \(t = 10\) s) that measures the deviations of some of the state coordinates from prescribed values (e.g., power ratings).

The problem was solved numerically by applying the projected Lagrangian method. After performing 11 outer iterations, each involving about 20 inner iterations of the reduced gradient method, the given equalities were satisfied up to \({{10}^{{ - 6}}}\) and all variables remained within the prescribed ranges. The resulting optimal control ensured that the EPS reached the required operation mode in 10 s after the emergency load shedding.

Conclusions. The multimethod computational technique implemented in the form of parallel iterative optimization processes with the choice of the best approximation solves problems with automatic application of different optimization methods, thus significantly enhancing the efficiency and reliability of numerical solutions obtained in optimal control applications. Obtaining numerical solutions at the lowest computational cost is important in the design of computer-controlled robotic and electric power systems.

CONCLUSIONS

Practice has shown that the sequence of approximations produced by a multimethod algorithm for solving complicated control problems is based, as a rule, on several (three to five) numerical methods chosen automatically according to a given criterion in the optimization process. The conducted numerical experiments confirmed the efficiency of this approach as applied to real-world optimal control problems. It was established that the multimethod approach is often the only technique available for obtaining numerical solutions of complicated optimal control problems, since each of the methods taken separately cease to converge before obtaining an optimal solution. Multimethod algorithms can be efficiently implemented in practice relying on modern information technologies and multiprocessor computers. Based on this approach, the software code implementing the multimethod technique for computing optimal control and optimal parameters (see [912]) has been successfully used to solve complicated real-world optimal control problems from various fields of science and engineering (see [1014]). The use of an efficient technique for control computation is especially important in real-time control systems, for example, in control systems for high-maneuverability aircraft. For example, this software was used to solve a series of optimal maneuvering problems in the design of the Su-57 jet fighter aircraft, which has the world’s highest maneuverability (see [11]). It is also well known that the successful high-accurate landing of the Buran space shuttle was ensured by onboard software for choosing an optimal initial approximation. Specifically, the onboard computer chose a least cross-wind-dependent initial point for landing and calculated an optimal glide path.