1 Introduction

The determination of optimal (either minimum time or minimum consumption) space trajectories has been pursued with different approaches, for decades. Classical numerical optimization techniques are usually classified as

  1. (i)

    Indirect methods, based on applying the necessary conditions for optimality (i.e., the Pontryagin minimum principle and the Euler–Lagrange equations), which arise from the calculus of variations. Several indirect approaches have been proposed. Miele employed the gradient-restoration algorithm to optimizing Earth-to-Moon [1] and Earth-to-Mars [2] trajectories, as well as multistage rockets ascending paths [3, 4]. Brown et al. [5] applied a shooting method (in conjunction with some simplifying analytical developments) to generate multiburn transfers. A shooting approach was also used by Brusch and Vincent [6] and Kluever and Pierson [7], who addressed the optimization of Earth–Moon transfers. An indirect shooting method (based on determining the initial values of the adjoint variables) was proposed by Hull [8]. McAdoo et al. [9] developed OPBURN, a tool that combines two indirect techniques. Lastly, Redding [10] used an indirect method for optimizing transfers from a low Earth orbit to a geostationary orbit with a large number of burns;

  2. (ii)

    Direct methods, based on converting the optimization problem into a nonlinear programming problem (often involving a large number of parameters), without the use of the necessary conditions for optimality. In this class of methods, relevant contributions are due to Betts [11] and Enright and Conway, who successfully employed direct transcription [12] and direct collocation with nonlinear programming [13], based upon using quadrature rules for the implicit integration of the state equations. Differential inclusion has been investigated by Seywald [14] and Coverstone-Carrol and Williams [15];

  3. (iii)

    Hybrid methods, which combine direct and indirect techniques, usually by replacing some difficult conditions that arise from the calculus of variations with some simplified relations. With reference to multiburn transfer trajectories, Zondervan et al. [16] proposed a hybrid approach based on directly choosing the time intervals associated with each flight phase, without defining a switching function. Most recently, Kluever [17] used a hybrid algorithm that incorporates multiple shooting.

These three types of techniques belong to the class of “deterministic” methods, as opposed to “heuristic” or “stochastic” techniques. Due to their theoretical foundations, direct and indirect algorithms exhibit specific features, which are extensively dealt with in the scientific literature [18, 19]. With regard to convergence, in general direct techniques are more robust because they are often capable of converging to the desired result even in the presence of a poor guess. Conversely, indirect methods are more numerically accurate and do not need any parameterization of the time-varying quantities involved in the problem of interest. Both direct and indirect algorithms are relatively fast and accurate in yielding an optimal solution, if a reasonable guess is supplied. The implementation of deterministic techniques usually requires considerable programming efforts, both for the definition of the basic routines and for the development of the algorithm overall architecture. However, the two intrinsic features of deterministic approaches that represent their main limitations are (a) the need of a starting guess, and (b) locality of the results. In fact, both direct and indirect methods are local in nature, in the sense that the optimal solution they are able to identify depends on the available first attempt “solution”. The numerical result found by deterministic techniques usually lies in the proximity of the guess.

These circumstances have motivated the development of heuristic optimization techniques, usually inspired by natural phenomena. Heuristic methods exploit a population of individuals, representing possible solutions to the problem of interest. The initial population is randomly generated, and therefore no guess is to be provided. The optimal solution is sought through cooperation and competition among individuals. The most popular class of these techniques is represented by the genetic algorithms [20], which model the evolution of a species, based on Darwin’s principle of survival of the fittest. Applying heuristic algorithms to optimal control problems requires their preliminary conversion into parameter optimization problems, if possible with a moderate number of unknown parameters. In fact, as the dimensionality of the parameter set increases, the population size must increase to obtain a satisfactory performance, especially in terms of the algorithm capability of exploring the search space, where the unknown parameters are sought. The latter requirement on the parameter set implies also the mandatory use of explicit integration rules, because implicit integration would lead to an excessive number of parameters. While the state variables are obtained through numerical integration, the control variables are usually represented by means of a finite number of parameters, for instance using polynomial functions of time [21]. The main disadvantage in using heuristic approaches is in the fact that no guarantee of converging to an optimal solution exists. In fact, in general no analytical proof exists about convergence of a heuristic method, even to a locally minimizing solution. The effectiveness of heuristic approaches is instead based on the likelihood of converging to the globally minimizing solutions of qualitatively different problems, and extensive numerical tests are to be performed for evaluating the performance of any new algorithm. In addition, if a specific representation is adopted for the control variables, a heuristic method can identify at most a near optimal solution, i.e., the best solution in the class of functions used to represent the control.

The work that follows describes and applies a general optimization methodology, based upon the joint use of the necessary conditions for optimality (summarized in Sect. 2.1) and a recently-introduced heuristic technique (the particle swarm optimization algorithm [22], described in Sect. 2.2). Specifically, the necessary conditions for optimality are employed to express the control variables as functions of the adjoint variables, which are subject to the costate equations (and the related boundary conditions). As a result, a reduced parameter set (mainly composed of the unknown initial values of the adjoint variables) suffices to transcribe the optimal control problem into a parameter optimization problem. Furthermore, the optimal control variables are determined without any restriction, because no particular representation is assumed. Lastly, satisfaction of all the necessary conditions guarantees the (local) optimality of the solution. This methodology, termed indirect swarming algorithm, is thus capable of circumventing the main disadvantages of using heuristic techniques, while retaining the main advantage, which is the absence of any starting guess. The main reason for using a swarming algorithm is in its simplicity. In fact, the basic version of the particle swarm algorithm (PSO) appears as very intuitive and is extremely easy to program. Albeit computationally expensive with respect to gradient-based methods [23], in the scientific literature [24] the particle swarm technique is reported to be more efficient when compared to genetic algorithms, due to a reduced number of function evaluations. Despite its promising features and the vast number of papers devoted to this technique, most researchers concentrated on topological and multimodal mathematical problems [25], and only recently has this method been applied to space trajectory optimization problems [21, 2628].

This work applies the indirect swarming method to solving two different low-thrust orbital maneuvering problems:

  1. (i)

    Low-thrust transfers between elliptic orbits. The problem consists in determining the optimal thrust direction time history and the optimal locations of the departure and arrival points (along the initial and the final orbit, respectively) that minimize the time needed for transferring a spacecraft from a specified initial elliptic orbit to a specified (non-coaxial) final elliptic orbit. As continuous thrust is employed, minimizing the time of flight implies that also propellant consumption is minimized;

  2. (ii)

    Attainable low-thrust rendezvous in a specified time. Given a pursuer spacecraft and a target (circular) orbit, the problem consists in determining the portion of the target orbit that the pursuing spacecraft can reach (with appropriate velocity for orbit insertion) in a specified time. The attainable portion of orbit identifies the possible positions of a target spacecraft with which the pursuer spacecraft can rendezvous within a specified time.

This study is intended to prove that the indirect swarming method, despite its intuitiveness and simplicity, is capable of effectively solving low-thrust orbit transfer and rendezvous problems with great numerical accuracy.

2 Indirect Swarming Method

This section is concerned with the description of the method of solution, based on the joint use of the analytical necessary conditions for optimality and a simple swarming algorithm.

In general, a given dynamical system is described through the time-varying, n-dimensional state vector x(t) and controlled through the time-varying, m-dimensional control vector u(t); the dynamical system evolution over the time interval [t 0,t f ] (with t 0 and t f either specified or unspecified) depends also on the time-independent, p-dimensional parameter vector p. The governing state equations have the general form

