.I 

~ NASA 

I' TP 

. . ., 1 1565 

. .NASA Technical Paper 1565' -. 

.. Algorithm for Fi,xed-Range 

(1; d . Optimal Trajectories .' 

'1 

~. .. .. 

I .. 

-, 

.* -. 

- Homer Q. Lee and "Heinz Erzberger .. . ~~ 1- L. 

', 

.. 

_, 

.. 

.- 

! .- 
TECH LIBRARY KAFB. NM 

0134603 

NASA Technical Paper 1565 

Algorithm for Fixed-Range 

Optimal Trajectories 

Homer Q. Lee and Heinz Erzberger 

Anzes Research Ceuter 

M o ffett Field, Ca liforllia 

National Aeronautics 

and Space Administration 

Scientific and Technical 

Information Branch 

1980 
NOMENCLATURE 

A 

cD 

cL 

CLO ’ CLIP 

CL basic, 

CL gear 

D 

d 

dC 

dt 

dupy ddn 

E 

EC 

E; 

speed of sound 

drag coefficient 

lift coefficient 

components 

drag force 

of lift coefficient 

ground track distance into the flight, running variable 

total cruise distance 

range of synthesized trajectory 

total climb and descent distance 

aircraft energy, ft 

aircraft energy rate, ftlsec 

aircraft energy in cruise 

cruise energy corresponding to the optimal cruise cost Xk 

aircraft energy at beginning of cruise 

aircraft energy at end of flight 

aircraft energy at beginning of flight 

jth energy level 

rate of energy change from Ej to Ej+l 

engine pressure ratio 

throttle setting in EPR for idle thrust 

throttle setting in EPR for minimum and maximum thrusts, 

respectively. Note that the thrust delivered by throttle 

setting from EP&in to EPQax is continuous; on the other 

hand, there is a discontinuity in thrust delivered by throttle 

setting at EPRidle and EPRmin (see fig. 4) 

cruise fuel 

iii 
estimated cruise fuel 

corrected thrust 

climb fuel 

fuel consumption, lb 

fuel cost, $/lb 

fuel flow rate, lb/hr 

fuel flow rate associated with energy level E 

acceleration of gravity 32.2 ft/sec2 

Hamiltonian 

aircraft altitude, a running variable, ft 

cruise altitude 

ceiling altitude or the altitude at which the maximum thrust 

j 

is tangent to the drag curve 

aircraft altitude at end of flight 

aircraft altitude at the beginning of flight 

altitude resulting from minimizing the Hamiltonian for the jth 

energy level 

optimal cruise altitude 

quantized altitude closest to optimal cruise altitude h*; level 

of quantization is 1000 ft 

lower and upper boundaries for altitude in cruise optimization, 

respectively 

minimum altitude which prevents the aircraft from losing altitud

in climb and the maximum altitude which prevents the aircraf

from gaining altitude in descent for the jth evergy level. 

These two limits are translated into speed limits VmaxYj and 

'min , j respectively via the energy equation 

components of Hamiltonian 

cost function minimized over airspeed V 

iv 
. . 

* 

'id 

J 

KC 

L 

M 

P 

P 

PO 

R 

R" 

%in 

Rt 

S 

T 

T 

TSFC 

Ta 

Tmax 

Tmin 

TO 

t 

t C 

cost function minimized over throttle setting T 

optimal cost, a global minimum 

optimal cost, minimized over the speed V and the range of EPR 

setting from EPGin to EPQax 

optimal cost, minimized over speed at idle thrust 

cost function 

temperature correction for fuel flow rate 

lift force 

Mach number 

integrand of cost function = fci + tc 

static pressure at given altitude 

static pressure at sea level 

specified range of trajectory 

range uniquely specified by Lax 

range uniquely specified by Xmin 

range of synthesized trajectory 

wing surface area 

ambient temperature, K 

thrust , lb 

thrust specific fuel consumption 

total air temperature, K; it is a function of altitude and ambient 

temperature 

maximum thrust 

minimum thrust 

temperature at sea level, K 

time into the flight, a running variable 

time cost, $/hr 

V 
td 

tf 

vf 

'gYj 

'max,h, j 

Vmax , j 

Vmax , opr 

'max , TD 

Vmin , c 

'min,h, j 

Vmin , j 

'min , opr 

'min , TD 

V 

V 

g 

Vdn 

V UP 

vW 

Vwdn 

vwup 

time at the end of climb 

time at the beginning of descent 

time at the end of flight 

airspeed at end of flight 

groundspeed associated with energy level E 

airspeed at beginning of flight 

maximum airspeed resulting from altitude restrictions from the 

YJ 

j 

jth energy level (see hax .> 

maximum airspeed for the jth energy level 

maximum airspeed from aircraft operational consideration 

maximum airspeed from thrust drag considerations. For cruise 

optimization, it is the intersection of the Tmax cos c1 

versus drag curve. For climb and descent optimization, it is 

the intersection of the appropriate T versus the drag curve 

lower speed limit as a result of altitude limit which keeps the 

aircraft from overshooting the cruise altitude hc in climb 

minimum airspeed resulting from altitude restrictions from the 

jth energy level (see bin .> YJ 

minimum airspeed for the jth energy level 

minimum airspeed from aircraft operational consideration 

minimum airspeed from thrust drag considerations. For cruise 

optimization, it is the intersection of the Tmax cos a 

versus drag curve. For climb and descent optimization, it is 

the intersection of the appropriate T versus the drag curve 

true airspeed, running variable 

groundspeed 

descent airspeed 

climb airspeed 

wind speed; function of altitude, running variE tb le 

wind speed in descent segment, function of altitude 

wind speed in climb segment, function of altitude 

vi 
W 

W 

- 

WX 

wY 

awx/ah, 

awy/ah 

X 

X dn 

X 

UP 

CY. 

Y 

Y 

i. 

A€ 

j 

Ah 

j 

At 

6 

j 

aircraft weight, lb 

average cruise weight 

aircraft weight at end of cruise 

aircraft weight at beginning of cruise 

aircraft weight at end of flight 

aircraft weight at beginning of flight 

uncorrected fuel flow rate 

x component of wind 

y component of wind 

x and y components of wind shear 

ground track distance, running variable 

ground track distance for descent, running variable 

ground track distance for climb, running variable 

angle of attack 

ratio of specific heat = 1.4 

flightpath angle 

rate of change of flightpath angle 

flightpath angle associated with energy level E 

j 

fuel consumption, flying from energy level E to energy level 

j 

Ej +1 

difference between altitudes associated with energy level E. and 

respectively J Ej+l 

time to flight from energy level E to energy level 

air pressure ratio P/Po 

pressure ratio corrected for Mach number effect 

j Ej+l 

vii 
0 

x 

x 

- 

x" 

Ac*f 

x* 

xf 

ci 

x i 

'max 

Amin 

TT 

TT dn 

UP IT 

P 

9 

$ 

%x 

temperature ratio T/To 

adjoint variable, cruise cost in $/nm (a local minimum) E j+l 

average cruise 

optimal cruise 

optimal cruise 

optimal cruise 

cruise cost at 

cruise cost at 

cost 

cost, a global minimum 

cost at end of cruise 

cost at beginning of cruise 

end of cruise 

beginning of cruise 

cruise cost corresponding to the lowest cruise energy. It is the 

maximum cruise cost for all practical purposes 

cruise cost corresponding to the highest cruise energy. It is the 

minimum cruise cost for all practical purposes 

throttle setting 

throttle setting in descent 

throttle setting in climb 

air density 

air density at sea level and standard pressure (29.92 in Hg) and 

temperature (15" C) 

bank angle 

aircraft heading 

percentage increase of X above A* 

viii 
ALGORITHM FOR FIXED-RANGE OPTIMAL TWECTORIES 

Homer Q. Lee and Heinz Erzberger 

Ames Research Center 

SUMMARY 

An algorithm for synthesizing optimal aircraft trajectories for specified 

range has been developed and implemented in a computer program written in 

FORTRAN IV. This report describes the algorithm, its computer implementation, 

and a set of example optimum trajectories for the Boeing 727-100 aircraft. 

The algorithm optimizes trajectories with respect to cost function that 

is the weighted sum of fuel cost and time cost. Minimum fuel and minimum time 

trajectories are obtained for special cases of this cost function. Proper 

selection of the weighting factors gives minimum direct operating cost. The 

user has the choice of two modes of climb and descent optimization: optimizing over airspeed, or optimizing over both airspeed and thrust. 

The algorithm is based on the assumption that there are at most three 

segments to the trajectories - climb, cruise, and descent. This results in 

one of the following three types of trajectories: (1) climb and descent; 

(2) climb, cruise at an altitude below the optimum cruise altitude, and 

(3) climb, cruise at optimum cruise altitude, and descent. Type (1) arises in 

short-range flights of 300 n. mi. or less, when optimizing over airspeed and 

thrust. Type (2) also arises in short-range flights, but only when thrust is 

constrained to a maximum value in climb and to a minimum value in descent. 

Type (3) arises in long-range flights. The climb and descent profiles are 

generated by integrating a simplified set of kinematic and dynamic equations, 

wherein the total energy of the aircraft is the independent or time-like 

variable. At each energy level, the optimum airspeeds and thrust settings are 

obtained as the values that minimize the variational Hamiltonian. 

The minimization is carried out by the Fibonacci search technique. The 

Hamiltonian also depends on an adjoint variable which is shown to be identical 

to the optimum cruise cost at a specified altitude. The adjoint variable not 

only specifies cruise condition but also, indirectly, the climb and descent 

profiles and therefore the range. In general, the functional relationship 

between the adjoint variable and range cannot be determined explicitly; therefore, iteration is used to achieve a specified range. 

An important part of the algorithm involves correcting the trajectories 

for weight loss due to fuel burn. Both the adjoint variable and the energy 

rate are corrected during climb and descent to account for the change in 

weight. 

The computer implemented version of the algorithm was used to compute and 

evaluate the characteristics of several types of optimum trajectories. In 

these computations the aerodynamic and propulsion models used are 

I.. 
representative of the Boeing 727-100 equipped with Pratt and Whitney JT8D-7A 

engines. In comparison with minimum-cost trajectories, minimum-fuel trajectories reach higher altitudes, using a steeper flightpath angle in climb and a 

shallower one in descent. For the chosen values of fuel cost and time cost, 

the minimum-fuel trajectories for specified range reduce fuel consumption about 

1 lb/n. mi. and increase the flight time 8 min/hr flown, with respect to the 

minimum operating cost trajectories. Differences in fuel consumption and 

operating cost between climb and descent profiles optimized with respect to 

airspeed only and optimized with respect to both airspeed and thrust, were 

found to be slight, though these differences are strongly model dependent. 

The computer program and its use are described in the appendix. 

INTRODUCTION 

The continuing rise in airline operating costs due to higher fuel prices 

and other inflationary factors has stimulated considerable interest in reducing costs by trajectory optimization. A simplified analytical approach for 

calculating cost-optimum trajectories for airline missions was described in 

references 1 and 2. The optimum trajectories calculated by this approach, 

unlike those obtained by classical quasi-static performance analysis, minimize 

an integral performance measure, such as total mission fuel. Although the 

calculations prescribed by the approach are based on reduced-state dynamic 

models, they are still too complex for hand calculations and must be done on a 

digital computer. This report first summarizes the analytical approach and 

then develops a computational algorithm, implemented in a FORTRAN program, for 

generating the optimum trajectories. 

There are several uses for a computer implementation of such an algorithm. 

First, it can serve as a research tool for investigating various characteristics of optimum trajectories. For example, it can determine attainable reduction in fuel consumption and operating costs by flying an optimum rather than 

a standard reference trajectory. Second, it can be used to generate a model 

for an airborne computer implementation. Third, it can be incorporated into 

an airline flight planning system. In this latter application, it can provide 

an optimum flight plan for a specific airline mission for conditions prevailing at time of takeoff. Although computerized flight-planning systems are 

popular with many airlines, they do not now produce optimum trajectories. 

They also do not produce flight plans for short-haul routes, where the potential for cost savings has been shown to be significant (ref. 3). 

The approach on which the algorithm is based assumes that trajectories 

consist of climb, cruise, and descent segments. However, the optimization of 

each segment is not done independently as in classical procedures but specifically accounts for interaction between segments. This is accomplished by 

application of optimal control theory, as described in references 1 and 2. 

The report is organized as follows: The first section defines the performance function, the dynamical equations of flight and the various optimization options available. In the second section, the function-minimization 

2 
method is described and the manner in which the boundaries of the region over 

which the function is to be minimized are established. The third section gives 

the procedure for estimating the weights at cruise and landing in order to 

optimize the climb and descent. The fourth section describes how the program 

generates a trajectory with specified range. The last section discusses the 

characteristics of several example fuel- and cost-optimum trajectories computed by the program. 

An appendix contains the user's manual for the program. A brief description is given of all subroutines and the input data necessary for specifying a 

desired trajectory. The aircraft model data incorporated in the program is a 

reas2nable approximation to the lift, drag, and propulsion characteristics of 

the Boeing 727-100 aircraft. The algorithm's performance has been extensively 

exercised with this model by computing trajectories for large variations in 

range, weight, winds, and temperatures. The program is structured to minimize 

the difficulty of replacing the 727-100 aircraft model with models of other 

aircraft . 

ANALYTICAL FORMlTLATION 

In this section, the cost function and the essential equations for synthesizing optimal trajectories are given. Since they are derived in reference 1, they are simply stated without proof. 

The cost function to be minimized consists of the sum of the fuel cost 

and the time cost, 

where fc and tc are the unit cost of fuel and time, respectively. In integral form, 

J = ltf (fct + tc)dt itf P dt 

where tf is the time of the flight. 

The optimal trajectory, which minimizes the cost function, is assumed to 

consist of three segments, a climb, a steady cruise, and a descent segment. 

Rewriting equation (2) in three segments results in 

J = P dt + (R - dup - ddn)X + P dt - 0 - , td I 

climb cost cruise cot descentcost 

3 
where X designates the cost per mile at cruise, R the specified range 

(ground distance of the flight) and dUp and ddn are the distances covered 

during climb and descent, respectively. 

The aircraft energy is defined as 

E = h + (1/2g)V2 

and the energy rate k is obtained from the relation, 

k = (T - D)V/W (5) 

with the constraint that lift is equal to weight. 

Next, changing from time to energy 9s the independent variable in equation (3) by the transformation dt = dE/E, yields 

where 

E, cruise energy 

Ei initial climb energy 

Ef final descent energy 

This transformation assumes that the trajectory consists of at most three segments - climb, cruise, and descent - characterized by montonically increasing, 

constant, and montonically decreasing energy, respectively. This places strict 

inequality constraints on k. Also, the integration limits in the descent cost 

term have been reversed for convenience. 

In order to calculate the distance flown along a trajectory, we need the 

differential equation for distance, 

dx/dt = V cos y + Vw - V + Vw (7) 

where the approximate relation can be (and was in the computer program) used 

for small y, since the maximum flightpath angle y for most transport aircraft.is about 5". This differential equation is also transformed by changing 

to energy as the independent variable and then separating it into climb and 

descent components , 

Y 

4 
We now have a problem of optimal control in which the state variable is 

xup + Xdn, the control variables are 'up ' 'dn' ITup ' Tdn, and the independent 

or time-like variable is E. 

One of the necessary conditions for the minimization of equation (6) subject to the state of.equation (8) is 

Min H (E, X) = Min (9) 

'up 'dn 

'up 9 ITdn 

where H is the Hamiltonian. The quantity X is an adjoint variable which 

is identical to the cost of cruising at an energy E,. By distributing the 

minimization operator in equation (9), H can be decomposed into climb and 

descent components, 

Min H = Iup + Idn 

where 

The optimum climb and descent profiles are defined by the functional 

relation between the independent variable energy and the dependent variables, 

airspeed, and power setting. These relations are obtained by performing the 

minimization in equation (11) for every climb and descent energy. 

Knowing the initial airspeed and altitude and the final airspeed and 

altitude, the initial climb and descent energies are specified through equation (4). The cruise-cost X, for a specified cruise energy E,, is generated 

from the following relation, 

fcf + tc 

v + vw X = Min 

v 

with trim constraints 

T(T, V, COS ~1 - D = 0 

T(T, V, h)sin a + L - W = 0 

where the thrust T is a function of power setting IT, the airspeed V, and 

the altitude h; L is the lift. Equations (14) and (15) are equations of 

motion along the wind and lift axes for constant-speed level flight. 

5 
A climb profile is generated by computing the Vup and T which minimizes Iup for a given aircraft-energy E, from Ei to Ef . EFecifically , since E is monotonically increasing, the profile starts from Ei, increments 

by AE and finishes at E,. Similarly, the descent profile is generated by 

computing the Vdn and Tdny which minimizes Idn for a given energy E, starting from Ef and ending at E,. In the climb segment (and analogously, in 

the descent segment), the time duration Atj for any energy increment AEj, 

the distance into the climb d, the flightpath angle yj, and the cumulative 

fuel consumption F are computed from 

F=CAF AF = ?. At 

j' j ~j 

where the subscript j refers to energy level Ej(Ei 5 Ej 5 E, for climb, 

and Ef 5 Ej 1. E, for descent); Ahj is the difference in altitude between 

energy level Ej-1 and Ej; and Vgj is the groundspeed corresponding to the 

airspeed V at energy level Ej. 

A trajectory with fixed range R must satisfy the constraint 

Since the range is the sum of the climb distance, the descent-distance, 

and the cruise distance (if there is a cruise segment), and since all three 

distances depend on E,, the cruise energy uniquely specifies the range. The 

cruise energy and the cruise cost (per mile) X are interdependent, and knowing the value of one completely specifies the value of the other. It is computationally expedient to use X 

instead of E, to specify the range. 

AMAX - specified range R is synthesized by r< varying the value of A until the sum 

8 

V falls within a small error of R. A 

MIN ENERGY In otherwords, the trajectory with a 

+- of the three ground-track segments 

typical functional dependence between 

X and E, is illustrated in figure 1. 

2 

3 MAX ENERGY a 

u 

V 

A* - """"" The range of allowable value of 

starts with X* and ends with Amax 

for short-distance trajectories. The 

optimal cruise-cost X* is the result 

of minimizing equation (12) for all 

cruise energies, i. e. , 

E: 

CRUISE ENERGY, E, 

Figure 1.- Cruise cost function. 

6 
fcf + tc 

EC V v+vw 

X* = Min Min (2W 

This also gives the optimal cruise altitude h* via equation (4). The optimal cruise cost A* occurs near the maximum or ceiling altitude for a given 

aircraft weight. The cruise energy corresponding to A* will be designated 

by E,*. The quantity Amax is chosen to correspond to the lowest cruise 

energy of interest for commercial flight. 

Computationally, it is convenient to carry out the second minimization 

over altitude h instead of over E,. Since V is fixed after the first 

minimization, E, is obtained by use of equation (4) or known h. Equation (21a) can be rewritten, therefore, as 

fcf + t, 

v + vw 

A* = Min Min 

hV 

h*, V* = arg En A* 

h YV 

There are two modes of climb and descent optimization incorporated in the 

program. In the constrained-thrust mode, climb and descent are optimized with 

respect to airspeed, with power held at some maximum value in climb and at 

idle in descent. In the free-thrust mode, both airspeed and power are optimized in climb and descent. These two modes will generate different types of 

trajectories as the range is varied. In the former, the trajectories generally will contain cruise segment even for short-range flight, whereas in the 

latter no cruise segment generally occurs until the range is of sufficient 

length to permit the aircraft to climb to and descend from the optimum cruise 

energy. The length of the cruise segment for the short-range, constrainedthrust mode is obtained by a trial or iterated value of X. As shown in reference 1, this length is obtained from the relation, 

Depending on the specified range, these modes result in one of the following three types of trajectories: (1) climb-descent; (2) climb, cruise at 

an energy below EC*, descent (referred to as climb-cruise-descent); and 

(3) climb to optimal cruise energy Ec*, cruise at Ec*, and then descent from 

Ec* (referred to as climb-cruise*-descent). The range (and also the cruise 

altitude or cruise energy in the second case) increases with decreasing value 

of X, starting from to A. The ranges corresponding to hax and X* 

are denoted by %in and R*, respectively. If the specified range R is 

greater than R*, then the trajectory consists of climb-cruise*-descent segments with a cruise distance equal to R - (dup + ddn). If R is between 

7 
qin and R*, then the appropriate X which yields the desired range must be 

chosen by iteration. The iterated value of X is expressed as %X, the 

percentage increase of X above X*, i.e., 

% =(X- A 

CONSTRAINED THRUST MODE 

-I FREE THRUST MODE 

w 

3 

D 

k 

a 

5 

A*) (100) /X* (23) 

In the constrained thrust mode, 

equation (22) is used to compute the 

cruise distance for any %X L 1%. In 

the free-thrust mode, the cruise distance is taken as zero for any 

%X 1 1%. For %X 2 1%, the program 

assumes cruise to occur at optimum 

cruise energy. Numerical stability 

dictated the choice of 1% (instead of 

0%, i.e., at X*) as the end point 

for equation (22). The family of 

trajectories obtained for the two 

modes of optimization are illustrated 

in figure 2. 

Figure 3 shows the percent 

increase of X versus range for a 

60- 

I n ! Rf 1 

0 100 200 300 400 

I I I 

RANGE, n. mi. 

Figure 2.- Altitude-range profile for Figure 3.- Cruise cost in % 

different values of A. vs range. 

x 

8 
particular case, an initial aircraft weight of 136,000 lb and minimum cost 

trajectories. The slope of the curve is very steep at short range (from 

Gin to 130 n. mi.), becomes shallow at 200 n. mi., and is constant at ranges 

above R*. These properties of the curve are incorporated in the algorithm 

for iterating on X. 

Table 1 summarizes the types of trajectories resulting from all combinations of modes of optimization and ranges in relation to R*. 

TABLE 1.- RANGE, CRUISE COST, OPTIMIZATION MODE, AND TRAJECTORY TYPE 

Trajectory type 

Climb-cruise-descend 

Climb-descend 

Climb-cruise*-descend 

Climb-descend 

Climb-cruise*-descend 

Climb-cruise?<-descend 

a CT = constrained thrust; FT = free thrust. 

TECHNIQUE OF MINIMIZATION 

The effectiveness of the trajectory optimization program depends strongly 

on the numerical procedure for finding the minimum of a function of one or 

variables. Specifically, for cruise optimization, the cost, as expressed in 

equation (21b), is minimized with respect to both altitude h and true airspeed V. For climb and descent optimization, the Hamiltonian function, as 

expressed in equation (ll), is minimized with respect to both true airspeed 

and thrust. 

L 

Fibonacci search (ref. 4) is used for minimization of these functions. 

The advantage of using Fibonacci search is that of all known search techniq

it requires the least number of function evaluations to locate the minimum 

with prescribed accuracy. Also, the technique is suitable for handling tabulated data since no function differentiation is required and since it allows 

9 
discontinuities in the function. Furthermore, no a priori knowledge of the 

function is required except that it be unimodel. 

A prerequisite for starting the search is that the lower and upper boundaries of the search region be well defined. The numerical accuracy of locating 

the minimum within this region depends on the range of the search region and 

highest Fibonacci number used; specifically, the accuracy is the quotient of 

the range and the highest Fibonacci number. 

Fibonacci search is basically a one variable minimization procedure. It 

is adapted here for minimization with respect to two variables by applying the 

technique to one variable at a time while holding the second variable fixed. 

Convergence to the minimum is achieved by cycling between the two variables 

as required. 

Application of this technique for cruise-performance optimization and for 

climb and descent profile optimization will be discussed in that order. 

Cruise Performance Optimization 

In the cruise performance optimization, the cost is minimized with 

respect to both h and V simultaneously. Since cruise can occur at altitudes 

below the optimum cruise altitude, the program is set up to generate the 

optimum cruise speed, cruise cost, and power setting at selected altitude 

intervals. The altitude range for cruise optimization starts from some 

preselected lowest altitude, usually at sea level, and ends at the ceiling 

altitude. 

The ceiling altitude is the maximum altitude at which the aircraft can be 

kept in trim; that is, the highest altitude at which equations (14) and (15) 

are satisfied. This altitude is the upper bound of the altitude range for 

cruise performance optimization. 

At the ceiling, Tmax cos CI is equal to drag. At any lower altitude 

Tmax cos cx is greater than drag. Figures 4(a) and 4(b) illustrate this relation. Figure 4(a) shows that a ceiling altitude, Tmax cos CI is tangent to 

the drag curve and figure 4(b) shows that below the ceiling, the maximum thrust 

and the drag curves cross each other at two speeds, denoted by Vmin,TD and 

Vmax,TD, respectively. They are the two speed limits from thrust-drag consideratlon. At any speed between the two, 

Tmax cos CI > D 

and there is always enough thrust to overcome drag so that equation (24) can 

be satisfied. At low altitude, there is a relatively wide range of speed 

between Vmin ,TD and VmaxYTD. As the aircraft flies to higher altitudes, this 

speed range becomes smaller. At the ceiling altitude, there is only one speed 

at which equation (14) is satisfied, namely, the minimum drag speed vmd. 

Other constraints that may limit the speed range are the operating speed limits 

10 
DRAG 

/ 

I 

I 

I 

I 

I 

vmd 

SPEED 

(a) At ceiling altitude. 

I DRAG 

MAXIMUM THRUST 

L7 

d 

n 

n 

a 

L 

X(V + VW) = 0 

z MIN. THRUST 

IDLE THRUST 

3 

ce 

I + 

'MIN, TD 'md 'MAX, TD 

SPEED 

(c) At high altitude. 

DRAG 

VMIN, TD "MAX. TD 

SPEED 

(b) At altitude below ceiling. 

0 

a 

a 

n 

n 

a 

z 

LI 

L, 

a 

3 IDLE THRUST 

I 

IH = fcf + t,- X(V + Vw) = O 

SPEED 

(d) At low altitude. 

Figure 4.- Thrust and drag versus speed. 

'min ,opr and Vmax opr 3 

rent transport alrcraft are M = 0.1 and M = 0.89. Therefore, the lower 

bound for speed Vmin is the greater of VminyT-, and Vmin,opr and the upper 

bound Vmax is the lesser of Vmax,~~ and Vmax,opr. The cruise performance 

is computed at various altitudes by minimizing the cost function, equation (12), over the speed range (Vmin, Vma,). The altitudes where the cost is 

computed are incremented at regular intervals, starting from sea level and 

ending at the ceiling altitude. The cruise cost exhibits the parabolic-like 

shape as a function of altitude shown in figure 1, with a well defined minimum. The minimum of the cruise cost with respect to the discrete altitudes 

establishes the location of the optimum cruise point to within one incremental interval. The location of the optimum is now computed more accurately by 

respectively. Typical value of these limits for cur11 
applying the Fibonacci technique to the narrow altitude region, spanned by two 

incremental intervals and centered on the discrete altitude minimum. 

An an example, consider a case in which the altitude is incremented by 

1,000 ft and denote the discrete altitude at which the cost is minimum by h#. 

Then the optimum is in the altitude region defined by (bin, ha,), where 

hmin = h# - 1000, hmax = h# + 1000 

provided 

By applying a series of eight Fibonacci numbers to search for the optimum over 

this region, it can be located to within k36.36 ft, since 2000/55 equals 

36.36 ft, where 55 is the eighth Fibonacci number. 

The accuracy of the location of the minimum can be improved by increasing 

the number of Fibonacci numbe'rs. A tolerance of less than 210 ft is usually 

not needed in practical applications. For simplicity, the nearly optimal 

altitude resulting from the Fibonacci search will be identified with the optimum cruise altitude h*. 

At the end of cruise optimization, a multidimensional array is constructed, consisting of an array of altitudes (typically at 1000-ft intervals 

at low altitudes and at smaller intervals in the vicinity of the ceiling altitude) together with corresponding arrays of optimal cruise speeds, power settings, cruise costs, fuel-flow rates, and energy heights, all at a fixed aircraft weight. The calculation is repeated at each aircraft weight of interest, 

giving optimal cruise altitude, optimal cruise cost, speed, power setting, 

fuel-flow rate, and energy height each as a function of weight. The totality 

of these arrays and their corresponding optimal quantities, one for each fixed 

aircraft weight, ranging from the heaviest possible weight to the lightest, 

typically in increments of 5000 lb, will be referred to as the cruise table. 

The data in this table are necessary for synthesizing optimal trajectories. 

Climb and Descent Optimization 

In the climb and descent profile optimization, the search is applied to 

two control variables in sequence, namely, speed and thrust. In this twodimensional search, the search region is recomputed whenever the Fibonacci 

search is switched from one control variable to the other. This is necessary 

because the range of the search region generally depends on the value of the 

control variable that is being held fixed. The two-dimensional search consists of: (1) defining the range of the first control variable; (2) minimizing the function over the first control variable in the prescribed range; 

(3) using the value of the first control variable obtained in (2) to define 

the range of the second control variable; (4) minimizing the function over the 

second control variable within the range prescribed in (3); and (5) repeating 

the process until the controls have converged to the minimum. 

12 
Depending on the form of the engine data supplied by the manufacturer, 

the thrust T can be specified by either fan RPM, (N1), or by engine pressure 

ratio (EPR). The corresponding maximum thrust is specified by Nl,max or 

EPhax and the corresponding idle thrust is specified by N1,idle Or EPRidle. 

In the remainder of this report, EPR will be used for thrust setting, since 

the thrust data supplied by the manufacturer for the example engine were given 

as a function of EPR. 

The operating speed limits Vmin,opr and Vmax,opr, which are common to 

both climb and descent optimization, together with other appropriate speed 

limits, are used to define the range of allowable speeds when minimizing the 

Hamiltonian given in equation (11). A second common speed limit, Vmax,ATC 

results from an ATC restriction that requires the maximum allowable speed at 

or below 10,000 ft to be limited to 250 KIAS. 

Climb profile optimization- Derivation of the range of IT^^ and Vup for 

climb profile optimization will now be discussed. Figure 4(c) shows typical 

maximum thrust, drag, and idle thrust curves versus speed for a high altitude; 

figure 4(d) shows typical curves for a low altitude. The maximum and idle 

thrust curves give the thrust delivered by the engines at maximum EPR and idle 

EPR settings, respectively. The region enclosed by the maximum-thrust curve 

and the drag curve - the shaded region or region 1 - satisfies the strict 

inequality T > D and is a valid region for speed and EPR setting optimization in climb. 

Consider first the case in which the Fibonacci search is over thrust setting, EPR, as some fixed airspeed. The upper bound of the search is simply 

the maximum EPR, EPbax, at the fixed airspeed. The lower bound is the yalue 

for which thrust equals drag at the fixed airspeed, i.e., the locus of E = 0. 

Since E is the denominator of the Hamiltonian, the function becomes infinite 

at this EPR setting. To avoid numerical difficulties in this region, an EPR 

setting somewhat higher than EPR at T = D is ?sed in the program. This is 

accomplished by limiting the minimum value of E to a value slightly greater 

than zero, for example, to 5 ft/sec. 

Next, consider the case in which the Fibonacci search is over airspeed at 

some fixed EPR. Plotting thrust vs airspeed at constant EPR setting traces 

out a curve similar to the maximum-thrust curve. The speeds at which this 

curve intersects the drag curve define some lower and upper limits for the 

speed range. In the case of the maximum-thrust curve, Vmin,~~ and Vmax,~~ 

define the limits from thrust-drag consideration. These two speeds will be 

used to determine the lower and upper bounds for the speed range. 

In climb, the aircraft is not allowed to dive; therefore, the altitude 

defined for the current energy level hj is considered as the minimum altitude for the computation at the next energy level, &in j+l. This altitude 

limit can be translated into an upper speed limit, at &e (j + 1)th step, by 

energy equation (41, Vmax,h,j+l = 42g(E-+, - hj).. Figure 5 shows the energy 

contours in the altitude speed plane and illustrates this constraint. 

The speed at the end of climb is determined from the altitude ceiling, 

which prevents the aircraft from going above the cruise altitude. The 

13 
X CLIMB 

‘MlN, h, j+l ‘MAX, h, j+l 

SPEED 

Figure 5. - Energy contours in the 

altitude-speed plane. 

altitude ceiling is translated into a 

Vmin , c 

equation (4) 

The lower bound for speed at the 

jth step in the computations, Vmin,j, 

is the greatest of Vmin,~~, 

VminYopr, and V,inYc. The upper bound 

Vmax , j 9 is the least of Vmax,~Dy 

Vmax,hy Vmax,opry and Vmax , ATC (the latter applles only if the aircraft 

is flying below 10,000 ft). 

With the range of admissible EPR 

and speed well defined, the Hamiltonian function can now be minimized by 

application of Fibonacci search. For 

the constrained-thrust case, the 

search is over V only. The search 

interval is defined as from VminYj 

to Vmax?j along the maximum 

thrust llne. 

For the free-thrust case, the 

minimization is over V and T alternately. Figure 6 shows a typical 

sequence of free-thrust climb optimization. The first search is along 

I3 

I 

AX 

v) 

I- minimizing over V. The resulting 

the maximum-thrust line over the 

K AX) interval from vmin to vmax and 

speed is denoted by Vojj. The next 

search is along VojI, over the interval from EPR to EP%,,, minimizing 

the Hamiltonian over T. Denote the 

resulting EPR setting by noii. The 

over V again and this process is 

SPEED next stage of search is along TO//. 

Figure 6.- Locus of Fibonacci search continued until the difference between 

for minimal cost in climb two successive costs is within some 

optimization. small value, i.e., 

II(V) - I(.rr)l 5 E (26) 

where I(V) is the cost resulting from minimization over V at constant T 

and I(.rr) is the cost resulting from minimization over T at constant speed. 

Descent profile optimization- The region of permissible ?dn and Vdn for 

descent profile optimization will be derived. The condition E < 0 requires 

that thrust be less than drag; therefore, the complement of region Iin 

figures 4(c) and 4(d) is the feasible region. It is possible to reduce the 

region to be searched by considering the sign of Idn in equation (11). Since 

14 
Idn is the quotient of P - XV and the absolute value of h, the Hamiltonian 

takes the sign of the numerator. In region I1 - the region between locus of 

H = 0 (shown by dashed lines in figs. 4(c) and 4(d)) and the drag curve - Idn 

is positive, since the numerator of H is positive. In region I11 - the 

region between the minimum-thrust curve (thrust with EPR setting at its minimum value) and the H = 0 line - Idn is negative, since the numerator is 

negative. The value of Idn in region 111, a negative quantity, is always 

less than the value of Idn in region 11, a positive quantity. Therefore, 

region I11 is the region In which the minimum will be found. 

At low altitude, it is possible for the H = 0 line to lie below the 

idle-thrust line. In this case the cost is positive and the minimum cost is 

located along the idle-thrust line. For a constant-speed search, the EPR setting ranges from idle EPR to EPR at T = D. To avoid having the Hamiltonian 

function become infinite at T = D, the upper bound of the EPR setting is 

chosen such that 2 < -5 ft/sec. 

For the constant EPR search, there is no speed limit from thrust-drag 

considerations. However, in descent, the aircraft is not allowed to gain 

altitude, and hj, the altitude from the last energy level, is considered as 

the maximum altitude, hmax,j+l for the next energy level. This altitude 

limit is translated into a lower speed limit via the energy equation 

'min,h, j+l = J2g(Ej+, - hj) . Figure 5 shows the relation between 

hmax,j+l = hj and Vmin,h,j+l at energy level Ej. Therefore, the lower bound 

for speed Vmin,j is the greater of Vmin,h,j and VminYopr and the upper 

bound for speed Vmax,j is VmaxyOpr at altitudes above 10,000 ft and the 

lesser of Vma,,opr and VmaX,~~c (or 250 KIAS) below 10,000 ft. 

With both EPR setting and speed ranges well defined, the Hamiltonian 

function for descent can now be minimized by application of Fibonacci search. 

In the unconstrained-thrust case, the first minimization is over T at constant V*, where V* is the optimal speed resulting from minimization at the 

last energy level. The iteration starts by selecting the final speed Vf for 

the first energy level Ef. The next step is to minimize the function over V 

and to repeat the process until the criterion for the minimum, as expressed in 

equation (26), is satisfied. 

The data used in the computer program, as supplied by the manufacturer, 

typically have a discontinuity in thrust versus EPR, in that there is usually 

a gap between the lowest EPR setting for which thrust and fuel flow are tabulated and the idle-power setting. To account for this gap, the lower bound 

for EPR setting in region I11 is redefined as the lowest EPR setting curve, 

instead of the idle-power setting curve. The area of search is expanded to 

include both region 111 and the idle-power line. Denote by IC* and Iid* the 

minimum values of cost obtained from minimizing the Hamiltonian over V and 

along the idle-thrust curve, respectively. Then the minimum value for descent 

optimization I* is the lesser of the two values I* = min(Ic*, Iid*). In 

the constrained-thrust case, the minimization is over V only along the specified thrust line, namely, the idle-thrust line. 

To illustrate the numerical accuracy, consider the case in which the 

Fibonacci number is used for the search and the operating speed range is from 

15 
M = 0.1 to M = 0.9. The accuracy of the optimal speed obtained from the 

search is within (0.9 - 0.1)/144 = 0.0056 Mach number under the worst condition, where 144 is the 11th Fibonacci number. Such a large speed interval has 

not been yet encountered in practice; typically, the speed range is about half 

of this. 

Typical values for EPhin and EPQ,, are 0.1 and 0.24, respectively. 

Therefore, the EPR setting is accurate to at least (2.4 - 1.1)/144 = 0.009 

under the worst condition, since this EPR range is for both climb and descent 

and does not account for smaller maximum EPR value at higher altitude and 

higher temperature. 

WEIGHT ESTIMATION 

The Hamiltonian functions (eq. (11)) for climb and descent both contain 

A, the cruise cost so that the value of X must be known before one can generate the climb and descent profiles. The value of X can be computed by 

rearranging terms in equation (23), 

where X* is the optimal cruise cost. The value of A* depends on the cruise 

weight. For trajectories containing a cruise segment, the initial cruise 

weight differs from the final cruise weight by the fuel burn during cruise. 

These two different weights result in different values of X* and thus different values of A; one for climb and the other for descent. Denote by hi and 

Xf the cruise cost for climb and descent, respectively; then equation (11) 

can be rewritten as 

and equation (27a) can be rewritten as 

Xi = XCi*(WCi) (1 + %X/loo) 

Xf = XCf*(WCf) (1 + %X/loo) I 

The subscripts ci and cf refer to initial cruise and final cruise, respectively. It is clear from equations (lla) and (27b) that the initial and final 

cruise weights must be known before one can proceed with the climb and descent 

optimization. 

The denominator of the Hamiltonian function is E. In order to compute 

k (see eq. (5)), the aircraft weight must be known. The initial aircraft 

weight (approximately equal to the takeoff weight) is assumed to be specified; 

16 
it is the aircraft weight at energy level Ei. But the final aircraft weight 

(approximately equal to the landing weight) Wf, which is the aircraft weight 

at energy level Ef, must be estimated. The initial cruise weight, the final 

cruise weight, and the final aircraft weight are estimated as follows: 

The initial cruise weight Wci is the difference between the initial aircraft weight Wi (a known quantity) and the climb fuel Fvp: The climb fuel 

is estimated by the following procedure. First, use the lnltial aircraft 

weight Wi to start the iteration, i.e., set Wci = Wi. This assumes that he 

initial guess for the climb fuel is zero. Second, obtain the value of A*(Wci) 

by interpreting from the cruise table the value of A" corresponding to Wci, 

and compute the value of X by the use of equation (27b) (note that %X is 

known here). Third, obtain the value of Eci, the cruise energy, by interpolating from the cruise table the value of E corresponding to X and use the 

following relation to compute the climb fuel: 

where K,, K, are constants shown in table 2, Ei is the initial aircraft 

energy (which is computed from known initial aircraft altitude and speed), and 

Wref is some reference initial weight, say 136,000 lb, for which the constants 

K, and K, were derived. The values of K, and K, shown in table 2 are for 

the example optimal trajection presented in this report and are obtained from 

curve fitting a large number of trajectories synthesized for the Boeing 727 

aircraft. Fourth, test the climb fuel computed in the last step with the 

climb fuel computed in the previous iteration. If it is within some tolerable 

error, say 100 lb, then the estimation is finished. If not, update the value 

of the cruise weight Wci = Wi - Fup and return to the second step. 

TABLE 2.- CONSTANTS FOR CLIMB-FUEL ESTIMATION 

Kl 0.11 

K, 

The final cruise weight Wcf is the difference between the initial cruise 

weight and Fc, the fuel consumption during cruise (cruise fuel for short). 

The cruise fuel is computed by 

where f is tbe fuel-flow rate, dc the cruise distance, azd Vg the ground 

speed. Both f and Vg depend on the average cruise cost X, whlch in turn is 

a function of aircraft weight. Procedures for obtaining the average cruise 

cost, the cruise fuel, final cruise weight, groundspeed, cruise distance, and 

final aircraft weight will now be discussed in that order. 

The average cruise cost is computed in two steps: (1) determine Ac(Wc), 

the cruise cost-based on the initial cruise weight, use this cruise cost to 

17 
compute the fuel-flow rate g(7) , and then substitute ;(Xc) into equation (29) 

to determine the approximate cruise fuel PC; (2) estimate the average cruise 

weight by cc = Wci - FC/2 - and determine the value of the optimal cruise cost 

X*(Gc) corresponding to Kc (from cruise table look-up, e.g. , see table 3) and 

substitute this value into equation (27) to compute X. This cruise cost is 

used to compute the cruise fuel from the cruise table. 

- 

Strictly speaking, the cruise fuel should have been computed by integratd 

ing the fuel burn along the cruise segment of the trajectory, 

F = Jo C[ i(x),/Vg (x) ] dx, where f. and Vg are continuously updated to account 

for the instantaneous fuel burn along the trajectory. An example run of a 

1000-n. mi. range trajectory shows that the difference in fuel burn obtained 

by the method stated and by integration amounts to only 1.33%. Therefore, the 

approximate method is considered sufficiently accurate to arrive at the optimal descent profile, since fuel burn is a small percentage of the weight of the 

aircraft. 

The final cruise weight Wcf is obtained by subtracting the cruise fuel 

from the initial cruise weight W,i. The groundspeed is computed by the use 

of the energy equation with 

Specifically, 

Here, E and h are obtained 

the wind component taken into consideration. 

Vg = 42g(E - h) - Vw(h) (30 1 

from searching the cruise table for known X, and - 

Vw(h) is obtained from the wind profile for known altitude. 

The cruise distance dc is computed by use of equation (22) for the 

climb-cruise-descent trajectory, and by d, = R - (dup + ddn) for the climbcruise*-descent rajectory. Since Idn and dn are unknown quantities prior 

to the descent profile synthesis, dc is also an unknown. To overcome this 

difficulty, a trial descent profile is generated from a rough estimate of 

final cruise weight and of final aircraft weight. 

As a prerequisite to the trial descent profile synthesis, the cruise fuel 

is initially estimated by a polynomial fit in %x. Similarly, the descent 

fuel is also estimated but by a quadratic in %x. After the trial descent 

profile is synthesized, the cruise fuel is computed by the use of equation (2a); the descent fuel is known with sufficient accuracy. 

Exact knowledge of descent fuel burn is not critical to the optimization, 

since the weight of the descent fuel is a small percentage of the weight of 

the aircraft. In fact, in some applications the weight change during descent 

may be considered negligible. The aircraft weight is obtained by subtracting 

the descent fuel from the final cruise weight. After this is done, the final 

cruise weight and the final aircraft weight are known fairly accurately. Then 

a second or refined descent profile is generated to complete the trajectory 

synthesis procedure. 

18 
TABLE 3.- CRUISE TABLE FOR 150,000 LB CRUISE WEIGHT 

Fuel flow rate from Pratt Whitney curves 

No wind run 

Aircraft cruise weight = 150000 lb 

Fuel cost, $/lb = 0.0626; time cost, $/hr = 500.00; temperature variation, K = 0.00 

- "~ .__. 

Mi n 

Alti- g Max Power 

tude, speed, speed Speed, setting, Fuel Speed, setting, Fuel, 

Minimum cost/distance Minimum fuel/time 

Power 

ft KIAS KIAS KIAS KTAS Mach EPR $/n. mi. KIAS KTAS Mach EPR lb/hr E, ft 

1000 

0 

2000 

3000 

4000 

5000 

6000 

8000 

7000 

9000 

10000 

11 000 

12000 

13000 

14000 

15000 

16000 

17000 

18000 

19000 

20000 

21 000 

22000 

23000 

24000 

25000 

26000 

27000 

28000 

29000 

30000 

32000 

31 000 

33000 

34000 

35000 

35500 

35578 

35563 

35586 

35588 

2 39 

2% 

24 1 

24 1 

24 0 

239 

24 2 

240 

2 39 

24 1 

240 

24 2 

240 

24 2 

24 3 

242 

241 

24 3 

244 

245 

245 

245 

246 

246 

24 5 

24 5 

247 

24 7 

246 

248 

249 

249 

248 

250 

245 

239 

2 36 

236 

236 

2 36 

236 

477 

476 

473 

474 

472 

470 

469 

463 

466 

461 

458 

4 54 

457 

448 

44 3 

4 37 

431 

426 

420 

41 6 

41 0 

404 

39 7 

39 1 

38 5 

378 

368 

360 

351 

34 2 

331 

320 

308 

285 

265 

262 

259 

259 

258 

258 

258 

391 

386 

381 

381 

382 

390 

390 

388 

38 6 

38 5 

384 

38 3 

383 

388 

384 

38 1 

385 

380 

376 

382 

379 

379 

372 

364 

356 

348 

341 

338 

336 

328 

321 

31 4 

30 7 

284 

265 

262 

2 59 

2 58 

258 

258 

258 

376 

377 

376 

383 

401 

387 

406 

41 0 

41 3 

418 

423 

4 35 

4 28 

445 

448 

454 

457 

462 

464 

478 

4 81 

488 

48 7 

485 

483 

481 

4 80 

483 

487 

485 

48 3 

482 

479 

456 

4 35 

437 

4 38 

4 37 

4 37 

4 37 

437 

0.569 

.571 

.574 

.585 

.593 

.616 

.627 

.635 

.643 

.653 

.673 

.663 

.686 

.705 

.712 

.732 

.726 

.744 

.750 

.776 

.784 

.a00 

.797 

.799 

.799 

.799 

300 

.a09 

.820 

.a19 

.a20 

.a21 

,820 

.783 

.751 

.759 

.759 

.759 

.759 

.759 

.759 

1 .346 

1 .358 

1 .352 

1 .372 

1 .385 

1 .412 

1.427 

1 

1 

1 

1 

1 

1 

1 

1 

1 

1 

1 

.439 

.451 

.465 

.495 

.481 

.51 3 

.537 

,548 

.566 

,578 

.596 

1 .608 

1 .638 

1 .652 

1 .672 

1 .683 

1 .705 

1.693 

1.718 

1 .734 

1 ,758 

1 .786 

1 .so3 

1 .826 

1.852 

1 ,880 

1 .898 

1 .916 

1 .988 

1 .963 

1 .993 

1.992 

1.993 

1.993 

3.61 

3.55 

3.48 

3.42 

3.36 

3.29 

3.23 

3.17 

3.1 1 

3.06 

3.00 

2.95 

2.89 

2.84 

2.79 

2.68 

2.73 

2.64 

2.59 

2.54 

2.50 

2.45 

2.41 

2.34 

2.37 

2.30 

2.28 

2.25 

2.23 

2.21 

2.19 

2.17 

2.1 6 

2.19 

2.23 

2.22 

2.23 

2.23 

2.23 

2.23 

2.23 

225 

225 

224 

224 

224 

2 24 

223 

2 26 

224 

224 

229 

229 

230 

229 

230 

2 28 

229 

227 

2 28 

228 

228 

232 

232 

233 

232 

232 

231 

2 30 

233 

2 38 

2 38 

239 

237 

2 38 

238 

239 

2 36 

236 

236 

2 36 

2 36 

222 

225 

227 

231 

2 34 

237 

24 0 

24 5 

250 

252 

261 

270 

265 

273 

279 

281 

286 

293 

289 

298 

30 3 

31 3 

31 8 

329 

324 

333 

338 

34 2 

351 

364 

371 

378 

382 

389 

403 

395 

403 

402 

402 

402 

402 

0.335 

.342 

.346 

.353 

.359 

.370 

.365 

.379 

.389 

.393 

.409 

.417 

.426 

.433 

.443 

.448 

.458 

.466 

,473 

.483 

,493 

.512 

.522 

.534 

.544 

.553 

.564 

.573 

,591 

.614 

.629 

.645 

,653 

.670 

.682 

.700 

.700 

.700 

.700 

.700 

.700 

1.214 

1 .223 

1 .233 

1 .243 

1 .253 

1.265 

1.277 

1 

1 

I 

1 

1 

1 

1 

1 

1 

1 

1 

1 .491 

1 .470 

1 .516 

1 .536 

1 .587 

1 .562 

1 .613 

1 .640 

.289 

.301 

.31 7 

.329 

.343 

.359 

.376 

.392 

.411 

.428 

.449 

8294 6254 

8204 7269 

8037 9484 

81 20 8290 

7881 12099 

7957 10618 

7807 13296 

1737 14427 

7673 15554 

7622 16738 

7565 17932 

~~ 

7504 19090 

7386 21765 

7444 20353 

7330 22865 

7269 241 37 

7210 25226 

7156 26462 

7107 27541 

7065 29119 

7043 30255 

7024 31 531 

6999 32505 

6970 33406 

6931 34309 

6890 35234 

1 .669 6873 36174 

1 .700 6868 37306 

1 .729 6879 38502 

1 .752 

1 .784 

1 .816 

1 .856 

1 .892 

1.933 

1 .972 

2.001 

2 .O05 

2.006 

2.006 

2.006 

6890 39396 

6902 40340 

6923 41256 

6951 42150 

6995 42187 

7053 42358 

7122 43472 

7169 43937 

71 75 43994 

7176 44009 

71 77 44016 

7177 44018 

Minimizing fuel/distance: 

Optimum altitude = 32750 ft; optimum speed = 0.8198 Mach, 302 KIAS, 477 KTAS; minimum (FOOT/V) = 2.162 $/n. mi.; 

cruise power setting = 1 .9063 EPR; optimum cruise energy = 42830 ft 

Minimizing fuel/time: 

Optimum altitude = 26646 ft; optimum speed = 0.5691 Mach, 230 KIAS, 340 KTAS; minimum (FOOT) = 6868 lb/hr; 

cruise power setting = 1.6894 EPR; optimum cruise energy = 36942 ft 

19 
SYNTHESIZING FIXED-RANGE TRAJECTORIES 

A fixed-range trajectory is synthesized by matching dt - the total ground 

distance (the sum of the climb profile (the cruise segment, if there is one) 

and the descent profile) - to the specified range R. As shown in figure 2, 

different values of cruise cost X result in different ground distances. The 

value of X can be specified by %X, as stated in equation (23). The algorithm for synthesizing a fixed-range trajectory consists of iterating on 

(thus changing the value of dt) if necessary until the total ground distance 

is within some small distance, say 5 n. mi., of R. Iteration on %X is 

required only if the desired range is less than some RJ;, the range corresponding to A* (see table 1). 

Overall Algorithm 

The overall algorithm or "outer loop" consists of iteration on %X until 

the desired range is achieved. The larger the value of %X, the shorter is 

the resulting distance dt. Conversely, the smaller the value of %x, the 

longer is the resulting distance dt. The largest value of %A used is chosen 

as the lesser of 50% and the value of %X corresponding to a cruise altitude 

of 10,000 ft. Example calculations show that a value of 50% generates a range 

of about 60 n. mi. This is about the shortest range of practical interest. 

The smallest value of %X is 0, which corresponds to cruising at optimal 

cruise altitude. These extreme values of %x, referred to as % and % 

establish the minimum range (ground distance dt) Rmin and the quantity R*, 

respectively, for the iteration. 

'max %in ' 

Each iteration results in the synthesis of a complete trajectory. The 

approximately known shape of the %x vs dt curve (see fig. 3) is used to 

minimize the number of iterations. To take advantage of the local shape of 

the curve, different regions of the curve are approximated by different functions (see PCCOMP in the Appendix). Using this procedure experience shows 

that about two iterations are required to reach the desired range (within 

5 n. mi.). 

Quantities that specify the desired trajectory include the fuel cost 

(fc), time cost (t,), temperature variation from the standard atmosphere (AT), 

aircraft heading with respect to the wind ($1, aircraft takeoff weight (Wi), 

the desired range (R), the initial altitude (hi), the initial airspeed (Vi), 

the final altitude (hf), and the final airspeed (Vf). If a cruise table is to 

be generated, then the maximum weight, the minimum weight and the weight 

interval must be specified. Other input data required include engine 

data, lift and drag characteristics, and wind profile. 

Figure 7 shows a macroflowchart for synthesizing a fixed range optimal 

trajectory. It is done in the following steps (the step numbers correspond to 

the numbers in the blocks of the flow chart: 

1. Input the engine data, lift and drag characteristics, and wind 

profile . 

20 
I 

I 

I 

I 

I 

I 

r r 

GENERATE CRUISE READ IN CRUISE 

TABLE TABLE 

1 I I 

READ IN INITIAL WEIGHT Wi, 

RANGE R, 

INITIAL ALTITUDE AND SPEED hi, Vi 

FINAL ALTITUDE AND SPEED hp Vf 

3 

1"" - - - - - "_ - - - - - "_ - - - - 1 

I 

I COMPUTE %AMAX 

GENERATE TRAJECTORY FOR SPECIFIED 

%AMAX, Wi, hi, Vi, hp Vf I 

RANGE OF GENERATE TRAJ = RM~N I 

STORE %AMAXINTO THE %A (.I ARRAY AND I 

RM~N INTO THE R(.) ARRAY I 1 I 

I 

I - 

4 NO TRAJECTORY I 

EXISTS I 

I 

I 

I 

I 

TRAJECTORY 

SYNTHESIZED 

"g 

L """""" "---""""_I i 

Figure 7.- Flowchart for synthesizing fixed-range optimal trajectory. 

21 
r------ 

GENERATE TRAJECTORY FOR SPECIFIED 

%AMIN, Wf, hf. Ve he Vf 

RANGE FOR SYNTHESIZED TRAJ = R* 

STORE %AMIN INTO THE %x(.) ARRAY 

I 

AND R* INTO THE R(.) ARRAY 

II I 

I 

I 

CLIMB-CRUISE*-DESCENT I TRAJ I 

TRAJECTORY 

SYNTHESIZED 

I REGENERATE THE I 

I 

I TRAJECTORY 

REFINED DESCENT 

PROFILE I 

I 

I 

I 

I 

I 

I 

15 

L"" 

I, SYNTHESIZED I 

. 0; I 

I """""""2 

I I 

I ~ 

USE EQN (Al), (A2) OR (A3) TO COMPUTE %x I 

GENERATE TRAJECTORY FOR SPECIFIED 

%A, Wi, hi, Vi. hf, Vf 

RANGE OF SYNTHESIZED TRAJ = dt I 

STORE %A INTO THE %x(.) ARRAY AND 

dt INTO THE R(.) ARRAY 

II I I 

"_ 1 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I I 

I SELECT TWO BEST 

I POINTS FROM THE

I 

I 

I I 

I I 

I I 

I I 

TRAJECTORY 

%A(.) AND R(.) SYNTHESIZED I 

ARRAYS + 

I 

Figure 7.- Concluded. 

22 
2. Read in the cruise table if it is available and generate the cruise 

table if it is not. 

3. Read in Wi, R, hi, Vi, hf, and Vf. 

4. Compute The quantities read-in in step (3) and %x,~~~ are 

used for generating a trajectory of range Gin. The desired range R- is 

then compared with hin. If R is less than hin, then no trajectory is 

computed. If it is within E of %in, then a trajectory has been synthesized. If greater, then proceed. 

5. In a manner similar to that of step (4), use % and the lcnown 

bin 

quantities from step (3) to generate a trajectory of range R* and compare R 

with R*. If R is less than R* and is within E distance of R*, then a 

trajectory has been synthesized. If R is greater than R*, then the trajectory is a climb-cruise*-descent type. In this case, the cruise distance is 

computed from dc = R - (dup + ddn). The final weight is then determined. 

Next, this updated cruise weight is used in regenerating the refined descent 

profile, thus completing the climb-cruise*-descent trajectory. 

6. Use (% , Gin) and (X Qax) as the starting points to compute Lax bin ’ 

a new value of %x and iterate on %x until the desired range trajectory is 

synthesized. The solution always exists because the fact that %x is within 

(% %x ) which implies R is within (%in, hax). &in’ max 

Generating a Trajectory for Fixed Value of %x 

Generating a trajectory for fixed value of %x consists primarily of 

generating the climb and descent profiles and estimating the final cruise 

weight and the landing weight. 

Figure 8 is a macroflowchart showing these steps in detail. The known 

quantities are %x, Ei, Ef (the initial and final aircraft energies, respectively) and Wi, the aircraft takeoff weight (strictly speaking, the aircraft 

weight at the beginning of climb). The energies Ei and Ef are computed from 

known initial aircraft altitude and speed and from specified final aircraft 

altitude and speed, respectively. The trajectory is generated in the following steps: 

1. Estimate the initial cruise weight Wci and use it in conjunction 

with %x to obtain hi(Wci) and Eci, the initial cruise cost and cruise 

energy, respectively. The initial cruise weight is obtained by subtracting 

the climb fuel Fup from takeoff weight Wi. The climb fuel is estimated as 

described in the preceding section, and equation (29) is used to compute the 

climb fuel. The optimal cruise cost X*(Wci) corresponding to Wci is 

obtained from the cruise table (see, e.g., table 3). Next, the cruise cost 

for climb optimation Ai(W .) is computed by the use of equation (28). The 

cruise energy Eci is obtamed from the cruise table for the corresponding 

value of cruise cost Ai(Wci). 

CZ 
0 

GIVEN: %X, Ei, Ef, Wi -1 

+ 

1 

COMPUTE Xi, E,i FOR CLIMB INTEGRATION: 

(a) ESTIMATE-INITJAL CRUISE WEIGHT 

(b) READ OFF X*(E,.d FROM CRUISE TABLE 

W . W. - F ' Fup FROM EQN.(29) CI I up' 

AND SET hi = h*(WCi) (1 + -) %A 

100 

I (c) READ OFF E,i(hi) FROM CRUISE TABLE 

2 

GENERATE CLIMB PROFILE 

(a) EVALUATE 

- 

MIN f, + t, - hi(W,i) (V + Vwa) 

V, EPR 

OR V E 

FROM Ei TO E,i 

1 (b) GENERATE ARRAYS r, d,y, F,W VS E I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

COMPUTE FINAL 

CRUISE WEIGHT 

DESCEND Wcf = Wci 

NO 

A 

W,f = (Wi - F ) - F, UP 

(a) DETERMINE INITIAL ESTIMATE OF CRUISE FUEL F,,: 

- f(hi) dc 

F,,= - Vg(hi) =42g[E,(Xi) - h,(hi)l + Vwa[h(hi)l Vg(h;) 

d, = bl%: + b2%: + b3%: + b4%A + bg 

(b) REFINE ESTIMATE OF CRUISE FUEL: 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I L"""-"""-"""--""~ 

Figure 8.- Flowchart for generating trajectory with fixed %X. 

24 
4 

ESTIMATE Xf, E,f FOR DESCENT INTEGRATION: 

(a) READ OFF A*(Wcf) FROM CRUISE TABLE 

hf = X*(WCf) (1 + %X/lOO) 

(b) READ OFF E,f(Xf) FROM CRUISE TABLE 

ESTIMATE LANDING WEIGHT Wf: 

wfo wcf - Fdn 

Fdn = b,%f + b2%X + bg 

4 

6 

GENERATE TRIAL DESCENT PROFILE; EVALUATE: 

17 REFINE FINAL CRUISE AND LANDING WT COMPUTATION: 

w,. =wi - Fup - F, (SEE STEP 3); d, = ~ 

'up + Idn 

" 

dX 

8 

COMPUTE EXACT Xf AND Ecf; GENERATE REFINED DESCENT PROFILE: 

(a) EVALUATE 

MIN fj + tC - hf(W,f) (V + Vwa) V, EPR 

OR V E1 1. FROM Ef TO E,f 

IE<O 

(b) GENERATE ARRAYS 7.d.Y. F,W VS E 

(c) COMPUTE PERTINENT QUANTITIES WHICH SUMMARIZE THE 

GENERATED TRAJECTORY. 

Figure 8.- Concluded. 

25 
2. Generate the climb profile by minimizing the Hamiltonian function 

(eq. (11)) for climb, starting from Ei and ending at Eci. The cruise cost 

obtained in step (1) is used in evaluation of the Hamiltonian function. Also, 

generate time histories of the distance traversed d, the flightpath angle y, 

the fuel burn F, and the aircraft weight W, by use of equations (16) 

through (1 9) . 

3. Estimate the final cruise weight Wcf and the landing weight Wf. 

The final cruise weight is obtained by subtracting the cruise fuel from the 

initial cruise weight. For climb-descent type trajectories the cruise fuel is 

zero and Wcf is obtained by equating it to Wci. For any other type of trajectory, it is computed by the use of equation (29). The numerator of equation (29) contains dc, the cruise distance. This distance can be computed by 

the use of equation (22). The numerator of (22) contains Idn, an unknown 

quantity prior to the synthesis of a descent profile. To overcome this difficulty, the cruise distance is estimated by a polynomial in %x. 

4. In a manner similar to that of step (l), compute the cruise cost for 

descent Xf (Wcf) and the final cruise energy Ecf by reference to the cruise 

table and by substituting the value of %X into equation (27b). For the 

climb-descent type of trajectory, they are obtained by equating them to corresponding initial cruise cost and initial cruise energy. 

5. Obtain the final weight by subtracting the descent fuel from the 

final cruise weight. The descent fuel Fdn is estimated by a quadratic in 

%x. 

6. In a manner similar to that of step (2) generate the trial descent 

profile by minimizing the Hamiltonian function for descent, starting from 

Ef to Ecf, and generate a time history of d,,y, F, and W. 

7. Compute the exact final cruise weight and exact final weight. Since 

a descent profile is now available, Idn is known and dc can now be computed 

exactly. Similarly, since both Fdn and Wcf are also known, Wf can also be 

computed exactly. 

8. Compute Af and Ecf based on the refined value of Wcf, generate the 

refined descent profile, and compute pertinent quantities for all segments of 

the generated trajectory. 

EXAMPLE COMPUTER PROGRAM OUTPUT 

The computer program is intended to provide a wide range of users with 

useful information about the trajectory being synthesized. The information 

output by the computer was evolved after a series of consultations with aircraft manufacturers, commercial airline personnel, and other users. Output 

information includes (1) optimum cruise tables at selected weights, (2) a summary of optimal cruise quantities as a function of cruise weight, (3) the 

optimal cruise quantities as a function of cruise distance, (4) dh/dE for 

selected cruise weights, (5) climb profile, (6) descent profile, and (7) a summary of the complete synthesized trajectory. In this section, the computer 

26 
program output will be illustrated by considering a sample case for a model of 

the Boeing 727 aircraft. 

Computation of the cruise table is the first step. This table contains 

all precomputed quantities for synthesizing the cruise segment of known cruise 

distance. It also provides the cruise cost for generating the climb and 

descent profiles. Each cruise table is computed for specified values of time 

cost, fuel cost, wind profile, and atmospheric condition. The table is 

divided into pages, with each page containing the pertinent quantities for a 

fixed cruise weight. 

A typical page of the cruise table for the example aircraft is shown in 

table 3. The parameters that define the case are $0.0626/1b fuel cost, 

$500/hr time cost, zero temperature variation from the standard atmospheric 

condition, and zero wind. The page shown is for a 150,000 lb cruise weight. 

The first column is the altitude in feet, incremented at 1,000-ft intervals, 

except in the vicinity of the ceiling, where the increment is decreased. 

Columns (2) and (3) are the corresponding minimum drag speed and the maximum 

allowable speed, both in KIAS (indicated airspeed in knots). Columns (4) 

through (8) are the results of minimization of equation (12) for the given 

altitude. Columns (4), (5), and (6) are the optimal cruise speed in KIAS, 

KTAS (true airspeed in knots), and Mach number, respectively. Column (7) is 

the corresponding power setting expressed in engine pressure ratio (EPR); 

column (8) is the optimal cruise cost in $/n. mi. Similarly, columns (9) 

through (13) are the results of minimization of the fuel flow at each altitude. 

This information is not used in the optimum trajectory synthesis, but is of 

interest since it specifies the optimum holding speed. Columns (9), (lo), 

and (11) are the optimal holding speeds in KIAS, KTAS, and Mach number. 

Columns (12) and (13) are the EPR setting and fuel-flow rate in lb/hr, which 

is the minimum fuel-flow rate achievable at that altitude. Column (14) is the 

cruise energy in feet. The last entry in the cruise table (i.e., an altitude 

of 35,588 ft) gives conditions at the ceiling. Additional information at the 

bottom of the page gives the optimal cruise quantities for the specified 

cruise weight, i.e., 150,000 lb. They are obtained as a result of minimizing 

the cost function, expressed by equation (21b), with respect to both altitude 

h and airspeed V. The optimal cruise altitude for the example case is shown 

to be 32,750 ft. The corresponding optimal cruise speeds are 302 KIAS, 

477 KTAS, or 0.8198 Mach number. The optimal cruise cost is $2.162/n. mi., 

optimal EPR setting, 1.9069, and optimal cruise energy, 42,830 ft. 

A similar set of quantities is obtained by minimizing the fuel-flow rate 

with respect to both h and V. As shown at the bottom of the page, the optimal cruise altitude for this case is 26,646 ft. The optimal cruise speed is 

230 KIAS, 340 KTAS, and 0.5691 Mach number. The minimum fuel flow is 

6,868 lb/hr, the cruise-energy is 36,942 ft, and the cruise-power setting is 

1.6906 EPR. 

Table 4 is a summary of the optimal quantities as a function of aircraft 

weight at cruise. Column (1) is the cruise weight. Column (2) is the corresponding optimal cruise altitude; it increases as the cruise weight decreases. 

Columns (3) and (4) show the optimal cruise speed in KTAS and Mach number, 

respectively, and column (5) gives the EPR setting. Column (6) shows the 

27 
TABLE 4.- OPTIMAL CRUISE ENERGY, SPEED, AND ALTITUDE VS WEIGHT 

Cruise 

wt, lb 

150000 

145000 

140000 

135000 

130000 

125000 

120000 

115000 

110000 

Opt H, 

ft 

32760 

33442 

34176 

34918 

35721 

37065 

37911 

38792 

39689 

KTAS 

477.35 

475.90 

474.35 

472.77 

471.05 

469.93 

469.93 

469.93 

469.93 

Opt 

Mach 

0.8198 

.8198 

.8198 

.8198 

.8198 

.8194 

.8194 

.8194 

,8194 

EPR 

setting 

" 

1.9069 

1.9052 

1.9050 

1.9039 

1.9042 

1.9248 

1.9245 

1.9244 

1.9231 

~ 

cost , $/n. mi. 

2.162 

2.130 

2.097 

2.065 

2.033 

1.998 

1.963 

1.927 

1.892 

Fuel flow, 

lb /hr 

8490.71 

8194.45 

7898.65 

7602.05 

7302.05 

7006.03 

6739.86 

6474.53 

6207.10 

Opt E, 

ft 

42842 

43463 

44132 

44808 

45540 

46836 

47683 

48564 

49460 

cruise cost in $/n. mi.; it decreases with increasing cruise weight. Column (7) shows the minimum fuel-flow rate which decreases with decreasing 

cruise weight. Finally, column (8) shows the optimal cruise energy. Although 

the outputs are for a specific aircraft, these trends are generally true for 

all subsonic transport aircraft. 

Table 5 shows the optimal cruise quantities as a function of cruise distance. This table assumes the initial cruise weight is known. As the aircraft cruises, it loses weight because of fuel burn. Since the optimal cruise 

quantities depend on cruise weight, their values change as the aircraft loses 

weight. This table contains the new quantities to account for the change in 

weight, in this case at increments of 100 n. mi. cruising distance. Column (1) 

shows the cruise distance in nautical miles, column (2) shows the corresponding time from the start of cruise in hr:min:sec, and column (3) shows the 

cruise weight updated to account for fuel burn. Columns (4) and (5) give the 

cruise energy and the cruise altitude, respectively, both in feet. Columns (6) 

and (7) show the cruise speed in Mach number and KIAS, respectively, and 

column (8) gives the ground speed in knots. Column (9) shows the cruise cost 

in dollars per nautical mile, and column (10) gives the power setting in 

engine pressure ratio. 

Table 6 displays the coefficients of a polynomial for computing the 

derivative dX/dE, where dX/dE = AE + B and the values of A and B depend 

on cruise weight (see fig. 1). Column (1) of the table shows the cruise 

weight in pounds, column (2) the value of A, and column (3) the value of B. 

Table 7 shows the output for a climb optimization for unconstrained 

thrust. The aircraft takeoff weight is 150,000 lb and the cruise weight is 

estimated to be 145,356 lb. The cruise energy (energy height for terminating 

the climb integration) is 37,468 energy feet. The initial altitude and speed 

are 0 ft and 210 KIAS, respectively. As before the fuel cost is $0.0626/1b 

and the time cost $500/hr. The temperature variation from the standard profile is zero. The cruise cost corresponding to the estimated cruise weight is 

$2.231/n. mi. For computational numerical stability, it is set to a value 

28 
TABLE 5.- CRUISE QUANTITIES AS FUNCTION OF CRUISE DISTANCE 

Cruise 

dist 

n. mi. 

0.00 

100.00 

200.00 

300.00 

400.00 

500.00 

600.00 

700.00 

800.00 

900.00 

1000.00 

Time 

hr:mn:sec 

0: 0: 0 

0:12:37 

0:25:15 

0:37:53 

0: 50: 33 

1: 3:13 

1:15:54 

1:28:37 

1:41:19 

1:54: 2 

2: 6:47 

TABLE 

T 1 

iWeighty 

lb 

144874 

143181 

141488 

139802 

138166 

136529 

134896 

133317 

131738 

130159 

128632 

Energy 3 

ft 

43480 

43707 

43933 

44159 

44380 

44601 

44823 

45054 

45285 

455 16 

45894 

Altitude 

ft 

33460 

33709 

33958 

34206 

34448 

3469 1 

34934 

35188 

35442 

35696 

36089 

Mach 

no. 

0.8198 

.8198 

.8198 

.8198 

.8198 

,8198 

.8198 

.8198 

.8198 

.8198 

.8197 

Ground 

” 

” ‘ XY 

$In. mi. 

2.129 

2.118 

2.107 

2.096 

2.086 

2.075 

2.065 

2.054 

2.044 

2.034 

2.023 

5.- COEFFICIENTS FOR dX/dE FOR DIFFERENT CRUISE WEIGHT 

dX/dE = A E + B in $In. mi.*,t2 

Cruise wt A 

150000 0.18380193-04 

145000 

135000 

140000 .1645151E-04 

.1831762E-04 

110000 .1106663E-04 

115000 .1190378E-04 

.13572293-04 120000 

.1498086E-04 125000 

130000 .15028703-04 

.1588525E-04 

B 

-0.8058240E 00 

-.8144628E 00 

-.7424970E 00 

-.7276682E 00 

-.6994290E 00 

- ,7166300E 00 

-.6607372E 00 

- .5899974E 00 

-.5584263E 00 

Power 

setting 

EPR 

1.905 

1.905 

1.905 

1.905 

1.905 

1.904 

1.904 

1.904 

1.904 

1.904 

1.910 
TABLE 7.- CLIMB PROFILE 

Aircraft takeoff weight = 150000 lb; initial weight = 145356 lb; cruise energy = 37468 ft 

Initial altitude, ft; speed, KIAS = 0 210 1 Fuel cost, $/lb = 0.0626; time Cost. $/hr = 500.00; temperature variation, K = 0.00; lambda = 2.231 $ln. mi. 

I Climb optimization: 

Fuel 

Energy, ft 

19C1 

2069 

2565 

3069 

' 3565 

4069 

4569 

5069 

5565 

6560 

6069 

7069 

7569 

8065 

8565 

9069 

10069 

$565 

10565 

.. 

11069 

I2069 

11565 

ljOt5 

125t5 

135t9 

14069 

15069 

14565 

1EF.69 

lt065 

16569 

17069 

1756G 

18059 

190t9 

19569 

20069 

21069 

20569 

22069 

2156c 

22569 

23060 

24069 

2356C 

24569 

250t9 

25=t5 

26069 

265tV 

275t0 

27069 

2P569 

28069 

25569 

29065. 

30069 

?C56@ 

31069 

32069 

31560 

32569 

330hc 

33565 

34060 

34569 

54819 

35310 

35069 

35565 

35815 

3606V 

36319 

3t569 

3tP19 

37069 

37319 

3751R 

1~56s 

Altitude, VIAS, VTAS, EWT. Gama, 

ft bch knots 'knots ft/s deg 

Time, 

hr:min:s n. mi. 

Oist., used, 

lb 

0.317 213 21C 49.22 

50.93 

0.00 0: 0:10 0.000 61 

-04 0: U:19 1 

4 

3uo 

il 

785 

1246 

1708 

2629 

2109 

3543 

3C89 

40U6 

4464 

4921 

5377 

5b33 

6.298 

6 743 

7196 

7b49 

8553 

9uu3 

5453 

99J2 

la351 

10372 

10423 

1u39R 

10464 

1.1056 

10503 

11309 

1~4J2 

12307 

nu1 

11852 

12767 

13226 

13634 

14 394 

145J4 

149bb 

15635 

15315 

16242 

17113 

It 7.14 

17572 

17Y71 

18437 

18U43 

19735 

15249 

20261 

:dl23 

iC633. 

2lJb.I 

214Y3 

21903 

22323 

iio9M 

i35>4 

23117 

23952 

L477Y 

25266 

i51L5 

2 5453 

2 5d08 

25610 

26117 

25974 

26474 

ibJi3 

i6707 

26981 

2 7748 

27825 

243,n 

-327 2 19 

-.364 

-380 

.378 

.384 

381 

' .393 

.3?0 

.397 

-.400 

.453 

-407 

.410 

.414 

-417 

-421 

-42 8 

-425 

.432 

-436 

-439 

.443 

* 44 7 

-451 

-4M3 

-455 

-535 

.510 

.55 5 

-589 

-581 

-611 

.592 

-61 5 

-618 

-52 1 

.624 

.629 

-632 

.637 

. b45 

.640 

-648 

-656 

.65 3 

-664 

.661 

-669 

-672 

.677 

-692 

.691 

.be6 

... 713 

.706 

-717 

.721 

.126 

-73 7 

-735 

-742 

-746 

-751 

-757 

-768 

-76 1 

-773 

-776 

-780 

.783 

.187 

-791 

-794 

.799 

-800 

.8JO 

.782 

2 44 

2 53 

252 

2 53 

2 53 

2 53 

253 

2 53 

2 53 

2.53 

2 53 

2 53 

2 53 

2 53 

2 53 

2 54 

253 

2 54 

2 54 

2 54 

2 54 

2 54 

2 54 

2 54 

271 

287 

316 

32s 

332 

331 

542 

34 1 

340 

338 

337 

336 

337 

336 

335 

335 

3 33 

333 

3 32 

3 32 

331 

331 

329 

3 29 

329 

328 

328 

335 

336. 

335 

4 34 

3 34 

3 33 

3 34 

333 

3 33 

332 

3 32 

331 

332 

333 

334 

334 

3 34 

335 

3 36 

336 

3 37 

336 

3 34 

323 

301 

.787 322 

216 

25C 

240 

253 

251 

z 5.2 

2 54 

2 58 

26C 

263 

261 

265 

267 

265 

270 

272 

2 74 

27t 

2 78 

2 82 

280 

2 84 

i 86 

288 

29c 

308 

325 

341 

356 

370 

575 

388 

376 

351 

3sc 

352 

396 

393 

400 

397 

40 1 

403 

404 

407 

4i8 

412 

411 

415 

414 

418 

42C 

422 

424 

4 3 4 437 

439 

441 

442 

444 

448 

450 

452 

454 

457 

458 

465 

462 

4t6 

468 

470 

472 

474 

475 

478 

465 

478 

468 

478 

56 -20 

57.16 

56.50 

55.96 

55.39 

54.31 

54.85 

53.77 

53.22 

52.21 

52.72 

51.69 

51.17 

50.12 

50.65 

49.58 

48.72 

48.49 

47.96 

47.42 

46.87 

46.32 

45.77 

45.20 

46.48 

47.48 

47.14 

47.29 

46.65 

44.93 

45.57 

44.41 

43.81 

42. bC 

43.21 

41.65 

61.39 

40.80 

40.17 

39.27 

38.64 

38.04 

37.40 

36.15 

37.00 

35.55 

34.90 

34.55 

33.89 

33.23 

32.59 

31.04 

31.67 

30.39 

29.76 

29.16 

28.55 

27.04 

27.70 

26.41 

25.99 

24.49 

25.15 

23.87 

22.68 

22.77 

22.32 

21.81 

21.37 

20.06 

17.00 

18.67 

15.48 

13.01 

9.91 

5.15 

5.01 

4.73 

"11 

t.98 

7.31 

t.87 

6.74 

t.62 

6.50 

6.27 

6.38 

6.16 

6.05 

5.93 

5.82 

5.71 

5.61 

5.46 

5.39 

5.28 

5.18 

5.08 

4.97 

4.77 

4.87 

5.23 

0-26 

0.30 

0.32 

0.35 

2.93 

3.69 

0.73 

3.45 

3.42 

3.39 

3.32 

2.90 

3.21 

2.81 

3.0M 

2.67 

2.95 

2.55 

2.86 

2.70 

2.45 

2.33 

2.60 

2.24 

2.19 

2.40 

2.05 

G.15 

1.77 

1.97 

1.91 

1.87 

1.19 

1.51 

1.68 

1.63 

1.57 

1.41 

2.32 

1.56 

0.94 

1.08 

1.20 

0.96 

1.16 

0.82 

0.93 

0.86 

0.68 

0.77 

0.11 

1.14 

0: 0:28 

0: 0:37 

0: 0:46 

0: 0:55 

0: 1: 4

0: 1:13 

0: 1:22 

0: 1:32 

0: 1:41 

5: 1:50 

0: 2: 0 0: 2:10 

0: 2:19 

0: 2:39 

0: 2:29 

0: 5: G 0: 2:49 

0: 3:10 

0: 3:31 

0: 3:20 

0: 3:42 

0: 3:52 

9: 4: 3 

0: +:I4 

0: 4:25 

0: 4:36 

U: 4:46 

0: 4:57 

J: 5: 8 

0: 5:19 

J: 5:30 

0: 5:52 

0: 5:41 

0: 6: 4 

0: 0:16 

0: b::8 

0: 6:40 

0: 6:52 

0: 7: 4 

u: 7:30 

0: 7:17 

0: 7:43 

0: 7:57 

0: 8:lo 0: 9:24 

0: b:38 

0: 8:52 

0: s: 7 

J: 9:i2 

0: 9:37 

J: 9:52 

0:10: 8 

0:13:24 

0:10:40 

u:10:57 

0:11:14 

0:11:32 

0:11:50 

0:12: 8 

0:12:27 

O:li:46 

3:13: 6 

0:13:48 

0:13:27 

5:13:59 

0:14:10 

0:14:21 

0:14:32 

0:14:56 

0: 14: 44 

0:15:25 

0:15:10 

0:15:41 

0:16: 0 

0:16:25 

1.144 

1.737 

2.967 

2.347 

4.239 

3.598 

4.891 

6-230 

5.555 

6.916 

7.b14 

8.324 

9.046 

9.781 

10.529 

11.290 

12.070 

12.860 

13.664 

14.483 

15.318 

16.168 

17.035 

17.9 19 

18.812 

20.717 

19.744 

21.739 

22.820 

23.953 

25.111 

26.305 

27.535 

28.787 

30 .O 60 

32.687 

31.365 

34.034 

35.409 

36.821 

38.263 

39.735 

41.239 

42.162 

45.935 

44.332 

49 -241 

47.576 

52.696 

50.946 

54.487 

56.340 

58.257 

60.243 

62.282 

6b.518 

64.372 

68.739 

71.029 

73.386 

75.793 

78.292 

80.873 

83.532 

86.352 

84.939 

09.281 

87.799 

92.432 

90.804 

96.128 

54.190 

98.265 

100.814 

104.161 

0:17:14 110.512 

3:18: 4 116.973 

119 

173 

226 

331 

278 

43 6 

3 83 

488 

540 

593 

645 

697 

749 

801 

852 

904 

1008 

956 

1060 

1111 

1163 

1215 

1267 

1370 

1319 

1421 

1472 

1523 

1574 

lbao 

1627 

1789 

1734 

1844 

1898 

1954 

2009 

2064 

21 20 

2176 

2232 

2346 

2289 

2461 

2403 

2577 

2519 

2695 

2636 

2815 

2754 

2875 

2936 

3000 

3064. 

3128 

3259 

31 93 

3526 

3394 

3463 

3533 

3603 

3675 

3748 

3824 

3786 

3902. 

3863 

3942. 

3984. 

4076. 

4028- 

4186. 

4128. 

4260. 

4386. 

4515. 

setting, Cost/E, EPR $/E ft 

Power 

1.802 47.213 

1.800 

1.791 

1.791 

1.796 

1.801 

1.806 

1.817 

1.811 

1.827 

1.822 

1.832 

1.837 

1.842 

1.848 

1.853 

1.858 

1.863 

1.873 

1.864 

1.878 

1.883 

1.888 

1.898 

1.904 

1.894 

1.875 

1.885 

1.867 

1.858 

1.856 

1.861' 

1.858 

1.863 

1.873 

1.868 

1.875 

1.882 

1.888 

1.891 

1.894 

1.903 

1.898 

1.907 

1.916 

1.915 

1.921 

1.925 

1.937 

1.933 

1.946 

1.941 

1.946 

1.947 

1.944 

1.951 

1.955 

1.959 

1-960 

1.962 

1.966 

1.973 

1.977 

1.974 

1.978 

1.9bl 

1.984 

1.984 

1.984 

1.983 

1.972 

1.959 

1.944 

1.929 

1.904 

1.870 

1.812 

1.814 

l.e93 

45.289 

39.824 

38.400 

38.287 

37.695 

37.893 

37.315 

37.506 

36.904 

37.126 

36.467 

36.684 

38.082 

36.252 

36.040 

35.83 c 35.623 

35.418 

35.21 5 

35.01C 

34.808 

34.608 

34.41 I 34.21 5 

34-025 

30.573 

32.007 

25.448 

28.320 

27.952 

27.733 

27.513 

27.292 

26.845 

27.071 

26.390 

26.618 

2t. 16 1 

25.931 

25.690 

25.46 6 

24.994 

25.231 

24.510 

24.754 

24.01 3 

24.263 

23.759 

22.971 

23.238 

22.687 

22.364 

21.698 

22.035 

21.002 

21.354 

2C.640 

2C.268 

15.885 

19.491 

15.082 

18.665 

lE.lll 

17.930 

11.743 

11.55 1 

17.34s 

17.133 

lt.895 

16.636 

28.721 

28.131 

23.50~ 

1e.288 

16.319 

15.905 

15.027 

14.278 

30 
slightly higher than the optimal cruise cost, specifically, 1% above. The 

tabulated data show the climb integration; each line represents an energy level 

that starts from the initial energy Ei, increments at 500 energy feet (except 

near the cruise energy, where the increment is decreased), and terminates at 

an energy level higher than the cruise energy. (A slightly higher final 

energy level provides an extra point in the table. This point is used for 

interpolation). 

In table 7, column (1) shows the energy height in feet; column (2) shows 

the altitude; and columns (3), (4), and (5) show the aircraft speed in Mach 

number, KIAS, and KTAS, respectively. Column (6) shows the rate of energy 

change and column (7) shows the flightpath angle in degrees. The flightpath 

angle as a function of energy shows discontinuities at several places. This 

is due to the use of tabulated engine data with a low-order dynamic model 

(i.e., neglecting rotational dynamics). These discontinuities could be eliminated if some smoothing or averaging process were used. Column (8) shows the 

time into the climb in hr:min:sec; column (9) is the distance traversed in 

nautical miles; and column (10) is the cumulative climb fuel in pounds. Column (11) shows the EPR setting and column (12) the minimized Hamiltonian 

function Iup 

Table 8 shows the result of integrating the descent trajectories for the 

same example aircraft and the unconstrained-thrust case. The landing weight 

is estimated to be 144,843 lb, and the cruise energy is 37,461 ft, the same as 

that for the climb since there is no cruise segment in this case. The final 

altitude and speed are 0 ft and 210 KIAS, respectively. The outputs are very 

similar to those for the climb optimization. Quantities shown in columns (1) 

through (11) correspond to those in the climb table. The energy rate, as shown 

in column (6), is negative. The EPR setting, shown in column (ll), starts 

with 1.450 at cruise altitude and switches to idle at or below an altitude of 

24,490 ft. Column (12) shows Idn, the minimized Hamiltonian function for 

descent. Column (13) shows the sum of Iup and Idn, the sum of the minimized 

Hamiltonian function for both climb and descent. This sum is used to evaluate 

the cruise distance for the constrained-thrust case (see eq. (22)). It is 

also used to locate the altitude at which the climb profile joins the descent 

profile in the unconstrained-thrust case. This altitude is the zero-intercept 

of (Iup + Idn) vs altitude. 

Table 9 summarizes the synthesized trajectory. The first part of the 

table gives the aircraft weight in pounds; cost in dollars per nautical mile; 

energy height in feet; altitude in feet; true airspeed, indicated airspeed, 

and groundspeed, all in knots; and the Mach number for both initial and final 

cruise conditions. For the climb-descend type of trajectory, the corresponding quantities for the initial and final cruise are the same, since the aircraft weight at the end of a climb is the same as that at the beginning of a 

descent (i.e., no cruise segment). 

The second part of table 9 shows the fuel used in pounds, the ground 

track distance covered in nautical miles, the elapsed time in hr:min:sec, the 

cost in dollars, and the unit cost in dollars per nautical mile for the climb 

profile, descent profile, cruise segment, and synthesized overall trajectory. 

The last section of the table shows the final aircraft weight in pounds, and 

31 
TABLE 8.- DESCENT PROFILE 

Aircraft landing weight = 144843 lb; cruise energy = 37461 ft 

Descend optimization: 

Final altitude, ft; speed, KIAS = 0 210 

Energy, Altitude, 

ft ft 

VIAS, YTAS, 

Hach knots knots 

1951 0.317 13 

2Ot2 

2562 

3062 

3562 

4062 

4562 

5562 

5062 

6062 

6562 

7562 

8062 

q962 

9562 

$562 

IC062 

10562 

11062 

Il5t2 

12562 

12062 

130t2 

135t2 

14562 

14 56 2 

1qr.62 

15062 

16062 

16562 

I8052 

17562 

1P5t2 

IQOF2 

20062 

15562 

20562. 

21062 

71 562 

22562 

22q67 

7nt2 

17062 

23nt2 

23K62 

540.52 

2L562 

25062 

255t2 

26062 

265t2 

27067 

LP062 

27567 

2SC62 

2O062 

29562 

30562 

31 06i 

31562 

32062 

32562 

33562 

34062 

31562 

34812 

25062 

35112 

35562 

75812 

36062 

36312 

?t562 

36812 

37062 

37?12 

20062 

73062 

5 

11 

3J3 

124J 

779 

2li3 

I702 

2623 

3 542 

3id3 

4 000 

4915 

4458 

E827 

5371 

628- 

6731 

719d 

7643 

8541 

8595 

8931 

S4'+ 7 

?9Yl 

10345 

10305 

10423 

1G391 

10453 

13499 

1053~ 

105'*3 

11468 

1G915 

11931 

i2.455 

129't9 

134518 

12S3d 

14479 

14511 

15350 

i6865 

16323 

11309 

17871 

rtldL5 

lY33l 

;LIZ?- 

19752 

LJ 7-6 

2120J 

21173 

'2112 

L 3 13L 

i2636 

22,514 

i3YY1 

-4411 

25232 

24945 

i6lJ3 

256t9 

Lt539 

263~2 

26755 

27175 

27.36~ 

L7510 

Z7129 

201L7 

28337 

15859 

leJrn 

24492 

26969 

2755J 

-363 

.32t 

.378 

-384 

.385 

* 390 

.387 

.397 

.39 3 

-453 

.4JO 

-407 

-414 

.410 

.417 

-421 

-428 

.4L5 

-4312 

-43 6 

.439 

.443 

-447 

-45 1 

.45 5 

.4(13 

.510 

- 559 

-535 

-58 1 .6J3 

.623 

.632 

.631 

-632 

-634 

-635 

-634 

-630 

.538 

.635 

-645 

.646 

-649 

-647 

-653 

.65 1 

.654 

-655 

656 

.663 

.664 

. bb 1 

-665 

.6Uh 

-671 

-674 

.677 

.682 

-689 

.ba4 

"I38 

.711 

.li6 

.7L2 

.732 

. 1 35 

-1 34 

-7 36 

-141 

. 1 38 

.744 

.141 

.75+ 

.151 

.157 

.165 

I 21s 

244 

2 53 

2 52 

2 53 

2 53 

2 53 

2 53 

2 53 

2 53 

253 

2 53 

2 53 

2 53 

2 53 

2 53 

2 53 

2 54 

2 54 

254 

2 54 

2 54 

2 54 

L 54 

2 54 

21 I 

3c1 

287 

316 

329 

342 

35: 

365 

351 

3 54 

351 

349 

3 45 

341 

337 

34J 

337 

3 35 

333 

J 30 

324 

327 

313 

321 

318 

3 I5 

314 

3 LZ 

310 

357 

5 06 

3'35 

303 

303 

302 

301 

507 

306 

3 35 

3JY 

307 

306 

306 

375 

305 

3 35 

>c5 

355 

3 05 

j 36 

3 95 

3G6 

240 

216 

25C 

253 

251 

254 

256 

260 

258 

2tl 

263 

265 

269 

261 

21c 

212 

214 

2 76 

280 

276 

2 82 

284 

286 

290 

308 

325 

34 1 

356 

37G 

3 84 

452 

391 

400 

40 I 

401 

401 

400 

400 

400 

400 

404 

434 

403 

403 

40 3 

403 

405 

404 

404 

406 

405 

406 

4c7 

436 

409 

41 1 

'116. 

413 

416 

414 

428 

427 

434 

436 

437 

430 

435 

440 

44 1 

442 

443 

445 

441 

448 

449 

451 

2e8 

EOOT , ftls _____~ -21.95 

-22.32 

-25.15 

-26.13 

-26.86 

-21.12 

-27.36 

-27.61 

-21.96 

-28.11 

-28.36 

-28.62 

-28.80 

-29.14 

-29.65 

-29.39 

-29.90 

-30.41 

-30.16 

-30.67 

-30.92 

-31.18 

-31.44 

-31.95 

-31.69 

-32.11 

-35.76 

-39.15 

-44. 08 

-49.65 

-53.41 

-58.35 

-63.45 

-65.19 

-t2.s9 

-63.64 

-62.33 

-61.68 

-60.31 

-50.80 

-59.22 

-58.63 

-59.29 

-57.9 1 

-58.5Q 

-50.60 

-57.25 

-55.$6 

-55.90 

-55.24 

-54.50 

-54.59 

-53.58 

-52.98 

-52.68 

-5L.32 

-52.45 

-53.a2 

-51.21 

-52.45 

-52.12 

-52.28 

-36.79 

-36.95 

-37.79 

-37.Q3 

-38.07 

-38.16 

-38.34 

-38.56 

-38.43 

-37.78 

-36.21 

-24.97 

-33.35 

-33.92 

-18.54 

-38.25 

Gama, 

deg ~~ 

0.00 

-0.02 

-0.05 

-2.16 

-3.41 

-3.31 

-3.39 

-3.39 

-3.39 

-3.39 

-3.40 

-3.40 

-3.40 

-3.40 

-3.41 

-3.41 

-3.41 

-3.41 

-5.41 

-3.41 

-3.41 

-3.40 

-3.40 

-3.40 

-3.40 

-3.40 

-3.17 

-0.28 

-J.22 

-0.34 

-0.47 

-0.40 

-3.51 

-0.55 

-5.96 

-5.27 

-5.17 

-5.22 

-4.99 

-5.63 

-4.94 

-4.9u 

-3.85 

-4.97 

-4.91 

-4.85 

-4.14 

-4-19 

-4.21 

-4.71 

-4.12 

-4.65 

-4.60 

-4.55 

-4.08 

-4.49 

-3.51 

-4-04 

-4.34 

-4.09 

-3.56 

-3.60 

-0.41 

-1.71 

-2-66 

-2.59 

-5.2u 

-2.54 

-2.55 

-2.55 

-2.56 

-2.11 

-2.45 

-2.08 

-1.90 

-1.96 

-2.15 

-1.01 

hr:min:s 

Time, 

0: 1: 5 

0: 1:23 

0: 1:4; 

0: 2: 0 

3: 2:19 

5: 2:37 

3: L:55 

0: 3:12 

0: 3:30 

0: 3:48 

0: 4: 5 

J: 4:22 

0: 4:59 

3: 4:56 

0: 5:13 

a: 5:L9 

2: 5:46 

0: 6: 2 

0: a:l8 

3: b:34 

0: 6:50 

0: 7: 6 

0: 1:31 

0: 1:cl 

3: 7:51 

3: 8: 4 

J: b:l5 

0: 8:>5 

3: 8:25 

u: 5:43 

0: 8:51 

0: 9: 7 

d: d:59 

0: 9:14 

0: 9:22 

0: 5:3L 

0: 9:55 

0: 9:41 

U: 9:56 

0:10: 4 

0: lU: 13 

3:10:21 

0: 10:30 

0: IC): 39 

3:lU:47 

0:19:56 

0:11: 5 

U:Lr:14 

0:11:23 

IJ:ll:33 

0:11:42 

3:i1:,51 

0:12: 1 

0:12:10 

3:12:23 

3:lL:LS 

0:12:39 

0:12:4P 

0:13: 8 

0:l~:56 

9:13:21 

0:13:35 

'J:13:48 

J:14: 1

J:14: 8 

0:14:14 

0:14:LI 

J:14:i7 

0: 14: 34 

J:14:40 

0:14:41 

Y: 14: 54 

3:15: 1 

3:15: 8 

Dist., 

n. mi. 

0.000 

1.323 

2.581 

3.852 

5.143 

6.429 

1.112 

10.271 

8.993 

11.546 

12.8 18 

15.354 

16.618 

19.140 

17.880 

20.397 

21.652 

22.906 

24.158 

25.408 

26.656 

27.903 

25.148 

32.795 

31.635 

34.548 

35.942 

36.885 

37.782 

38.636 

40.356 

41.235 

43.023 

42.124 

44.863 

43.939 

45.757 

41.68G 

46.741 

48.632 

49.59b 

55.511 

51.556 

53.553 

52.553 

54.566 

55.591 

56.621) 

51.662 

58.713 

59.771 

65. d45 

61.916 

62.997 

64.084 

65 .I 72 

67.369 

66.270 

68.960 

12.152 

14.533 

13.141 

70.123 

75.328 

16.918 

11.712 

-30.169 

19.318 

81.054 

81.971 

84.565 

eL.889 

14.008 

30.392 

33.900 

39.486 

70.569 

78.506 

~~ 

Fuel 

used, 

lb 

19 

37 

69 

54 

84 

99 

128 

114 

141 

155 

168 

180 

193 

205 

216 

22d 

250 

2 39 

261 

L7 I 

281 

3 00 

291 

310 

319 

336 

328 

351 

3 44 

357 

363 

368 

373 

318 

383 

388 

398 

393 

407 

403 

417 

412 

426 

42 I 

430 

435 

439 

447 

443 

452 

456 

450 

466 

464 

476 

412. 

4 79 

483 

487 

491 

494 

49: 

5 15 

534 

52- 

546 

552 

551 

563 

569 

514 

586 

580 

592 

607 

579 

615 

635 

setting, 

Power 

EPR 

IDLE 

IDLE 

IDLE 

IDL F 

lOLF 

IliLE 

IDLE 

IDLE 

IDLE 

IDLE 

IDLE 

IDLE 

IDLi 

IVLC 

IDLE 

IDLE 

IDLt 

IbLF 

IDLF 

IDLE 

IDLE 

IDLE 

IDLE 

IDLE 

IOLk 

lOLt 

IGLF 

ILJLE 

!DL€ 

I OLF 

!DLF 

IDLt 

lGL F 

I IJLL 

IDLE 

IL,LE 

IDLE 

IDLE 

IULE 

IDLE 

IDLt 

I DL L 

1UL E 

IDLt 

IDLE 

IDLE 

IDLE 

IGLt 

ICL' 

lGLt 

IDLC 

IDLE 

IULE 

lDLt 

IbLt 

I LlLE 

IDLE 

lGLt 

IDLE 

IULk 

1.104 

1.104 

1.104 

1.104 

1.104 

1.134 

1.104 

l.lU4 

1.104 

I.LU4 

1.150 

1.121 

1.198 

1.176 

1.199 

1.450 

IDLE 

IDL~ 

.~ 

Cost/E, 

$/E ft 

16.578 

15.388 

1C.218 

7.329 

1.830 

6.363 

5.8F8 

5.419 

4.955 

4.053 

3.61 0 

2.805 

3.20 1 

2,413 

2.026 

1.643 

0.89 1 

1.265 

0.156 

-0.563 

-0.206 

- C. 90 3 

-2.613 

e.217 

t.e44 

4.50 2 

n. 52 2 

-4.735 

-3.856 

-5.377 

-5.836 

-t.lbO 

-t.369 

-t.522 

-t.673 

-6.828 

-6.985 

-1.145 

-7.308 

-7.473 

-7.641 

-7.971 

-E. 12 8 

-8.449 

- F. 71 8 

-8.613 

-8.?45 

-5.114 

-5.45 7 

-5.285 

-5.625 

-5.798 

- 1C. 14 1 

-5.969 

-1C.308 

- 1 C.kl5 

-1C.643 

-10.815 

-1C.900 

-11.380 

-1 1. L6e 

-11.641 

-11.870 

-12.OP6 

-12.30C 

-12.406 

-12.512 

-12.61 7 

-12.722 

-12.943 

-12.027 

-13.074 

-7.~2 

-e.zea 

-13.211 

-13.480 

-13.353 

cost/E, 

Sum 

$/E ft 

63.791 

60.678 

46.616 

50.042 

46.1 17 

45.411 

44.736 

44.062 

43.394 

42.734 

42.081 

40.7 37 

41.406 

40.077 

30.4 54 

38.845 

38.243 

31.649 

37.061 

36.4 90 

35-90? 

35.330 

34.764 

34.205 

33.652 

33.122 

29.394 

26.718 

24.708 

23.344 

22.484 

21.911 

21.583 

21.211 

20.839 

20.464 

20.086 

19.700 

19.310 

18.917 

18.520 

18.1 18 

17.338 

17.728 

16.944 

16.545 

15.732 

16.141 

15.319 

14.R99 

14.474 

14.043 

13.610 

13.1 73 

12.718 

12.224 

11.726 

11.223 

10.711 

10.186 

9.650 

9.100 

8.505 

1.849 

7.212 

6.579 

5.988 

5.705 

5.418 

5.126 

4.829 

4.522 

4.190 

3.425 

3.821 

2.426 

2.966 

0.084 

32 
Parameters 

Aircraft 

cost, 

Energy 

Altitude, 

weight, lb 

$/n. mi. 

height, ft 

ft 

.. "~ 

TABLE 9.- SUMMARY OF SYNTHESIZED TRAJECTORY 

Initial 

cruise 

145,499 

2.233 

37,392 

27,166 

Final 

cruise 

145,499 

2.233 

37,392 

27,166 

I -1 

Parameters Initial 

cruise 

TAS, knots 

IAS, knots 

481.00 

Groundspeed, knots 480.82 

335.60 

Mach number .80606 

Final 

cruise 

481.00 

335.60 

480.82 

.80606 

used, 

lb 

Distance, Hr :min : cost, 

n. mi. $ $/n. mi. 

Climb 4500.83 115.99 0:17:57 431.42 3.72 

Descend 644.75 85.46 0:15:38 170.65 2.00 

Cruise 0 0 0: 0: 0 0 0 

Total 5145.58 201.45 0:33:35 602.07 2.99 

Landing weight = 144,854 

Cruise and overall efficiency 0.000 25.543 lb/n. mi. 

Cost, %x = 4.69 

Number of iterations = 4 

- ,-... . ". ~~ -. "_ 

the cruise fuel efficiency and the overall fuel efficiency, both in pounds per 

nautical mile. It also shows the numerical value of %x and the number of 

iterations required to synthesize the trajectory. 

RESULTS 

In this section, a selected class of trajectories is synthesized by the 

computer-implemented algorithm to determine the effect of selected parameters 

on: (1) the unit cost (in dollars per nautical mile), (2) the unit fuel consumption (in pounds per nautical mile), (3) the mission cost (in dollars), and 

(4) the total fuel consumption (in pounds). The parameters include (1) the 

range, (2) cost function (minimum cost versus minimum fuel), (3) mode of optimization (free thrust vs constrained thrust), (4) environmental conditions, 

such as wind and temperature variation (from standard atmosphere), (5) an ATC 

restriction placing a 250-KIAS limit on speed when flying at or below 

10,000 ft, and (6) the takeoff weight. In all cases, the time cost is $500/hr 

and the fuel cost is $0.0626/1b. 

The characteristic trajectories are shown in the following formats: 

(1) altitude and speed vs distance, and altitude'vs speed; (2) unit operating 

cost and unit fuel cost vs range; (3) summary tables of the synthesized trajectories; and (4) tables showing the effect of speed limit, optimization 

mode, and takeoff weight on fuel consumption and mission cost. 

33 
Figure 9(a) shows four altitude profiles for minimal-cost trajectories as 

a function of range. The takeoff weight for these trajectories is 150,000 lb 

and the ranges are 100, 200, and 1,000 n. mi. The solid line is the 

constrained-thrust mode of optimization and the dashed line the free-thrust 

mode. In all four trajectories, the first part of the climb and the last part 

of the descent are nearly identical. The gradient of climb is steepest in the 

beginning, at an average of about 530 ft/n. mi. It is gradually reduced to 

about 260 ft/n. mi. at an altitude of about 10,000 ft, and eventually to 

81 ft/n. mi. at the end of climb. The descent profiles start with an initial 

descent gradient of 251 ft/n. mi. This gradient is gradually increased to 

370 ft/n. mi. at an altitude of about 10,000 ft and then gradually reduced to 

210 ft/n. mi. at the end of descent. 

CONSTRAINED THRUST "_ FREE THRUST 

35 

30 

m 25 

0 

x 20 c 

v- $ 15 

3 

10 

0 

- CONSTRAINED THRUST -" FREE THRUST 

900 1000 

RANGE, n. mi. 

(a) Altitude profile. 

0 100 200 " 800 900 1000 

RANGE, n. mi. 

(b) True airspeed profile. 

Figure 9.- Profiles for minimal-DOC trajectories. 

At about 10,000 ft, both the climb and descent profiles are interrupted 

by short segments of almost level flight for all cases. This is a result of 

the 250 KIAS limit imposed on the trajectory below 10,000 ft. In climb, after 

reaching 10,000 ft, the speed boundary is removed, and most of the energy rate 

is used to temporarily accelerate the aircraft to the optimal speed at that 

altitude, thus resulting in practically level flight. After reaching the 

optimal speed, the climb is resumed. Similarly, in descent the aircraft enters 

the speed boundary at 10,000 ft and the negative energy rate is used for temporarily decelerating the aircraft in nearly level flight to 250 KIAS. After 

reaching that speed, the descent is resumed. 

In the constrained-thrust trajectories, there is a short cruise segment 

in all cases. The cruise altitude for these segments increases with range 

until the optimal cruise altitude is reached. Beyond this range, the optimal 

cruise altitude is used regardless of range. For the short-range cases 

(100 and 200 n. mi.), the cruise altitude is practically constant. For the 

long-range case (1,000 n. mi.), the optimal cruise altitude increases at a 

34 
rate of 2.5 ft/n. mi. of cruise distance. It increases because the aircraft 

becomes lighter as a result of fuel burn during cruise. 

The free-thrust trajectory for the 200-n. mi. range does not have cruise 

segment. The point at which the climb and descent segments join is the maximum energy point. It is also the highest altitude and the highest speed point. 

As shown in the figure, the 200-n. mi. range free-thrust trajectory differs 

from its corresponding constrained thrust trajectory only in the vicinity of 

the maximum energy point, specifically, at an altitude of 24,500 ft and above. 

Below this altitude, the optimal thrust, as determined by the algorithm, is 

the maximum thrust for climb and idle thrust for descent. Above this altitude, a gradual reduction in thrust occurs during climb until the maximum 

energy point is reached. At this point, the trajectory switches from climb to 

descent, i.e., the energy rate becomes negative. The initial part of the 

descent trajectory calls for a continuation in gradual thrust reduction until 

the 24,500 ft altitude is reached. At that altitude, the thrust is reduced to 

idle. 

In the constrained-thrust mode, on the other hand, the thrust schedule 

calls for maximum thrust in climb, switching to cruise thrust at the end of 

climb, maintaining this thrust during cruise and switching to idle thrust at 

the end of cruise, and maintaining idle thrust during descent. For the 

200 n. mi. range trajectories, a fuel saving is realized by optimizing over 

both thrust and speed as opposed to optimizing over speed alone. 

Figure 9(b) shows the corresponding true airspeed profile. It calls for 

a high rate of acceleration during the first portion of the climb; this rate 

is gradually reduced for the remainder of the climb. The descent profile is 

symmetrical to the climb in the sense that it calls for a slow deceleration in 

the beginning of descent and gradually increases the deceleration until the 

final airspeed is reached. The cruise speeds for the short-range, constrainedthrust trajectories are practically constant. For the long-range flight, this 

speed is reduced slightly during cruise, in order to maintain the optimal 

cruise speed, which is a function of aircraft weight; the optimal cruise speed, 

as determined from the algorithm, decreases slightly as the aircraft burns 

fuel. 

"[ --- 

- CONSTRAINED-THRUST TRAJECTORY 

FREE-THRUST TRAJECTORY 

!? 32 

210 270 330 390 450 

TRUE AIRSPEED, knots 

Figure 10.- Altitude-speed profile 

for 200-n. mi. minimal-cost 

trajectories. 

Figure 10 shows the speed-altitude 

profiles for the 200-n. mi. constrainedthrust and free-thrust trajectories. 

In climb, most of the energy rate is 

used to accelerate the aircraft to the 

optimal speed at almost constant altitude. When the 250 KIAS limit is 

relaxed and in descent, most of the 

negative energy rate is used to decelerate the aircraft in nearly level 

flight as the 250 KIAS limit is 

reimposed. 

Figures ll(a) , ll(b) , and 12 show 

the corresponding altitude profile, 

35 
- CONSTRAINED THRUST 

”- FREE THRUST CONSTRAINED THRUST 

I! 

rr I I 

0 100 200 ” 800 900 1000 

RANGE, n. mi. 

”- FREE THRUST 

210 L 

0 100 2\00 k300 

RANGE, n. mi. 

1 900 1000 

(a) Altitude profile. (b) True airspeed profile. 

Figure 11.- Profiles for minimal-fuel trajectory. 

speed profile, and speed altitude (VH) 

profile for the minimal-fuel trajecminimal-cost trajectories, the minimal- E32- 

In comparison with the corresponding 

tories for the same case as before. 

”- FREE THRUST 

The altitude profile has a steeper 

cruise altitude and lower cruise speed. W‘ 

fuel trajectories call for a higher r - 

angle and the speed profile has a a 

angle of climb and a shallower descent 5 16 - 

acceleration and deceleration segments 

eration. In the VH profile, the 

slower rate of acceleration and decel0 

210 270 330 390 450 

near an altitude of 10,000 ft are TRUE AIRSPEED, knots 

48- CONSTRAINED THRUST 

r9 

0 

3 

I 

shorter or absent, as a result of lower 

optimal climb-out and descent speeds. Figure 12.- Altitude-speed profile 

for minimal-fuel 200-n. mi. range 

Figure 13(a) shows the cost in trajectories. 

dollars per nautical mile vs range for 

the minimal cost and the minimal-fuel trajectories. In the short-range flights 

(i.e., from 100 n. mi. to 250 n. mi.), the slope of the curves is very steep, 

implying that a slightly longer range flight will result in substantial saving 

in cost. For long-range flights (1,000 n. mi. or more), the slope of the 

curve is almost flat, implying that the cost is almost constant and practically independent of range. At longer ranges the vertical distance between 

the two curves becomes significant; for example, at 1,000 n. mi. it is 

$0.08/n. mi. This distance represents the saving in cost realized by minimizing the cost instead of fuel consumption. 

As previously discussed, the climb and descent profiles are restricted by 

the 250-KIAS limit at or below an altitude of 10,000 ft. In short-range 

36 
4.( 

3.t 

.- 

E 

$ 3.c e 

+- 

s" 

2.5 

2.0 

MIN COST "- MIN FUEL 

TIME COST = $500./hr 

FUEL COST = $.0626/1b 

4.0 

3.5 

2 

c' 

8 

3.0 

I' I I 2.6 

- MIN COST "- MIN FUEL 

FREE THRUST 

THRUST 

I I I I ~ 

100 ~. ~ 

500 900 1300 50 100 150 200 250 

RANGE, n. mi. RANGE, n. mi. 

(a) Cost vs range. (b) Cost for minimum-cost and minimumfuel trajectories. 

Figure 13.- Cost vs range: minimal-cost and minimal-fuel trajectories. 

flights, this constraint is in effect for a large portion of the flight and 

therefore the difference in cost between minimal-cost and minimal-fuel trajectories is small. For very long range flights, on the other hand, most of the 

flight is spent in cruise (at optimal cruise altitude and speed) and, therefore, the difference between minimal-cost and minimal-fuel trajectories is the 

difference between their respective cruise costs. 

Figure 13(b) is an expanded version of figure (13(a); it shows the difference in cost between the constrained-thrust mode and the free-thrust mode 

of optimization at short ranges. For the minimal-cost case, at a range of 

100 n. mi., the cost saving between the two modes is $0.03/n. mi. At a range 

of about 135 n. mi., this difference diminishes to zero and the two curves 

merge, implying that for flights of 135 n. mi. or longer, no significant saving in unit cost is realizable by flying the free-thrust type of trajectory. 

In the minimal-fuel case, the fuel difference between the two modes is insignificant at all ranges. 

Figure 14 shows the corresponding fuel efficiency versus range curves. 

The fuel saving in the minimum-fuel trajectory relative to the minimum-cost 

37 
trajectory is about 1 lb/n. mi. in 

long-range flight (more than 

500 n. mi.) and 1.1 lb/n. mi. in 

short-range flights. 

Table 10 summarizes the characteristics of selected minimal-cost 

trajectories for a takeoff weight of 

150,000 lb. Column (1) gives the 

environment for the flight, namely 

the temperature deviation from standard temperature and the wind condition. Column (2) gives the mode of 

optimization (FT for free thrust and 

CT for constrained thrust). Column (3) shows the range and column (4) the time duration of flight. 

Columns (5) and (6) show the operating cost in $/n. mi. and fuel consumption in lb/n. mi., respectively. 

The remaining columns give the cruise 

altitude, the climb distance, and the 

descent distance. 

Table 10 shows that the differences in cost and fuel consumption 

between the free-thrust and the 

constrained-thrust modes of optimization for the 200-n. mi. range 

MIN COST 

100 500 800 1300 

RANGE, n. mi. 

Figure 14.- Fuel efficiency vs range. 

trajectories are $0.04/n. mi. and 0.44 lb/n. mi., respectively, amounting to a 

1% difference in cost and a 1.75% difference in fuel consumption. Reducing 

the temperature (in the free-thrust mode) at all altitudes results in insignificant cost and fuel reductions. However, raising it to 20" C at all altitudes increases the cost $O.ll/n. mi. and the fuel consumption 0.95 lb/n. mi; 

this is an increase of 2.3% in cost and of 3.75% in fuel consumption. 

- 

Next, consider the effect of wind. The wind profile used for the example 

trajectories of table 10 is shown in figure 15. Although it is the average 

profile in January over Cape Kennedy (ref. 5), the profile would be similar at 

other locations at the same latitude. It starts with a 10-knot wind at zero 

altitude that increases to 70 knots at an altitude of 36,000 ft; the increase 

is at a rate of 1-2/3 knots/1,000 ft. Above 36,000 ft, the wind decreases at 

a rate of 2-1/4 knots/1,000 ft. If the aircraft is flying against the wind, 

the unit cost increases $0.27/n. mi., or 9.1%, and the fuel consumption 

increases 2.78 lb/n. mi., or 11%. If flying with the wind, the cost decreases 

$0.16/n. mi., or 5.4%, and the fuel consumption decreases 1.82 lb/n. mi., or 

7.2%. 

Table 11 summarizes the characteristics of selected minimal-fuel trajectories corresponding to the minimal-cost trajectories shown in table 9. The 

takeoff weight for all the trajectories is again 150,000 lb. The differences 

in cost and fuel consumption between the free- and constrained-thrust modes 

38 
TABLE 10.- MINIMAL DIRECT OPERATING COST TRAJECTORIES: TAKEOFF WEIGHT 150,000 LB 

Thrust 

mode 

Fuel , lb/n. mi. 

Descent 

distance, 

n. mi. 

Cruise 

ft n. mi. 

distance, iltitude, 

Climb 

14 , 899 43.15 

26,970 101.42 

27,827 116.00 

30,819 135.76 

25 , 007 122.35 

31,467 

28,934 117.99 

112.50 

26 , 300 109.33 

Environmental 

condition 

Range , n. mi. 

cost , $In. mi. Time , hr:min:sec 

20 : 06 

33:02 

33: 00 

2: 13:07 

34:07 

32 : 54 

35: 16 

31:46 

Standard 

temperature 

1 

+zoo c 

-15" C 

Standard 

temperature 

Standard 

temperature 

No wind I CT 100 

200 

200 

1000 

200 

200 

200 

200 

3.58 

3.00 

2.96 

2.28 

3.07 

2.96 

3.23 

2.80 

30.40 

25.77 

25.33 

18.78 

26.28 

25.31 

28.11 

23.51 

52.66 

77.85 

84.00 

85.38 

77.65 

89.51 

82.01 

90.67 

CT 

FT 

CT 

FT 

9 FT 

Headwind FT

Tailwind FT

Note: CT = Constrained thrust, FT = Free thrust. 

TABLE 11.- MINIMAL FUEL TRAJECTORIES: TAKEOFF WEIGHT 150,000 LB 

I- " 

' 

" 

- 

Cruise 

3ltitude, 

ft 

~~ 

I Climb i Descent 

distance, j distance, Environmental 

condition 

Time , hr:min:sec 

cost , $/n. mi. Fue 1 , lb/n. mi. 

Thrust 

mode 

Range , n. mi. n. mi. n. mi. 

37.73 

80.06 

101.93 

121.07 

112.38 

95.31 

101.30 

99.99 

54.12 

83.21 

98.07 

103.51 

87.62 

104.69 

98.70 

100.01 

Standard 

temperature 

I 

+zoo c 

-15" C 

Standard 

temperature 

Standard 

temperature 

CT 

CT 

FT 

CT 

FT 

FT 

FT 

FT 

100 

200 

200 

1000 

200 

200 

200 

200 

21:26 

37 : 03 

37: 06 

2:29:14 

37 : 00 

36:OO 

40:Ol 

34: 36 

3.60 

3.07 

3.06 

2.36 

3.11 

3.04 

3.34 

2.85 

29.25 

24.38 

24.27 

17.76 

25.06 

24.05 

26.67 

22.43 

17 , 531 

27 , 226 

28 , 011 

33 , 185 

27 , 273 

32 , 330 

29 , 043 

27 , 045 

No wind 

7 

Headwind 

Tailwind 

I 
for the 200-n. mi. trajectories are 

$0.01/n. mi. and 0.11 lb/n. mi. , respectively; they are equivalent to 

$1.08 and 23 lb of fuel. If the temperature is 15" C below the standard, 

cost and fuel reductions are $0.02/n.mi. 

and 0.12 lb/n. mi. , respectively. If 

the temperature is 20" C above the 

standard, the cost increases 

$0.05/n. mi., or 1.6%, and the fuel 

consumption increases 0.79 lb/n. mi., 

or 3.3%. If the aircraft is flying 

against the wind, the cost increases 

$0.28/n. mi., or 9%, and the fuel consumption increases 2.4 lb/n. mi. , or 

10%. If the aircraft is flying with the 

wind, the cost decreases $0.21/n. mi., 

or 6.9%, and the fuel consumption 

decreases 1.8 lb/n. mi., or 7.6%. 

Finally, consider the effect of 

the 250-KIAS limit at or below an altitude of 10,000 ft on fuel use and mission cost (not shown in the tabulated 

results). The increase in cost due to 

this limit is essentially independent 

of range but strongly dependent on 

50 

40 

W 

0 

X 

- 30 

uc 

W' 

5 20 

k 

a 

D 

3 

10 

0 

10 25 50 75 

WIND VELOCITY, knots 

Figure 15.- Wind profile. 

takeoff weight. At a takeoff weight of 180,000 Ib, the speed constraint 

results in the consumption of an additional 133 lb of fuel; the corresponding 

increase in cost is $18.02. At a takeoff weight of 150,000 lb, an additional 

66 lb of fuel are consumed and the cost increase is $9.77. 

CONCLUSIONS 

The approach presented here, which uses a structure of optimum trajectories suitable for airline operations, has yielded an efficient computer 

algorithm for calculating the trajectories. The algorithm can be incorporated 

into an airline flight planning system or can be used for determining the performance penalty of simplified onboard algorithm. The latter application is 

important at this time in view of the current effort by industry to develop 

onboard flight management systems. 

The computer implementation of the algorithm can be used for investigating the trade-off between cost and fuel consumption and to give insight into 

the characteristics of minimal-fuel and minimum-cost trajectories. It was 

found that minimal-fuel trajectories, compared with minimal-cost trajectories, 

have steeper climb angles, higher cruise altitudes, lower cruise speeds, and 

shallower descent angles. 

40 
Optimizing the climb and descent with respect to airspeed only while 

constraining the thrust to a maximum in climb and to idle in descent, resulted 

in only a slight increase in total fuel consumption and operating cost compared with optimizing the climb and descent with respect to both airspeed and 

thrust. The actual differences in performance are strongly dependent on the 

propulsion and aerodynamic models. If the differences can be verified to be 

negligible, as in the example calculation, the optimization need only be done 

with, respect to airspeed, thus reducing the computation time. That may be an 

important consideration in onboard implementation. 

Although the emphasis in this report has been an off-line, open-loop computation, eventually the most important application of the algorithm will be 

its use in an onboard flight management system. This approach would allow the 

optimum trajectory to be updated with in-flight measurements of temperature 

and winds, resulting in closed-loop optimality throughout the flight. 

Ames Research Center 

National Aeronautics and Space Administration 

Moffett Field, California 94035, January 2, 1980 

41 
APPENDIX 

COMPUTER PROGRAM AND ITS USE 

This appendix is addressed to users of this program. As a package, the 

program contains 1 main program, 39 subroutines (all of which are programmed 

in FORTRAN IV), and 3 sample input data sets. The program can be obtained 

from the centralized facility known as COSMIC, located at the Computer Software 

Management and Information Center, Barrow Hall, University of Georgia, Athens, 

Georgia, 30601. 

The FORTRAN programs, a cross-reference between calling program and subroutines, a cross-reference of labeled commons, the input data sets, the 

FORTRAN units for input/output, and a dictionary of all FORTRAN programs are 

inc lud ed. 

Computer Programs 

The computer programs may be conveniently divided into the main program 

and four groups of subroutines. The main program calls the appropriate subroutines to execute the main steps of the algorithm enumerated in figures 7 

and 8. According to their functions, the four groups are (I) trajectory synthesis and optimization subroutines, (2) aerodynamics and propulsion subroutines, (3) environmental condition subroutines, and (4) general and supporting 

subroutines. 

An alphabetical listing of all the subroutines, together with a one-phrase 

description of each, is shown in table 12. The most often used subroutines in 

each group will be considered. 

In the first group, the subroutines MINF and MINF2 are used for minimizing a specified function by Fibonacci search over some given interval. The 

independent variable is searched within 1/144 of the given interval when using 

MINF and within 1/55, when using MINF2, where 144 and 55 are the eleventh and 

eighth Fibonacci numbers, respectively. These two, together with other appropriate subroutines, are used for generating the requisite boundaries and 

extrema1 points. The subroutine MINF, together with FBOUND, is used for 

generating (1) the speed boundaries designated as Vmin,TD and V,,,,T~ in 

figures 4(b) and 4(c); and (2) with PILIMT for generating the lower EPR limit 

for climb optimization and the upper EPR limit for descent optimization. It 

is also used, together with FDRAG, for determining the minimum drag speed. 

Furthermore, it is used, together with FCLIMB and with FTHRST, for determining, respectively, the minimum cost with respect to V and that with respect 

to EPR setting for generating both the optimal climb and the optimal descent 

profile. It is used, together with FCOST, for generating the optimal cruise 

cost at a fixed altitude, i.e., for determining the value of X by minimizing 

the cruise cost over V, as shown in equation (12). Finally, the subroutines 

42 
MINF, MINF2, and FOPT are used for generating the optimal cruise cost X* for 

all altitudes, as shown in equation (21b). 

" 

~~ . 

Name 

MAINPROG 

AT62 

CDRAG 

CLIFT 

CPMEPR 

CRUTBL 

CRUZOP 

ENGEPR 

EPRlO 

FBOLJND 

FCLIMB 

FCLMB2 

FCOST 

FDRAG 

FOPT 

FTHRST 

FTJLEST 

ICLOCK 

JTRUNC 

LSQPOL 

MATINV 

MINF 

MINF2 

PCCOMP 

PILIMT 

POLY E 1

S ERCHD 

S ERCH 1 

TRIM1 

VALUE2 

UPDOWN 

VOPTRJ 

WATEST 

WIND 

WINDIN 

WLEFHV 

WRITE1 

XTRPL 1 

XTRPL2 

.- 

TABLE 12.- LIST OF PROGRAMS ." " 

Brief description " ~ -. . - Overall algorithm 

Compute atmospheric density, pressure, temperature, and speed of 

Compute drag coefficient 

Compute lift coefficient 

Read in engine data 

Read in cruise table 

Generate cruise table 

Compute thrust from engine data 

Auxiliary read/write program for CPMEPR 

Compute drag or Tmax - D 

Evaluate the cost function at constant EPR setting, for climb/descent 

Minimizes the cost function for climb/descent 

Evaluate cruise cost 

Compute drag 

Compute optimal cruise speed 

Evaluate cost function at constant speed 

Fuel estimation 

Change seconds into hours, minutes, seconds 

Truncate a unimodal series into a monotonically decreasing series 

Least-square polynomial fit 

Matrix inversion 

Minimize a function over a given interval 

Minimize a function over a given interval 

Compute %X over X* 

Compute minimum EPR setting for climb and maximum EPR setting for 

Evaluate a polynomial 

Search an element in a monotonically decreasing series 

Search an element in a monotonically increasing series 

Compute thrust, etc., to keep the aircraft inrim 

Extract a number from a two-dimensional array 

Generate the climb/descent profile 

Compute fuel, time, and distance for the overall trajectory 

Weight estimation 

Compute wind component along the wind axis 

Read in wind model and compute wind shear for all altitudes 

Compute X, etc., for given cruise weight 

Auxiliary writing subroutine for VOPTRJ 

Extrapolate a point outside the lower end of a table 

Extrapolate a point outside the upper-end of a table 

" - ~~ -. 

sound 

descent 

Data Sets 

INP. TRJ Optimal trajectory specification 

INP .WIND Wind profile 

1NP.ENGINE Engine data 

43 
In the same group, the subroutine CRUZOP is used for generating the 

cruise table (see table 3) and CRUTBL, for reading in the cruise table, if it 

is available. The subroutine FCLMB2 is used for generating the optimal cost 

for climb-descent trajectory optimization, at some fixed energy level. The 

subroutine UPDOWN is called to generate either the climb or descent profile, 

as specified in the calling program. The subroutine VOPTRJ is used to compute 

the fuel used, the distance traversed, and the time duration for the climb, 

cruise, descent, and the overall trajectory. The subroutine FULEST is called 

for estimating the climb or descent fuel, as specified in the calling program. 

The subroutine WATEST is used to estimate the landing weight. The subroutine 

WLEFHV is used to provide a mapping between X, as a function of cruise weight 

and of %A, and the corresponding cruise-energy height, fuel-flow rate, altitude, and ground speed. Finally, the subroutine PCCOMP is used to estimate 

the %X to achieve a given range R. 

In the second group, the subroutine CLIFT is used for computing the lift 

coefficient as a function of Mach number, altitude, and angle of attack. The 

coefficients of polynomial-fitted curves for determining the lift coefficient 

are stored in the arrays CL216, CL217, CL218, CL219, CL17, and CL18 in the 

subroutine. The subroutine CDRAG is used for computing the drag coefficient 

as a function of Mach number and lift coefficient. The coefficients of polynomial fitted curves for determining the drag coefficient are stored in the 

arrays CD223, CD224, CD10, and CDll in the subroutine. The subroutine ENGEPR 

is used for computing the thrust and fuel flow as functions of altitude, Mach 

number, temperature variation from standard atmospheric condition, and EPR 

setting. The thrust is computed from tabulated engine data. The fuel-flow 

rate is computed from one of two alternatives, depending on the user's choice. 

The first is obtained from evaluating polynomials, the coefficients of which 

were obtained by fitting a set of curves supplied by the engine manufacturer, 

Pratt and Whitney. These coefficients are stored in the array WF in the ENGEPR 

subroutine. The fuel-flow rate thus obtained is a function of EPR setting, 

altitude, and Mach number, corrected for temperature and pressure. The second 

alternative, which requires considerably more data storage than the first, is 

to compute the fuel-flow rate from tabulated TSFC (thrust specific fuel consumption) data. The fuel-flow rate is a product of thrust and TSFC, corrected 

for temperature. The tabulated TSFC data are functions of thrust, Mach number, 

and altitude. The fuel-flow rate thus obtained takes into consideration average bleed losses. Therefore, this method generally gives fuel-flow rates that 

are 2% - 4% higher than those determined by the first method. This subroutine 

has three satellite subroutines (functions), namely, VALUE2, XTRRPL1, and 

XTRPL2. The first is used for interpolating-extrapolating a point in a twodimensional array, the second and third for extrapolating, respectively, a 

point beyond the smallest element and the largest element in the array. The 

subroutine CPMEPR is used for reading in the tabulated engine data, from the 

data set labeled 1NP.ENGINE. The subroutine TRIM1 is used for determining the 

thrust for maintaining constant speed and level flight. 

In this package, the data set 1NP.ENGINE and the coefficients for determining the fuel-flow rate stored in the subroutine ENGEPR are for the PrattWhitney JT8D-7 engines. Also, the aerodynamic model, stored permanently as 

data in the CLIFT and CDRAG subroutines, is for the Boeing 727-100 aircraft. 

If other aircraft were used, these coefficients and the data set 1NP.ENGINE 

44 
would have to be replaced to reflect the aircraft and engines under 

consideration. 

In the third group, the subroutine AT62 is used for generating the atmospheric density, pressure, temperature, and speed of sound each as a function 

of altitude. The values of these four quantities for some fixed altitude is 

given in a Boeing handbook (ref. 7). The subroutine WINDIN is used for reading the wind profile, shown in figure 15, from the data set 1NP.WIND. It is 

also used for computing the wind shear from the profile just read in. The 

subroutine WIND is used for computing the component of wind and also the component of wind shear projected along the principal axis of the aircraft. 

If any other wind model were used, the subroutine WINDIN would have to be 

replaced to reflect the change. 

In the fourth group, the subroutines include SERCH1, SERCHD, JTRUNC, 

LSQPOL, POLYE1, MATINV, ICLOCK, and WRITE1. A brief explanation of their use 

is shown in table 12; a detailed explanation is given in the dictionary at the 

end of this appendix. 

CROSS-REFERENCES 

Table 13 provides a cross-reference between calling programs and the subroutines being called. Each row lists the subroutines called by the appropriate calling subroutine. For example, FOPT calls the subroutines AT62, CDRAG, 

ENGEPR, FBOUND, FCOST, MINF, and WIND. Each column lists all the calling programs for the appropriate subroutine. For example, ENGEPR is called by the 

CRUZOP, FBOUND, FCLIMB, FDRAG, FOPT, FTHRST, PILIMT, and TRIM1 subroutines. 

Table 14 provides a cross-reference between the labeled commons and subroutines in which these commons are used. Each row lists all the labeled 

commons used by the appropriate subroutine, and each column lists all the subroutines in which the appropriate labeled common is used. Within the appropriate subroutine, these commons are declared in alphabetical order. 

INPUTS 

Inputs to this program consist of (1) specification of desired trajectory, 

(2) wind profile, and (3) engine data. 

Inputs for trajectory specification are shown in table 15. The input 

consists of five cards if the cruise table is not available and three cards if 

it is available. Card 1 contains logical values specifying whether the cruise 

table is available; the mode of optimization, either constrained thrust or 

free thrust; whether the wind profile is to be used; whether the fuel-flow 

rate or alternative should be obtained from the Pratt-Whitney curve-fitted 

data or from data source; whether the trajectory is restricted to a maximum 

speed of 250 KIAS at or below an altitude of 10,000 ft, or is unrestricted; 

45 
TABLE 13.- CROSS REFERENCE OF SUBROUTINES AND CALLING PROGRAMS 

" 

xxx x xx 

X% X% 

X xx 

%X X 

. - " ...... - .......... - .. - - . "" 

X X 

X 

F'TbkSt .. "_ .... - 

FliLtSi ..... 

x 

xxx X 

X 

x .... - ... 

x " " . . .- 

X 

X . - . 

xx 

VOPTRJ X X X xx 

X 

... %X ..... - .. " ... 

X 

I NO . ......... ................ , ... I ...... I ... "_ X .... __ "" - ....... ."-"l 

wLEFHV x X X 

I dR1TEl x 
TABLE 14.- CROSS mFERENCE OF LABELLED COMMONS AND SUBROUTINES 

USING THESE COMMONS 

LABELLED COMMON 

BBBCCCCDEEEIIIORTTVVWW 

lOWLORRRNNPFIOPIRTTUII 

CALLING EIISUUAEGSLI TTRRPNN 

PROGRAM INMTRZGRIIA EMCDDD 

NDB N MGNLP ZMRWTY 

G G NY N lUND 

MAINPROG 

CDRAG 

CLI FT 

CPMEPR 

CRUTBL 

CRUZOP 

ENGEPR 

FBOUND 

FCLIMB 

FCLMBZ 

FCOST 

FDRAG 

FOPT 

FTHRST 

FULEST 

PILIMT 

TRI M1 

UPDOWN 

VOPTRJ 

WATEST 

WIND 

WINDIN 

W I NMOD 

WLEFHV 

xxx xx x xxx X X 

X 

X X 

X 

X X X X 

xx xx xxx X X 

X X 

x xx xxx X X 

xxxxxx x xxx X 

X X X 

xx xx X 

X X xx X 

xx xxx X X 

X X 

xx xx x xx

xx X xx x 

X xx 

X X X 

X 

X X xxx xxx 

X 

X 

xx 

X X X X X 

47 
TABLE 15.- INPUTS FOR SPECIFYING THE DESIRED TRAJECTORY 

Card Symbol 

1 ITAB 

IPRINT 

IOPARM 

IWIND 

MFGR 

IBTALB 

I SPLMT 

Explanation Format Calling 

program 

Availability of cruise table 2014 Mainprog 

= 0 cruise table is not available and must 

be generated 

# 0 cruise table is available and will be 

read in 

Trial-descent profile output 

= 0 print rial-descent profile 

# 0 do not print trail-descent profile 

Optimization mode 

= 0 optimizing over speed only or constrained thrust mode 

# 0 optimizing over both speed and thrust, 

or free thrust mode 

Effect of wind 

= 0 generate the cruise table and/or synthesize the trajectory without taking wind 

into consideration 

# 0 use the supplied wind profile to generate the cruise table and/or synthesize 

the trajectory 

Source of fuel-flow-rate data 

1 use the Pratt-Whitney curve fitted data 

to determine fuel-flow rate 

2 use the typical tabulated data to determine the fuel-flow rate 

= 0 do not print the tabulated engine data 

# 0 print he tabulated engine data 

= 0 no ATC restriction on speed 

# 0 speed is limited to 250 KIAS at or below 

10,000 ft altitude 

42 
TABLE 15.- CONCLUDED 

. ~ .~ ~~____ 

Card Symbol 

- - . . . " . . " . . . . .~ - 

Explanation Format Calling 

program . ". - " 

2 FC Fuel cost in $/lb 8F10.2 CRUZOP 

TC Time cost in $/hour 

DTEMPK Temperature variation from standard atmospheric temperature, deg K (or C) 

PSIA Aircraft heading in degrees, heading north 

as 0" 

this input is ignored in the absence of wind 

3w Heaviest cruise weight to be used for generat- 8F10.2 CRUZOP 

ing the cruise table, lb 

WN Lightest cruise weight to be used for generatDEW Decremental weight, lb, i.e., W will be used 

ing the cruise table, lb 

to generate the first page of the table, then 

W - DEW for the second page, etc., until WN 

is reached 

4w Aircraft takeoff weight, lb 8F10.2 CRUTBL 

RANGE Desired range of the trajectory to be synthesized, nm 

5 HTO Initial altitude (or takeoff altitude), ft 8F10.2 CRUTBL 

VTO Initial speed (or takeoff speed), KIAS 

HOLNDG Final altitude (or landing altitude), ft 

VOLNDG Final speed (or landing speed), KIAS 

49 
and other printing (computer output) options. Card 2 contains the numerical 

value for fuel cost in dollars per pound, time cost in dollars per hour, ternperature variation from standard atmospheric condition in degrees Celsius, and 

aircraft heading in degrees from north. Card 3 specifies the heaviest cruise 

weight, the lightest cruise weight, and incremental weight to be used for 

generating the cruise table. Card 4 contains the value for the takeoff weight 

in pounds and the range of the trajectory in nautical miles. Finally, card 5 

contains the value for the takeoff altitude in feet, takeoff speed in KIAS, 

landing altitude in feet, and landing speed in KIAS. Cards 2 and 3 contain 

input for generating the cruise table. Therefore, if the cruise table is not 

available, all five cards are required for transmitting the required quantities for synthesizing the trajectory. If the cruise table is available, only 

cards 1, 4, and 5 are required. 

These quantities are transmitted to the program by the FORTRAN statement. 

RFAD(5, frnt) Sly S2 . . . where fmt is the appropriate format listed in 

column (4) (in the table) and Sly S2 . . . are the symbols listed in column (2). The program containing this READ(5, fmt) . . . statement is listed 

in column (5). 

A typical data set containing all five cards is included in the package 

under the label of INP.TRJ. 

Wind Input 

The wind model is shown in figure 15. Input data for this profile consists of 24 sets of numbers, each set of which represents one point in the 

curve. Within each set there are two numbers: the first number is the value 

of the wind heading $w and the second is the wind velocity Vw. The whole 

profile is packed into two cards, with 13 sets of numbers in the first and 

11 in the second, as shown in table 16. The altitude is implied by the position of the set. The first set of numbers is for 0 altitude, the second set 

for 2,000 ft, and the last set for 48,000 ft, incremented in at 2,000-ft 

intervals. 

TABLE 16.- INPUT CARDS FOR WIND PROFILE DATA SET 1NP.WIND 

100 133 167 200 233 267 300 333 367 400 433 467 500 

533 567 600 633 667 700 654 609 563 518 473 

%ENDDS 

The input format is 13(F2.0, lx, f3.1), where $w is in tens of degrees 

and Vw in knots. For example, the second set of numbers in the first card 

is "-133, which stands for 0" heading and 13.3 knots at an altitude of 

2,000 ft, (where - is for blank space). That is, the first two blank spaces 

are for zero by default and $J~ = 0O.X 10 = O", and since it is the second 

set, the altitude is 2,000 ft. A 0" wind heading stands for wind coming from 

the north. 

50 
This set of data is transmitted to the program by the FORTRAN statement 

READ(7, fmt) (PSIW(1) , VW(1) , I=l, 24). The subroutine containing this statement is WINDIN. 

Engine Data and Mach-Corrected Drag Data Input 

The tabulated data in the data set 1NP.ENGINE include (1) idle thrust (in 

pounds) as a function of altitude (in feet) and Mach number; (2) its corresponding fuel-flow rate in pounds per hour; (3) maximum continuous EPR as a 

function of both total air temperature, TAT ("C), and altitude; (4) corrected 

thrust (thrust:pressure ratio) as a function of EPR setting and Mach number; 

(5) effect of Mach number on drag, as a function of CL; and (6) fuel-flow 

rate as a function of thrust, Mach number, and altitude. 

These data are transmitted to the program by the FORTRAN statement 

READ(9, fmt) .... the subroutine containing this statement is EPRIO and the 

subroutine that calls EPRIO repeatedly to read in all the engine data is 

CPMEPR. 

FORTRAN Unit for Input/Output 

The input/output unit for this program is shown in table 17. The first 

column is the unit for transmitting the appropriate quantity, i.e., 

READ(N, fmt) if it is an input and WRITE(N, fmt) if it is an output, where N 

is the appropriate unit number. The second and third columns specify whether 

it is an input or an output, or both, and the last column specifies the quantities being transmitted. Units 5, 7, and 9 have already been explained as 

inputs. Unit 6 is for writing outputs shown in tables 3 through 9 and other 

output quantities. The subroutine containing the WRITE(6, frnt) ... statement 

for generating table 3 is CRUZOP; table 4, CRUZOP or CRUTBL; tables 5 and 6, 

CRUTBL; tables 7 and 8, UPDOWN; and for generating table 9, VOPTRJ. Unit 8 

can be used for either writing the cruise table if it is being generated or 

for reading in the cruise table if it is available. The subroutines containing the WRITE(8) and READ(8) statements are, respectively, CRUZOP and CRUTBL. 

The input and output for this unit are unformatted. 

TABLE 17.- INPUT/OUTPUT UNIT FOR COMPUTER PROGRAM 

Unit 

5 

6 

7 

8 

9 - ~- 

Input 

X 

X 

X 

X 

-. -___ 

output 

X 

X 

- .. 

Comment 

Trajectory specification 

Computer outputs, see tables 3 through 9 

Wind input 

Cruise table 

Engine data 

51 
DICTIONARY ENTRY OF SUBROUTINES 

The remainder of this appendix contains dictionary entry for all FORTRAN 

programs listed in table 12. Each entry usually consists of (1) a functional 

description of the subroutine, (2) equations used in deriving certain quantities as appropriate, (3) input and output, as appropriate, and (4) an explanation of symbols frequently used in the subroutine. 

Symbols containing a string of capital letters are always FORTRAN symbols. 

A single capital letter without any subscript is a FORTRAN symbol unless otherwise defined in the text, in the symbol table, or in the subroutine under 

discussion. 

MAINPROG 

This program calls the appropriate subroutines for synthesizing a fixedrange, optimal trajectory, as outlined in the flowcharts shown in figures 7 

and 8. The major steps are: 

1. Call CPMEPR for reading in the tabulated engine data. 

2. Read in card 1 , in table 15. 

3. If ITAB = 0, the cruise table is not available, therefore call CRUZOP 

for generating the cruise table; if ITAB # 0, the cruise table is available, 

so proceed. 

4. Call CRUTBL for reading in the cruise table if it is available; skip 

this part if it is being generated in step (3) and then read in card 4, which 

contains the value of takeoff weight and range. Use these values to estimate 

the cruise weight Wc and compute its corresponding optimal cruise cost A*, 

optimal cruise energy, E", etc. 

5. Compute the maximum value of for generating the shortest range 

trajectory. It is the least of 50%, or the values of %x corresponding to 

10,000-ft cruise altitude for the two cruise weights closest to Wc, as contained in the cruise table. 

6. Compute the cruise weight WCRUZ, which is specified by %x (determined in the last step). It is computed by subtracting the climb fuel from 

the takeoff weight. This climb fuel is estimated by calling the subroutine 

FULEST. 

7. Call UPDOWN with ICLIMB set equal to 1 to generate the climb profile. 

8. Call WATEST (weight estimate) to estimate the landing weight and the 

cruise weight at the beginning of descent. 

9. Call UPDOWN with ICLIMB set equal to 2 to generate the trial descent 

trajectory. 

52 
10. Call VOPTRJ to generate the trial overall trajectory. At this stage, 

the descent and the landing weight are completely known. 

11. Call UPDOWN with ICLIMB still set equal to 2 to generate the final 

descent profile. 

12. Call VOPTRJ to generate the final overall trajectory. 

13. Call PCCOMP to test the range of the synthesized trajectory against 

the desired range. If it is not within the preselected distance error, compute the new %x and go to step (6). If so, the required trajectory has been 

synthesized. 

ICLIMB if = 1, generate climb profile 

if = 2, generate descent profile 

ISPLIZ if 0, trajectory contains a cruise segment at optimal cruise altitude. 

This is the flag for adding in a cruise segment for the climbdescent type of trajectory. 

if not 0, trajectory is not of the climb-cruise-descent type 

RANGE desired range 

TDIST ground-track distance of synthesized trajectory 

WCRUZ in statement 81, cruise weight as a function of range; in statements 190 and 191 + (l), initial cruise weight or cruise weight at 

the end of climb; in statements 350 - (1) and 211, final cruise 

weight, or the weight at the beginning of descent 

WCRUZF final cruise weight 

WLNDG landing weight 

AT62 

This subroutine generates the atmospheric density (in lb sec2/ft4) atmospheric pressure (in lb/ft2) , atmospheric temperature (in OK) and speed of 

sound (in ft/sec) at a given altitude H (in ft). These four outputs are 

stored in ANS(l), ANS(2), ANS(31, and ANS(4), respectively. 

53 
CDUG (MACH, CL, GEAR, DF, CD) 

This subroutine computes the drag coefficient CD given a Mach number 

MACH, lift coefficient CL, flap angle DF, and landing gear position (up or 

down). The drag coefficient consists of two terms, CD(basic) and CD(gear), 

both of which are functions of CL, DF, and MACH. The values of both are stored 

as coefficients of polynomials, which are obtained by curve-fitting the app

priate data from the Boeing Handbook (ref. 7). The coefficients for CD(basic) 

are stored in the arrays CD223 and CD224, and for CD(gear) in the arrays CDlO 

and CDll . 

Symbols 

GEAR if 0, gears up 

if not 0, gears down 

DF flap angle, deg 

CLIFT 

This subroutine computes the lift coefficient CL for given Mach number 

MACH, altitude H, angle of attack ALPHAP, flap deflection DF, and gear position GEAR. The lift coefficient consists of four terms. 

CL = CL (basic) + CLo + CL,a + CLgear 

The first term is the basic lift coefficient; it is expressed as a polynomial 

in a for different flap angles, namely, 0", 2", 5", 15", 25", 30" and 40". 

Each of these polynomials was obtained by fitting the appropriate curve, one 

per a specific value of flap angle. The coefficients of these polynomials are 

stored in the array CL216. The value of this term is checked against the 

buffet boundary function, a polynomial in Mach number, the coefficients of 

which are stored in array CL217. 

The second term is the deviation from the basic airplane lift coefficien

at ct = 0 due to Mach number and altitude. It is expressed as the difference 

between CLo at the appropriate Mach number and at zero Mach number. The 

former is expressed as a polynomial in Mach number with altitude as parameter, 

namely at altitudes of 0, 20,000, and 40,000 ft. The coefficients of the 

polynomials are stored in the array CL218. CLo at MACH = 0 has a value of 

0.0175 and this value is subtracted from CLo at the Mach number of interest 

to obtain the required CLo correction term. 

The third term corrects the basic lift coefficient for variations (due to 

Mach number and altitude) in the lift curve slope at ct = 0. It is expressed 

as the difference between the partial derivative of CL with respect to ct 

at the appropriate Mach number and at zero Mach number. The former is 

expressed as a polynomial in Mach number with altitude as parameter. Its 

coefficients are stored in the array CL219. At MACH = 0, CL, has a value of 

54 
0.088, which is subtracted from CL, evaluated at the current value of MACH 

to obtain the required CL, correction term. 

The fourth term is the increment of lift coefficient due to deployment of 

the main and nose gears, expressed as a function of a, flap setting, and 

Mach number. If the gears are up, it is zero. If the flaps are down, its 

value is computed from the polynomial in a with flap-angle deflection as a 

parameter. The coefficients of the polynomial are stored in the array CL17. 

If the flaps are up, then it is a function of Mach number. It has a value of 

0.02 if the Mach number is less than or equal to 0.4. If the Mach number is 

greater than 0.4, then CLgear is computed from a polynomial in Mach number. 

The coefficients of the polynomial are stored in the array CL18. 

CPMEPR 

This subroutine reads in the tabulated engine data from the data set 

1NP.ENGINE. The data include: 

1. Idle thrust and idle fuel flow each as a function of both altitude 

and Mach number, Table 18Q001. 

2. Maximum continuous EPR as a function of temperature and altitude, 

Table 24501 1. 

3. Thrust vs EPR as a function of Mach number, Table 184001. 

4. Mach number effect on drag, that is CD as a function of CL and 

Mach number, Table 24B003. 

5. Weighted average TSFC (thrust specific fuel consumption) as a function 

of altitude, thrust, and Mach number, Table 27273A. 

CRUTBL 

This subroutine (1) reads in the cruise table if it is available; 

(2) prints out the table of dX/dE coefficients (table 6) after both tables 

are read in from unit (8); (3) reads in the takeoff weight W and the desired 

range R from unit (5); (4) prints out the table of optimal cruise energy, 

speed and altitude vs weight (table 4), and generates and prints out the table 

of cruise quantities as a function of cruise distance (table 5). 

Svmbols 

EOPT , EOPTS ( . ) optimal cruise energy 

EPRTAR, PISTRS(.) the corresponding EPR setting 

FUELDT, FUELFL(.) the corresponding fuel-flow rate 

HSTAR, HSTARS(.) the corresponding optimal cruise altitude 

55 
LAMBDA, LAMBS(.) the corresponding minimal cruise cost 

MSTAR, MSTARS(.) the corresponding Mach number 

CRUZOP 

This subroutine reads in card 2 and card 3 (see table 15) and then generates the cruise table (see table 3). 

The table consists of pages, each for a specific cruise weight. Each page 

includes the optimal cruise altitude, speed, minimal cruise cost, the corresponding EPR setting, and the optimum cruise energy. There are two sets of 

these quantities for the specified cruise weight. The first set is obtained 

from minimizing equation (21) oyer both altitude and speed and the second from 

minimizing the fuel-flow rate f over 30th altitude and speed. 

Each row in the table is for a specified altitude. For each altitude, 

two sets of these quantities were also obtained, one From minimizing equation (12) over speed and the second from minimizing f over speed. 

A page of the cruise table is generated with the following steps: 

1. For some given altitude h: 

a. Determine the minimum drag speed vd (see fig. 4). 

b. Compute the maximum thrust Tmax available for this speed and 

altitude. 

c. If Tmax is greater than D at Vd proceed; otherwise, the 

ceiling has already been reached and proceed to (2). 

d. Compute the lower and upper permissible speeds Vmin,n> and 

Vmax,n>, where the maximum thrust curve intersects the drag curve. 

e. Minimize equation (12) over V. 

f. Minimize f over V. 

2. Minimize equation (21b) over both h and V. 

3. Minimize over both h and V. 

Svmbols 

DEW, DTEMPK, see cards 2 and 3, table 15 

FC, PSIA, TC, 

w, WN 

A speed of sound, ftlsec 

56 
E, DE 

FA, FB 

H, DEH 

P 

RATIO 

TEMPK 

ICOST 

FDTOPT ( 1 ) , MOPTAS ( 1 ) , OPTALT ( 1 ) 

MNCOST (1 ) 

FDTOPT (2) , MOPTAS (2) , OPTALT (2 ) 

MNCOST(2) 

EOPTS (. ) 

EPRSTR ( . ) , FUELFL ( . ) , HSTARS (. ) 

MSTRS (. ) 

LAMBS(.) Y 

EECRUZ ( . , . ) , FFCRUZ (. , . ) , LLCRUZ (. , . ) 

HHCRUZ ( . , . ) 

WS(.), WSS(.) 

energy height, in ft, and incremental energy 

lower and upper speed limits Vmin,m and VmXyTD (see fig. 4) 

altitude, and incremental altitude, ft 

atmospheric pressure, lb/f t 

pressure ratio P/Po, where Po is the atmospheric pressure 

at sea level and P is the static pressure at a given 

altitude 

atmospheric temperature, K 

if = 1, the cruise cost is obtained by minimizing equation (12) 

if = 2, the cruise cost is obtained by minimizing 2 

minimal cost, its corresponding speed and altitude obtained by 

minimizing equation (12) over both V and H 

minimal cost obtained by minimizing over equation (12) for 

some fixed altitude 

minimal cost, its corresponding speed and altitude obtained by 

minimizing f over both V and h 

minimal cost obtained by minimizing I. for some fixed altitude 

see AT62 

see symbol in CRUTBL 

the energy height, fuel-flow rate, and cruise cost corresponding to HHCRUZ(.,.) 

altitude as row index for given cruise weight 

cruise weight, lb 

57 

I 
ENGEPR 

This subroutine generates the thrust THRST and the fuel-flow rate ?DOT 

for some given altitude H, Mach number MAKNO, and EPR setting EPRX. The 

fuel-flow rate is obtained from evaluating polynomials if MFGR is set 

equal to 1 and from tabulated TSFC 2.4 

data if it is set equal to 2. 

- MAXIMUM CONTINUOUS EPR 

The maximum continuous EPR is 

primarily a function of total air 

temperature Ta and a weak function 

of altitude. Figure 16 shows this 

relationship for the JT8D-7A engine. n 

A detailed discussion of these engine 

characteristics can be found in the 

operations instruction (ref. 8). 

ce 

- 

IJJ 1.4 - 

First, EPRMX, the maximum con1.2 I I I I I I I I I 

-60 -40 -20 0 20 40 60 80 100 

tinuous EPR is obtained from the TOTAL AIR TEMPERATURE, "C 

table. Total air temperature is 

obtained from the relation, Figure 16.- Maximum continuous EPR. 

Ta=TF+F (MAKN0)I- 273.15 ("C) 

where T is the ambient emperature and y = 1.4 is the ratio of specific 

heats. Next, the EPR setting is limited to EPRX 5 EPRMX - 0.1 for cruise, 

5 EPRMX for climb or descent. Second, the value of Fn/6, which is a. function 

of EPR setting EPRX and Mach number MAKNO, is obtained from the table. With 

known Fn/b, value of thrust, THRST, is obtained from the relation, 

THRST = 3(6) (Fn/6) 

where the pressure ratio 6 is defined as 

and where P is the atmospheric pressure corresponding to altitude H, and 

Po is the atmospheric pressure at sea level. A factor of 3 is used since 

there are three engines. 

Finally, if MFGR is set equal to 

the relations, 

FDOT = 3 * WFC 

KC = 0.002231 

1, the fuel-flow rate is computed from 

*;*KC 

81 Ta + 0.9675897 

58 
where WFC is the uncorrected fuel-flow rate, which is a function of EPR setting, altitude, and Mach number. It is obtained by evaluating a polynomial of 

EPG, the coefficients of which depend on both altitude 

If MFGR is set equal to 2, then the fuel-flow rate 

the relations, 

and Mach number. 

FDOT is obtained from 

FDOT = TSFC * THRST * 6 

e = T/T, 

where To is the temperature at sea level in degrees Kelvin. The thrust 

specific fuel consumption TSFC is a function of thrust (uncorrected for pressure ratio), Mach number, and altitude. It is obtained from tabulated data, 

stored in a three-dimensional array. 

EPRIO 

This subroutine reads in titles, one-dimensional array(s), and twodimensional arrays, as specified by the values of KPRINT and LPRINT. It also 

prints out what was read-in if the value of IRPINT is other than zero. This 

is a satellite subroutine for CPMEPR. It is used for reading in and, if so 

desired, writing out the data set 1NP.ENGINE. 

FUNCTION FBOUND (MACH) 

This function evaluates the drag force D in pounds if IDRAG is set 

equal to 1, and the difference between maximum thrust (TMAX) and drag if IDRAG 

is equal to 2. If this difference is negative, that is, if drag exceeds 

thrust, then a value of lo6 times the absolute value of this difference is 

returned to the calling program. 

It first computes the lift coefficient CL by equating lift equal to 

weight, then determines the drag coefficient CD from known CL, and finally 

computes the drag force (see FCLIMB). To determine the maximum thrust, it 

calls the subroutine ENGEPR, setting EPR equal to its maximum value, EPRMAX. 

Both D and TMAX are functions of Mach number and altitude H. The value 

of Mach number MACH and other quantities are passed through the argument of 

the function through the labeled common DRAGMN. Quantities passed through 

include the speed of sound A, and the pressure ratio RHO. 

59 
FCLIMB 

This subroutine evaluates equation (11) for some given speed VTAS, energy 

E, and EPR setting EPRSET in normal operation or at idle-thrust setting if so 

specified. The denominator of equation (11) is the energy rate EDOT, obtained 

from evaluating equation (5). 

The value of thrust in the EDOT equation and fuel-flow rate FF in the cost 

function are obtained by calling ENGEPR, or if idle thrust is specified, by 

extracting the appropriate value from the idle-thrust and idle-fuel arrays, 

FNIDL(.) and WFIDL(.), respectively. The thrust and fuel-flow rate are functions of altitude, Mach number, and, in the case of thrust, of EPR setting. 

Altitude and Mach number are computed from the relations, 

(VTAS ) H=E2g 

VTAS MACH = - A 

where g is the acceleration of gravity and A is the speed of sound. The 

value of EPR setting is passed to this subroutine from the labeled common 

DRAGMN. The drag force D in the EDOT equation is obtained from the 

relations, 

D = 2 1 (RHO) (VTAS)2CD(MACH,CL) CD = CD(MACH,CL) 'L - 1 /2 (RHO) W S (VTAS) ' 

where the drag coefficient CD is obtained by calling the subroutine CDRAG. 

The values of altitude dependent quantities, A, RHO, and TEMPK are obtained by 

calling the subroutine AT62 with the known value of H as input. Atmospheric 

temperature TEMPK is used in both the ENGEPR subroutine and in the VALUE2 

function. 

Symbols 

FNIDL idle thrust 

RHO atmospheric pressure corrected for temperature 

S wing reference area 

WFIDL idle fuel-flow rate 

FCLMB2 

This subroutine minimizes the cost function (see eq. (11)) over speed or 

over both speed and thrust as specified. 

First, the range of permissible speeds is determined. The lower and 

upper bounds of the speed range are derived from (1) thrust-drag consideration, (2) operational restraint, (3) structural limits, (4) ATC restriction, 

and (5) altitude ceiling, as discussed in the climb and descent optimization 

section. 

60 
Second, the permissible range of EPR settings for some fixed speed is 

also obtained. In the climb-profile optimization, it starts at the EPR value 

for which T = D, and ends at EPRMAX; in descent it ranges from 1.1 to EPR at 

T = D. Finally, the subroutine proceeds to determine the minimal value of the 

cost function. In the constrained-thrust case, it calls the function MINF to 

search for the minimum over the appropriate range with the value of EPR set to 

EPRMAX for climb and to idle EPR for descent. The cost function is evaluated 

by the subroutine FCLIMB. 

In the free-thrust case, MINF is also used to determine the minimum of 

the cost function, searching first over the appropriate speed range, and then 

over the admissible range of EPR settings. The value of the free-thrust cost 

function is evaluated by the subroutine FTHRST. The value obtained from minimizing over speed is stored in COSTV; the value obtained from minimizing over 

thrust is stored in COSTPI. This process continues until the difference 

between the two is within EPSIL1, a small number. Since the minimum obtained 

becomes smaller in each successive search (as discussed in the section on 

climb/descent optimization), convergence is guaranteed. In the descent case, 

this cost is compared with that obtained from minimizing over the appropriate 

speed range at idle thrust. Then, the smaller of the two costs is selected as 

the minimum. The index IOPT is set equal to 1 for constrained thrust, to 2 

for free thrust, and to 3 if both free thrust and a higher accuracy of speed 

and EPR setting are specified. In the third option, the speed accuracy is 

within 20/144 ft/sec and the EPR accuracy is within 0.02/144, where 20 is the 

speed range and 144 is the eleventh Fibonacci number. 

FCOST 

This subroutine evaluates equation (12) if ICOST is set equal to 1 and 

evaluates the fuel-flow rate FUEL if ICOST is set equal to 2, for some given 

Mach number MACH and altitude H. Cruise cost is expressed in pounds per nautical mile, and the fuel-flow rate is in pounds per hour. The fuel-flow rate 

is derived from keeping the aircraft in constant speed level flight at the 

given Mach number and altitude. It is computed in the subroutine TRIM1. 

FDRAG 

This subroutine computes the drag force D if IDRAG = 1 and the absolute value of T - D if IDRAG # 1, for some given true airspeed VTAS and 

energy E. In the latter case, if T is less than D, then a value of lo6 

times the absolute value of T - D is returned. 

The drag force is computed by equations discussed in the subroutine 

FCLIMB. The value of thrust T is computed in the subroutine ENGEPR, for 

known altitude, Mach number, and EPR setting. 

The altitude and Mach number were computed from equations in FCLIMB, for 

known speed VTAS and energy E. The value of EPR setting is communicated to 

the subroutine from labeled common COST. 

61 
FOPT 

This subroutine determines the minimum cruise cost and its corresponding 

cruise speed for some given altitude ALT. If ICOST = 1, equation (12) is 

used to evaluate the cost and if ICOST = 2, the fuel-flow rate FCOT is used. 

In the first principal step, the given altitude is checked to ascertain 

whether it is below the operational ceiling, that is, if the thrust at maximum 

EPR setting is less than drag at the minimum drag speed. This is done in 

three substeps, the first of which is to compute the minimum drag speed by 

using FBOUND to evaluate the drag force D (i.e., with IDRAG set equal to 1) 

and by calling the subroutine MINF to search for the minimum value of drag 

over the Mach number range from 0 to 0.9. This value is stored in MINDRG and 

its corresponding speed in MACH. Next, compute TMAX, the value of thrust for 

the given altitude, known MACH and with EPR set equal to EPRMAX, by calling 

the subroutine ENGEPR. In the final substep, compare TMAX with MINDRG to 

ascertain if the former is greater than the latter. If so, continue; otherwise, exit the program. 

After the altitude is checked, the lower and upper speed boundaries FA 

and FB are computed to define the valid speed range, where FA and FB are 

expressed as Mach numbers. The lower speed boundary is computed by determining the point between 0.1 Mach number and the minimum drag speed MINDRG at 

which TMAX equals D (see fig. 4(a)). Since TMAX and D are speed-dependent, 

they must be evaluated at different speeds. Specifically, FA is determined 

by calling the function FBOUND to evaluate the absolute value of TMAX - D 

(i.e., IDRAG = 2). The speed at which this quantity becomes zero is searched 

out by the subroutine MINF. The upper speed boundary, which lies between 

MINDRG and 0.9 Mach number, is computed in a similar fashion. 

Finally, the subroutine FCOST is called to evaluate the cruise cost, and 

the minimum of all costs is searched out by the subroutine MINF over the valid 

speed range. The value of the appropriate minimum cruise cost is stored as 

the value of the function and the corresponding optimal cruise speed (for 

given altitude ALT) is stored in the array MACHOP(.). Specifically, the optimal cruise speed for minimizing equation (12) is stored in MACHOP(l), and for 

minimizing FDOT , in MACHOP (2 ) . 

FTHRST 

This subroutine evaluates equation (11) for some given EPR setting EPR, 

Mach number M-LICH, true airspeed VTAS, altitude H, drag D, and weight W. 

The values of thrust T and fuel-flow rate FF are obtained by calling the 

subroutine ENGEPR. 

It is a companion subroutine of FCLIMB. The value of EPR is the argument, 

and MACH, VTAS, H, D, and W are passed to the subroutine by the labeled commons CLIMB, ENERGY, DRAGMN, CLIMB, and COST, respectively. 

62 
FULEST 

This subroutine estimates the initial cruise weight from known takeoff 

weight, initial energy, fuel cost, and time cost. The cruise weight is the 

difference between the takeoff weight and the climb fuel. The climb fuel is 

estimated from the following known quantities by an iterative process discussed 

in the section on weight estimation. It is estimated from the relation, 

where 

Ec, Ei the cruise nergy and initial energy 

Kl 0.1079 for constrained thrust and 0.1130 for fee thrust 

K2 

Tc, *c 

'to, 'ref 

4.6849E-6 for constrained thrust and 6.14633-6 for free thrust 

time cost and fuel cost 

takeoff weight and some reference takeoff weight from which the 

value of the constants K,, K, was derived 

Steps for determining the initial cruise weight are (1) set Wc, the cruise 

weight, equal to takeoff weight; (2) compute the cruise energy ECRUZ corresponding to the cruise weight Wc by calling the subroutine WLEFHV with the 

control index I set equal to 1; (3) use the given relation to compute the 

climb fuel Fup; (4) subtract Fup from the takeoff weight to arrive at the 

cruise weight Wc; and (5) test this weight against the one obtained in the 

previous iteration. If they are within 100 lb of each other, the estimation 

is complete; if not, return to step (2). 

ICLOCK 

This subroutine resolves TIME in seconds into hours IHR, minutes IMIN, 

and seconds ISEC. For example, 4521 sec is resolved into 1 hr 15 min, and 

21 sec. 

JTRUNC 

This subroutine finds the last element of a monotonically decreasing 

series within an unimodal series. 
LSQPOL 

This subroutine makes a least-squares polynomial fit for y as a function of x. The arrays x (a), y (.) contain points of the independent variable, and the corresponding value of the function. The total number of points 

in the set is specified by N, the degree of the polynomial to be fitted is 

specified by M - 1 (e.g., M = 3 for quadratic fit), and the coefficients of 

the polynomial are stored in the array B (a) in the following order, 

y = B(3)x2 + B(2)x + B(3) 

MATINV 

This subroutine takes the inverse of a matrix A and stores the result in 

A. The dimension of the matrix is specified by M. 

MINF 

This subroutine minimizes the unimodal funtion F(X) so that x is 

within 1/144 of the given interval (BX - AX) by a Fibonacci search, where 144 

is the 11th Fibonacci number. 

Symbols 

AX, BX 

F( 1 

FIBONO ( . ) 

IPRINT 

X 

lower and upper limits of X 

the unimodal function to be minimized; this function is specified 

in the calling program 

ratio of Fibonacci numbers fi/f,,, i = 1,9 

if = 0, no print; # 0, print x and F(x) in each step of the search 

the value of x at which the unimodal function F(x) is at its 

minimum 

MINFZ 

This subroutine minimizes the unimodal function F(x) so that x is 

within 1/55 of the given interval (BX - AX), using a Fibonacci search, where 

55 is the ninth Fibonacci number. 

Symbols 

FIBON(.) ratio of Fibonacci numbers fi/fg, i = 1, 7 (see MINF for explanation of other symbols) 

64 
PCCOMP 

This subroutine contains the logic for (1) exiting the program when the 

desired range Q is less than Gin or when it is within a small distance 

of R, the ground-track distance subtended by the synthesized trajectory; 

(2) setting up a flag for splicing in a cruise segment subtending a cruise 

distance dc = Rd - (dup + ddn) if Rd is greater than R*, and (3) computing 

the value of %x for synthesizing the desired trajectory if Q is between 

%in and R*. The symbols dup and ddn stand for climb distance and descent 

distance, respectively. 

In the first case, either the desired range cannot be synthesized or the 

desired trajectory has been synthesized. In the second case, the index ISPLIZ 

is set equal to zero. This value is communicated to the subroutine VOPTRJ 

through the arguments of the two subroutines; the next execution step is 

transferred to VOPTRJ. The subroutine VOPTRJ contains the required logic to 

complete the synthesis. In the third case, the value of %x is computed to 

start the iteration until the desired range trajectory is synthesized. 

RMIN 

Figure 17 shows the relation 

between %x and range. Consider the 

region between kin and R*. In 

the short-range region, midrange 

region, and long-range region, %x 

decreases as the reciprocal of R2 , as the reciprocal of R, and linearly 

with R, respectively. These relationships are represented, respecR R* tively by the following equations, 

Figure 17.- Range as a function of %x. 

where (Rl, %xl) and (R2, %12) are range and percent points obtained in the 

previous iterations. To minimize the number of iteration steps, it is important to take advantage of the curve to determine the required value of %X 

for synthesizing the desired trajectory. This is done by selecting two points 

closest to Rd and by implementing the logic to select the appropriate shape 

of the curve in regions under consideration. 

65 
In the curve of figure 17, P,, P,, P,, and P, are points, if available, 

obtained from previous iterations. The first two are for distances, subtended 

by trajectories, that are shorter than the desired range; the remaining two are 

for distances that are longer than Rd. Only two of these points, which can 

best approximate the local fit of the curve, will be used. They will be 

denoted by Pa and Pb. The criteria for their selection are (1) use P, and 

P, in the first iteration; (2) if 6, 5 6, + AR, use P,; otherwise use P, 

where 6i = ]Rd - Ril , i = 1, 4, and OR is some specified distance (AR is 

set equal to 10 nm if %P, is less than 2, and to 20 nm otherwise); (3) if 

64 5 6, + AR, use P,; otherwise use P,. 

The criteria for selecting the proper local shape of the curve are 

1. Use linear interpolation in the first iteration if both 6, and 6, 

are greater than 10 n. mi. 

3. Use reciprocal fit if %P < 2 (see q. (A2)). 

4. Use reciprocal of R2 fit if %p 1 2 (see q. (A3)). 

5. If in successive iteration steps, the tests pass either criterion (2) 

2 

2 

or criterion (3) repeatedly, then alternate between these two criteria. 

PILIMT 

This subroutine evaluates the absolute value of T - D for some given 

EPR setting EPR, altitude H, Mach number MACH, and drag D. The value of thrust 

T is computed by calling the subroutine ENGEPR with known H, MACH, and EPR 

as inputs. The value of D is passed to this subroutine by the labeled 

common CLIMB. 

This subroutine is used in conjunction with MINF to define the thrust 

boundary for climb and descent optimization. The value of IT-Dl is multiplied 

by lo6 if it is outside the boundary (see fig. 4). That is, a very heavy 

penalty is imposed on the function if T < D for climb and T > D for 

descent. 

POLYE 1 

This function evaluates the polynomial 

Y = b(1) + b(2)X + b(3)X2 + . . . b(M)Xm-' 

66 
SERCHD 

This subroutine searches the index R such that TX(R) 2 X 1. TX(R + 1) 

and returns both R and pf where 

pf = TX(R) - X 

TX(R) - TX(R + 1) 

and TX(.) is a monotonically decreasing array. 

SERCHl 

This subroutine searches the index R such that 

and returns both R and pf where 

pf = X - TX(R) 

TX(R + 1) - TX(R) 

and TX(.) is a monotonically increasing array. 

TRIM1 

This is a general subroutine for keeping the aircraft in a certain flight 

condition, depending on the value of MODE and on the value of ICNTRL if 

MODE = 1. MODE = 1 means that the EPR setting EPR is specified; MODE = 2 

that the flightpath angle y is specified; and MODE = 3 that both EPR and 

flightpath angle are specified. There are three submodes for the first 

option. They are specified by the value of ICNTRL. ICNTRL = 1 specifies 

that the aircraft be flown at constant true airspeed, ICNTRL = 2, at constant 

MACH number, and ICNTRL = 3, at constant indicated airspeed. In all modes, 

the flightpath angle is constant. It is determined from solving the f and 

the V equations simultaneously in mode 1 and is specified in both modes 2 

and 3. 

The value of the mode to be used for synthesizing the optimal trajectory 

is 2, and the description for the remainder of this subroutine will be confined to this mode only. 

If MODE = 2, this subroutine computes the angle of attack ALPHA (a), and 

the EPR setting EPR to keep the aircraft in trim, that is, constant-speed 

level flight, for some given altitude h and true airspeed VTAS. 

First, a, is determined by combining the following relations, 

(T sin a + L)cos +I - W = 0 (A4 1 

67 
CL = CL(basic) + CL(a)a + CLO + CL (gear) (A61 

CL(basic) = b(1) + b(2)a + b(3)a2 (A7 1 

to arrive at the quadratic 

Aa2 + Ba + C = 0 (A84 

where 

A = pSV2 COS $ b(3) 1 

(A8b) 

B = k - pSV2[b(2) + CL(a)] + T COS $ (A8c 1 I 

1 C = 2 pSV2 cos $[b(l) + CLOY + CL(gear)] - W (A8d) 

Equation (A4) is obtained by setting y and = 0 in the y equation. Equation (A5) is the relation between the lift force and the lift coefficient. 

Equation (A6) is the same lift coefficient equation as that stated in CLIFT. 

And equation (A7) defines CL(basic) as a polynomial in a. The coefficients 

of the polynomial are obtained by fitting the curves in pages 2.1-2.6 of 

reference 7. 

The value of thrust T in equation (A8a) is obtained by assuming some 

value of EPR setting and then calling the subroutine ENGEPR to generate the 

appropriate value of thrust T. The values of CLOY CL, and CL(gear) are 

constants for flaps up. 

Next, the exact value of EPR to keep the aircraft in trim, for the c1 

obtained in equation (A8a) is determined by setting fJ = 0 and y = 0 in the 

V equation, that is, 

where D, the drag force in pounds, is computed by calling the subroutine 

CDRAG . 

This subroutine iterates between equations (A8a) and (A9) until a pair of 

(a, T) is obtained that are consistent with both equations. 

Symbols 

y flightpath angle, deg 

rate of change of flightpath angle 

T thrust , lb 

68 
a angle of attack, deg 

@ bank angle, deg 

W weight of aircraft, lb 

p air density, lb sec2/ft4 

s wing reference area , ft2 

V true airspeed, ft/sec 

L lift force, lb

CLOY CL(gear), CL216(.) see CLIFT 

INCRUZ see ENGEPR 

UPDOWN 

This subroutine generates the climb profile if ICLIMB = 1 and the descent profile is ICLIMB = 2. 

The climb profile is generated starting with initial energy Eo, incrementing with AE, and finishing at E,. The descent profile is generated in 

the same manner, using final-energy Ef as the starting point. The initial 

energy is specified by the initial speed Vo and altitude ho and, similarly, 

the final energy by the final speed Vf and final altitude hf. The incremental energy is 500 energy feet except when the energy level is within 

3,000 energy feet of the cruise energy E,, at which point it is reduced to 

250 ft. The cruise energy is computed in the subroutine FULEST (see MAINPROG, 

step (6)) for climb, and in the VOPTRJ subroutine in descent. It is transferred to this subroutine through the argument. 

At each energy level, the subroutine FCLMB2 is called to minimize the 

cost function (eq. (12)). Equations (16) through (19) are used to compute the 

time duration, distance traversed, flightpath angle, and fuel used for the 

profile, starting from the initial/final energy to the energy level under 

consideration. These and other quantities are printed out in table 7 for the 

climb profile and in table 8 for the descent profile. 

The speed available from these profiles is either in true airspeed or 

Mach number. Another frequently used quantity, the indicated airspeed, is 

converted from the Mach number by the relation, 

VIAS = E t(1 + rn2)y-1’y - 1 

69 
It is derived from combining the relations, 

Symbols 

m Mach number 

Po stagnation pressure 

P static pressure which is a function of altitude 

y ratio of specific heats (1.4) 

PSQ air density at sea level and standard atmospheric pressure (29.92 in. of 

Hg) and temperature (15" C) 

VALUE2 

This subroutine interpolates (or under certain conditions, extrapolates) 

the value of a function of two variables stored in the two-dimensional array 

EPRMAX(.). This array may be viewed as a table with rows and columns. The 

value of the function depends on the two variables TEMPA and H. The incremental values of TEMPA, stored in the array TEMP(.), are used for indexing the 

rows, and the incremental values of H, stored in the array ALT24(.), are used 

for indexing the columns. 

The subroutine will interpolate a point if it is within the table. If it 

is outside the table and I = 1, it will truncate the value to the nearest 

point in the table. That is, if TEMPA is less than TEMP(l), then the subroutine assumes the point to be in the first row. And if TEMPA is greater than 

the last element of TEMP(.), it assumes the point to be in the last row. 

Similarly, if H is less than ALT24(1) or greater than the last element of 

ALT24(.), it will assume the point to be in the first column and the last 

column, respectively. 

If the point is outside the table and I # 1, the subroutine will truncate the point to the nearest column. If in addition, TEMPA is less than 

TEMP(l), it will call XTRPLl to extrapolate a number that is beyond the first 

row. Likewise, it will call XTRPL2 to extrapolate a number that is beyond 

the last row, if TEMPA is greater than the last element of TEMP(.). 

70 
VOPTRJ 

This subroutine generates the quantities shown in table 9. They include 

the fuel used, distance traversed, time duration, cost in dollars, and in 

dollars per nautical mile for the climb profile, the descent profile, the 

cruise segment, and the overall trajectory. Other cruise quantities are the 

weight, cost, energy, altitude, and speed at the beginning and end of cruise. 

The fuel used, distance traversed, time duration, etc., were evaluated at 

the cruise energy ECRUZ. 

In the free-thrust case, the cruise energy is obtained by evaluating the 

energy level at which the sum of the Hamiltonian for climb and that for descent goes to zero. The Hamiltonian for climb and for descent for each energy 

level was obtained from minimization. They appear in column (12) in tables 7 

and 8 and their sum in column (13) in table 8. If column (13) does not contain this energy level, i.e., the elements of this column are all positive, 

then the last energy level shown in the table, or the energy level corresponding to the smallest value of the sum of the two Hamiltonians, will be used. 

In the constrained-thrust case, the cruise energy is evaluated in step (6) 

in MAINPROG. 

In the free-thrust (short and intermediate ranges) case, there is no 

cruise segment, and the cruise quantities are the same for both the beginning 

and the end of cruise. In all other cases, they differ because of fuel burned 

during cruise. The amount of fuel burned is computed by the use of equation (28). The cruise fuel is expressed as the product of fuel-flow rate and 

cruise distance divided by groundspeed. Both the fuel-flow rate and the 

groundspeed were evaluated at ECRUZ. The cruise distance is computed by the 

appropriate equation, depending on whether the aircraft is cruising below or 

at optimal cruise altitude. 

If the aircraft cruises below optimal cruise altitude (i.e., constrainedthrust, short- and intermediate-range trajectories), the cruise distance is 

computed by the use of equation (22) evaluated at ECRUZ. The denominator of 

equation (22) is dX/dE; it is expressed as a polynomial in E. The coefficient of the polynomial is obtained by curve fitting X vs E and then taking 

the derivative. There are a number of dX/dE curves, each corresponding to a 

specific cruise weight. The data for each X vs E curve were stored in the 

array LLCRUZ(., IW) and EECRUZ(., IW), respectively. The integer IW is for 

indexing the cruise weight. These arrays are parts of the cruise table, with 

each value of IW referring to a specific page in the table. For example, 

IW = 1 refers to a cruise weight of 150,000 lb. 

The cruise cost X, is fitted as a quadratic in E. 

X = c1E2 + ciE + cg 

71 
Taking the derivative with respect to E: 

dX/dE = 2c,E + ch (A151 

This derivative is used to evaluate the length of the cruise segment dc. 

Figure 18 shows a typical X vs E and dX/dE vs E curve. At the optimal 

energy E*, dX/dE = 0. Due to inaccuracy in curve fitting, it is possible for 

the dX/dE curve to be displaced, as shown by the dashed line. In this case, 

the cruise distance can be negative. For example, if dc is evaluated at Ec 

as shown, then dX/dE is positive. Since Iup + Idn is also positive for 

E, less than E*, the value dc is negative. To prevent his from happening, the constant ci is adjusted so that dX/dE is zero at E* by the 

relation, 

This is equivalent to refining the accuracy of the E-intercept of the dh/dE 

curve. 

In order that the units be consistent in equation (A15) , this 

derivative must be expressed in dollars per nautical mile squared. 

Since the cruise energy E is x 

expressed in feet, the denominator of 

the derivative must be converted into 

nautical miles. Therefore, equation (A10) can be written as - E 

" = dX AE + B dE (A17 1 

where A = 2(6080)c,, B = 6080c2, and Figure 18.- Cruise cost, and 

A and B are coefficients for each dX/dE vs energy. 

cruise weight. They are stored in the 

arrays DLLDEE(1,IW) and DLLDEE(2,IW), respectively. Some typical values of 

A and B are shown in table 6, columns (2) and (3). Each set corresponds to 

the cruise weight shown in column (1). Since no aircraft cruises below 

20,000 ft altitude, only points between 20,000 ft altitude and the optimal 

cruise altitude were used for the curve fitting. 

If the aircraft cruises at optimal cruise altitude (i.e., long-range 

flight for both the free- and constrained-thrust cases), then the distance is 

evaluated by the relation 

dc =R - d 

up + ddn 

72 
Symbols 

DCLMB, DDOWN, DCRUZ, TDIST 

EFCRUZ, EFFCNZ 

ECRUZ, ECRUZI, ECRUZF 

FCLIMB, FDOWN, FCRULB, TFUEL 

HCRUZ, HCRUZI, HCRUZF 

IOPARM, ISPLIZ 

LAMBDA, LAMBDI, LAMBDF 

MACH, MACHI, MACHF 

SSCOST (. ) 

TCLMB, TDOWN, TCRUZ, TTIME 

VGKNT, VGKNTI, VGKNTF 

WCRUZ, WCRUZI, WCRUZF 

WLNDG 

This subroutine is used 

distance covered by the climb profile, descent 

profile, cruise segment, and the overall 

trajectory 

cruise efficiency and overall efficiency (for 

the whole trajectory) 

cruise energy, energy at beginning and end of 

cruise 

climb fuel, descent fuel, cruise fuel, total 

fuel 

cruise altitude, altitude at beginning and end 

of cruise 

see MAINPROG 

cruise cost, and cost at beginning and end of 

cruise 

Mach number at cruise, Mach number at beginning 

and end of cruise 

sum of Iup and 'dn 

time duration for climb, descent, cruise, and 

for the overall trajectory 

groundspeed at cruise, and groundspeed at 

beginning and end of cruise 

cruise weight, and weight at beginning and end 

of cruise 

landing weight 

WATEST 

to estimate the landing weight upon the completion of synthesizing the climb profile. 

In the free-thrust case, there is no cruise segment and the landing 

weight is obtained by subtracting the climb fuel FCLIMB and the descent fuel 

FDOWN from the takeoff weight WTO. The climb fuel is interpolated from the 

array FFCLMB(.), which stores the fuel burned for different energy heights in 

the climb profile. The descent fuel is estimated from a polynomial in %X. 

Its coefficients were obtained by fitting the appropriate curve derived from 

previously synthesized trajectories. They are stored in the array DNFUEL(.). 

73 
In the constrained-thrust case, there is a cruise segment; therefore, the 

fuel burned during cruise must also be subtracted from the takeoff weight to 

arrive at the landing weight. Equation (29) is used for computing the cruise 

fuel, which is the product of fuel-flow rate and cruise distance divided by 

groundspeed. The fuel-flow rate and the groundspeed were computed by calling 

the subroutine WLEFHV with index I set equal to 2. The cruise distance is 

estimated by a polynomial in %x. The polynomial coefficients were also 

obtained by fitting the appropriate curve derived from previously synthesized 

trajectories. They are stored in the array DCOEF(.). 

WIND 

This subroutine computes the component of wind velocity projected along 

the principal axis of the aircraft. The wind profile itself is a function of 

altitude. Inputs to this program are altitude in feet H, the aircraft heading in degrees PSIA, and the wind profile stored in the arrays €WIND(.), 

VW(.), and PSIW(.). Output from this program is VWA, the required wind 

component. 

WINDIN 

This subroutine reads in the wind profile, the magnitude and direction of 

wind, and also computes the wind shear for every 2,000 ft of altitude. The 

wind magnitude from input is in knots; the program converts it to feet per 

second and stores it in the VW(.) array. The wind direction is in 10" increments. The program converts it into degrees and stores it in PSIW. The altitude corresponding to the wind magnitude and direction is generated internally 

and stored in the €WIND(.) array. 

The x, y components of wind are computed by the relations, 

aWy/ah = AWy/Ah 

wx = vw(.)cos(PsIw(.)) (A20 1 

Wy = W(.)sin(PSIW(.)) 

The x, y components of the wind and also the x, y components of wind 

shear, all of which are altitude dependent, are stored in the arrays WX(.), 

wU(.), WINDE(., 2), WINDE(., 3), respectively. These arrays are indexed to 

altitude. 

WINMOD 

This subroutine computes the component of wind shear along the principal 

axis of the aircraft for some given altitude ALT (in feet) by the relation 

74 
where q.J is the aircraft heading, aWx/ah, aW /ah are x, y components of 

wind shear stored in the arrays WINDE(. , 2) , &DE(. , 31, respectively. The 

resulting component of wind shear is stored in AKM. 

WLEFHV 

This subroutine computes various cruise quantities for some given cruise 

weight WCRUZ and percentage over the optimal cruise cost %x, depending on the 

value of the index I. These quantities include the cruise cost LAMBDA, cruise 

energy ECRUZ, cruise altitude HCRUZ, fuel-flow rate FCRUZ, and groundspeed 

(in knots) VGKNT. For I = 1, LAMBDA and ECRUZ are computed; for I = 2, 

FCRUZ, HCRUZ, VCKNT are computed; for I = 3, LAMBDA, ECRUZ, HCRUZ, FCRUZ, and 

VGKNT are computed; for I = 4, HCRUZ is computed. 

Symbo Is 

IW, pfw (see xplanation for 1 and pf in SERCH1) 

WRITE1 

This subroutine computes the cost and unit cost for flying a specified 

segment of the trajectory. The segment can be climb, descent, cruise, or the 

overall trajectory, as specified in the calling program. Also, it resolves 

the time given in seconds into hours, minutes, and seconds. Finally, it 

prints out the description of the segment (i.e., climb, cruise, descent, 

total), the fuel used, the distance traversed, the time duration, in 

hr:min:sec, the cost, and the unit cost. It is a satellite subroutine for 

VOPTRJ . 

XTRPLl 

B2 

B1 

B 

This subroutine extrapolates a 

point below the lowest point in some 

given array. Figure 19(a) shows the 

lowest point as (Al, Bl) where the 

value of By corresponding to A is 

desired. It is obtained by the rela 

relation 

B2 - B - B2 - B1 

A2 - A A2 - A1 - (A23a) 

or 

A A1 A2 A3 B=B, - 

A2 - A 

A2 - A1 (B2 - Bl) (A23b) 

(a) Lower end. 

This is a satellite subroutine for 

Figure 19.- Extrapolation. VALUE2. 

75 
XTWL2 

This subroutine extrapolates a point beyond the highest point in some 

given array. Figure 19(b) shows the highest point as (An, Bn) where the value 

0 

Bn- """""" 

L 

(b) Upper end. 

Figure 19.- Concluded. 

of B, corresponding to A is desired. 

It is obtained by the relation 

or 

(A24b) 

This is a satellite subroutine for 

VALUE2. 

76 
REFERENCES 

1. Erzberger, Heinz; and Lee, Homer Q.: Characteristics of Constrained Optimum Trajectories with Specified Range. NASA TM-78519, 1978. 

2. Erzberger, Heinz; McLean, John D.; and Barman, John F.: Fixed-Range Optimum Trajectories for Short-Haul Aircraft. NASA TN D-8115, 1975. 

3. Bochem, J. H.; and Mossman, D. C.: Simulator Evaluation of Optimal Thrust 

Management/Fuel Conservation Strategies for Airbus Aircraft and ShortHaul Routes. Final report, May 1977-April 1978, June 1978. 

4. Cooper L.; and Steinberg, D.: Introduction to Methods of Optimization. 

W. B. Saunders Co., Philadelphia, PA, 1970, pp. 147-151. 

5. Daniels, Glenn E.; and Smith, Orvel E.: Scalar and Component Wind Correlations between Altitude Levels for Cape Kennedy, Florida, and 

Santa Monica, California. NASA TN D-3815, 1968. 

6. U.S. Standard Atmosphere Supplements, 1962. Prepared under the sponsorship of Environmental Science Services Administration, NASA, and 

U.S. Air Force. 

7. Aerodynamic Data for the 727 Flight Simulator. Document No. D6-8095, 

Boeing Company, Seattle, Washington. 

8. Specific Operating Instructions, JT8D-7A. Pratt and Whitney, A Division 

of United Technology, July 15, 1975. 

77