Automated Design of Multiphase Space Missions
Using Hybrid Optimal Control
Christian M. Chilan∗
and Bruce A. Conway†
Unive...
I. Introduction
MANY interesting problems in numerical optimization are
hybrid optimal control (HOC) problems. HOC problem...
where x ∈ RNx and u ∈ RNu are the continuous state and control
vectors, respectively. If a transition is allowed from the ...
real-valued matrix associated with q. Then, the cost functional is
given by
J x : ; u : ; t; q; Δ; Ns
XNs
j 0
ϕ x tj 1 ; t...
Qf fl; tg (11)
Feasible event sequences can be obtained from the digraph. An
example of a feasible sequence is
q q0
; q1
;...
αf
1
1
α0
−
Pn
i 1
ti
ci
(18)
Minimizing the sum of the normalized thrusting times ti∕ci as
defined in Eq. (18) thus minim...
00000001. The former does not have the leading 1-bit, meaning that
its length is undefined, and the latter does have the l...
B. Conditional Penalty Method for the Approximate Optimization
of Multiphase Low-Thrust Trajectories
A GA-based approach, ...
cost metric, i.e., the amount of propellant used in the entire mission.
This method can be implemented using the following...
interpolated to achieve a resolution consistent with the transcription
mesh; this provides the guess values for all the co...
time states and 1 control variable (an additional parameter represents
the flight time). Consequently, each thrust arc use...
switching function is greater than zero and a coast otherwise (thus the
duration of the first arc of the sequence is colla...
example, and the conditional penalty method is used to generate the
initial guesses for the NLP solver. The real GA search...
variable-length sequences using a fixed-length chromosome. In
addition, the strategy of caching the cost of evaluated even...
[30] TOMLAB Optimization, TOMLAB/SNOPT, http://tomopt.com/tomlab/
products/snopt/, 2012 [accessed 3 Dec. 2012].
[31] Pruss...
Upcoming SlideShare
Loading in …5
×

Automated design of multiphase space missions using hybrid optimal contro (1)

479 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
479
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Automated design of multiphase space missions using hybrid optimal contro (1)

  1. 1. Automated Design of Multiphase Space Missions Using Hybrid Optimal Control Christian M. Chilan∗ and Bruce A. Conway† University of Illinois, Urbana, Illinois 61801 DOI: 10.2514/1.58766 A modern space mission is assembled from multiple phases or events such as impulsive maneuvers, coast arcs, thrust arcs, and planetary flybys. Traditionally, a mission planner would resort to intuition and experience to develop a sequence of events for the multiphase mission and to find the space trajectory that minimizes propellant use by solving the associated continuous optimal control problem. This strategy, however, will most likely yield a suboptimal solution, as the problem is sophisticated for several reasons. For example, the number of events in the optimal mission structure is not known a priori, and the system equations of motion change depending on what event is current. In this work a framework for the automated design of multiphase space missions is presented using hybrid optimal control. The method developed uses two nested loops: an outer-loop that handles the discrete dynamics and finds the optimal mission structure in terms of the categorical variables, and an inner-loop that performs the optimization of the corresponding continuous-time dynamical system and obtains the required control history. Genetic algorithms and direct transcription with nonlinear programming are introduced as methods of solution for the outer-loop and inner-loop problems, respectively. Automation of the inner-loop, continuous optimal control problem solver required two new technologies. The first is a method for the automated construction of the nonlinear programming problems resulting from the use of a transcription method for systems with different structures, including different numbers of categorical events. The method assembles modules, consisting of parameters and constraints appropriate to each event, sequentially according to the given mission structure. The other new technology is for a robust initial guess generator required by the inner-loop nonlinear programming problem solver. The method, based on a real genetic algorithm, approximates optimal control histories by incorporating boundary conditions explicitly using a conditional penalty function. The solution of representative multiphase mission design problems shows the effectiveness of the methods developed. Nomenclature A = adjacency matrix, or linear constraint matrix bL = vector of lower bounds for parameters and constraints bU = vector of upper bounds for parameters and constraints C = nonlinear constraint vector c = propulsion engine exhaust velocity, or coast event cc = exhaust velocity of the chemical rocket engine ce = exhaust velocity of the low-thrust electric engine D = set of binary matrices with column-sum equal to one d = Euclidean norm of the constraint violations F = discrete space of feasible event sequences f = system equation vector h = equality constraint i = impulsive event J = total cost of the mission K = infeasibility constant l = Lambert’s rendezvous event m = spacecraft mass m− = spacecraft mass immediately before a particular event m = spacecraft mass immediately after a particular event NQ = cardinality of Q NT = number of thrusting events in a particular q NT;max = maximum number of thrusting events for all q Ns = number of switches in a particular q Ns1 = Ns 1, i.e., number of events in a particular q Ns;max = maximum number of events for all q P = parameter vector Q = categorical space of events q = event sequence q = event qj = event in the j 1 place in the sequence r = spacecraft radial coordinate S = switching set s = boundary-free thrust arc event t = boundary-specified thrust arc event, or time te = duration of a particular thrust arc event tj = initial time for the event qj ts = switching time between events tol = feasibility tolerance for the conditional penalty method UD = set of discrete controllers that satisfy discrete con- straints u = control variable vector vr = radial component of spacecraft velocity vθ = tangential component of spacecraft velocity x = state variable vector x = state variable α = spacecraft thrust acceleration α0 = spacecraft thrust acceleration at the beginning of the mission αf = spacecraft thrust acceleration at the end of the mission α− = spacecraft thrust acceleration immediately before a particular event α = spacecraft thrust acceleration immediately after a particular event β = spacecraft thrust-pointing angle Δ = discrete controller ΔV = change in velocity ϕ = cost function θ = spacecraft angular coordinate Received 25 April 2012; revision received 4 December 2012; accepted for publication 12 December 2012; published online 20 June 2013. Copyright © 2012 by Christian M. Chilan and Bruce A. Conway. Published by the American Institute of Aeronautics and Astronautics, Inc., with permission. Copies of this paper may be made for personal or internal use, on condition that the copier pay the $10.00 per-copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923; include the code 1533-3884/ 13 and $10.00 in correspondence with the CCC. *Postdoctoral Research Associate, Department of Aerospace Engineering, 104 South Wright St. MC-236. Member AIAA. † Professor, Department of Aerospace Engineering, 104 South Wright St. MC-236. Associate Fellow AIAA. AIAA Early Edition / 1 JOURNAL OF GUIDANCE, CONTROL, AND DYNAMICS DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  2. 2. I. Introduction MANY interesting problems in numerical optimization are hybrid optimal control (HOC) problems. HOC problems include both continuous-valued variables and categorical variables in the problem formulation. For the types of problems envisioned here, the categorical variables will specify the structure or sequence of events that qualitatively describes a space trajectory or mission. For example, for an interplanetary spacecraft trajectory, a mission could be described by the sequence of categorical variables: Earth departure, low-thrust heliocentric arc, Mercury arrival. An equally valid and perhaps lower-cost sequence might be: Earth departure, low-thrust heliocentric arc, coast arc, low-thrust heliocentric arc, Mercury arrival. The identities of the mission events and their order in the sequence are the discrete or categorical variables of the HOC problem. The time histories of the spacecraft position and velocity and of the spacecraft control (thrust-pointing angle) are the continuous-time variables of the HOC problem. The cost associated with a particular event sequence is found from the solution of the corresponding continuous optimal control problem. Finding the sequence of events with minimum cost requires searching a discrete space composed of the sequences resulting from the permutation of the mission events. Even by considering a catalog with only a few events, there may be several thousand possible mission designs. A simple approach to find the best mission structure is to perform a total enumeration of all the possible sequences. Although intuition on the part of the mission planner can reduce the size of the search space, total enumeration would still consume a significant amount of resources. A solver is needed for this type of problem, i.e., finding the best mission structure without performing total enumeration, andwith little or no intuition supplied (or required) on the part of the mission planner. Oneway to reduce the discrete search space is to apply pre-pruning with respect to some criteria; in this way, the remaining mission sequences are the only ones considered of interest [1]. Vasile et al. [1] also present an approach to automated mission planning, in which the mission is composed of elementary blocks that represent events such as Lambert maneuvers and flybys. Englander et al. [2] and Gad and Abdelkhalik [3] presented methods that find the flyby sequence and the optimal trajectory using genetic algorithms (GA). In their work, the governing dynamics do not change during the trajectory legs between flybys, i.e., such legs can be modeled with a single phase. Ceriotti and Vasile [4] propose the use of a modified ant colony optimization (ACO) algorithm for the automated mission planning using flybys and impulsive maneuvers. In this work, the problem of interest is the automated solution of HOCproblems that consistof different events or phases. Theproblem consists of finding the sequence composed of an unspecified number of events (coast arcs, thrust arcs, and impulses) that minimizes propellant consumption for a space trajectory with given initial and boundary conditions, conducted in free or fixed final time. A recent approach to solving HOC problems is to use two nested loops: an outer-loop that handles the discrete dynamics and finds a solution sequence in terms of the categorical variables, and an inner-loop that performs the optimization of the continuous-time dynamical system and obtains the required control history. Ross and D’Souza [5] present a general framework for the description of HOC problems and the corresponding mathematical formalism. The nested-loop approach is qualitatively similar to the solution of a discrete optimization problem using GA [6], where the objective is usually some known, analytic function of the discrete parameters of the GA that can be evaluated directly. In the HOC context, however, the cost cannot be found until an optimal control problem (with important event parameters supplied by the GA decision vector) is solved. This is much more difficult and time-consuming, e.g., analytic functions always return a cost value, but the routine used to solve the inner-loop problem inherits the difficulties associated with solving optimal control problems. The inner-loop solver finds the optimal trajectories for the continuous-time dynamical systems associated with the event sequences generated by the outer-loop. Note that distinct event sequences can constitute quite different optimal control problems. For instance, the equations of motion during a coast arc event are not the same as the equations of motion during a continuous thrust arc event. Similarly, the control parameters change in type and number; an impulse is defined by magnitude and direction parameters, while a thrust arc needs a flight time parameter and a continuous thrust- pointing angle (or angles). Because the outer-loop requests the evaluation of different sequences during the search, this work presents a scheme that allows the inner-loop to solve trajectory optimization problems with variable structures without a priori knowledge or experience. This is a challenging aspect of the problem because the determination of just a single optimal space trajectory with (possibly) multiple coast arcs and thrust arcs has not been considered a simple or straightforward problem. The optimal trajectory for a particular mission sequence is found using direct transcription with nonlinear programming (NLP) [7]. As a gradient-based optimization method, NLP requires an initial guess, which after several numerical iterations by the NLP problem solver should converge to a solution, i.e., satisfy specified tolerances on feasibility and optimality. Traditionally, the mission planner has had to resort to intuition and experience to generate such initial guesses. For example, solutions to Lambert’s problem [8] can provide good initial guesses for impulsive trajectories. If the solution process (outer-loop inner-loop) is to be automated, methods that generate high-quality guesses are needed to yield a robust behavior of the NLP problem solver. A new method was developed to generate the approximate low-thrust trajectories to be used as the initial guesses for the NLP solvers. The method, based on GA, directly approxi- mates optimal control histories by incorporating boundary conditions explicitly using a “conditional penalty” (CP) function [9]. II. Hybrid Optimal Control Problem The solution to the HOC problem consists of finding values for a set of discrete variables that minimize a cost function resulting from the trajectory optimization of a continuous-time dynamical system. One example of a HOC problem is the motorized traveling salesman [10]. The salesman drives a car in which the motion dynamics are described by a system of differential equations. He must visit a number of cities whose locations are specified in the problem. The objective is to find the ordered sequence of cities and the corresponding optimal trajectory that minimizes the travel time of the salesman. The identities of the cities and their order of visitation are the discrete or categoricalvariables of the HOC problem.The time histories of the car position and velocity and of the car controls (acceleration and turn rate) are the continuous-time variables of the HOC problem. This section presents the general formulation of a HOC problem using the formalism introduced by Ross and D’Souza [5]. A. Discrete Dynamics The discrete events represent the qualitative states or phases of a HOC problem. They can be grouped together into a categorical space Q of finite cardinality NQ ∈ N. The task of the mission planner is to assemble a sequence q of events q ∈ Q that fulfills the mission objectives and minimizes a cost function defined in the inner-loop. The construction of the sequence q incorporates constraints that form the finite dynamics of the problem. Such constraints can be modeled with a finite state automaton in the form of a directed graph or digraph as shown in Fig. 1. The nodes and the directed edges constitute the events and the allowed transitions between them, respectively. From the digraph, the categorical state space is Q fqa; qb; qcg with cardinality NQ 3. The subscript notation in qi identifies the state in the categorical space. To encode the information contained in the digraph, let a switching set be defined as the transition between states at time ts ∈ R S q; q0 f x; u; x0; u0; ts g (1) 2 AIAA Early Edition / CHILAN AND CONWAY DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  3. 3. where x ∈ RNx and u ∈ RNu are the continuous state and control vectors, respectively. If a transition is allowed from the event q to the event q0, then the switching set S q; q0 ≠ ∅; otherwise, the switching set is empty. All the possible switching sets can be encoded in the NQ × NQ adjacency matrix A, where Aij 1 if S qi; qj ≠ ∅ 0 if S qi; qj ∅ (2) Feasible event sequences can be obtained from the digraph. One example of such a sequence is q qa; qb; qa; qc; qa where the number of switches Ns 4. The digraph also shows transitions that are not allowed. For example, the automaton cannot move from the state qc to qb because there is not a directed edge in that direction. Thus, the switching set S qc; qb is empty. The number of events in a sequence, given by Ns1 Ns 1, is not fixed. In practice, however, an upper bound Ns;max on the length of the feasible sequences is given to constrain the problem to finite sequences and to reduce the computational complexity of the problem. Let Q be a 1 × NQ matrix whose components are the elements qi ∈ Q. Letalso the operation be definedoverthe Cartesian product Q × f0; 1g in the following way: q 0 ∅ and q 1 q; ∀ q ∈ Q Also, let D be defined by Dn×m ≡ n Δ ∈ f0; 1gn×m∶ Pn i 1 Δij ∈ f0; 1g ∀ j 1; : : : ; m o (3) where the column-sum property implies that the columns are composed mostly of zeros with only a single component equal to 1. The framework proposed originally does not consider the case where an event must not appear more than once in the solution sequence [5]. This constraint can be applied by requiring that D have full column rank. Finally, by including the following definitions: q ∅ q ∅ q; ∅ ∅ ∅ the transition map Q → q can be characterized through the discrete controller matrix Δ with Δ ∈ DNQ×Ns1 , as a matrix operation that generates an event sequence of length Ns1 q Q Δ (4) In constructing the discrete controller Δ, it is important to recall that not all transitions between the events of the categorical set are allowed. These constraints are encoded in the adjacencymatrix A as a model for the finite state automaton. Therefore, the controller Δ must satisfy Δi;j ∈ fAki; 0g for Δk;j−1 1; i 1; : : : ; NQ; j 1; : : : ; Ns (5) Let the superscript notation qj−1 identify the event in the j place in the sequence. Then, the condition in Eq. (5) indicates that if the current event qj−1 is qk, then the next event qj can be qi if Aki is equal to 1. If this were the case and the next event was chosen to be qi, then Δk;j−1 1; and Δi;j 1 where the rest of the elements in the columns j-1 and j of Δ are zero due to the column-sum property in Eq. (3). The first and last columns of Δ are not directly constrained by the adjacency matrix A, but they must satisfy discrete boundary conditions. Let Q0 ⊆ Q be the set of all the allowed initial events, and Qf ⊆ Q be the set of all permissible final events. Then, the initial event q0 of all feasible sequences belongs to Q0. In the same way, the last event qNs of all feasible sequences belongs to Qf. Finally, let UD ⊆ D be the set of discrete controllers Δ that satisfy adjacency and boundary constraints. Then, the problem to be solved by the outer-loop is a feasible integer programming (FIP) problem that can be stated as follows: Find Δ; Ns1 subject to Δ ∈ UD ⊆ DNQ×Ns1 ; Ns1 ≤ Ns;max ∈ N (6) Assuming that the inner-loop handling the continuous-time dynamics can find the optimal trajectory for any feasible sequence, then each candidate q will have an associated cost. The objective of the outer-loop solver is finding the sequence of events that has the optimal cost among all the feasible sequences with length Ns1 ≤ Ns;max. The complexity of the search space for the FIP is NQ Ns1 because Δ ∈ D. The fact that this type of problem is NP-complete [5,10] underscores the impracticality of total enumeration as a means to find the optimal feasible sequence. A more efficient approach known as branch-and-bound optimization has been used in the outer-loop to solve the FIP [10,11]. This work introduces use of the GA for the same purpose [12]. The GA [6] method is a relatively new technique (in comparison with the calculus of variations or primer vector theory [13]) that has been successfully applied to trajectory optimization problems [14,15]. The GA requires a population of individuals; an individual is a set of values for optimization parameters that is encoded as a string of binary digits (a chromosome). In a HOC problem, a typical string might consist of binary representations of states or events in a sequence. GA methods have features that make them appealing for use in an automated mission planner. For instance, planning intuition in the form of an incumbent solution sequence is not required. Although GA does not ensure that the solution found represents a global optimum [16], the fact that the method is randomized allows the search to continue even when a local minimum is found, unlike gradient-based methods. B. Continuous-Time Dynamics A modern space mission is usually composed of several events. Some of them have finite duration, such as thrust arcs, while others are instantaneous, such as impulsive maneuvers. The dynamics governing the system during any of the events q ∈ Q is defined by a set of differential equations _x f x; u; t; q (7) where x ∈ RNx and u ∈ RNu are the continuous state and control vectors, respectively. The dependence on q means that the system dynamics may change throughout the mission, e.g., a model could require switching from a thrust arc to a coast arc. Let q q0; q1; : : : ; qNs be a finite sequence of events where qj ∈ Q for j 0; 1; : : : ; Ns. Let t t0; t1; : : : ; tNs1 be a qa qc qb Fig. 1 Digraph for a finite state automaton. AIAA Early Edition / CHILAN AND CONWAY 3 DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  4. 4. real-valued matrix associated with q. Then, the cost functional is given by J x : ; u : ; t; q; Δ; Ns XNs j 0 ϕ x tj 1 ; tj 1; qj Z tj 1 tj L x t ; u t ; qj dt (8) where ϕ and L correspond to the Mayer and Lagrange costs of each phase. As with most optimal control problems of significant complexity, direct methods are preferred to avoid the difficulties associated with the derivation and solution of the two-point boundary value problem (TPBVP) resulting from the Euler–Lagrange conditions [17] of the calculus of variations (COV). There are two principal schemes that directly transform continuous-time optimal control problems into NLP problems: collocation and transcription. Both cause the equations of motion (EOM) to be satisfied by defining nonlinear constraint equations. Direct collocation describes such constraint equations with implicit rules, such as Hermite–Simpson [18] and Gauss–Lobatto [19], while direct transcription uses explicit rules, such as the fourth-degree Runge–Kutta (RK) method [7]. Given that NLP is a gradient-based method, it requires an initial guess of the solution, i.e., the vector of solution parameters, which can be obtained by intuition or experience. The robustness and accuracy of the method depends on the selected resolution level of the time mesh, the collocation or transcription scheme, and the quality of the initial guess, which means how closely the guess satisfies the constraints and the optimality conditions. For the implementation of the inner- loop solver, direct transcription with RK integration rules and a parallel-shooting scheme [7,12] is selected. The NLP parameters can then be arranged as a singlevector PT that collects all the continuous variables. For example, the parameter vector for a trajectory consisting of a single thrust arc becomes PT ZT where ZT xT 1 ; uT 1 ; xT 2 ; uT 2 ; : : : ; xT N 1; uT N 1; tf , xi ∈ RNx and ui ∈ RNu for i 1; 2; : : : ; N 1 are parameter vectors that represent the state and control variables at the nodes of the discrete time mesh, and N is the number of segments of the mesh [7]. In the same manner, the nonlinear constraints can be collected into a vector CT. The optimal control problem can then be restated as a NLP problem of the form: Minimize J P subject to bL ≤ 8 < : P AP C P 9 = ; ≤ bU where AP is formed by all the linear constraints of the problem, and bL and bU are the lower and upper bounds of the parameters and constraints. The upper and lower bounds for the great majority of the nonlinear constraints C P are usually set to zero, because this forces the solver to choose values for the parameters that satisfy the EOMs when they are integrated forward using the RK rule within each segment (there may be a small number of additional nonlinear constraints, e.g., boundary conditions). Once the NLP problem is clearly defined, it can be solved using dense or sparse solvers such as NPSOL and SNOPT [20]. SNOPT is selected because it can take advantage of the sparsity present in the constraint Jacobian [18]. III. Multiphase Mission Design as a Hybrid Optimal Control Problem The validity of the proposed GA NLP approach for the implementation of hybrid optimizers was shown by solving two sample problems: the motorized traveling salesman [12] and the interception of multiple asteroids [21]. However, these problems contain several simplifications that make them qualitatively different from multiphase missions. For instance, the categorical variables represent targets such as cities and asteroids, and the length of the categorical sequence is constant. This allowed a straightforward definition of the GA chromosome and a static NLP structure, i.e., the structure remained the same for any sequence, requiring only changing thevalue of the interception constraints in the inner-loop. In a multiphase mission, the categorical variables represent events such as coast arcs and thrust arcs, and the length of the mission sequence is variable. Therefore, approaches to accommodate variable-length sequences and to generate different NLP problem structures dynami- cally are needed. The problems of interest here are missions composed of an unspecified number of events with given initial and boundary conditions, and free or fixed final time. The discrete and continuous- time problems associated with the mission design will be described along with the proposed methods of solution. A. Discrete Dynamics The discrete events in a space mission plan can be maneuvers such as impulses, thrust arcs, and coast arcs, which can be grouped together into a categorical space Q of finite cardinality NQ ∈ N. Although it appears that only these three types of events need to be defined, considerations regarding the robustness of the trajectory optimization in the inner-loop, to be described in the following sections, warrant the definition of additional, more specifically defined events as shown in Table 1. Therefore, the categorical space becomes Q fq0; q1; q2; q3; q4g fc; i; s; l; tg (9) with cardinality NQ 5. The subscripts identify the event within the categorical space. The goal is to assemble a sequence q of events q ∈ Q that fulfills the mission objectives and minimizes a cost function defined in the inner-loop. The construction of the sequence q incorporates constraints that are consistent with the discrete dynamics of the problem. For instance, to satisfy state boundary conditions, only a Lambert’s rendezvous l or a boundary-specified thrust arc t can be the final event of the sequence [9]. Also, a coast is placed at the beginning of the mission and between thrusting maneuvers [9]; for example, sequences of the form i; i or s; s are not allowed. These constraints help reduce the size of the discrete search space. The discrete constraints can be modeled with a finite state automaton in the form of a directed graph or digraph, as shown in Fig. 2. The nodes and the directed edges constitute the mission events and the allowed transitions between them, respectively. The directed edge that does not start from a node indicates that the sequences start with event c; the double-circled nodes specify that the sequences end with events l or t. These constraints form the discrete boundary conditions Q0 fcg (10) Table 1 Categorical events for mission design Event (code) Description Coast arc c A finite coasting arc Impulse i An instantaneous impulsive maneuver Boundary-free thrust arc s A thrust arc without given boundary conditions, subject only to feasibility with respect to the EOMs Lambert’s rendezvous l A rendezvous composed of an impulse, a coast arc, and another impulse that satisfies given boundary conditions Boundary-specified thrust arc t A thrust arc with given boundary conditions 4 AIAA Early Edition / CHILAN AND CONWAY DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  5. 5. Qf fl; tg (11) Feasible event sequences can be obtained from the digraph. An example of a feasible sequence is q q0 ; q1 ; q2 ; q3 ; q4 ; q5 ; q6 ; q7 c; s; c; i; c; s; c; t where the number of switches Ns 7. The superscripts specify the place of the event in the sequence. The digraph also shows transitions that are not allowed. For example, the automaton cannot move from the event i to event s, because there is not a directed edge in that direction. The information contained in the digraph can be encoded following the notation and analysis shown in Sec. II for the definition of the switching sets and the adjacency matrix, which becomes, for the digraph of Fig. 2 A 2 6 6 6 6 4 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 7 7 7 7 5 (12) The number of events in a sequence, given by Ns1 Ns 1, is not fixed. An upper bound Ns;max is given to constrain the problem to finite sequences and to make the problem tractable. Let F be the set of all the feasible sequences, i.e., event sequences that satisfy the adjacency constraints and the discrete initial and boundary conditions. The problem to be solved by the outer-loop can then be stated as follows: minimize q ϕ q subject to q ∈ F; Ns1 ≤ Ns;max ∈ N The evaluation of the function ϕ is carried out by the inner-loop solver, which will provide the outer-loop with the optimal cost of the trajectory corresponding to the argument sequence. B. Continuous-Time Problem The continuous-time problem of multiphase mission design is to find the optimal trajectory that minimizes the objective function, usually propellant consumption or time offlight, satisfies giveninitial and boundary conditions for the continuous-time state variables, and has a given mission structure described by an event sequence. The total mission time can be specified or free. Because a multiphase trajectory can use an electric engine for providing a continuous thrust arc and a chemical rocket for impulses, parameters such as the initial thrust acceleration α0, and the exhaust velocities of the propulsion engines must be given. Using polar coordinates on a spacecraft-fixed basis, the equations of motion become [9] _r vr _θ vθ r _vr v2 θ r − 1 r2 f q α sin β _vθ − vθvr r f q α cos β _α f q α2 ce (13) where f q 0 if q c 1 if q ∈ fs; tg α is the thrust acceleration, ce is the exhaust velocity of the electric engine, and β is the control angle describing the direction of the thrust. Because the thrust magnitude provided by the electric engine is constant, and the rate of change of the thrust acceleration appears in the EOMs governing the finite events, it is convenient to use the thrust acceleration as a measure of the spacecraft’s mass throughout the trajectory. An impulsive maneuver is modeled as changing both mass and velocityinstantaneously.An equation relating such change isgiven in [22] m− − m m− 1 − e−ΔVc cc (14) where cc is the exhaust velocity of the chemical rocket, and the superscripts − and refer to instants immediately before and immediately following the event. Then, m− − m m− 1 − α− α (15) using Newton’s second law. Substituting Eq. (15) into Eq. (14), the states must satisfy the constraints [9]: r r− θ θ− vr v− r ΔVc sin β vθ v− θ ΔVc cos β α α−e ΔVc cc (16) where ΔVc is the impulse magnitude, and β is the direction of the impulse in a spacecraft fixed basis. An analytical expression for the thrust acceleration as a function of the thrusting time te t − t− can be obtained from Eq. (13) Z α α− da a2 Z te 0 dτ ce which yields α 1 1 α− − te ce (17) Minimizing the sum of the thrusting times can optimize a mission consisting of multiple thrust arcs. However, this approach is not appropriate if electric engines with different exhaust velocities are used, because their difference in efficiency is not taken into account. For instance, consider a trajectory with n thrust arcs where ti and ci represent the thrusting time and the exhaust velocity of the engine used during thrust arc i. Then, according to Eq. (17), the final thrust acceleration due to propellant consumption is given by [9] i sl t c Fig. 2 Digraph of a finite state automaton for mission design. AIAA Early Edition / CHILAN AND CONWAY 5 DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  6. 6. αf 1 1 α0 − Pn i 1 ti ci (18) Minimizing the sum of the normalized thrusting times ti∕ci as defined in Eq. (18) thus minimizes overall propellant consumption for the case when engines with different exhaust velocities are used. For impulsive maneuvers, the change invelocity ΔV has been used as a measure of the propellant consumed. Therefore, the total amount of propellant used in a trajectory that uses multiple impulses is described as the sum of the corresponding ΔVs. As with the low- thrust case, summing ΔVs provided by rockets with different exhaust velocities does not describe the total propellant used. Consider a trajectory with n impulses where ΔVi and ci represent the change in velocity of the spacecraft and the exhaust velocity of the rocket used during impulse i. According to Eq. (16), the total change in thrust acceleration due to propellant consumption is given by [9] αf α0e Pn i 1 ΔVi ci (19) Thus, the sum of the normalized change in velocity ΔVi∕ci is a better measure of propellant use, because values corresponding to different rockets can be added to determine the total change in mass. Optimizing a system that uses both low-thrust and chemical propulsion in the same trajectory requires a uniform metric to minimize. Equating the expressions for the thrust acceleration α in Eqs. (16) and (17) yields an expression that relates the normalized thrusting time te∕ce of the electric engine to the normalized change in velocity ΔVc∕cc provided by the chemical rocket. te ce 1 α− 1 − e−ΔVc cc (20) The mission planner can now choose which measure of propellant to minimize. In this work, the total normalized thrusting time is used as the objective. Thus, if impulsive maneuvers are used, their ΔVs are converted to normalized thrusting time using Eq. (20). Let q q0; q1; : : : ; qNs be the finite sequence of events provided by the outer-loop where qj ∈ Q for j 0; 1; : : : ; Ns. Let t t0; t1; : : : ; tNs1 be a real-valued time matrix associated with q. Then, the optimal control problem consists of minimizing the cost functional given by J x : ; u : ; t; q; Ns XNs j 0 g qj (21) where g qj 8 >>>>>< >>>>>: 0 if qj c 1 α− j 1 − e− ΔVc;j cc if qj i tj 1−tj ce if qj ∈ fs; tg P2 k 1 1 α− j;k 1 − e− ΔVc;j;k cc if qj l subject to Eqs. (13) and (16) and x t0 x0 (22a) x tNs1 xf tNs1 (22b) tj−1 ≤ tj ≤ tj 1; for j 1; : : : ; Ns (22c) t0 0 (22d) tNs1 free or fixed (22e) where x ∈ R5 and u ∈ R are the continuous state and control vectors, respectively. In view of the fact that the inner-loop solver is expected to find the optimal state trajectory for any given event sequence q, if it exists, robustness is more important than high accuracy. With this in mind, the proposed method of solution uses direct transcription with NLP using RK integration rules and a parallel-shooting scheme [7]. To maximize robustness for a given number of segments, only one RK step is used on each segment. The method used in the inner-loop to generate a good initial guess and to solve the continuous optimal control problem automatically with robustness and accuracy will be described in Sec. V. IV. Transcription of the Mission Event Sequence The discrete component of the HOC problem consists of finding the feasible categorical sequence that has minimum cost. In the mission design context, this means finding the sequence of events that achieves the mission objectives while minimizing propellant consumption. The successful solutions of the sample problems in [12] suggest the use of GA for the implementation of the outer-loop solver. In those problems, the discrete constraints were enforced by assigning a large constant cost to infeasible sequences. This approach is not practical for the multiphase problem because the discrete dynamics are more complex. A new model that transforms the constrained discrete optimization problem into an unconstrained problem [9] and searches for the solution only in the feasible discrete space ispresented. The proposedapproach also deals with categorical sequences of variable length. It is known that optimization algorithms improve their performance if the search is carried out only in the feasible space defined by the given constraints [23]. In the mission design problem the potential for improvement is significant, because the specified discrete constraints defineafeasiblespacethatismuchsmallerthanthetotaldiscretespace. Searching only in the feasible space requires the transformation of the constrained optimization problem into an unconstrained problem. The proposed GA model applies the specified constraints implicitly, allowing every individual to represent a feasible event sequence [9]. According to Fig. 2 only the thrusting events need to be described in a sequence because coast arcs are always to be placed between them and at the beginning of the sequence. Midcourse events can be modeled using a binary digit, because there are only two allowed event types (0fori,1fors).Similarly,abinarydigitcanalsorepresentthelastevent in a sequence (0 for l, 1 for t). As a result, a feasible sequence can be modeled using a binary string, in which every bit represents a thrusting event. The remaining issue is to determine how to handle sequences with a variable number of events. A fixed-size binary string can represent sequences with variable length by describing the number of thrusting events NT as the location of the leading 1-bit in the chromosome [9]. The leading 1-bit does not represent an event itself; it is just a marker stating that only the bits that followaretobetakenintoaccount.Inadditiontothesequenceevents,a categorical variable specific to mission design, to be included in the chromosome, is the number of revolutions to be performed by the spacecraft.If the maximum numberof revolutionsallowed isthree,itis necessary to add two bits to the chromosome. Figure 3 shows a sample 10-bitchromosomethatcanaccommodatesequenceswithamaximum number of thrusting events NT;max equal to 7 (1 bit for the length marker, 7 bits for thrusting events, and 2 bits for the number of revolutions). According to the convention of the previous paragraphs, the string in Fig. 3 is to be decoded as i; s; t . By adding the coast arcs that are assumed to precede each thrusting event, the resulting event sequence becomes c; i; c; s; c; t with two revolutions. Not all binary strings generated by GA are ready for decoding. For instance, consider the following possible 8-bit strings: 00000000 and 0 0 0 0 1 0 1 1 1 0 Thrusting events Number of revolutions Length marker Fig. 3 Sample chromosome for variable-length sequences. 6 AIAA Early Edition / CHILAN AND CONWAY DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  7. 7. 00000001. The former does not have the leading 1-bit, meaning that its length is undefined, and the latter does have the leading 1-bit, but does not contain any thrusting event. This issue can be handled by preprocessing every GA-generated binary string through a binary addition to 1000 before the decoding step, so that there is at least one thrusting event, and the number of revolutions is defined. The sample binary strings would then become 00001000 and 00001001, which represent the sequence c; l with 0 and 1 revolution, respectively. The outer-loop solver for the mission design problem will use this model in which everystring generated by the GA represents a feasible sequence. The GA solver used is the MATLAB Global Optimization Toolbox [24]. V. Method for the Solution of the Continuous-Time Optimal Control Problem The continuous-time component of the HOC problem consists of finding the optimal space trajectory that satisfies initial and final boundary conditions and a given mission structure. In [12], two sample problems were solved using GA and NLP for the implementation of the outer- and inner-loop solvers, respectively. In the motorized traveling salesman problem [12], the outer-loop searched for the optimal visitation sequence of three cities. During the search the outer-loop passed each candidate city sequence to the inner-loop, which solved the corresponding continuous-time optimal control problem and returned the cost to the outer-loop. That is, the inner-loop must solve every optimal control problem required by the outer-loop, or the hybrid optimizer may not find the optimal sequence. This motorized traveling salesman problem is, however, an unusually straightforward HOC problem, because even though the inner-loop had to solve optimization problems with different visita- tionsequences, the NLPproblem structure of parameters, constraints, and system EOMs was static, i.e., it did not change. The only required modification was setting the interception constraints with the locations of the cities corresponding to the given sequence. The mission design problem is qualitatively different from these sample problems, as the discrete variables now represent events such as impulses, coast arcs, and thrust arcs that, as will be shown, change the structure of the NLP problem. In addition, the number of events in the categorical sequence is not fixed; for example a mission might consist of a coast arc, an impulse, another coast arc, and a thrust arc. The same mission might be accomplished without the impulse, or with an additional coast arc/thrust arc combination. Conventional implementations of NLP solvers expect a static problem structure. For the dynamical assembly of events required for the NLP discretization of the mission design problem, a scheme that defines events as modules consisting of parameters and constraints is presented. The method assembles the respective events sequentially in time according to the given mission structure [9]. It was noted in the discussion of the solution process for the example problems [12,21] that the continuous-time problem, after transcription, requires an initial guess,i.e., an approximate solution to initialize the NLPproblem solver.If theguess is not sufficiently good, the NLP solver will not converge, and as mentioned previously, a suboptimal solution may be found or the HOC solution search could stop. Because the mission design problems are sophisticated and challenging, combining possibly lengthy sequences of events (coasts, impulses, thrust arcs), reliably finding an approximate solution of good quality is challenging. A new method was developed that approximates optimal low-thrust trajectories [9] and addresses these issues. The method, based on GA, approximates optimal control histories by incorporating boundary conditions explicitly using a CP function. The approximate solution from this method is given as an initial guess to an NLP problem solver to obtain an accurate optimal trajectory. A. Methods for the Approximate Optimization of Multiphase Impulsive Trajectories The proposed method to approximate an optimal solution is based on real GA. Real GA still uses binary representations and operations for the evolutionary processes but at a level that is transparent to the user. The approximate optimal trajectory is to be used as the initial guess for a more accurate optimization method, such as direct transcription with NLP. Because experience shows that penalty methods do not handle explicit constraints well in general, such constraints should be handled implicitly whenever possible, i.e., posing the optimization problem in such a way that it appears to be unconstrained from the standpoint of the GA. For instance, a compound event named “Lambert’s rendezvous” has been defined for trajectories that must satisfy rendezvous conditions using impulsive maneuvers. Its implementation is based on algorithms for Lambert’s problem, which consist of the determination of an orbit that connects two position vectors and has a specified transfer time. Battin [8] and Prussing [25] present algorithms for Lambert’s problem using single and multirevolution trajectories, respectively. Such algorithms yield the semimajor axis and eccentricity of the transfer orbit, which is sufficient to allow the determination of the velocity vectors at the beginning and the end of the transfer. Although the original definition of Lambert’s problem does not consider rendezvous maneuvers, it is possible to match required velocity vectors by computing the respective ΔVs using the resulting terminal velocity vectors. Because the interception or rendezvous constraints are handled by the Lambert’s problem algorithm, the GA can find optimal values for the respective parameters for the states and transfer time without explicitly dealing with any constraint. Foran entirely impulsive trajectory, the following eventsconstitute the categorical space Q: 1) A coast arc c is the most basic event to represent. It is characterized by only one GA parameter, the flight time. Its evaluation consists of integrating the EOMs in Eq. (13) from the initial state of the event for the duration of the flight time. The state at the end of the integration becomes the boundary state of the event. 2) An impulse i is also straightforward; it consists of two GA parameters, the direction, and magnitude of the impulse. Its evalua- tion applies the vector operation in Eq. (16) to the initial state of the event. The resulting vector is the boundary state of the event. 3) The Lambert’s rendezvous l is a compound event consisting of an impulse, a coast arc, and another impulse that is placed at the end of the mission to satisfy given boundary conditions. Although this compound event is equivalent to the sequence i; c; i , the Lambert’s rendezvous event was introduced because the coast arc c and the impulse i events would need explicit constraints to satisfy the given boundary conditions. The only GA parameter required is the transfer time, because the initial and target state vectors for the event are specified. The evaluation of the event yields the terminal velocities and hence the impulses required to perform the maneuver. Assembling the respective events, in this case, i, c, and l, sequentially in time constitutes a multiphase mission. Given that a few parameters represent each event, a GA individual can characterize an entire mission by collecting the parameters of all the constitutive events. For example, the sequence q q0; q1; q2; q3 c; i; c; l can be represented by the chromosome Coast Time0; Direction1; Magnitude1; Coast Time2; Transfer Time3 where the superscripts identify which event in the sequence the respective parameter belongs to. The cost determination of this individual starts by evaluating each of the component events from left to right, successively. Every event has a defined initial state at the moment of evaluation that corresponds to the boundary state of the previous event. The assessment of the last event concludes the evaluation of the individual and precedes the computation of the sequence cost. Forthe sample chromosome, it would be the sum of all the explicit impulse magnitudes, in this case just magnitude1, and the two impulse magnitudes resulting from solving Lambert’s problem. The addition of events that use low-thrust propulsion is more complex because they require continuous control histories. The next section presents a method to approximate optimal trajectories including these types of events. AIAA Early Edition / CHILAN AND CONWAY 7 DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  8. 8. B. Conditional Penalty Method for the Approximate Optimization of Multiphase Low-Thrust Trajectories A GA-based approach, the CP method [9], has been developed for the approximate optimization of multiphase low-thrust trajectories. In principle, any evolutionary algorithm such as particle swarm algorithms or genetic algorithms can be used with the CP formulation. Instead of using traditional penalty methods to satisfy explicit boundary conditions, a conditionally valued fitness function is introduced to first find a feasible trajectory, and then refine it into a trajectory that is also optimal. The approximate solution can then be used as an initial guess for a direct solver that converts the continuous optimal control problem into a NLP problem. The method inherits the parallel scalability of GA for use in parallel computing systems [26]. An important feature of this method is that it is not constrained to a particular choice of coordinate system. Also, the method allows considering actual mission features, such as the use of constant thrust, and the thrust acceleration increase as propellant is consumed. A space mission can be accomplished successfully by thrusting for the entire duration of the flight. However, primer vector theory shows that such a strategy is likely not optimal. Trajectories consisting of multiple low-thrust and coasting arcs, i.e., multiphase missions, can often satisfy similar boundary conditions using less propellant. The conditional penalty method described here optimizes this multiphase type of trajectory without a priori knowledge. It is illustrated by means of a sample minimum-propellant rendezvous using low thrust, whose state trajectory is shown in cartoon form in Fig. 4. Assuming that initial conditions are given, the state point A is specified. For a rendezvous, the state point D is also given or is determinable as a function of time. Intermediate points B and C are not specified directly but can be obtained by integrating the system with a control history during the first thrust arc and by coasting, respectively. Assuming that the mission events can be evaluated in chronological order, some general observations can be made at this point: 1) Every arc has initial conditions before its evaluation. 2) The thrust arc AB does not have terminal boundary conditions. 3) The thrust arc CD has given boundary conditions. 4) The flight times of each arc, including the coast, are free. A GA method can then optimize this mission by finding values for 1) control parameter vector uAB, 2) control parameter vector uCD, 3) flight time of thrust arc AB, 4) flight time of coast arc BC, and 5) flight time of thrust arc CD, that satisfy the rendezvous conditions while minimizing the total thrusting time. The control vectors consist of parameters that determine the thrust-pointing angle history during each thrust arc. The integration of the EOMs in a thrust arc requires many integration steps, which in turn calls for a rather large number of parameters to represent the respective control history. Such a large number of parameters in the GA model of an individual wouldrequire the use of very large populations, reducing the effectiveness of the method. A reduction in the number of parameters can be accomplished by representing the control history at only a few points in time. Interpolating the few control parameters using polynomials such as the Hermite cubic or a Fourier transform [9,27,28] yields the higher time resolution of the control history required for an accurate integration. A design of a chromosome for GA individuals, for the example shown in Fig. 4, would require the following vector P of parameters: P tAB; uAB; tBC; tCD; uCD The determination of the cost of each individual is accomplished by evaluating the mission phases successively using the parameter values. For instance, the first thrust arc has a defined initial point A that, with flight time tAB and control vector uAB, are used to obtain point B. Then,point B is used with tBC to find point C at the endof the coast. Finally, the evaluation of the second thrust arc requires the integration of the system starting from C, using flight time tCD and control vector uCD, to obtain point x tD . Although this approach ensures every individual satisfies the EOMs throughout the trajectory, the specified terminal conditions may not be achieved. An approach to address this issue is to use penalty methods in the fitness function. For example, the constrained optimization problem Minimize J P subject to hi P 0; i 1; 2; : : : ; n would become minimize J P k Xn i 1 Φ hi P where Φ is the penalty function, and k is the penalty coefficient. Experience shows that using a linear combination to minimize the cost and constraint violations simultaneously is not an effective technique [29]. Because the inner-loop in the HOC problem solver should be able to optimize a trajectory with any structure, an alternate, more robust method is needed. Coello Coello [29] presents a method that handles the constraints based on evolutionary multiobjective optimization (MOO). The method explicitly ranks the GA individuals in the population according to prescribed rules on their feasibility and optimality. The CP method [9] used in this work has a simpler implementation, but it is effective in finding solutions to constrained optimization problems. In the CPmethod, the constraint violations are mapped into a scalar distance d, i.e., the Euclidean distance between the boundary state x tD and the boundary conditions D. Figure 5 shows two boundary- specified thrust arcs identified by subscripts (1, 2) corresponding to the last thrust arcs of multiphase missions represented by different GA individuals. The last thrust arcs for individuals 1 and 2 terminate at x1 tD and x2 tD , respectively. If the distance d is greater than the specified tolerance, as is the case for individual 1, the trajectory is considered to be infeasible; the cost assigned to the individual is then the addition of a large infeasibility constant K and the distance d, which provides the search with directionality information even from infeasible individuals. If the trajectory is feasible, as results from the last thrust arc of individual 2, the cost assigned to the individual is no longer related to the distance d, but instead it is based on the original A B C D X1 X2 thrust coast thrust Fig. 4 State trajectory of multiphase low-thrust mission. X1 X2 C1 D x1(tD) d1 > tol d2 toltolerance region C2 x2(tD) Fig. 5 Feasibility determination of boundary-specified thrust arcs. 8 AIAA Early Edition / CHILAN AND CONWAY DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  9. 9. cost metric, i.e., the amount of propellant used in the entire mission. This method can be implemented using the following conditional fitness function: J K d if d > tolPNs j 0 g qj if d ≤ tol (23) The CP method requires the tuning of only two parameters. The infeasibility constant can be trivially set to a value that is higher than the expected cost of any feasible solution. In general, the tolerance should be set to low-accuracy values in the order of 10−1 to 10−2 for normalized problems, because evolutionary metaheuristics are less accurate than gradient-based deterministic methods such as NLP. High-accuracy tolerances are likely to cause overpenalization, i.e., convergence to a feasible solution with a cost that is significantly higher than the optimal cost. C. Methods of Solution for the Optimization of a Multiphase Space Trajectory Direct methods have become a popular choice for trajectory optimization problems because they avoid the difficulties related to the derivation and solution of the TPBVP resulting from the Euler–Lagrange equations of the COV. Unlike GA solutions, trajectories found using NLP satisfy optimality conditions to a specified tolerance, which yields accurate solutions. Schemes for the transformation include Hermite–Simpson collocation [18], Runge– Kutta transcription with parallel shooting [7], and Gauss–Lobatto collocation [19], which vary in their degree of accuracy and robustness. Regardless of the scheme chosen, the NLP trans- formation consists of discretizing time and modeling the continuous- time state and control variables at several points in time. The system dynamics and boundary conditions are satisfied by defining nonlinear constraints that relate nodal NLP parameters. Creating such a NLP structure of parameters and constraints is an involved process that the mission planner has to perform each time the optimization problem is formulated with a different structure. It is clear that this approach is not practical for a mission “automaton,” because the problem statement for the inner-loop calls for the optimization of trajectories with a variety of structures. Therefore, a modular scheme is needed for the automatic construction of NLP problems during runtime. The basic module in this work is the categorical event, which consists of a set of NLP parameters and constraints [9]. A property of every event is the presence of terminal nodes that allows representing initial and boundary states. This property, along with the definition of continuity constraints on the states during the event transitions, allows assembling the events successively in time regardless of their internal dynamics in a fashion similar to that described by von Stryk and Glocker [10] as shown in Fig. 6. The internal constitution of each event module depends on the type of event it represents [9]. The NLP representation of impulses is implemented as follows: 1) An impulse is represented by a knot, i.e., two nodes corresponding to the states immediately before and following the impulsive maneuver. 2) Two additional parameters are used for the direction and magnitude of the impulse. 3) Five nonlinear constraints ensure that the parameters satisfy the change in velocity and mass described in Eq. (16). In a similar way, the NLP representation for coast and thrust arcs is the following: 1) A coast/thrust arc is represented by a standard mesh for parallel- shooting using RK integration rule. One RK step per segment has been selected for maximum robustness. 2) An additional parameter is added for the flight time. 3) Five nonlinear constraints on each mesh segment ensure that the parameters satisfy the EOMs in Eq. (13). 4) Additional constraints may be imposed depending on the desired maneuver, e.g., interception or rendezvous. Note that there is no particular event definition for a Lambert’s rendezvous, because the NLP problem does not employ any of the algorithms to solve Lambert’s problem. When the inner-loop is assigned to optimize a trajectory containing this type of event, it assembles an impulse, a coast arc, and another impulse, and defines the nonlinear constraints required to satisfy the boundary conditions. By parsing the events provided by the outer-loop, this modular approach allows the inner-loop to set the vector of NLP parameters with suitable bounds and to compute the appropriate nonlinear constraints. The modeler has the discretion to define the upper and lower bounds for the parameters in a way that is appropriate for the problem in consideration; the boundsfor the GA and NLPeventsmay or may not be similar as long as the GA search space is a subset of the NLP search space. This is a necessary condition for the GA solution to be a feasible initial guess for the NLP problem. Regarding the terminal constraints, numerical experimentation shows that the NLP solver finds the optimal solution more robustly if the interception constraints, i.e., position matching, are transformed to Cartesian coordinates instead of directly using polar coordinates. The cost function is a measure of the propellant used throughout the trajectory. In this work, it has been constructed as the sum of the normalized thrusting times corresponding to the thrust arcs and those resulting from the transformation of the impulse magnitudes as defined in Eq. (20). It is important to note that a feasible trajectory may not exist for some values of the categorical variables, e.g., number of revolutions, and the constraints for the continuous variables, e.g., boundary conditions and flight time. For these cases, the inner-loop assigns a large constant cost to the event sequence provided by the outer-loop. D. Transformation of the Approximate GA Solution into the NLP Initial Guess The approximate solution for the trajectory optimization problem found using the conditional penalty method [9] is a good initial guess for the NLP problem solver, because the EOMs are satisfied and the propellant consumption has been minimized heuristically. However, such a solution cannot be used directly by the NLP solver, because the GA and NLP parameter representations are different. For example, the GA model does not use parameters to represent state variables; they are computed during the evaluation of each event taking as initial state the boundary state of the previous event. Therefore, a procedure is required to generate guess values for the respective NLP parameters from the approximate GA solution. For an impulse, the GA values for the initial state and the impulse direction and magnitude can be used directly as guess values for the NLP parameters corresponding to the state at initial node and the direction and magnitude of the impulse. The vector operations in Eq. (16) describe the impulse dynamics and generate guess values for the state at the boundary node of the event. For a coast arc, the GA values for the initial state and flight time can be used directly as guess values for the NLP parameters corresponding to the state at the initial node and the flight time. Performing an integration of the system in Eq. (13) yields guess values for the state parameters at the inner and boundary mesh nodes. Fora thrust arc, the GAvalues for the initial state and the flight time can again be used as guess values for the NLP parameters for the state at the initial node and the flight time. To obtain guess values for the states at the inner nodes, the few GA control parameters are t0= 0 tNs1= tf event q0 t1 t2 ti ti+1 event q1 event qi x = f(x,u,q0 ) x = f(x,u,q1 ) x = f(x,u,qi ) x(0) x(tf) Fig. 6 Assembly of events in a multiphase trajectory. AIAA Early Edition / CHILAN AND CONWAY 9 DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  10. 10. interpolated to achieve a resolution consistent with the transcription mesh; this provides the guess values for all the control parameters for the thrust arc. Then, the system in Eq. (13) can be integrated to obtain the state values for the inner and boundary nodes. This is a computationally practical approach, because the interpolation of the control history involves only a few GA parameters, and the integ- ration of the EOMs is an initial value problem (IVP) with a number of steps given by the resolution of the discrete time mesh. Finally, for a Lambert’s rendezvous, the GA model provides an initial state and a flight time; a target state is given in the problem definition. A Lambert’s problem algorithm can find the terminal velocities needed to perform the rendezvous, which in turn yield the magnitude and direction of the first and second impulsive maneuvers. With this information, guess values can be generated for the parameters of the events that compose the Lambert’s rendezvous in the NLP model, i.e., a first impulse, a coast arc, and a second impulse. The next paragraph shows an outline of the algorithm for the optimization of trajectories with different structures using NLP. As with the CP approximation method, the events are evaluated one at a time, and the locations of the respective event parameters and constraints in the GA vector, NLP parameter vector, and NLP constraint vector are determined through the use of an offset variable on each vector. Each offset variable indicates the location of the first element, e.g., parameter or constraint, for the event that is currently evaluated; the rest of the elements for the current event are recognized by their relative position with respect to the first element. After the evaluation of the event is complete, the number of elements (parameters or constraints) of the current event in the respective vector is added to the corresponding offset variable so that it indicates the location of the first element of the next event. This process continues successively until all events in the given sequence have been evaluated. MAIN PROGRAM initialize offsets on GA solution vector and NLP initial guess and bounds vectors FOR each event transform solution values of the GA event parameters into initial guess values for the NLP event parameters, and set them in the NLP initial guess vector set bounds for the respective NLP event parameters and constraints in the NLP bounds vectors advance offsets on GA parameters vector and NLP initial guess and bounds vectors to the next event END call NLP solver with initial guess vector, bounds vectors, and names for the OBJECTIVE FUNCTION and the NONLINEAR CONSTRAINTS FUNCTION OBJECTIVE FUNCTION initialize offset on NLP parameter vector FOR each event accumulate the cost contribution of the event advance offset on NLP parameter vector to the next event END return accumulated cost NONLINEAR CONSTRAINTS FUNCTION initialize offsets on NLP parameters and constraints vectors FOR each event compute values for the nonlinear constraints for the event and set them in the NLP constraints vector IF event is NOT first compute values for state continuity constraints and set them in the NLP constraints vector END IF event is terminal compute values for terminal constraints and set them in the NLP constraints vector END advance offsets on NLP parameters and constraints vectors to the next event END return NLP constraints vector VI. Example Problem with Specified Final Time A minimum-propellant time-fixed rendezvous between circular orbits was selected as a testbed for the GA NLP hybrid optimizer [9]. The GA and NLP solvers used are the MATLAB Global Optimization Toolbox [24] and TOMLAB/SNOPT [30], respec- tively. The computing system used to solve this problem is a 1.66- GHz Intel Core Duo. This problem was developed and solved by Prussing and Chiu [31] using primer vector theory [13]. In the problem, two spacecraft orbit a planet in coplanar circular orbits of unit radius. The target spacecraft has an initial lead angle of π rad with respect to the controlled spacecraft as shown in Fig. 7, and the transfer time is 2.3 orbit periods. Prussing and Chiu [31] found a locally optimal trajectory with four impulses and a cost of ΔV 0.1891 DU∕TU, where a DU is equal to the radius of the circle orbit and a TU is the time to advance one radian in the unit circle orbit. Colasurdo and Pastrone [32] found another solution with a lower cost of ΔV 0.1638 DU∕TU also using four impulses, which is shown in Fig. 8; the triangles show the locations where the impulses are applied. The optimality of this mission structure can be verified using the Pontryagin minimum principle through a switching function [33] shown in Fig. 9. Primer vector theory requires the application of a thrusting maneuver each time the switching function is greater than or equal to zero, and a coast otherwise. The existence of known solutions for this nontrivial problem makes it a good choice for evaluating the effectiveness of the methods presented in this work. Although the problem as constructed by Prussing and Chiu [31] allows only impulsive maneuvers, in this work it is modified to allow low-thrust arcs [34]. In addition, the problem is solved accounting for the difference in efficiency of the propulsion systems, i.e., that the electric low-thrust engine is many times more efficient than a chemical rocket in its use of propellant mass. The controlled spacecraft position and velocity are defined in a polar coordinate system, and canonical units are used, i.e., a DU is the radius of the circular orbit and one TU is the time required to advance one radian in the unit circle. At the initial time, the polar coordinates of the controlled spacecraft are r 1 DU, and θ 0 rad. Assuming that the circular orbit is geosynchronous and that the propulsion systems used are the advanced space engine rocket (Isp 476 s) and a standard ion electric engine (Isp 3000 s), the exhaust velocities become 1.52 DU∕TU and 9.57 DU∕TU, respectively. The initial thrust acceleration is assumed to be 0.03 DU∕TU2 and an upper bound on the final thrust acceleration is set to 0.30 DU∕TU2. The continuous optimal control problem is described in Eqs. (21) and (22) with the following initial and boundary conditions and time constraints: x0 1 0 0 1 0.03 T xf 1 0.8 n 2π 0 1 free T n ∈ f 0; 1; 2; 3 g t0 0; tNs1 4.6π The goal of the hybrid optimizer is to find the mission structure that minimizes the amount of propellant required to perform the rendezvous. The maximum length of the event sequences Ns;max is chosen to be 12. Because the cardinality of the categorical space is 5, the total size of the discrete search space then becomes 4 P12 i 1 5i 1; 220; 703; 120. The transcription approach for the outer-loop problem described in Sec. IVallows reducing the discrete search space by considering only the event sequences that satisfy the discrete constraints. In this case, the mission sequences can use up to six thrusting events, so the chromosome for the outer-loop problem is a string of six binary digits plus 1 bit for the specification of the sequence length and 2 bits for the representation of the number of revolutions. The size of the discrete search space has been reduced to 512. The GA population size is chosen to be 25, and the evolutionary process is set to run for 20 generations. For the inner-loop problem, the time mesh for each coast/thrust arc consists of 30 segments to represent the time history of 5 continuous- 10 AIAA Early Edition / CHILAN AND CONWAY DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  11. 11. time states and 1 control variable (an additional parameter represents the flight time). Consequently, each thrust arc uses 217 NLP parameters and each coast arc uses 156 NLP parameters; there are 150 nonlinear constraints on each arc. For impulses, each knot uses 12 NLP parameters and has 5 constraints. There are 5 state continuity constraints for each event transition, and 5 final constraints for the boundary conditions and time constraint. The NLP feasibility and optimality tolerances were set to 10−5 . The CP method is used for the generation of the initial guesses for the NLP solver. The CP tolerance was set to 10−1 and the control history during a thrust arc is represented using 3 parameters and Hermite cubic interpolation. The real GA used in the CP method is configured with a population size of 500 individuals. The evolutionary process is set to stop after reaching 500 generations or when 50 generations have had the same best individual. The real GA search space for the magnitude of the impulsive maneuvers is 0.002; 1.8 and for the thrust pointing angle parameters is −π; π ; the search space for the duration of the coast/thrust arcs is 0.5; 12 with the exception of the first arc, which can collapse to 10−3. Because the geometrical configuration of the system is not affected by an initial coast, the guess for the duration of the initial coast is set to 10−3. The mission structure that minimizes the propellant consumed is c; s; c; s; c; s; c; t with two revolutions, which has a normalized thrusting time of 0.6541 TU2 ∕DU; the actual thrusting time (6.2594 TU) can be found by multiplying the normalized metric by the respective exhaust velocity. Finding the best event sequence required the cumulative evaluation of 65 sequences in the outer-loop as shown in Table 2. The optimal solution is found in the sixth generation; 14 more generations are run (only 4 of these are shown) but no improvement is seen. Note that for improved efficiency of the outer-loop GA method, the evaluated sequences and their corres- ponding costs are cached in memory to avoid solving the same problems repeatedly if the sequences appear again in subsequent generations. This explains why the number of “evaluated sequences” in the table rapidly diminishes as the search converges to the solution. The total computational time for the hybrid optimizer was approxi- mately 16 days. As an example, finding the solution trajectory for the best sequence in the inner-loop required 262 min for the CP to find an initial guess and then 108 min for the NLP solver to converge from this guess to the solution. The optimal trajectory and control history are shown in Figs. 10 and 11, respectively. The optimality of the mission structure can be verified through a switching function [7,33], which can be computed using the NLP parameters corresponding to the states and Lagrange multipliers from the NLP solution [7]. Figure 12 shows that the mission structure found is optimal; primer vector theory requires the application of a thrust arc when the Fig. 8 Optimal trajectory using four impulses and two revolutions for the circle-to-circle rendezvous, Colasurdo and Pastrone solution [32]. Fig. 9 Switching function history for optimal trajectory using four impulses and two revolutions for the circle-to-circle rendezvous. Fig. 7 Initial spacecraft configuration for the circle-to-circle rendezvous. AIAA Early Edition / CHILAN AND CONWAY 11 DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  12. 12. switching function is greater than zero and a coast otherwise (thus the duration of the first arc of the sequence is collapsed to the lower bound, 10−3 ). The fact that the hybrid optimizer found that the optimal mission sequence uses only low-thrust propulsion means that the solver effectively took into account the much greater efficiency of that engine vs the conventional rocket motor. As a comparison, note that total cost for the four-impulse strategy found by Colasurdo and Pastrone [32] in normalized thrusting time is 3.6065 TU2∕DU (normalized ΔV of 0.1078) for the given propulsion parameters. However, the low-thrust strategy used, placing the spacecraft into an inner orbit to reduce the lead angle of the target, is similar to that of the impulsivecase shownin Fig. 8. It can be said that the trajectory shown in Fig. 10 is the low-thrust analogue of the impulsive trajectory. The similarity of the trajectories is also shown by their switching functions in Figs. 9 and 12. VII. Example Problem with Free Final Time A minimum-propellant Earth–Mars transfer was chosen as an example of a problem with an unspecified (free) final time [34]. Typical missions to Mars have durations of less than a year, e.g., the Hohmann transfer from Earth requires 9 months approximately; therefore, an upper bound of 5 years was set on the total mission time. The problem uses the J2000 heliocentric ephemeris [35] for the computation of the position of the planets, and a coplanar rendezvous is studied for the sake of simplicity. The spacecraft position and velocity are defined in a heliocentric polar coordinate system, and canonical units are used, i.e., 1 DU is equal to 1 astronomical unit (au), and a TU is the corresponding time to advance one radian in a 1- au circular orbit. The initial time is the J2000 epoch, and the initial thrust acceleration is assumed to be 0.025 DU∕TU2 ; an upper bound on the final thrust acceleration is set to 0.300 DU∕TU2. The initial and boundary states are obtained from the orbital elements resulting from the ephemeris computation. The propulsion systems used are a nuclear thermal rocket (Isp 850 s) and a standard ion electric engine (Isp 3000 s), so the exhaust velocities become 0.280 DU∕TU and 0.988 DU∕TU, respectively. As before, the goal of the hybrid optimizer is to find the mission structure that minimizes the amount of propellant required to complete the mission. The spacecraft can perform 0 through 3 revolutions. The configuration of the outer- and inner-loop solvers is the same as that for the previous Fig. 10 Optimal trajectory for the sequence c;s;c;s;c;s;c;t with two revolutions for the circle-to-circle rendezvous. The bold segments represent thrust arcs. Fig. 11 Optimal control history for the sequence c;s;c;s;c;s;c;t with two revolutions for the circle-to-circle rendezvous. Fig. 12 Switching function history for the sequence c;s;c;s;c;s;c;t with two revolutions for the circle-to-circle rendezvous. Table 2 Progress of the outer-loop GA solver for the circle-to-circle rendezvous Generation Evaluated sequences Cumulative evaluations Best normalized thrusting time (TU2∕DU) Best normalized ΔV (dimensionless) Best sequence 1 25 25 0.6977 0.0212 c; s; c; i; c; s; c; s; c; t 2 rev 2 14 39 0.6977 0.0212 c; s; c; i; c; s; c; s; c; t 2 rev 3 10 49 0.6688 0.0203 c; s; c; s; c; s; c; s; c; s; c; t 2 rev 4 9 58 0.6688 0.0203 c; s; c; s; c; s; c; s; c; s; c; t 2 rev 5 4 62 0.6688 0.0203 c; s; c; s; c; s; c; s; c; s; c; t 2 rev 6 3 65 0.6541 0.0198 c; s; c; s; c; s; c; t 2 rev 7 1 66 0.6541 0.0198 c; s; c; s; c; s; c; t 2 rev 8 0 66 0.6541 0.0198 c; s; c; s; c; s; c; t 2 rev 9 0 66 0.6541 0.0198 c; s; c; s; c; s; c; t 2 rev 10 0 66 0.6541 0.0198 c; s; c; s; c; s; c; t 2 rev 12 AIAA Early Edition / CHILAN AND CONWAY DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  13. 13. example, and the conditional penalty method is used to generate the initial guesses for the NLP solver. The real GA search space for the magnitude of the impulsive maneuvers is 0.003; 0.4 and for the thrust-pointing angle parameters is −π; π ; the search space for the duration of the coast/thrust arcs is 0.5; 25 with the exception of the first arc, which can collapse to 10−3. The best mission sequence found is c; s; c; s; c; t with two revolutions and a normalized thrusting time of 6.8625 TU2∕DU (actual thrusting time is 6.7802 TU); the duration of the mission is 2.83 years. Finding this solution required the cumulative evaluation of 40 sequences as shown in Table 3; the optimal solution is found in the second generation. The total computational time for the hybrid optimizer was approximately 15 days. As an example, finding the solution trajectory for the best sequence in the inner-loop required 235 min for the CP to find an initial guess andthen 73 min for the NLP solver to converge from this guess to the solution. The corresponding optimal trajectory and control history are shown in Figs. 13 and 14. The switching function [7,33] in Fig. 15 shows the optimality of the mission structure. The first and the second thrust arcs occur near periapse, primarily in the direction of motion, which raises the apoapse. In this way, the apoapse of the last transfer trajectory reaches the orbit of Mars. Shortly before entering Mars orbit, the third and final thrust arc begins to raise the periapse and complete the rendezvous. VIII. Conclusions In this work, the problem of interest is the automated solution of hybrid optimal control (HOC) problems. A HOC problem is an optimization problem defined in terms of discrete and continuous variables. Although in this work the nested-loop approach has been followed, the solution of complex problems, such as the automated design of multiphase space missions, requires new sophisticated methods, because the problem structure is no longer static as in other HOC problems. The discrete variables now represent events such as impulses, coast, and thrust arcs, which means that the spacecraft dynamics are described by different equations of motion during the different phases of the trajectory. Analysis was performed to reduce the discrete search space in the outer-loop to only sequences that satisfy given discrete constraints. The strategyof using a leading bit as a length marker was successfully used in the outer-loop genetic algorithm (GA) when searching among Table 3 Progress of the outer-loop GA solver for the Earth–Mars mission Generation Evaluated sequences Cumulative evaluations Best normalized thrusting time (TU2∕DU) Best normalized ΔV (dimensionless) Best sequence 1 25 25 6.8705 0.1885 c; s; c; s; c; s; c; t 2 rev 2 15 40 6.8625 0.1882 c; s; c; s; c; t 2 rev 3 12 52 6.8625 0.1882 c; s; c; s; c; t 2 rev 4 5 57 6.8625 0.1882 c; s; c; s; c; t 2 rev 5 5 62 6.8625 0.1882 c; s; c; s; c; t 2 rev 6 2 64 6.8625 0.1882 c; s; c; s; c; t 2 rev 7 1 65 6.8625 0.1882 c; s; c; s; c; t 2 rev 8 0 65 6.8625 0.1882 c; s; c; s; c; t 2 rev 9 1 66 6.8625 0.1882 c; s; c; s; c; t 2 rev 10 0 66 6.8625 0.1882 c; s; c; s; c; t 2 rev Fig. 13 Optimal trajectory for the sequence c;s;c;s;c;t with two revolutions for the Earth–Mars mission. The bold segments represent thrust arcs. Fig. 14 Optimal control history for the sequence c;s;c;s;c;t with two revolutions for the Earth–Mars mission. Fig. 15 Switching function history for the sequence c;s;c;s;c;t with two revolutions for the Earth–Mars mission. AIAA Early Edition / CHILAN AND CONWAY 13 DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  14. 14. variable-length sequences using a fixed-length chromosome. In addition, the strategy of caching the cost of evaluated event sequences in memory provided significant savings in computation; the evaluation of a single event sequence is computationally intensive, because it requires solving an optimal control problem. The automated construction of nonlinear programming (NLP) problems of arbitrary structure in the inner-loop was made possible because of the introduction of a new modular scheme. The basic module consists of a mission event, which is represented by a set of NLP parameters and constraints. For the generation of initial guesses for the NLP problem, a new method based on real GA approximates optimal control histories by incorporating boundary conditions explicitly using a conditional penalty (CP) function. The quality of the solutions found by the CP method allows the NLP solver to robustly converge to a solution. However, multiphase trajectory optimization problems have difficulties not found in single-phase optimization problems. For instance, if every event is allowed to collapse, some of them may collapse early during the search, yielding a convergent solution that is feasible but suboptimal. To prevent this problem, a small lower bound was set on the magnitude of the events; the definition of what is “small” will depend on the nature and the scaling of the problem. This strategy does not pose a major loss of generality, because if an event should collapse to yield the optimal solution, the outer-loop GA should call for the evaluation of a similar sequence without the offending event. A second strategy used in tandem is the definition of a low-accuracy tolerance in the CP method to prevent overpenalization. Statistics show that the computational times for the CP and the NLP methods are of the same order. The implementation of these methods in future studies to find three- dimensional trajectories is straightforward but should have longer computational times due to the presence of additional search parameters. The solved problems included the minimum-propellant, time- fixed circle-to-circle orbit rendezvous. The second solved problem was a minimum-propellant time-free, coplanar Earth–Mars mission. The application of normalized cost metrics and transformations allowed the optimization of trajectories that employ different propulsion systems. The optimality of the multiphase structures found was verified using the Pontryagin minimum principle through a switching function. In this work, methods were developed that can be used for the automated design of multiphase space missions but can also apply to the solution of any dynamical HOC problem. Similarly, the CP method, developed here for robustly finding approximate solutions to be used as initial guesses for the NLP solver in the inner-loop of the automaton, could also be used independently, e.g., when initial guesses are needed for solutions of general optimal control problems. References [1] Vasile, M., Ceriotti, M., Radice, G., Becerra, V., Nasuto, S., and Anderson, J., “Global Trajectory Optimisation: Can We Prune the Solution Spacewhen Considering Deep Space Manoeuvres?” European Space Agency Final Rept. No. 06-4101c, 2008. [2] Englander, J., Conway, B. A., and Williams, T., “Automated Mission Planning via Evolutionary Algorithms,” Journal of Guidance, Control, and Dynamics, Vol. 35, No. 6, 2012, pp. 1878–1887. doi:10.2514/1.54101 [3] Gad, A., and Abdelkhalik, O., “Hidden Genes Genetic Algorithm for Multi-Gravity-Assist Trajectories Optimization,” Journal of Spacecraft and Rockets, Vol. 48, No. 4, 2011, pp. 629–641. doi:10.2514/1.52642 [4] Ceriotti, M., and Vasile, M., “Automated Multigravity Assist Trajectory Planning with a Modified Ant Colony Algorithm,” Journal of Aerospace Computing, Information, and Communication, Vol. 7, No. 9, 2010, pp. 261–293. doi:10.2514/1.48448 [5] Ross, I. M., and D’Souza, C. N., “Hybrid Optimal Control Framework for Mission Planning,” Journal of Guidance, Control, and Dynamics, Vol. 28, No. 4, 2005, pp. 686–697. doi:10.2514/1.8285 [6] Goldberg, D. E., Genetic Algorithms in Search, Optimization and Machine Learning, Addison–Wesley, Reading, MA, 1989, pp. 6–14. [7] Enright, P. J., and Conway, B. A., “Discrete Approximations to Optimal Trajectories Using Direct Transcription and Nonlinear Programming,” Journal of Guidance, Control, and Dynamics, Vol. 15, No. 4, 1992, pp. 994–1002. doi:10.2514/3.20934 [8] Battin, R. H., An Introduction to the Mathematics and Methods of Astrodynamics, AIAA, New York, NY, 1987, pp. 295–342. [9] Chilan, C. M., and Conway, B. A., “Using Genetic Algorithms for the Construction of a Space Mission Automaton,” Paper 557, IEEE Congress on Evolutionary Computation, IEEE Publications, Piscat- away, NY, 2009, pp. 2316–2323. [10] von Stryk, O., and Glocker, M., “Numerical Mixed-Integer Optimal Control and Motorized Traveling Salesmen Problems,” Journal European des Systemes Automatises, Vol. 35, No. 4, 2001, pp. 519–533. [11] Buss, M., Glocker, M., Hardt, M., von Stryk, O., Bulirsch, R., and Schmidt, G., “Nonlinear Hybrid Dynamical Systems: Modeling, Optimal Control, and Applications,” Lecture Notes in Control and Information Sciences, Vol. 279, 2002, pp. 311–335. [12] Chilan, C. M., and Conway, B. A., “A Space Mission Automaton Using Hybrid Optimal Control,” Advances in the Astronautical Sciences, Vol. 127, Univelt, San Diego, CA, 2007, pp. 259–276. [13] Lawden, D. F., Optimal Trajectories for Space Navigation, Butterworths, London, 1963, pp. 54–69. [14] Rauwolf, G. A., and Coverstone–Carroll, V. L., “Near-Optimal Low- Thrust Orbit Transfers Generated by a Genetic Algorithm,” Journal of Spacecraft and Rockets, Vol. 33, No. 6, 1996, pp. 859–862. doi:10.2514/3.26850 [15] Coverstone–Carrol, V., “Near-Optimal Low-Thrust Trajectories via Micro-Genetic Algorithms,” Journal of Guidance, Control, and Dynamics, Vol. 20, No. 1, 1997, pp. 196–198. doi:10.2514/2.4020 [16] Vasile, M., Minisci, E., and Locatelli, M., “Analysis of Some Global Optimization Algorithms for Space Trajectory Design,” Journal of Spacecraft and Rockets, Vol. 47, No. 2, 2010, pp. 334–344. doi:10.2514/1.45742 [17] Bryson, A. E., and Ho, Y. C., Applied Optimal Control, Hemisphere, New York, 1975, pp. 47–89. [18] Hargraves, C. R., and Paris, S. W., “Direct Trajectory Optimization Using Nonlinear Programming and Collocation,” Journal of Guidance, Control, and Dynamics, Vol. 10, No. 4, 1987, pp. 338–342. doi:10.2514/3.20223 [19] Herman, A. L., and Conway, B. A., “Direct Optimization Using Collocation Based on High-Order Gauss-Lobatto Quadrature Rules,” Journal of Guidance, Control, and Dynamics, Vol. 19, No. 3, 1996, pp. 592–599. doi:10.2514/3.21662 [20] Gill, P. E., Murray, W., and Saunders, M. A., User’s Guide SNOPT Version 7: Software for Large-Scale Nonlinear Programming, Stanford Univ., Stanford, CA, 2007. [21] Conway, B. A., Chilan, C. M., and Wall, B. J., “Evolutionary Principles Applied to Mission Planning Problems,” Celestial Mechanics and Dynamical Astronomy, Vol. 97, No. 2, 2007, pp. 73–86. doi:10.1007/s10569-006-9052-7 [22] Prussing, J. E., and Conway, B. A., Orbital Mechanics, 2nd ed., Oxford Univ. Press, New York, NY, 2013, pp. 103–107. [23] Schoenauer, M., and Michalewics, Z., “Evolutionary Computation at the Edge of Feasibility,” Lecture Notes in Computer Science, Vol. 1141, 1996, pp. 245–254. [24] The MathWorks, Global Optimization Toolbox, http://www.mathworks .com/products/global-optimization/, 2012 [accessed 3 Dec. 2012]. [25] Prussing, J. E., “A Class of Optimal Two-Impulse Rendezvous Using Multiple-Revolution Lambert Solutions,” The Journal of the Astronautical Sciences, Vol. 48, Nos. 2–3, 2000, pp. 131–148. [26] Cantu–Paz, E., and Goldberg, D. E., “On the Scalability of Parallel Genetic Algorithms,” Evolutionary Computation, Vol. 7, No. 4, 1999, pp. 429–449. doi:10.1162/evco.1999.7.4.429 [27] Hudson, J. S., and Scheeres, D. J., “Reduction of Low-Thrust Continuous Controls for Trajectory Dynamics,” Journal of Guidance, Control, and Dynamics, Vol. 32, No. 3, 2009, pp. 780–787. doi:10.2514/1.40619 [28] Taheri, E., and Abdelkhalik, O., “Shape-Based Approximation of Constrained Low-Thrust Space Trajectories Using Fourier Series,” Journal of Spacecraft and Rockets, Vol. 49, No. 3, 2012, pp. 535–545. doi:10.2514/1.A32099 [29] Coello Coello, C. A., “Constraint-Handling Using an Evolutionary Multiobjective Optimization Technique,” Civil Engineering and Environmental Systems, Vol. 17, No. 4, 2000, pp. 319–346. 14 AIAA Early Edition / CHILAN AND CONWAY DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766
  15. 15. [30] TOMLAB Optimization, TOMLAB/SNOPT, http://tomopt.com/tomlab/ products/snopt/, 2012 [accessed 3 Dec. 2012]. [31] Prussing, J. E., and Chiu, J.-H., “Optimal Multiple-Impulse Time-Fixed Rendezvous Between Circular Orbits,” Journal of Guidance, Control, and Dynamics, Vol. 9, No. 1, 1986, pp. 17–22. doi:10.2514/3.20060 [32] Colasurdo, G., and Pastrone, D., “Indirect Optimization Method for Impulsive Transfers,” AIAA Paper 1994-3762, 1994. [33] Prussing, J. E., “Primer Vector Theory and Applications,” Spacecraft Trajectory Optimization, edited by Conway, B. A., Cambridge Univ. Press, New York, 2010, pp. 16–36. [34] Chilan, C. M., Automated Design of Multiphase Space Missions Using Hybrid Optimal Control, Ph.D. Thesis, Univ. of Illinois at Urbana- Champaign, Urbana, IL, 2009. [35] Danby, J. M. A., Fundamentals of Celestial Mechanics, Willmann–Bell, Richmond, VA, 1988, pp. 427–429. AIAA Early Edition / CHILAN AND CONWAY 15 DownloadedbyUNIVERSITYOFLIVERPOOLonAugust29,2013|http://arc.aiaa.org|DOI:10.2514/1.58766

×