$$ \dot{\mathbf{x}} = \mathbf{f} ( \mathbf{x},\mathbf{u},\mathbf{p},t ) $$
(1)

and are subject to q boundary conditions (q≤2n+p),

$$ \boldsymbol{\psi} ( \mathbf{x}_{0}, \mathbf{x}_{f}, \mathbf{p},t_{0},t_{f} ) = \boldsymbol{0}. $$
(2)

Definition 2.1

(Feasible solution)

A feasible solution for the previously mentioned dynamical system is a solution that obeys the state equations (1) and satisfies the boundary conditions (2).

Definition 2.2

(Objective functional)

The objective functional associated with the time evolution of the dynamical system has the following general form

$$ J: = \varphi ( \mathbf{x}_{0},\mathbf{x}_{f}, \mathbf{p},t_{0},t_{f} ) + \int_{t_{0}}^{t_{f}} L \bigl[ \mathbf{x} ( t ),\mathbf{u} ( t ),\mathbf{p},t \bigr]\,dt $$
(3)

where the first term depends only on the initial and final values of the state variables, p, t 0, and t f , whereas the second term depends on the entire time evolution of the integrand functional L.

Definition 2.3

(Optimal control problem)

The optimal control problem consists of identifying a feasible solution that minimizes the objective functional J, through selection of the optimal control law u (t) and the optimal parameter vector p , i.e.,

$$ \bigl\{ \mathbf{u}^{*},\mathbf{p}^{*} \bigr\} = \mathop{\mathrm{arg\,min}}_{ \{ \mathbf{u},\mathbf{p} \}} J. $$
(4)

2.1 Necessary Conditions for Optimality

In order to state the necessary conditions for optimality, which are extensively employed in the present paper, first some auxiliary functions are to be introduced.

Definition 2.4

(Hamiltonian and boundary condition function)

A Hamiltonian H and a function of the boundary conditions Φ are defined as [29, 30]

$$\begin{aligned} &H ( \mathbf{x},\mathbf{u},\mathbf{p},t ): = L ( \mathbf{x}, \mathbf{u}, \mathbf{p},t ) + \boldsymbol{\lambda}^{T}\mathbf{f} ( \mathbf{x}, \mathbf{u},\mathbf{p},t ), \end{aligned}$$
(5)
$$\begin{aligned} &\varPhi: = \varphi ( \mathbf{x}_{0}, \mathbf{x}_{f}, \mathbf{p},t_{0},t_{f} ) + \boldsymbol{\upsilon}^{T} \boldsymbol{\psi} ( \mathbf{x}_{0}, \mathbf{x}_{f}, \mathbf{p},t_{0},t_{f} ) \end{aligned}$$
(6)

where the time-varying, n-dimensional vector λ(t) and the time-independent, q-dimensional vector υ are the adjoint variables conjugate to the state equations (1) and to the boundary conditions (2), respectively.

Proposition 2.1

(Necessary conditions for optimality)

In the presence of an optimal (locally minimizing) solution, the following conditions hold:

$$\begin{aligned} &\mathbf{u}^{*} = \mathop{\mathrm{arg\,min}}_{\mathbf{u}}H, \end{aligned}$$
(7)
$$\begin{aligned} &\dot{\boldsymbol{\lambda}} = - \biggl[ \frac{\partial H}{\partial \mathbf{x}} \biggr]^{T}, \end{aligned}$$
(8)
$$\begin{aligned} &\boldsymbol{\lambda}_{0} = - \biggl[ \frac{\partial \varPhi}{\partial \mathbf{x}_{0}} \biggr]^{T} \quad \Rightarrow \quad \boldsymbol{\lambda}_{0} = - \biggl[ \frac{\partial \varphi}{\partial \mathbf{x}_{0}} \biggr]^{T} - \biggl[ \frac{\partial \boldsymbol{\psi}}{\partial \mathbf{x}_{0}} \biggr]^{T}\boldsymbol{\upsilon}, \end{aligned}$$
(9)
$$\begin{aligned} &\boldsymbol{\lambda}_{f} = \biggl[ \frac{\partial \varPhi}{\partial \mathbf{x}_{f}} \biggr]^{T} \quad \Rightarrow \quad \boldsymbol{\lambda}_{f} = \biggl[ \frac{\partial \varphi}{\partial \mathbf{x}_{f}} \biggr]^{T} + \biggl[ \frac{\partial \boldsymbol{\psi}}{\partial \mathbf{x}_{f}} \biggr]^{T}\boldsymbol{\upsilon}, \end{aligned}$$
(10)
$$\begin{aligned} &\biggl[ \frac{\partial \varPhi}{\partial \mathbf{p}} \biggr]^{T} + \int _{t_{0}}^{t_{f}} \biggl[ \frac{\partial H}{\partial \mathbf{p}} \biggr]^{T}dt = 0. \end{aligned}$$
(11)

For the very general Hamiltonian of Eq. (5) the minimum principle (Eq. (7)) yields the control variables as functions of the adjoint variables and the state variables; Eq. (8) are the adjoint (or costate) equations, together with the related boundary conditions (9) and (10); Eq. (11) is equivalent to p algebraic scalar equations. If the initial time is unspecified, then the following transversality condition holds:

$$ H_{0} - \frac{\partial \varPhi}{\partial t_{0}} = 0 $$
(12)

whereas if the final time is unspecified, the additional transversality condition is

$$ H_{f} + \frac{\partial \varPhi}{\partial t_{f}} = 0. $$
(13)

Proposition 2.1 is well established in optimal control theory (and is proven, for instance, in [30]). Unknowns for the problem are the state x, the control u, the parameter vector p, and the adjoint variables λ and υ. Among Eqs. (9) and (11), q scalar equations are assumed to exist such that they can be solved to obtain υ. As a result, only (2n+pq) scalar equations remain to be used (other than the 2n scalar differential equations (1) and (8), which govern the state and costate time evolution). These equations are completed by the q boundary conditions (2), and therefore the total number of equations equals (2n+p), corresponding to (2n+p) unknowns (the state and costate variables x and λ, and p parameters). These (2n+p) scalar equations are problem-dependent and can be employed for expressing some of the initial conditions (for the state x or the costate λ) as a function of other unknown quantities.

Proposition 2.2

(Problems with prescribed initial state)

If the initial conditions for the state are all specified or expressed by n functions of p, then the initial values of the adjoint variables, {λ i0} i=1,…,n , are unspecified.

Proof

Due to the assumptions of Proposition 2.2, Eq. (2) can be rewritten as

$$ \boldsymbol{\psi} ( \mathbf{x}_{0}, \mathbf{x}_{f}, \mathbf{p},t_{0},t_{f} ) = \left[ \begin{array}{c@{\quad}c@{\quad}c@{\quad}c} x_{10} - f_{10} ( \mathbf{p} ) & \ldots & x_{n0} - f_{n0} ( \mathbf{p} ) & \tilde{\boldsymbol{\psi}}^{T} ( \mathbf{x}_{f},t_{f} ) \end{array} \right]^{T} $$
(14)

where f k0(p) (k=1,…,n) denotes either a function of p or a specified value. Due to Eq. (9), one obtains

$$ \lambda_{i0} = - \upsilon_{i} \quad ( i = 1, \ldots,n ). $$
(15)

This means that in this special case Eq. (9) does not yield any useful relation on the initial values of the adjoint variables, which remain unspecified. □

