Comt~ut& Induj F.agng Vot 4. pp. 9~101 Pergamon Press Lid.. 1980 Printed in Great Britain
AN
ALGORITHM
TO
SCHEDULE
AIRCRAFT
TO
SORTIES
WILLIAMHOWARD USAF Wright Patterson AFB. OH 45433, U.S.A. and VICTORA. ZALOOM North Carolina A & T State University.Greensboro, NC 27607, U.S.A. (Received June 1979; in revised [orm November 1979)
Abstract--An algorithm is presented which provides Air Force schedulers the capability to generate alternative schedules rapidly. This capability enhances the schedulers' ability to obtain "good" schedules by: (I) providingfor rapid rescheduling in the event of inevitable changes which routinely occur during the period of the schedule, (2) presenting a specificquantifiable set of objectives to be met by the schedule. The algorithm is designed specifically for use by B-52 and KC-135 schedulers in the Strategic Air Command. The objective function includes a term for minimizing hours remaining to phase inspections, where hours remainingto phase inspection refers to the number of flying hours an aircraft is permitted to accrue prior to being grounded for the maintenance action referred to as a phase inspection. Another term in the objective function is to maximize the number of turn-around flights, where a turn-around flight occurs when the same aircraft flys more than one sortie in a 48hr time period. A turn-around sortie requires less pre-flight maintenanceand thus results in a cost savings. A very favorable comparison is presented of algorithm schedules with schedules manually prepared in an operational environment. INTRODUCTION The process of scheduling aircraft in the Strategic Air Command (SAC) has become increasingly difficult due to increased requirements and decreasing resources. Operations and maintenance schedulers in SAC are required to plan the use of both aircraft and personnel. Planning is carried out on a quarterly, monthly and weekly basis. For the quarterly plan, operations schedulers provide maintenance schedulers with a forecast of sorties requirements. Maintenance schedulers then determine their capability to provide the required aircraft. A review of projected manpower (pilots, maintenance and support personnel), aircraft availability, equipment assets, fuel, etc. is made to identify resource shortages early in the planning process. Coordinating the monthly schedule requires several actions. A meeting is held once a month between operations schedulers and maintenance schedulers. At this meeting, the following month's schedule is negotiated and confirmed. Fifteen days prior to this meeting, operations schedulers provide maintenance schedulers with the number of sorties required for the coming month. This request includes takeoff times and durations for each sortie for bombers and tankers. Ten days prior to the meeting, maintenance schedulers inform operations schedulers of the number of sorties they can support based on upcoming maintenance requirements. Five days prior to the meeting, operations schedulers respond with firm sorties requirements including takeoff and landing times. Maintenance schedulers must then assign a specific aircraft to each sortie. This is the task being addressed here. In summary the present method of scheduling in a SAC wing is a coordinated process between operations and maintenance schedulers. The following regulations listed in[l] and [7] govern this interactive process: 1. Select aircraft by tailnumber to fly a specific sortie. 2. Insure selected aircraft has the proper configuration to meet sortie requirements. The aircraft configuration refers to the particular equipment on board a specific aircraft. 3. Select aircraft to permit an even distribution of flying hours per month. 4. Insure yearly requirements are met in each training category. 5. Schedule operational functional checks on aircraft returning from depot prior to placing the aircraft on ground alert. 6. Schedule phase inspection; wash, corrosion, and control inspections: update alert assignments; schedule all required periodic inspections, ground training of maintenance crews, and time compliance technical orders (TCTO) required. 9~
96
W. HOWARDarid V. A, ZALOOM
A heuristic algorithm that automatically assign aircraft to sorties based on a priority system has been designed and tested. The primary scheduling objectives are: !. Equalize aircraft flying utilization by minimizing hours remaining to phase inspections, where hours remaining to phase inspection refers to the number of flying hours an aircraft is permitted to accrue prior to being grounded for maintenance action. 2. Minimize preflight and postflight costs by maximizing turn around sorties, where a turn around sortie occurs when the same aircraft flys more than one sortie in a 48 hr time period. The solution is designed to be practical and easy to use. Wing maintenance schedulers would be able to use the computer generated schedule to the degree they desire through the provisions made for schedulers to manually input any part of the schedule. The solution presented deals with only one area of the scheduling process; therefore, certain assumptions must be made. (I) All non-flying tasks have already been scheduled, (2) availability of aircraft is determined, (3) required maintenance information is available for each aircraft, and (4) sorties information is available. The need for solutions to complex USAF scheduling problems has long been recognized. In 1974 Rand Corporation[3] listed the following reasons why the United States Air Force has had only limited success in tackling complex scheduling problems: I. The lack of pure analytical solutions to complex scheduling problems. 2. Scheduling effectiveness measures are not really explicit at least in ways which have operational meaning for schedulers. 3. The inadequate information support provided schedulers. 4. The often functional approach to scheduling. There is a twofold requirement in the Stragetic Air Command (SAC) process. First, since SAC is a vital link in the nation's defense structure, mission requirements must be met to insure that the defense posture is not weakened. In addition, there is the requirement to be cost/effective in scheduling the limited resources available. Policy is stated [7] that scheduling for the employment of aircraft and maintenance resources must be timely and firm to insure maximum efficiency and effectiveness in the usage of each. Following a brief literature review, the data collection system is explained. A scheduling algorithm is then presented and explained in detail. The results of employing the algorithm with actual data from a representative SAC wing are compared with present methods and recommendations are presented. The first step in finding a solution to the scheduling problem was to see if there were automated solutions to similar problems in other Air Force commands. Air Training Command[2] has a simplified system that schedules aircraft to sorties, but the system does not consider the numerous constraints that apply to the scheduling of aircraft in SAC. Air Canada[4] has developed a solution to a similar problem concerning aircraft maintenance scheduling. The similarity of this maintenance scheduling problem to that of scheduling aircraft to sorties is that they both have a common objective of minimizing the flying hours remaining between successive maintenance checks within changing constraints and a given set of priorities. The model in[4] considered only the variable of ground checks. In the scheduling problem for B-52s and KC-135s many additional variables and constraints must be considered. Another approach examined was the possibility of using Zero-One Integer Programming[5]. It is possible to develop a mathematical model defining the objective functions and constraints. However, in the aircraft scheduling problem, the combination of events to consider and the dynamically changing environment make it less important to obtain an optimal schedule under a certain set of conditions. Then it is to be able to adapt and reschedule when conditions change. The general approach taken in this research is in consonance with the following statement of Rothkopf[6]: "Develop a schedule improvement algorithm to be used in conjunction with human generated schedules. In the man-machine scheduling situation, the computer should be used for what it does well and the man for what he does well." DATA COLLECTION Information concerning the scheduling problem was determined by researching applicable
An algorithmto scheduleaircraft to sorties
97
regulations, personal interviews with schedulers, and a questionnaire that was sent to all SAC wings. Regulations left many decisions concerning alternatives in the scheduling process to the discretion of individual schedulers. As a result, telephone interviews, personal interviews and a questionnaire were used to find out from the schedulers on each SAC base what decision criteria they used and what variables they considered. Results from the questionnaires and interviews were used in developing the algorithm when regulations were not specific. Actual data from a typical SAC wing was used in developing the algorithm, and was subsequently used to test the results of the model. THE ALGORITHM The algorithm is designed to achieve the following two objectives: 1. Equalize aircraft utilization by minimizing hours remaining to phase at phase due dates. min Z = ~ P,- for: i=1 for: Pi -> 0, n = number of aircraft in the unit. where: Pi = hours remaining to phase at due date for aircraft i. 2. Maximize the number of turn around sorties. A turn around sortie occurs when the same aircraft flys two sorties in a 48 hr period of time. The following variables serve as constraints to the scheduling process. --Aircraft availability, ----Control limits on time line, --Flying hours available, --Hours required for alert, --Hours required for temporary duty at a remote location (TDY), --Hours required for depot. --Takeoff time. The flow chart of Fig. 1 illustrates the algorithm. The driving force is the set of priorities assigned to each aircraft. Aircraft with highest priorities are assigned to fly sorties if constraints are met. Block 1 of Fig. 1 sets up the input data file. Input data includes a list of aircraft on alert or scheduled to go on alert this month, the number of days required to be on alert, a schedule of TDY assignments, a schedule of depot maintenance assignments, flying hours remaining till next phase inspection for each aircraft. This data is required to determine which aircraft are available on a given day. Block 2 inputs the takeoff and landing times for each sortie in the monthly plan. Subrouting PRIOR (Block 3) is then called to prioritize the aircraft based on a point system, which will be discussed later. Subroutine ASSIGN (Block 4) is then employed to assign aircraft to sorties based on their priority. The first block in subroutine ASSIGN enables the scheduler to manually input any part of the monthly schedule by making specific aircraft to sortie assignments. All other sorties are then assigned aircraft as follows: The aircraft with the highest priority is evaluated to determine if it meets all constraints necessary to fly the first unassigned sortie. Constraints include takeoff and landing times, alert, temporary duty and Depot maintenance. Files are then updated increasing the number of hours flown by the assigned aircraft. Its minimum time for a turnaround sortie is calculated and the list of sorties is searched to determine if a turnaround sortie can be achieved by the assigned aircraft. If this is the case, the aircraft is again assigned to the first sortie available as a turnaround sortie. Files are again updated. The aircraft with the next highest priority is then selected and the above process repeated until all sorties have an assigned aircraft. Subroutine PRIOR assigns priority points to each aircraft in the fleet. If an aircraft is not available for a given time frame, for example a day, the aircraft is assigned a large negative number of priority points (-2000 points). For thost aircraft which are not on a TDY assignments, alert, or in maintenance, priority points are assigned according to a time line function as shown in Fig. 2.
98
W. HOWARDand V. A. Z^LOOM
I~,R~AFT OAT~,I
I
ISORT,E DATA !21
r- -FCALLIPR'OR'i 1
ICALL ASSIGNI~j-
r--
I I I I
ASSIGN MANUALJ SORTIES }
J
I J UPDATE FILESJ
i
NO
)
SUBROUTINE
GET HIGHEST PR OR TY A,~ J
L_
I
ASSlGNA/CI LOWESTPRI-J ORITYI
I A~SK;N J ILARGE NEGATIVEI [ VALUE J ASSIGN POINTS: ] TIME LINE / CONTROL L I M I T S ~
ALERT
TDY DEPOT
|
CHECK SORTES] PHASE HOURS EARLIEST } TAKE OFF l ALERT TDY J DEPOT I
YES
NO ~ Y E S l ASSIGN [SORTIEF UPDATE FILES
I
J J
@ Fig. 1. Scheduling algorithm--flow chart representation.
A complete explanation of Fig. 2 is deferred in order to complete our discussion of the priority system. Points are assigned to aircraft available to fly as follows: !. Time line points. Time line points equal 100 times the ratio of the hours remaining to phase divided by the available flying days remaining to phase. 2. Outside control limits points. An aircraft with more than 20 available days that is more than three sorties ahead of the time line is given 500 points divided by available days remaining. Aircraft with 10-20 days remaining and are over two sorties ahead of the time line are given 1000 points divided by days remaining. Aircraft with less than 10 available days remaining and more than one sortie ahead of the time line are given 1500 points divided by days remaining. These number of points were determined by trial and error methods and gave the best results. When the aircraft approaches the due date and is off the time line limits, it is assured of having a high priority to fly. For each case, when the aircraft is behind the time line limits, 1000 points are subtracted. This reduces the priority points so that the aircraft will have a low priority for flying. However, if more aircraft are needed to fly, these aircraft would be assigned instead of the unavailable ones with -2000 points. 3. Alert sortie points. If an aircraft is scheduled for alert during the month, it must have enough hours remaining to phase to fly a sortie. If an aircraft cannot fly a scheduled sortie and have sufficient hours to fly one sortie during or following its alert commitment, then it is assigned -2000 points. 4. TDY or depot maintenance points. Aircraft that are scheduled for TDY or depot maintenance'may have a requirement to have a certain number of hours remaining to phase. If
An
algorithm to scheduleaircraft to sorties
IOO
~
99
A
• o
~
80-
,.o-
y
..j
50
,o-
/ / ;
o lie" i0
V
,
,
,
,
20
30
40
~O
60
AVAIl.ABi_F DAYS
Fig. 2. B52 Estimated available days remaining to phase inspection date vs flying hours remaining to phase
inspection. this number of hours plus one sortie length is not available, a -2000 value is assigned. After awarding priority points, aircraft are assigned to sorties. 1. First, all manually scheduled sorties are assigned. 2. Files are updated for phase hours remaining and turn around capabilities. 3. The highest priority aircraft is assigned to the first sortie if all constraints are satisfied. 4. If possible, a second sortie is assigned to the same aircraft. 5. The next highest priority aircraft are assigned in the same manner. 6. After all sorties are assigned, counters for days to phase, alert, TDY, Depot, and available days are updated. THE TIME LINE FUNCTION The time line is defined as the number of hours that should be remaining to phase at a given number of available days before the phase inspection due date. Ideally each aircraft should be scheduled for equal amounts of alert, TDY, maintenance and flying requirements. By minimizing flying hours remaining to phase on the phase inspection due date, aircraft flying times will be equalized and scheduled maintenance cycles stabilized. Since aircraft are commited to other activities over the approx. 120 day period between phase inspections only days available for flying need be considered. The number of days available to fly sorties is given by the equation below. Available days = phase inspection due date ------current date --TDY days --Alert days --Scheduled maintenance days --Weekends and holidays The slope of the time line of Fig. 2 is obtained by taking the total available days between phase inspections (an average of 55 for B-52s and 53 for KC-135s) and dividing it into the flying hours between phase inspections (optimally 100). The slope of the time line represents the average number of flying hours needed per available day to achieve zero flying hours remaining to phase inspection on the scheduled inspection date. Data taken from the test wing indicated the average number of available days for B-52 and KC-135 aircraft was 55 and 53, respectively CA|EVol.4,NO2--,C
I00
W. HOWARD and V. A. ZALOOM
Therefore, B-52 average utilization rate is 100 flying hours divided by 55 days or 1.82 hr per day. The KC-135 average utilization rate is 1.88 hr per day. Since the average utilization rate is much smaller than the average sortie length, a certain amount of deviation from the time line is required. By scheduling an aircraft for one sortie, it can either be ahead of the time line or catch up if it was behind. After an aircraft completes a phase inspection, 100 additional hours are available to fly over approx. 120 days until the next inspection. The total flying hours available to its next phase inspection are divided by the total expected available days to obtain the aircraft average utilization rate. This informalion is used to create its time line as shown in Fig. 2. Point A on the time line depicts the number of available days and the number of flying hours remaining to phase inspection immediately following a phase inspection. As the phase cycle progresses the aircraft will deviate from the time line. However, the amount of deviation is controlled by the priority system. The rationale for these control limits was based on providing flexibility to achieve two objectives. One objective is to maximize the number of turn around sorties. Wide control limits would enhance the achievement of this objective. The other objective is to minimize flying hours remaining on the phase inspection due date. Hence, as the available flying days remaining decreases control limits are tightened to force the aircraft to converge toward its time line. For periods greater than 20 days the time line control limits represent approx. _ 3 sorties, thus giving wide latitude to schedule turn around sorties. The 10-20 day limit of two sorties keeps the aircraft closer to the time line as the inspection date approaches but still allows flexibility in the schedule to fly turn around sorties. Finally, the one sortie limit for less than l0 days was important to insure the aircraft would go into phase with a minimum number of hours remaining. RESULTS AND CONCLUSIONS The algorithm was tested by using data from a typical SAC wing and comparing the schedules generated. The results included planned schedules for July and October for both aircraft types and also, schedules for July after all the changes for the month had been incorporated in the data. Tables l and 2 present results for KC-135 aircraft and B-52 aircraft respectively. The algorithm represents an improvement over the present manual scheduling method for both types of aircraft. A careful analysis of the schedules indicates much greater improvements could have been achieved if the algorithm was used for an entire four month period of the phase cycle. For example, in Table i the July planned manual schedule had a total of 68 hr remaining on aircraft scheduled into phase. The algorithm only reduced that number to 63. When the actual data was observed, it was discovered that aircraft contributing most heavily to this total were well outside their control limits when the algorithm was employed. This situation would be prevented by continuous use of the algorithm over an entire phase cycle. The line titled July Changes gives the results of the schedules computed at the end of the month. When changes occurred during the month, the manually adjusted schedule resulted in 37.4 total flying hours remaining on aircraft inspected. Had and algorithm flying schedule been employed only 22.9 flying hours would have been remaining on aircraft inspected. The second part of Table 1 gives KC-135 turn around sorties and percentages. The algorithm again significantly out-performed the manually generated schedules. Table 2 presents similar results for B-52 aircraft. Table 1. KC-135schedules i.
Hours r e m a i ~ i s ~
to p h a s e
for a/¢ enzering p h a s e
Manual S c h e d u l e JJly
Planned
July
Changes
October Planned 2.
68.0
inspections.
Al~orithm
Scneduie
63.0
37.4
22.9
84,3
72.?
Turn a r o u n d s and p e r c e n t a g e s , Manual
Schedule
Al~orithm Schedule
July Planned
12/61 = 19.7%
20/61
July C h a n g e s
14/61 ~ 23%
19/61 = 31.1%
October Planned
0/59 =
0%
= 32.8%
10/59 = 17%
101
An algorithm to schedule aircraft to sorties Table 2. B-52 schedules Hours,
r o - , J l n l n ~ , t o i~r3~,:
f:r
,,c
ent,~'ir1~ pha~-e i n ~ p ~ , e ~ i c n : : .
!.:ani:~ ~,-heJu:e July
2.
Al~r)rith~ 52hed,Jle
[]anned
~3..
78.5
Ju]/ Chan~es
4b.O
2i.6
October
67.8
29,6
Planned
T u r n a r o ~ n o s and p~rcenta~e,. Manu~]
July
Planned
6i55
=
Schedule
Al~orithn Schedule
10.95!
16/55 : 2 9 . 1 Z
duly C h a n g e s
3!50 - 6 °;
14/50 = 28%
October Planned
5/57 : 8,8~
17/57 = 2 9 . 8 %
The algorithm can do much more than generate a better initial monthly schedule. As changes occur during the month, the data can be quickly updated, and a completely new schedule generated for the rest of the month. When changes occur, the algorithm still generates a schedule according to the design criteria; however, using present manual scheduling methods, the schedulers often do not have the time to try to generate a new schedule that is efficient and equalizes the use of resources. When there are numerous changes, time constraints on the schedulers generally permit only obtaining a schedule that works. REFERENCES I. Air Force Manual 66.-1,Vol. !I. Washington: Departmentof the Air Force. 2. ATC Manual 66-265, Standard Automated Sortie Scheduling (SASS). Maintenance Mgmt. H.Q ATC. Randolph AFB, Texas (14 Nov. 1975). 3. M. B. Berman, Improving SAC Aircrew and Aircra[t Scheduling to Increase Resource Effectiveness, R-1435-PR. Rand Corporation, Santa Monica,California(July 1974). 4. N. J. Boere, Air Canada saves with aircraft maintenance scheduling. Interlaces 7, 1-13 (May 1977). 5. A. A. B. Pritsker & L. J. Watters, A Zero-One Programming Approach to Scheduling with Limited Resources. Rand Corporation (Jan. 1%8). 6. M, H. Rothkopf, A note on strategy for research on the job-shopschedulingproblem, Ops Research 8(3), 106--188(1971). 7. Strategic Air Command Regulation 60-9, Planning and Scheduling Aircra[t and Aircral:t AGM Usage. Washington: Department of the Air Force (7 Nov. 1975).