Ground Station Activity Planning through a
Multi-Algorithm Optimisation Approach
Giuseppe Corrao∗, Roberta Falone†
∗Satellite Systems and Applications, † Mission Planning - Telespazio SpA∗Via Tiburtina, Rome, † Fucino Space Center, Ortucchio, Italy
Email: [email protected]
Ennio Gambi, Susanna Spinsante
Department of Information Engineering
Marche Polytechnic University
Via Brecce Bianche 12, Ancona, I-60131, Italy
Email: {e.gambi, s.spinsante}@univpm.it
Abstract—Space missions management requires to cope witha number of different issues, among which the need of properlyhandling contacts among one or more ground antennae, and oneor more satellites belonging to a space mission. The manuscriptpresents a planning approach designed to support the automaticallocation of contact opportunities among a set of ground stationsand a set of satellites, with the aim of providing the mostefficient configurations, in terms of contact time maximisationand compliance to the requirements. The optimisation strategyherein discussed builds upon the integration of techniques basedon Genetic Algorithms, Graph Theory, and Linear Programming,in order to output the optimum, or sub-optimum, schedulingplan. Simulations show that the integration of such techniquesallows to generate conflict-free and high-performance solutionsto the scheduling problem.
I. INTRODUCTION
The management of space operations involves several issues
among which, in the context of Ground Segment activities,
the problem of managing contacts among one or more anten-
nae, with one or more space missions (each of them being
composed by one or more satellites) [1]. This condition often
leads to the temporal superimposition of two or more satellite
visibilities toward the same antenna: all but one visibilities
must be discarded, but the right solution is not always trivial
to find. The problem may be very complex, depending on
the different (and often contrasting) requirements issued by
the users, that, in this case, are represented by the satellite
operators. The first approaches to this problem were quite
trivial, i.e to build and set up a brand new serving antenna for
each new space mission, or to define single, mission-specific,
and not re-usable schedulers. The problem of automated
generation of tracking plans for ground antennas emerged with
the increased frequency in space missions development [2]–
[4]. Nowadays, one-shot solutions are no more sustainable:
while in the past space missions were limited in number, at
present we see an increasing number of Earth Observation and
Navigation missions that make the near space very crowded.
Manual approaches to planning issues are no longer acceptable
for a really effective management, especially in the case of a
network of Ground Stations that must support a constellation
of LEO (Low Earth Orbit) satellites [5].
In a typical schedule, each of the satellites that have access
to a certain Ground Station has a number of Data Downlink
�
�
�
�
�
�
�
�
�
�
�
����������������
������������������������
Fig. 1. Typical input activity schedule: some clashing services are evidenced
Opportunities (DDOs) assigned. Some of the contacts may be
conflict-free, while others may lead to conflicts, that require
proper actions to be avoided. A classical scenario is shown
in Fig. 1, where some of the time overlapping DDOs are
evidenced. In this context, the aim of a Ground Station
Planning System is to find the best arrangement of conflict-
free DDOs, to maximize performances, while accounting for
specific requirements.
This paper proposes a planning approach for the automatic
allocation of contacts between any collection of Ground
Stations, and any collection of satellites, in order to find
the most effective arrangement of conflict-free visibilities,
to maximize performances while accounting for given re-
quirements expressed through a suitable cost function. The
optimisation techniques herein presented make use of GAs
(Genetic Algorithms) [6], Graph Theory (GT) and Linear
Programming (LP) to get an optimal, or near-optimal, solution
to the scheduling problem: combining those strategies in a
single tool allows to determine an highly fitted and conflict-
free resource allocation plan. Despite GAs have been used for
solving scheduling problems in a variety of fields since long
time, due to their stochastic nature, related technical literature
about the application of such algorithms in the field of Ground
Station scheduling optimisation is not so rich. In [7], Li et.
al present a TT&C (Tracking Telemetering and Command)
task planning algorithm for multi-satellite, but it is based on
SDMA-CDMA (Space Division Multiple Access - Code Divi-
sion Multiple Access), i.e. quite classical multi-user allocation
approaches, to optimise the whole TT&C efficiency. In [8], the
978-1-4673-4688-7/12/$31.00 ©2012 IEEE
author presents a tool for ground support optimisation built
upon GA concepts; the solution herein proposed differs in
the adoption of a multi-objective strategy, and the application
of linear programming theory too. The paper is organized
as follows: Section II defines the basic requirements that
guide the development of the optimisation strategy; Section III
provides details about the different components of the planning
tools, and the design choices performed; Section IV discusses
simulations and results in a real scenario; finally, Section V
concludes the paper.
II. DESIGN REQUIREMENTS
With the aim of designing a flexible and re-usable planning
tool, suitable for application to a number of different mission
contexts, the first requirement to comply with is the multi-
mission and multi-antenna property. The planning tool shall
be able to schedule the time visibilities of several satellites,
belonging to different missions, not only according to the
availability of the ground antenna placed in the same site
where the tool is beign applied, but also by taking into account
potential contact opportunities provided by other antennas,
displaced in different sites, within the same ground network.
The other requirements considered during the development
of the planning tool came from the real world experience,
and were collected at the Italian Fucino Space Centre [9].
The generation of a conflict-free scheduling plan is a basic
requirement: the supporting activities of a ground antenna
require that antennas working at a single frequency band can
track only a single satellite at a time. Different satellites relying
on the same antenna, at the same time, generate conflicts. As
a consequence, the contact table output by the planning tool
shall avoid conflicts. Two visibility opportunities are said to
be conflicting when the following condition holds:
(LoS + ST )i > AoSj (1)
where i and j are two indexes used to order in time different
services on the same antenna, and refer to the i-th and the j-th
visibility opportunity, respectively, with j > i; LoS is the time
instant at which the satellite signal is lost (Loss of Signal);
AoS is the initial satellite signal acquisition time (Acquisition
of Signal); finally, ST is the antenna Switch Time, sometimes
also called reconfiguration time.
Other operational requirements refer to: the possibility of
providing scheduling plans also for LEO (Low Earth Orbit)
satellites; the definition of mission-specific values for the
minimum time duration of the satellite - supporting ground
antenna contact; the minimum elevation over the horizon from
which the antenna will start to track the satellite; the possibility
of specifying the relative priority of each mission with respect
to the others supported by the same antenna (where lower
values correspond to higher priority missions); the definition,
for each antenna, of a cost figure that represents how much
better is it to select that antenna with respect to others (in the
event it is possible to replace a contact opportunity provided
by a third part antenna with a contact opportunity provided by
a owned antenna). Besides all the previous requirements, the
�
�
�
�
�
�
�
����������
��������
�� � � �����
�� � � �����
�� � � �����
�� � � �����
�� � � �����
�����
Fig. 2. Phenotype to genotype mapping process
planning tool should also enable the definition of the maximum
time interval for which a satellite may remain un-tracked by
any of the antennas in a network; the minimum number of
daily contacts, for each satellite of a mission; the definition
of the antenna ST; the configuration of possible unavailability
time intervals for a given antenna; the possibility to force a
contact in case of contingency, and the necessary reallocation
of resources among the previously planned contacts.
III. THE PLANNING TOOL
The first step in the design of the planning tool consists in
obtaining the complete, and start-time ordered, list of all the
geometric visibility opportunities, computed by means of an
adequately accurate orbit calculator. The geometric visibility
of a satellite, with respect to the supporting antenna in charge
of it, joint the Switch Time of the antenna itself, represents a
so-called service.
A. Application of Graph Theory
In the framework of the proposed optimisation strategy,
the GT is used to set-up the initial conditions for the GA
execution, by resorting to the concept of Adjacency Matrix
(AM).
The GA approach requires to establish a phenotype to geno-
type mapping. In our application, the phenotype is represented
by the list of all the services; it has to be mapped into a
chromosome, the length of which equals the cardinality of the
service list. The i−th service is mapped into the i−th gene of
the chromosome. Genes may assume only binary values (0, 1),depending on the corresponding service being scheduled or not
by the algorithm. The mapping process is depicted in Fig. 2.
The AM allows to randomly generate sets of conflict-free
chromosomes, recognize and classify conflicts (by using the
AM, a list of conflicts is generated, and relevant property
classification performed), and to define a so-called schema.
Schemas are templates that identify a subset of strings with
similarities at certain string positions. They allow the gen-
eration of conflict-free random populations, that drive the
evolutionary process until a successful end. A schema may be
thought of as what identifies a subset of population elements
with given similarities.
Let us assume that the list of services provided by the orbit
calculator includes N services. An N×N AM is set up, so that
�
�
�
�
�
�
�
�����
������
�����
�����
������
������
Fig. 3. Scheduling diagram with clashing services and corresponding AM
each i-th row of the matrix represents the clashing conditions
of the i-th service with respect to all the other services in the
list. As a consequence, the matrix will exhibit the following
properties:
ai,j = 1, for i = j
ai,j = 0, for i < j
and
ai,j = 0, for i > j
if the i− th and j − th services are clashing ones,
ai,j = 1, for i > j
otherwise.
Fig. 3 shows a sample AM corresponding to the clashing
services reported in the scheduling diagram.
At this point, it is possible to introduce a schema, that is
generated by generating strings of values of length N (the
number of services in the list). A one-to-one relationship is
established between the elements in a schema and the genes
in a chromosome. The possible values in a schema are:
0 : the corresponding service is not selected;
1 : the corresponding service selection is forced, irrespec-
tive to subsequent outcomes provided by the algorithm;
-1 : services corresponding to these positions will be sub-
jected to true optimisation, as they are not constrained to
pre-defined decisions (don’t care).
By the definition of a schema, the optimisation search space
is reduced from 2N to 2N−k, being k the number of positions
anchored by the schema.
B. Application of Genetic Algorithm
GA is an optimisation-and-search technique based on the
principles of genetics and natural selection: a set of candidate
solutions (the current population) are allowed to evolve under
determined natural selection rules, to a state that maximizes
the associated fitness, i.e. minimizes a given cost function.
The search space is iteratively explored, so that the candidate
solutions are evaluated, and then used to generate new ele-
ments in the population (i.e. the next generation). The process,
that may include selection, mating and offspring’s generation,
and mutation, comes to an end due to predefined stopping
conditions.
1) Generation of initial random population: The generation
of the initial random population requires the chromosomes
belonging to it to be conflict-free. In order to comply with this
constraint, the AM is again invoked: an index k ∈ [0, n− 1]is almost randomly chosen (greater probability is assigned to
lower index values, in order to keep limited the number of 0’s
in the initial chromosomes, i.e. the number of lost services).
Then, genes in 0 to k − 1 positions are set to 0, whereas for
positions k to n, the AM is analysed, in order to find possible
non conflicting services. Each chromosome generated by the
process is then compared to the schema previously defined:
values in the randomly generated chromosome, corresponding
to positions where −1’s are present in the schema, are left
unaltered. Chromosome values in positions corresponding to
a 0 or a 1 in the schema are constrained to the values defined
by the schema itself.
2) Fitness definition and evaluation: In a GA approach,
each possible solution, i.e. each chromosome, is evaluated with
respect to a fitness function, based on targets and constraints
the solution has to comply with. When a solution does not
comply with targets and constraints, it is assigned a penalty,
that increases the value of the requested fitness associated to
that solution. In the present work, the fitness function is a
multi-objective one, that accounts for the requirements on:
supporting antenna cost (AC), satellite priority (SP), maximum
time gap between two consecutive contact opportunities (TG),
and minimum number of passes in a given time interval (NP).
The Global Fitness (GF) function is consequently defined as
a weighted polynomial:
GF = wC ·AC + wP · SP + wG · TG+ wN ·NP (2)
where each single fitness function has been normalized. The
relative values assigned to the weighting coefficients (wC , wP ,
wG, and wN ) may vary, depending on the optimisation target;
in our study we considered wC = wP = 1, and wG = wN =10. In general, there are as many objectives as the number of
mission requirements.
3) Verification of the stopping conditions: Before moving
to the generation of subsequent populations, it is necessary to
verify if the stopping conditions are satisfied or not. In the
framework of the proposed planning tool, three stopping con-
ditions are defined: 1) the number of populations generated by
the iterative execution of the algorithm reaches the maximum
value fixed at run time; 2) the average fitness value of the
current generation reaches the lower limit value at run time;
3) the maximum variation of the average fitness value is lower
than the value defined at run time, for at least three successive
iterations. If none of these conditions is verified, the iterative
execution of the selection - reproduction - evaluation processes
gets started.
4) Selection: The selection process aims at selecting pop-
ulation elements that will be included in the Mating Pool, to
enable the reproduction phase. Two techniques are available
�
�
�
�
�
�
�
����������
�����
��
���
Fig. 4. Limited overlap among clashing services
for the selection process: trunking and tournement selection.
The former is a deterministic strategy that allows to select the
best k elements in a population, according to their GF values
(lower values correspond to better solutions); the latter puts k
elements, randomly selected from the current population, in a
competition. The winner element enters the Mating Pool. The
GF values are used for selection also in the second case.
5) Reproduction: In the present context, the reproduction
step is implemented by means of the following operations:
1) single point crossover: irrespective of the point at which
a chromosome is broken and re-combined to the other parent
chromosome, the children chromosomes will verify the condi-
tion of representing conflict-free solutions (specific checks are
provided to guarantee this property); 2) mutation: a specified
amount of the don’t care genes may be mutated, always
keeping the chromosomes as conflict-free; 3) elitism: the best
chromosome in the current population is chosen to replace
the worst element of the next generation; by this way, an
improving evolution is ensured, and subsequent populations
will never be worse than previous ones.
Once the new population has been generated, the iterative
process starts again, from the fitness definition and evaluation
step.
C. Application of Linear Programming
The GA poses some limitations to the solution of the
optimisation problem, that may be overcome by means of a
subsequent LP step. As a matter of fact, due to the mapping
strategy applied, the GA may only select one out of two
conflicting services, without taking into account the amount
of their overlap. The GA is not able to select the partial
scheduling of one or both the passes, even when they feature
a very small overlap, as shown in Fig. 4.
Let us define a conflict set as the set of services that
are clashing with the service considered; a conflict domain
is an uninterrupted sequence of clashing services, so that
each service in the sequence is clashing at least with another
service, in the same sequence. Let real variables x1, x2, . . . , xn
represent the contact times between n satellites and the same
antenna. The application of LP is possible if the variables
belong to the same conflict domain. We aim at maximising the
objective function z = f(x1, x2, . . . , xn), in order to maximise
the antenna contact times, i.e. we have to solve for max
z = c1x1+c2x2+. . .+cnxn, where the constraining conditions
�
�
�
�����
����������
���
���
���� ����������� ����
���� ����������� ����
���� ���������� ���� ����������
����
����
����
����
�����
Fig. 5. a) Constraints definition, b) Service time duration
on each service xi are generated at run-time, according to
the configuration of the conflict domain. For the example
shown in Fig.s 5 a) and b), we have to solve for max
z = c1x1 + c2x2 + c3x3 + c4x4, where {x1 . . . x4} represent
the contact times allocated to satellites {1 . . . 4} respectively,
and the following constraints hold:
x1 + x2 ≤ SStopT2 − SStartT1
x1 + x2 + x3 ≤ SSTopT3 − SStartT1
x1 + x2 + x4 ≤ SStopT4 − SStartT1
x2 + x3 ≤ SStopT3 − SStartT2
x2 + x4 ≤ SStopT4 − SStartT2
x3 + x4 ≤ SStopT4 − SStartT3
further: x1 ≤ ∆t1, x2 ≤ ∆t2, x3 ≤ ∆t3, x4 ≤ ∆t4.
SStartTn and SStopTn represent the service start time and
stop time, respectively; ∆ti is the i − th service duration.
By resorting to the application of the simplex algorithm it is
possible to solve also very complicated clashing conditions.
D. Setting the weighting coefficients of the multi-objective
fitness function
The weighting coefficients applied to maximise the multi-
objective fitness function are provided by the GA to the LP
process. Such coefficients are run-time computed on the basis
of the whole global planning period, despite the local scale of
the LP optimisation. The LP process deals with the solution
proposed by the GA step: if no conflicts are present, the
LP process accepts the GA output as a valid one. On the
other hand, if the GA outputs a conflicting solution, the LP
process sets multiplicative factors to increment the weighting
coefficients of the services that have been scheduled by the
GA step, within the clashing event. According to this strategy,
even if the inclusion of such services into the final schedule
is not ensured, such services will be somehow ”favoured” by
the allocation of higher weighting coefficients, during the LP
optimisation process. A further recursive optimisation routine
is executed, if the time assigned by the LP process to a
given contact is less than the minimum one set during the
�
�
�
�
�
����������������
������������������������
Fig. 6. Short portion of the schedule generated by the planning tool on theMatera 2 antenna
planning tool configuration. In such a case, the whole service
is discarded from the conflict domain, and the LP optimisation
is repeated on the reduced domain.
IV. SIMULATIONS AND RESULTS
To test the effectiveness of the proposed approach, a soft-
ware tool has been developed from scratch, by the design of
a Java class library that implements the planning engine and
exposes a Graphical User Interface (GUI) for process manage-
ment. First, a real case scenario has been evaluated, referred
to the National Multimission Center - Matera Ground Station
(Italy). Then, a highly conflicting condition is simulated for
the BTS-2 antenna at Fucino Space Center (Italy).
A. Multimission Scenario at Matera Ground Station
Table I shows a subset of the Matera operational context;
for the purpose of testing the proposed planning optimisation
tool, let us focus on the Matera 2 antenna, that may experience
a number of potentially clashing services. By applying the
planning tool on a schedule of one week duration, a list
of services is obtained. Some of the services are totally or
partially scheduled, others are not scheduled at all. Fig. 6
shows a very short portion of the schedule obtained.
After the schedule has been generated, the planning op-
timisation tool is applied. Let us analyse the behavior of the
planning optimisation tool with respect to the clashing services
Oceansat 2 and Envisat. The conflict is solved by allocating
the Envisat service, and totally excluding the Oceansat 2
one, at a parity of their priority. The GA step selects the
Envisat pass as the winning one, based on the GA parameters
configured before running the planning tool, as reported in
Table II. The winning service is then passed to the LP step
for the subsequent optimisation. The remaining contact time,
that could be allocated to the Oceansat 2 service, is actually
too short and does not comply with the requirement on the
minimum contact time of 6 minutes, that’s why the Oceansat
2 service is not scheduled at all.
Terra and Envisat services are also clashing on the Matera
2 antenna. In this case, the Envisat service has higher priority
than the Terra one, and their overlap time interval is very
short. The planning optimisation tool assigns the resource to
the Envisat service (based on its priority). However, because
the remaining contact time is enough for the Terra service (i.e.
it is greater than 6 minutes), the latter is partially scheduled.
This result is enabled by the application of the LP step, that
avoids service denial when it is possible to save enough contact
time from an original clashing condition.
TABLE IMATERA MULTIMISSION CENTER RESOURCES ALLOCATION (SUBSET)
Antenna Mission Satellite Priority
Matera 2 Aqua Aqua 3
Oceansat 2 Oceansat 2 1
Envisat Envisat 1
SAC-D SAC-D 4
Terra Terra 2
Kiruna 1 Envisat Envisat 1
Cosmo Skymed Cosmo Skymed 1 1
Cosmo Skymed Cosmo Skymed 2 1
Cosmo Skymed Cosmo Skymed 3 1
Cosmo Skymed Cosmo Skymed 4 1
Svalbard 3 Envisat Envisat 1
TABLE IIGA AND LP PARAMETERS CONFIGURATION IN Matera 2 ANTENNA
PLANNING OPTIMISATION
Parameter Configuration
Selection Mode Truncation
Cut off value: 50
Stopping Conditions Max # generations: 100
Min Fitness Threshold: 1.0E − 4
Max Fitness Variation: 1.0E − 4
Sorting Mode Global Fitness
Global Fitness wC = 1, wP = 1
Polynomial Weights wG = 10
Population Size # chromosomes: 4000
Contact Period Minimum Time: 6 min
B. Simulated conflicting condition at Fucino Space Center
In a second set of simulations, we test the performance
of the proposed optimised planner in a highly conflicting
scenario. The BTS-2 antenna at the Fucino Space Center is
at present devoted to support the GIOVE-B satellite only, but
it is expected that in the near future the same antenna will
also support the PRISMA mission. As a consequence, it is of
interest to simulate what would happen in case a number of
different clashing services need to be supported by BTS-2.
The switch time of the antenna is 300 s, its related cost
parameter is wC = 1, and we assume the antenna is the
only active one. We also assume that there are eight satellites
requesting support from BTS-2 (the same of Table I, with
the exception of Envisat). The planning tool is applied on a
schedule of 5 days, and a list of services is generated, some of
which are scheduled or partially scheduled, while others are
not scheduled at all. The generated list of services is shown
in Fig. 7. Following the schedule generation, the optimisation
process is applied. The parameters requested by the GA are
set according to Table II, with the exception of the maximum
number of generations that is limited to 50. It is also requested
that all the non-conflicting passes are included in the schedule.
Looking at clashing satellites Cosmo Skymed 1 and SAC-D,
thanks to the different priorities they feature, the optimisation
�
�
�
�
Fig. 7. The 5-days schedule generated by the planning tool on the BTS-2 antenna, for the eight clashing services simulated
Fig. 8. Optimised 5-days Gantt schedule on the BTS-2 antenna
tool is able to allocate all the passes available to Cosmo
Skymed 1. For the SAC-D satellite, some of the passes
result to be partially scheduled: this is obtained thanks to
the LP optimisation step, that is able to recover some contact
opportunities (that otherwise would have been denied), when
their remaining time is longer than the minimum contact time
requested of 6 minutes. The final schedule shows how all the
requirements have been satisfied, thanks to the optimisation
tool. No clashing services are now present, as confirmed by
the Gantt diagram in Fig. 8.
V. CONCLUSION
The manuscript presented a multi-algorithm planning ap-
proach to support the automatic allocation of contact oppor-
tunities among a set of ground stations and a set of satellites,
with the aim of providing the most efficient configurations,
in terms of contact time maximisation and compliance to
the requirements. The results obtained in real and simulated
operational contexts are strongly encouraging. The proposed
algorithm assesses complex situations in a very rapid manner,
and gives an optimal (or near optimal) solution, by supplying a
strongly fitted schedule that provides maximisation of revenues
(when the satellite contacts are sold to third parties), optimal
handling of antenna duty cycle, and assessment of Ground
Station location (during the design phase). The planning capa-
bility herein described is of great interest either for operational
and design purposes, and it is expected to have a significant
impact on practical adoption.
REFERENCES
[1] S. Damiani, H. Dreihahn, J. Noll, M. Niezette, and G. P. Calzo-lari, ”A Planning and Scheduling System to Allocate ESA GroundStation Network Services,” Proc. of The International Conference onAutomated Planning and Scheduling, Providence, Rhode Island, USA,September 22nd - 26th, 2007, available at http://abotea.rsise.anu.edu.au/satellite-events-icaps07/demos/4/ddnnc.pdf.
[2] Chien, S., Lam, R., Quoc V., ”Resource scheduling for a network ofcommunications antennas,” Proc. of the IEEE Aerospace Conference, BigSky (MT, USA), 1 - 8 Feb. 1997, Vol. 1, pp. 361 - 373.
[3] Chien, S., Govindjee, A., Estlin, T., Wang, X., Hill, R., ”Automatedgeneration of tracking plans for a network of communications antennas,”Proc. of the IEEE Aerospace Conference, Big Sky (MT, USA), 1 - 8 Feb.1997, Vol. 1, pp. 343 - 359.
[4] Whitley, L.D., Howe, A.E., Barbulescu, L., Watson, J.P., ”SchedulingSpace Ground Communications for the Air Force Satellite ControlNetwork,” Journal of Scheduling, Vol.7, pp. 7 - 34, 2004.
[5] C.H. Lee, K.-M. Cheung, ”Mixed integer programming & heuristicscheduling for space communication networks,” Proc. of IEEE 2012Aerospace Conference, 2012 IEEE, pp. 1 - 10.
[6] J. H. Holland, (1975), Adaptation in Natural and Artificial Systems,University of Michigan Press, Ann Arbor.
[7] J. Li, J. Bai, J.-P. Liu, P.-J. Yu, ”The TT&C Task Planning AlgorithmBased on Multi-satellite,” Proc. of 2010 International Conference onArtificial Intelligence and Computational Intelligence (AICI), 23rd-24th
Oct. 2010, Vol. 3, pp. 556 - 559.[8] T.P. Bagchi, ”Near Optimal Ground Support in Multi-Spacecraft Mis-
sions: A GA Model and its Results,” IEEE Transactions on Aerospaceand Electronic Systems, Vol. 45, Issue. 3, 2009, pp. 950 - 964.
[9] See http://www.telespazio.it/.