Proposition 2.3

(Problems with prescribed final state)

If the final conditions for the state are all specified or expressed by n functions of p, then the final values of the adjoint variables, {λ if } i=1,…,n , are unspecified.

Proof

Proposition 2.3 can be proven in a way similar to that used for demonstrating Proposition 2.2. □

Propositions 2.2 and 2.3 imply that in the case of initial and final values of all of the state components specified, or functions of p only, no condition can be derived for the terminal values of the adjoint variables.

In conclusion, using well established analytical developments arising from the calculus of variations, the original optimal control problem can be converted into a two-point boundary-value problem, in which the control vector is expressed as a function of the time-varying adjoint variables λ (and, possibly, of p unknown parameters). With this theoretical basis, the solution process that is being employed is composed of the following steps:

  1. Step 1

    Using Eqs. (9)–(11) a minimal set of unknown parameters and initial conditions (for x and λ) is identified and denoted with X 0.

  2. Step 2

    The optimal control is obtained by means of the Pontryagin minimum principle (7).

  3. Step 3

    For a particular choice of X 0 and of the initial and final times (if they are unspecified)

    1. (a)

      The state equations (1) and the adjoint equations (8) are integrated numerically, using the optimal control law given at Step 2;

    2. (b)

      The boundary conditions holding at the final time, i.e., Eqs. (2) and (10), are evaluated.

In the end, the optimal control problem has been converted into a parameter optimization problem, whose parameter set is denoted with \(\boldsymbol{\chi} = [ \begin{array}{c@{\ }c@{\ }c} \chi_{1} & \ldots & \chi_{N} \end{array} ]^{T} ( = [ \begin{array}{c@{\ }c@{\ }c} \mathbf{X}_{0}^{T} & t_{0} & t_{f} \end{array} ]^{T}, \mbox{in general} )\). Convergence to a locally minimizing solution corresponds to the vanishing of the boundary constraint violations calculated at Step 3(b).

2.2 Particle Swarm Algorithm

Unconstrained parameter optimization problems can be stated as follows: determine the optimal values of the N unknown parameters {χ 1,…,χ N } such that the objective function J is minimized. The time evolution of the dynamical system under consideration depends on {χ 1,…,χ N }, which are constrained to their respective ranges,

$$ a_{k} \le \chi_{k} \le b_{k} \quad ( k = 1, \ldots,N ). $$
(16)

As previously mentioned, the PSO technique is a population-based method, where the population is represented by a swarm of N particles. Each particle i (i=1,…,N P ) is associated with a position vector χ(i) and with a velocity vector w(i). The position vector includes the values of the N unknown parameters of the problem

$$ \boldsymbol{\chi} ( i ): = \left [ \begin{array}{c@{\ }c@{\ }c} \chi_{1} ( i ) & \ldots & \chi_{N} ( i ) \end{array} \right ]^{T} $$
(17)

whereas the velocity vector, whose components are denoted with w k (i) (k=1,…,N), determines the position update (both χ and w are defined as N-dimensional column vectors). As the position components are bounded, also the corresponding velocity components must be constrained to suitable ranges,

$$ \begin{aligned}[b] &- ( b_{k} - a_{k} ) \le w_{k} \le ( b_{k} - a_{k} ) \quad \Rightarrow \quad - d_{k} \le w_{k} \le d_{k} \\ &\quad \mbox{if } d_{k}: = b_{k} - a_{k}\ ( k = 1, \ldots,N ). \end{aligned} $$
(18)

The limitations (18) are due to the fact that if w k >b k a k or w k <a k b k then, starting from any coordinate \(\chi_{k}^{ ( j )}\) (at the iteration j), the updated coordinate \(\chi_{k}^{ ( j + 1 )}\) (\(= \chi_{k}^{ ( j )} + w_{k} \)) would violate condition (16). If \(\mathbf{a}: = [ \begin{array}{c@{\ }c@{\ }c} a_{1} & \ldots & a_{N} \end{array} ]^{T}\), \(\mathbf{b}: = [ \begin{array}{c@{\ }c@{\ }c} b_{1} & \ldots & b_{N} \end{array} ]^{T}\), and \(\mathbf{d}: = [ \begin{array}{c@{\ }c@{\ }c} d_{1} & \ldots & d_{N} \end{array} ]^{T}\), the relationships (16) and (18) can be rewritten in compact form as

$$ \mathbf{a} \le \boldsymbol{\chi} \le \mathbf{b} \quad \mbox{and}\quad - \mathbf{d} \le \mathbf{w} \le \mathbf{d}. $$
(19)

Each particle represents a possible solution to the problem, and corresponds to a specific value of the objective function. The initial population is randomly generated by introducing N P particles, whose positions and velocities are (stochastically) uniformly distributed in the respective search spaces, defined by Eq. (19). The expressions for position and velocity update determine the swarm evolution toward the location of the globally optimal position, which corresponds to the globally optimal solution to the problem of interest. The following steps compose the generic iteration j:

  1. Step 1

    For i=1,…,N P ,

    1. (a)

      Evaluate the objective function associated with particle i, J (j)(i);

    2. (b)

      Determine the best position ever visited by particle i up to the current iteration j,

    $$\begin{aligned} &\boldsymbol{\psi}^{ ( j )} ( i ) \left (:= \left [ \begin{array}{c@{\ }c@{\ }c} \psi_{1}^{ ( j )} ( i ) & \ldots & \psi_{N}^{ ( j )} ( i ) \end{array} \right ]^{T} \right ): \boldsymbol{\psi}^{ ( j )} ( i ) = \boldsymbol{\chi}^{ ( l )} ( i ), \\ &\quad \mbox{where } l = \mathop{\mathrm{arg\,min}} _{p = 1, \ldots,j}J^{ ( p )} ( i ). \end{aligned}$$
  2. Step 2

    Determine the global best position ever visited by the entire swarm, \(\mathbf{Y}^{ ( j )} (: = [ \begin{array}{c@{\ }c@{\ }c} Y_{1}^{ ( j )} & \ldots & Y_{N}^{ ( j )} \end{array} ]^{T} ): \mathbf{Y}^{ ( j )} = \boldsymbol{\psi}^{ ( j )} ( q )\), where \(q = \mathop{\mathrm{arg\,min}}_{i = 1, \ldots,N_{P}}\Im^{ ( j )} ( i )\) and ℑ(j)(i) (i=1,…,N P ) represents the value of the objective function corresponding to the best position ever visited by particle i up to iteration j, i.e., ℑ(j)(i)=min p=1,…,j J (p)(i).

  3. Step 3

    Update the velocity vector. For each particle i and for each component w k (i) (k=1,…,N; i=1,…,N P )

    $$ w_{k}^{ ( j + 1 )} ( i ) = c_{I}w_{k}^{ ( j )} ( i ) + c_{C} \bigl[ \psi_{k}^{ ( j )} ( i ) - x_{k}^{ ( j )} ( i ) \bigr] + c_{S} \bigl[ Y_{k}^{ ( j )} - x_{k}^{ ( j )} ( i ) \bigr]. $$
    (20)

    The inertial, cognitive, and social (stochastic) weights have the following expressions [31]:

    $$ c_{I} = \frac{1 + r_{1} ( 0,1 )}{2}, \quad c_{C} = 1.49445r_{2} ( 0,1 ), \quad c_{S} = 1.49445r_{3} ( 0,1 ), $$
    (21)

    where r 1(0,1), r 2(0,1), and r 3(0,1) represent three independent random numbers with uniform distribution between 0 and 1. Then,

    1. (a)

      \(\mbox{if } w_{k}^{ ( j + 1 )} ( i ) < - d_{k} \Rightarrow w_{k}^{ ( j + 1 )} ( i ) = - d_{k}\);

    2. (b)

      \(\mbox{if } w_{k}^{ ( j + 1 )} ( i ) < - d_{k} \Rightarrow w_{k}^{ ( j + 1 )} ( i ) = - d_{k}\).

  4. Step 4

    Update the position vector. For each particle i and for each component χ k (i) (k=1,…,n;i=1,…,N P )

    $$ \chi_{k}^{ ( j + 1 )} ( i ) = \chi_{k}^{ ( j )} ( i ) + w_{k}^{ ( j )} ( i ). $$
    (22)

    Then,

    1. (a)

      \(\mbox{if } \chi_{k}^{ ( j + 1 )} ( i ) < a_{k} \Rightarrow \chi_{k}^{ ( j + 1 )} ( i ) = a_{k} \mbox{ and } w_{k}^{ ( j + 1 )} ( i ) = 0\);

    2. (b)

      \(\mbox{if } \chi_{k}^{ ( j + 1 )} ( i ) > b_{k} \Rightarrow \chi_{k}^{ ( j + 1 )} ( i ) = b_{k} \mbox{ and } w_{k}^{ ( j + 1 )} ( i ) = 0\).

The algorithm terminates when the maximum number of iterations N IT is reached. The position vector of the global best particle, \(\mathbf{Y}^{ ( N_{IT} )}\), is expected to contain the optimal values of the unknown parameters, which correspond to the global minimum of J, denoted with \(J_{\mathrm{opt}}^{ ( N_{IT} )}\). A fairly large number of iterations are set to ensure that the final solution is stable enough to be considered optimal. The central idea underlying the method is contained in the formula (20) for velocity updating. This formula includes three terms with stochastic weights: the first term is the so-called inertial component and for each particle is proportional to its velocity in the preceding iteration; the second component is termed the cognitive component, directed toward the personal best position, i.e., the best position experienced by the particle; and finally, the third term is the social component, directed toward the global best position, i.e., the best position yet located by any particle in the swarm. According to Step 3, if a component w k of the velocity vector violates Eq. (18), then w k is set to the minimum (maximum) value −d k (d k ). If a component χ k of the position vector violates Eq. (16), then χ k is set to the minimum (maximum) value a k (b k ), and the corresponding velocity component is set to 0. This ensures that in the successive iteration the update of the velocity component is not affected by the first term of Eq. (20), which could lead the particle to again violate the constraint (16).

Optimization problems must be frequently modeled as constrained optimization problems, i.e., they involve equalities and/or inequalities, regarding (directly or indirectly) the unknown parameters. The PSO algorithm must be suitably adjusted to deal with constrained problems. In general, heuristic computation methods encounter difficulties in treating equality constraints [31, 32] because they narrow considerably the search space where feasible solutions can be located. This is due to the fact that (non-redundant) equality constraints actually reduce the degree of freedom of the problem according to their number. In fact, M equality constraints reduce the degree of freedom by m. Therefore, in the presence of N unknown parameters, at most M=N equality constraints are admissible (MN),

$$ d_{r} ( \boldsymbol{\chi} ) = 0 \quad ( r = 1, \ldots,M ). $$
(23)

The most popular approach for dealing with these constraints consists in penalizing them by adjoining additional terms to the objective function

$$ \tilde{J} = J + \sum_{r = 1}^{M} \alpha_{r} \bigl\vert d_{r} ( \boldsymbol{\chi} ) \bigr\vert . $$
(24)

In this research, the equality constraints are represented by the boundary conditions evaluated at Step 3(b) of Sect. 2.1. As previously remarked, the necessary conditions are employed to enforce optimality, and, as a result, in Eq. (24) J can be set to 0. Minimizing the resulting objective \(\tilde{J}\) to 0 implies fulfillment of all the necessary conditions for optimality and is the final purpose of the indirect swarming algorithm.

3 Low-Thrust Transfers Between Elliptic Orbits

The problem is in determining the optimal thrust direction time history and the optimal locations of the departure and arrival points (along the initial and the final orbit, respectively) that minimize the time needed for transferring a spacecraft from an initial elliptic orbit to a final coplanar elliptic orbit, with specified, non-coaxial mutual orientation.

The terminal elliptic orbits have semi-major axes a 0 and a f and eccentricities e 0 and e f , respectively. The angle φ formed by the apsidal lines of the two ellipses (shown in Fig. 1) defines their mutual orientation. The locations of the departure and arrival points along the initial and final orbit are identified by the true anomalies f 0 and f f , respectively. Let v r , v θ , and r represent the radial and the horizontal components of the velocity, and the radius. If μ denotes the gravitational parameter of the attracting body, the initial conditions (at t 0) and the final conditions (at t f ) are given by

$$\begin{aligned} & {\begin{aligned} &{v_{r} ( t_{0} ) = \sqrt{ \frac{\mu}{a_{0} ( 1 - e_{0}^{2} )}} e_{0}\sin f_{0}, \qquad v_{\theta} ( t_{0} ) = \sqrt{\frac{\mu}{a_{0} ( 1 - e_{0}^{2} )}} ( 1 + e_{0} \cos f_{0} ) ,} \\ &{r ( t_{0} ) = \frac{a_{0} ( 1 - e_{0}^{2} )}{1 + e_{0}\cos f_{0}}, \qquad \xi ( t_{0} ) = f_{0},} \end{aligned}} \end{aligned}$$
(25)
$$\begin{aligned} & {\begin{aligned} &{ v_{r} ( t_{f} ) = \sqrt{ \frac{\mu}{a_{f} ( 1 - e_{f}^{2} )}}e_{f}\sin f_{f}, \qquad v_{\theta} ( t_{f} ) = \sqrt{\frac{\mu}{a_{f} ( 1 - e_{f}^{2} )}} ( 1 + e_{f} \cos f_{f} ),} \\ &{r ( t_{f} ) = \frac{a_{f} ( 1 - e_{f}^{2} )}{1 + e_{f}\cos f_{f}}, \qquad \xi ( t_{f} ) = \varphi + f_{f}.} \end{aligned} } \end{aligned}$$
(26)

The symbol ξ denotes the spacecraft angular displacement from the inertial axis X, which is aligned with the apsidal line of the initial ellipse, as illustrated in Fig. 2. As the spacecraft employs a constant (low) thrust during the entire time of flight the thrust-to-mass ratio (T/m) has the expression

$$ \frac{T}{m} = \frac{T}{m_{0} - \frac{T}{c} ( t - t_{0} )} = \frac{cn_{0}}{c - n_{0} ( t - t_{0} )}. $$
(27)

In Eq. (27), m 0 is the initial spacecraft mass, and therefore n 0 represents the thrust acceleration at t 0, whereas c is the effective exhaust velocity of the propulsive system.

Fig. 1
figure 1

Geometry of the terminal elliptic orbits

The spacecraft equations of motion (also referred to as the state equations) involve the two components of the velocity, the radius r, and the angle ξ:

$$\begin{aligned} \dot{v}_{r} =& - \frac{\mu - rv_{\theta}^{2}}{r^{2}} + \frac{T}{m}\sin \delta , \qquad \dot{v}_{\theta} = - \frac{v_{r}v_{\theta}}{r} + \frac{T}{m}\cos \delta , \qquad \dot{r} = v_{r} , \qquad \dot{\xi} = \frac{v_{\theta}}{r}. \end{aligned}$$
(28)

The angle δ is the thrust-pointing-angle (relative to the local horizontal). The state vector is \(\mathbf{x}: = [ \begin{array}{c@{\ }c@{\ }c@{\ }c} x_{1} & x_{2} & x_{3} & x_{4} \end{array} ]^{T} = [ \begin{array}{c@{\ }c@{\ }c@{\ }c} v_{r} & v_{\theta} & r & \xi \end{array} ]^{T}\), whereas the control vector includes δ only: u:=u=δ. If t 0 is set to 0, the objective function to be minimized is given by J=t f .

3.1 Solution Process

For this problem the Hamiltonian H and the function Φ are

$$\begin{aligned} H : =& \boldsymbol{\lambda}^{T}\mathbf{f} = \lambda_{1} \biggl[ - \frac{\mu - x_{3}x_{2}^{2}}{x_{3}^{2}} + \frac{T}{m}\sin \delta \biggr] + \lambda_{2} \biggl[ - \frac{x_{1}x_{2}}{x_{3}} + \frac{T}{m}\cos \delta \biggr] \\ &{}+ \lambda_{3}x_{1} + \lambda_{4} \frac{x_{2}}{x_{3}}, \end{aligned}$$
(29)
$$\begin{aligned} \varPhi : =& t_{f} + \boldsymbol{\upsilon}^{T} \boldsymbol{\psi} \\ =& \upsilon_{1} \Biggl[ x_{10} - \sqrt {\frac{\mu}{a_{0} ( 1 - e_{0}^{2} )}} e_{0}\sin f_{0} \Biggr] + \upsilon_{2} \Biggl[ x_{20} - \sqrt{ \frac{\mu}{a_{0} ( 1 - e_{0}^{2} )}} ( 1 + e_{0}\cos f_{0} ) \Biggr] \\ &{}+ \upsilon_{3} \biggl[ x_{30} - \frac{a_{0} ( 1 - e_{0}^{2} )}{1 + e_{0}\cos f_{0}} \biggr] + \upsilon_{4} [ x_{40} - f_{0} ] \\ &{}+ \upsilon_{5} \Biggl[ x_{1f} - \sqrt{ \frac{\mu}{a_{f} ( 1 - e_{f}^{2} )}} e_{f}\sin f_{f} \Biggr] \\ &{} + \upsilon_{6} \Biggl[ x_{2f} - \sqrt{ \frac{\mu}{a_{f} ( 1 - e_{f}^{2} )}} ( 1 + e_{f}\cos f_{f} ) \Biggr] + \upsilon_{7} \biggl[ x_{3f} - \frac{a_{f} ( 1 - e_{f}^{2} )}{1 + e_{f}\cos f_{f}} \biggr] \\ &{}+ \upsilon_{8} [ x_{4f} - \varphi - f_{f} ] + t_{f} \end{aligned}$$
(30)

where x k0:=x k (t 0) and x kf :=x k (t f ) (k=1,2,3,4). The necessary conditions for optimality (7) through (10) yield the following relationships:

$$\begin{aligned} & {\cos u^{*} = - \frac{\lambda_{2}^{*}}{\sqrt{ ( \lambda_{1}^{*} )^{2} + ( \lambda_{2}^{*} )^{2}}} \quad \mbox{and}\quad \sin u^{*} = - \frac{\lambda_{1}^{*}}{\sqrt{ ( \lambda_{1}^{*} )^{2} + ( \lambda_{2}^{*} )^{2}}},} \end{aligned}$$
(31)
$$\begin{aligned} & {\begin{aligned} &{\dot{\lambda}_{1}^{*} = - \lambda_{3}^{*} + \frac{x_{2}^{*}\lambda_{2}^{*}}{x_{3}^{*}}, \qquad \dot{ \lambda}_{2}^{*} = \frac{ - 2x_{2}^{*}\lambda_{1}^{*} + x_{1}^{*}\lambda_{2}^{*} - \lambda_{4}^{*}}{x_{3}^{*}} ,} \\ &{ \dot{ \lambda}_{3}^{*} = \frac{ ( x_{2}^{*} )^{2}\lambda_{1}^{*} - x_{1}^{*}x_{2}^{*}\lambda_{2}^{*} + \lambda_{4}^{*}x_{2}^{*}}{ ( x_{3}^{*} )^{2}} - \frac{2\mu_{S}\lambda_{1}^{*}}{ ( x_{3}^{*} )^{3}}, \qquad \dot{\lambda}_{4}^{*} = 0} \end{aligned}} \end{aligned}$$
(32)
$$\begin{aligned} &\lambda_{10}^{*} = - \upsilon_{1}, \qquad \lambda_{20}^{*} = - \upsilon_{2}, \qquad \lambda_{30}^{*} = - \upsilon_{3}, \qquad \lambda_{40}^{*} = - \upsilon_{4}, \end{aligned}$$
(33)
$$\begin{aligned} &\lambda_{1f}^{*} = \upsilon_{5}, \qquad \lambda_{2f}^{*} = \upsilon_{6}, \qquad \lambda_{3f}^{*} = \upsilon_{7}, \qquad \lambda_{4f}^{*} = \upsilon_{8} \end{aligned}$$
(34)

where λ k0:=λ k (t 0) and λ kf :=λ k (t f ) (k=1,2,3,4). Equations (33)–(34) reflect the fact that Propositions 2.2 and 2.3 hold. From Eq. (31) it is apparent that the optimal thrust direction is aligned with the vector \([ \begin{array}{c@{\ }c} - \lambda_{2}^{*} & - \lambda_{1}^{*} \end{array} ]^{T}\) at any time. This result is consistent with the primer vector theory, developed by Lawden [33] about 50 years ago. Two further necessary conditions, arising from Eq. (11), are related to the unknown true anomalies f 0 and f f :

$$\begin{aligned} &\sqrt{\frac{\mu}{a_{0} ( 1 - e_{0}^{2} )}} \bigl( \lambda_{10}^{*}e_{0} \cos f_{0} - \lambda_{20}^{*}e_{0}\sin f_{0} \bigr) + \lambda_{30}^{*}\frac{a_{0} ( 1 - e_{0}^{2} )}{ ( 1 + e_{0}\cos f_{0} )^{2}} + \lambda_{40}^{*} = 0, \end{aligned}$$
(35)
$$\begin{aligned} &\sqrt{\frac{\mu}{a_{f} ( 1 - e_{f}^{2} )}} \bigl( \lambda_{2f}^{*}e_{f} \sin f_{f} - \lambda_{1f}^{*}e_{f}\cos f_{f} \bigr) - \lambda_{3f}^{*}\frac{a_{f} ( 1 - e_{f}^{2} )}{ ( 1 + e_{f}\cos f_{f} )^{2}} - \lambda_{4f}^{*} = 0. \end{aligned}$$
(36)

In Eqs. (35)–(36), the relations (33)–(34) have been employed. Due to the adjoint equation for λ 4 (\(\dot{\lambda}_{4}^{*} = 0\), cf. Eq. (32)) \(\lambda_{40}^{*} = \lambda_{4f}^{*} = \lambda_{4}^{*}\), and Eqs. (35)–(36) can be rewritten as

$$\begin{aligned} &\lambda_{4}^{*} = \sqrt{ \frac{\mu}{a_{0} ( 1 - e_{0}^{2} )}} \bigl( \lambda_{20}^{*}e_{0} \sin f_{0} - \lambda_{10}^{*}e_{0}\cos f_{0} \bigr) - \lambda_{30}^{*}\frac{a_{0} ( 1 - e_{0}^{2} )}{ ( 1 + e_{0}\cos f_{0} )^{2}}, \end{aligned}$$
(37)
$$\begin{aligned} &\sqrt{\frac{\mu}{a_{f} ( 1 - e_{f}^{2} )}} \bigl( \lambda_{2f}^{*}e_{f} \sin f_{f} - \lambda_{1f}^{*}e_{f}\cos f_{f} \bigr) - \lambda_{3f}^{*}\frac{a_{f} ( 1 - e_{f}^{2} )}{ ( 1 + e_{f}\cos f_{f} )^{2}} - \lambda_{4}^{*} = 0. \end{aligned}$$
(38)

Equation (37) can be used to express the constant λ 4 as a function of {λ 1,λ 2,λ 3,f 0}. Lastly, as the final time t f is unspecified, the transversality condition (13) holds, i.e.,

$$ \bigl( \boldsymbol{\lambda}_{f}^{*} \bigr)^{T} \mathbf{f}_{f} + 1 = 0, $$
(39)

where the subscript “f” refers to the final time.

As mentioned previously, equality constraints reduce the search space where feasible solutions can be located. However, the following proposition holds.

Proposition 3.1

(Ignorability of the transversality condition)

For the problem at hand, the optimal control u (t) can be determined by neglecting the transversality condition (39), which is ignorable.

Proof

First, the costate equations (32) are homogeneous in λ, as well as the related boundary conditions (37)–(38). Hence, if certain initial values of the components of λ such that \(\lambda_{10} = k_{\lambda} \lambda_{10}^{*}, \lambda_{20} = k_{\lambda} \lambda_{20}^{*},\lambda_{30} = k_{\lambda} \lambda_{30}^{*}\), and \(\lambda_{4} = k_{\lambda} \lambda_{4}^{*}\) (k λ >0) are found, then the same proportionality holds between λ and the optimal λ at any t, due to homogeneity of Eq. (32). Second, the control law can be expressed as a function of the non-optimal costate λ through Eq. (31),

$$ \cos u = - \frac{\lambda_{2}}{\sqrt{\lambda_{1}^{2} + \lambda_{2}^{2}}} \quad \mbox{and}\quad \sin u = - \frac{\lambda_{1}}{\sqrt{\lambda_{1}^{2} + \lambda_{2}^{2}}}, $$
(40)

and, as the proportionality condition λ=k λ λ holds, one obtains

$$\begin{aligned} \cos u =& - \frac{\lambda_{2}}{\sqrt{\lambda_{1}^{2} + \lambda_{2}^{2}}} = - \frac{k_{\lambda} \lambda_{2}^{*}}{k_{\lambda} \sqrt{ ( \lambda_{1}^{*} )^{2} + ( \lambda_{2}^{*} )^{2}}} = - \frac{\lambda_{2}^{*}}{\sqrt{ ( \lambda_{1}^{*} )^{2} + ( \lambda_{2}^{*} )^{2}}} \equiv \cos u^{*}, \end{aligned}$$
(41)
$$\begin{aligned} \sin u =& - \frac{\lambda_{1}}{\sqrt{\lambda_{1}^{2} + \lambda_{2}^{2}}} = - \frac{k_{\lambda} \lambda_{1}^{*}}{k_{\lambda} \sqrt{ ( \lambda_{1}^{*} )^{2} + ( \lambda_{2}^{*} )^{2}}} = - \frac{\lambda_{1}^{*}}{\sqrt{ ( \lambda_{1}^{*} )^{2} + ( \lambda_{2}^{*} )^{2}}} \equiv \sin u^{*}. \end{aligned}$$
(42)

Equations (41)–(42) mean that the optimal control law u (t) can be expressed as a function of the non-optimal costate λ (through Eq. (31)), provided that the proportionality condition λ=k λ λ holds. Third, at the final time the Hamiltonian can be evaluated by using the optimal control (yielding the optimal state variables), expressed as a function of the non-optimal adjoint vector λ,

$$\begin{aligned} H_{f} : =& \biggl\{ \lambda_{1} \biggl[ - \frac{\mu - x_{3}^{*} ( x_{2}^{*} )^{2}}{ ( x_{3}^{*} )^{2}} - \frac{T}{m}\frac{\lambda_{1}}{\sqrt{\lambda_{1}^{2} + \lambda_{2}^{2}}} \biggr] + \lambda_{2} \biggl[ - \frac{x_{1}^{*}x_{2}^{*}}{x_{3}^{*}} - \frac{T}{m} \frac{\lambda_{2}}{\sqrt{\lambda_{1}^{2} + \lambda_{2}^{2}}} \biggr] \\ &{} + \lambda_{3}x_{1}^{*} + \lambda_{4} \frac{x_{2}^{*}}{x_{3}^{*}} \biggr\} _{t = t_{f}}. \end{aligned}$$
(43)

The fact that λ=k λ λ leads to

$$ H_{f} = k_{\lambda} \bigl[ \bigl( \boldsymbol{ \lambda}_{f}^{*} \bigr)^{T}\mathbf{f}_{f} \bigr]. $$
(44)

Then, due to Eq. (39),

$$ H_{f} = - k_{\lambda} \ ( \ne - 1 ). $$
(45)

Equation (45) definitely implies that the optimal control u (t) can be determined regardless of the transversality condition, which is thus proven to be ignorable. □

Ignorability of the transversality condition was already demonstrated by the same authors [21] with a similar approach and is also proven by Hull [34, 35].

In summary, the set of unknown parameters and initial conditions includes the initial values of three adjoint variables and the initial true anomaly f 0, \(\mathbf{X}_{0} = [ \begin{array}{c@{\ }c@{\ }c@{\ }c} \lambda_{10} & \lambda_{20} & \lambda_{30} & f_{0} \end{array} ]^{T}\) (with λ k0:=λ k (t 0)), and, as the initial time is specified, the vector χ is given by

$$ \boldsymbol{\chi} = \left [ \begin{array}{c@{\quad}c@{\quad}c@{\quad}c@{\quad}c} \lambda_{10} & \lambda_{20} & \lambda_{30} & f_{0} & t_{f} \end{array} \right ]^{T}. $$
(46)

Due to ignorability of the transversality condition, the three equality constraints (26) (related with the terminal conditions for orbit injection) and Eq. (38) are to be considered while solving the problem at hand. Hence, the function \(\tilde{J}\) is defined as

$$ \tilde{J} = \sum_{k = 1}^{4} \vert d_{k} \vert . $$
(47)

In consideration of the fact that f f is given by the last equation of Eq. (26), the terms {d k } k=1,2,3,4 are

$$ \begin{aligned} d_{1} &= v_{r} ( t_{f} ) - \sqrt {\frac{\mu}{ a_{f} ( 1 - e_{f}^{2} )}} e_{f}\sin f_{f}, \\ d_{2} &= v_{\theta} ( t_{f} ) - \sqrt{ \frac{\mu}{a_{f} ( 1 - e_{f}^{2} )}} ( 1 + e_{f}\cos f_{f} ), \\ d_{3} &= r ( t_{f} ) - \frac{a_{f} ( 1 - e_{f}^{2} )}{1 + e_{f}\cos f_{f}}, \\ d_{4} &= \sqrt{ \frac{\mu}{a_{f} ( 1 - e_{f}^{2} )}} \bigl( \lambda_{2f}^{*}e_{f} \sin f_{f} - \lambda_{1f}^{*}e_{f}\cos f_{f} \bigr) - \lambda_{3f}^{*}\frac{a_{f} ( 1 - e_{f}^{2} )}{ ( 1 + e_{f}\cos f_{f} )^{2}} - \lambda_{4}^{*} \end{aligned} $$
(48)

3.2 Numerical Results

The problem is solved by employing canonical units: the distance unit (DU) is arbitrary, whereas the time unit (TU) is such that μ=1 DU3/TU2. The optimal values of the unknown parameters are sought in the following ranges: −1≤λ k0≤1 (k=1,2,3), −πf 0π, and 1 TU≤t f ≤50 TU. It is worth remarking that the constraint reduction allows arbitrarily defining the search space for the initial values of the Lagrange multipliers. This means that they can be sought in the interval −1≤λ k0≤1 by the PSO algorithm, and only a posteriori their correct values (fulfilling also the transversality condition (39)) can be recovered.

Two test cases have been considered (c=1.5 DU/TU for both of them):

$$\begin{aligned} \mbox{Case 1:} \quad & a_{0} = 1.8~\mathrm{DU}, \quad e_{0} = 0.6, \quad a_{f} = 3.5~\mathrm{DU}, \quad e_{f} = 0.8, \quad \varphi = 120~\mathrm{deg}, \\ \quad& n_{0} = 0.03~\mathrm{DU} / \mathrm{TU}^{2} \\ \mbox{Case 2:} \quad & a_{0} = 2.0~\mathrm{DU}, \quad e_{0} = 0.2, \quad a_{f} = 3.0~\mathrm{DU}, \quad e_{f} = 0.3, \quad \varphi = 30~\mathrm{deg}, \\ \quad& n_{0} = 0.01~\mathrm{DU} / \mathrm{TU}^{2} \end{aligned}$$

After 3000 iterations with 100 particles (N P =100 and N IT =3000), the following results (in canonical units) have been attained:

$$\begin{aligned} \mbox{Case 1:} \quad & t_{f}^{*} = 19.718~\mathrm{TU}, \quad \vert d_{1} \vert = 4.121 \cdot 10^{ - 7}, \quad \vert d_{2} \vert = 6.896 \cdot 10^{ - 8}, \\ \quad & \vert d_{3} \vert = 2.798 \cdot 10^{ - 10}, \quad \vert d_{4} \vert = 2.563 \cdot 10^{ - 6} \\ \mbox{Case 2:} \quad & t_{f}^{*} = 11.628~\mathrm{TU}, \quad \vert d_{1} \vert = 4.076 \cdot 10^{ - 6}, \quad \vert d_{2} \vert = 1.596 \cdot 10^{ - 8}, \\ \quad & \vert d_{3} \vert = 3.440 \cdot 10^{ - 8}, \quad \vert d_{4} \vert = 4.211 \cdot 10^{ - 7} \end{aligned}$$

Figures 2 and 3 illustrate the adjoint variables, the optimal control laws, and the optimal trajectories for the cases of interest, as well as the time histories of the osculating orbital elements.

Fig. 2
figure 2

Transfers between elliptic orbits: adjoint variables, optimal control time histories, and optimal trajectories for case 1 (a) and for case 2 (b)

Fig. 3
figure 3

Transfers between elliptic orbits: orbital elements for case 1 (a) and for case 2 (b)

4 Low-Thrust Orbital Rendezvous

This section is focused on the determination of the optimal rendezvous trajectory of a pursuing spacecraft, i.e., the low-thrust trajectory that leads the pursuing vehicle (denoted with “P” henceforward) to rendezvous with a target spacecraft (denoted with “T” henceforth) in a specified time. More specifically, the problem that is being addressed consists in determining the portion of the orbit of T that the pursuing spacecraft can reach (with appropriate velocity for orbit insertion) in a specified time. The attainable portion of orbit identifies the possible positions of T with which P can rendezvous within a specified time.

Both P and T are assumed to be placed in the same circular orbit of radius R 1. The portion of orbit reachable by P in a specified time t f through propulsion can be sought by determining its extremal points. These points are denoted with A and B in Fig. 5. A target located ahead with respect to A or behind B (at t f ) cannot be reached by P before the time t f has elapsed. Conversely, if T is placed on any point belonging to arc AB (at t f ), then it can be reached by P before the time t f has elapsed. Points A and B can be determined by maximizing (point A) or minimizing (point B) the angular displacement Δξ that identifies the final position of P along the terminal orbit with respect to the position that P would reach in the absence of propulsion, identified by \(\xi_{\mathrm{orb}} ( t_{f} ) ( = t_{f}\sqrt{\mu / R_{1}^{3}} )\) (cf. Fig. 5). Hence, the determination of A and B consists in solving two optimization problems: (i) point A: maximize Δξ=ξ(t f )−ξ orb(t f ), (ii) point B: minimize Δξ=ξ(t f )−ξ orb(t f ), or equivalently,

$$(\mathrm{i})\ \mbox{Point A: minimize } J = - \xi ( t_{f} ) \qquad (\mathrm{ii})\ \mbox{Point B: minimize } J = \xi ( t_{f} ) $$

As the terminal orbits are identical for both vehicles, a spacecraft located in the generic position R at t f is in S at t 0 (cf. Fig. 4) and ξ R (t f )−ξ orb(t f )=ξ S (t 0). This means that determining the arc AB at t f is equivalent to identifying the reachable arc A′B′ at t 0, that is, the geometrical locus where the target vehicle can be located at t 0 (=0) so that the rendezvous can occur within the time t f .

Fig. 4
figure 4

Geometry of the orbital rendezvous problem

Let v r , v θ , and r represent respectively the radial and the horizontal components of the velocity, and the radius of P. If μ denotes the gravitational parameter of the attracting body, the pursuer initial conditions (at t 0) and final conditions (at t f ) are given by

$$ \begin{aligned} &{v_{r} ( t_{0} ) = v_{r} ( t_{f} ) = 0 , \qquad _{\theta} ( t_{0} ) = v_{\theta} ( t_{f} ) = \sqrt{\frac{\mu}{R_{1}}},} \\ & {r ( t_{0} ) = r ( t_{f} ) = R_{1} , \qquad \xi ( t_{0} ) = 0.} \end{aligned} $$
(49)

As the spacecraft employs a constant (low) thrust during the entire time of flight, the thrust-to-mass ratio (T/m) has the expression (27). The spacecraft equations of motion (also referred to as the state equations) involve the two components of the velocity, the radius r, and the angle ξ. They are identical to those of the preceding section (Eq. (32)) and are not reported for the sake of brevity. Thus, the state vector is \(\mathbf{x}: = [ \begin{array}{c@{\ }c@{\ }c@{\ }c} x_{1} & x_{2} & x_{3} & x_{4} \end{array} ]^{T} = [ \begin{array}{c@{\ }c@{\ }c@{\ }c} v_{r} & v_{\theta} & r & \xi \end{array} ]^{T}\). The thrust-pointing-angle δ (relative to the local horizontal) is the only control variable; therefore, u:=u=δ. The initial time t 0 is set to 0 and the rendezvous time t f is specified. If x kf :=x k (t f ) (k=1,2,3,4), the objective function is represented either by J=−x 4f (problem (i)) or by J=x 4f (problem (ii)).

4.1 Solution Process

For this problem the Hamiltonian H and the function Φ are

$$\begin{aligned} H : =& \lambda_{1} \biggl[ - \frac{\mu - x_{3}x_{2}^{2}}{x_{3}^{2}} + \frac{T}{m} \sin \delta \biggr] + \lambda_{2} \biggl[ - \frac{x_{1}x_{2}}{x_{3}} + \frac{T}{m}\cos \delta \biggr] + \lambda_{3}x_{1} + \lambda_{4}\frac{x_{2}}{x_{3}}, \end{aligned}$$
(50)
$$\begin{aligned} \varPhi : =& \upsilon_{1}x_{1f} + \upsilon_{2} \Biggl[ x_{2f} - \sqrt{\frac{\mu}{ R_{1}}} \Biggr] + \upsilon_{3} [ x_{3f} - R_{1} ] \pm x_{4f} \quad \left ( \begin{array}{l} - \mbox{ for problem (i)} \\ + \mbox{ for problem (ii)} \end{array} \right ) \end{aligned}$$
(51)

where x k0:=x k (t 0) and x kf :=x k (t f ) (k=1,2,3,4). The adjoint equations are the same as those reported in the previous section (cf. Eq. (32)), as well as the expressions that relate the optimal thrust-pointing-angle u to the costate (Eq. (31)). On the other hand, for the problem under consideration equations (10) yield the following final conditions for λ:

$$\begin{aligned} &\lambda_{1f} = \upsilon_{1}, \quad \lambda_{2f} = \upsilon_{2}, \quad \lambda_{3f} = \upsilon_{3}, \quad \lambda_{4} = \pm 1 \\ &\quad \bigl( - \mbox{ for problem (i)} \quad + \mbox{ for problem (ii)} \bigr) \end{aligned}$$
(52)

where λ kf :=λ k (t f ) (k=1,2,3,4). Equation (52) imply that three out of four final values of the adjoint are unspecified, whereas the constant component λ 4 equals 1 or −1, depending on the problem under consideration ((i) or (ii)). It is worth noticing that no transversality condition holds because the final time t f is specified.

In summary, the set of unknown parameters and initial conditions includes only three initial values of the adjoint variables\(,\mathbf{X}_{0} = [ \begin{array}{c@{\ }c@{\ }c} \lambda_{10} & \lambda_{20} & \lambda_{30} \end{array} ]^{T}\) (with λ k0:=λ k (t 0)) and, as the initial and final times are specified, the vector χ is given by

$$ \boldsymbol{\chi} = \left [ \begin{array}{c@{\quad}c@{\quad}c} \lambda_{10} & \lambda_{20} & \lambda_{30} \end{array} \right ]^{T}. $$
(53)

The three equality constraints (26) (related with the terminal conditions for orbit injection) must be satisfied for the problem at hand. Hence, the function \(\tilde{J}\) is defined as

$$ \tilde{J} = \sum_{k = 1}^{3} \vert d_{k} \vert \quad \mbox{with} \quad d_{1} = v_{r} ( t_{f} ), \quad d_{2} = v_{\theta} ( t_{f} ) - \sqrt{\frac{\mu_{E}}{R_{1}}}, \quad d_{3} = r ( t_{f} ) - R_{1}. $$
(54)

4.2 Numerical Results

The problem is solved by employing canonical units: the radius of the initial orbit, R 1, represents the distance unit (DU), whereas the time unit (TU) is such that μ=1 DU3/TU2. The optimal values of the three unknown parameters are sought in the following ranges: −100≤λ k (0)≤100 (k=1,2,3). The following propulsive data are used: n 0=0.005 DU/TU2 and c=1.5 DU/TU. The rendezvous time t f is set to 25 TU. Thus, ξ orb(t f )=25 rad=1432.4 deg=352.4 deg. The angle Δξ:=ξ max/min(t f )−ξ orb(t f ) equals the maximum angular displacement (ahead or behind) of T from P at t 0 and t f and identifies the geometrical locus of T such that interception can occur within the time t f .

After 500 iterations with 100 particles (N P =100and N IT =500), the following results (in canonical units) have been attained:

$$ \begin{aligned} \mathrm{Problem}\ (\mathrm{i}):\quad &\Delta \xi = 147.2~\mathrm{deg}, \quad \vert d_{1} \vert = 6.174 \cdot 10^{ - 6}, \\ & \vert d_{2} \vert = 1.045 \cdot 10^{ - 6}, \quad \vert d_{3} \vert = 3.708 \cdot 10^{ - 6} \\ \mathrm{Problem}\ (\mathrm{ii}): \quad &\Delta \xi = - 135.2~\mathrm{deg}, \quad \vert d_{1} \vert = 3.746 \cdot 10^{ - 6}, \\ & \vert d_{2} \vert = 5.409 \cdot 10^{ - 6}, \quad \vert d_{3} \vert = 5.138 \cdot 10^{ - 6}. \end{aligned} $$
(55)

Figures 5 and 6 portray the pursuer radii, adjoint variables, and optimal control laws for problems (i) and (ii), whose solution definitely identifies the reachable arc of the trajectory, i.e., the possible positions of a target vehicle that can be reached by P within the specified time t f .

Fig. 5
figure 5

Orbital rendezvous: radius of P for problem (i) (left figure) and problem (ii) (right figure)

Fig. 6
figure 6

Orbital rendezvous: adjoint variables and optimal control time histories of P for problem (i) (a) and problem (ii) (b)

5 Conclusions

This work describes and successfully applies the indirect swarming technique to optimizing continuous-thrust space trajectories, namely orbit transfers and rendezvous. The method at hand uses the analytical necessary conditions for optimality, in conjunction with a simple, easy-to-implement heuristic technique, i.e., the particle swarm algorithm. Main advantages of employing the approach under consideration are in the (i) absence of any guess, (ii) guarantee of optimality, without choosing any restrictive representation for the control variables, and (iii) reduced parameter set, used to transcribe the optimal control problem into a parameter optimization problem. This study employs also a standard, simple approach for treating equality constraints, and shows the way of reducing their number, with regard to the orbit transfer optimization problem. This helps avoiding possible convergence difficulties, which can arise for heuristic techniques in the presence of equality constraints. In the end, the indirect swarming approach proved to be capable of finding accurate solutions to both orbital maneuvering problems considered in this research.

Several options are available for improving the performance attainable by the method at hand. First, the number of particles and iterations can be increased to achieve more satisfactory results. Second, the fine tuning of the weighting coefficients in the formula for velocity update could yield improved results, at least with regard to specific cases. In the presence of qualitatively different and, possibly, more challenging problems (e.g., minimum-fuel orbit transfers with multiple powered arcs or space trajectories involving periodic orbits and invariant manifolds), different versions of the particle swarm algorithm or even different heuristic methods can be used, in conjunction with the analytic conditions for optimality. Furthermore, as no guess is required, the indirect swarming method can be employed also as a preprocessing technique, capable of supplying a suitable first attempt approximate solution to more efficient (direct or indirect) algorithms. The latter option appears as a promising research direction, which could lead—at least in principle—to developing novel, efficient, and robust hybrid numerical optimization methodologies, based on the continuous interaction (or even the cyclic execution) of heuristic and deterministic algorithms.