Keywords

1 Introduction

Scheduling with window times is a large family of problems that arise in logistics, in airport aircraft maintenance process, schedules for bus-drivers, project planning, logistics, etc. (see e.g. [14]). These problems are usually classified as either fixed time task scheduling, when the window start time and length are a priory fixed, or variable task scheduling when the window start time and length are variable. Such scheduling problems have been also studied in the satellite mission-planning domain, where teams of ground stations are to communicate with spacecrafts. For instance, in scheduling earth observation activities [6] or satellite imagery tasks [7].

Most formulations of both fixed time scheduling and variable time scheduling have been shown NP-hard and thus their resolution is addressed through heuristic and meta-heuristic methods [810]. In this paper we present a local search algorithm, namely, a Hill Climbing algorithm, for solving the Ground Station Scheduling.

The rest of the paper is organized as follows. We introduce the problem definition in Sect. 2. The Hill Climbing algorithm and its instantiation for the problem is presented in Sect. 3. The experimental evaluation of the algorithm using STK-Satellite Toolkit is given in Sect. 4. We conclude the paper in Sect. 5 with some remarks.

2 Ground Station Scheduling

Ground Station Scheduling aims at finding an optimal planning of communications between spacecraft (SC) and operations teams of Ground Station (GS). In its general formulation one assumes that there are multi-ground stations to satisfy mission-planning allocations. In fact, even in its version of one ground station, this scheduling problem is a complex combinatorial optimization problem. We assume that there is one antennae associated with every ground station. The need for automatic planning software to assist the operations staff comes from the increasing complexity of space systems. The number of satellite missions keeps increasing and thus automated planning has a direct impact in reducing the operational costs of ground station teams.

The Ground Station Scheduling receives in input the information on spacecrafts, the information on ground stations, spacecraft usage requests (missions), and other constraints such as ground station visibility. It then should compute a schedule of the operations of the spacecrafts within the requested constraints. The output of the scheduling is a detailed planning of task allocations with start time and duration rime for the spacecraft and the ground stations. We resume in Tables 1 and 2 the input and output parameters of the scheduling problem.

Table 1 Input instance
Table 2 Output

Several objectives (fitness functions) can be defined for the problem, which is multi-objective in its general formulation. The most usual ones are: (a) time windows fitness; (b) clash fitness; (c) requirement time fitness and (d) ground station usage fitness. The formulae for these fitness functions are given through Eqs. (1)–(7):

  • Time windows fitness.

    $$ f(n) = \left\{ {\begin{array}{ll} {1,} &{\text{if}\;\left[ {T_{Start} (n),T_{Start} (n) + T_{Dur} (n)} \right]}\; { \subseteq \;AW\left( {n_{g} ,n_{i} } \right),} \\ {0,} & {{\text{otherwise}} .} \\ \end{array} } \right. $$
    (1)
    $$ Fit_{AW} = \frac{{\sum\nolimits_{n = 1}^{N} {f(n)} }}{N}*100, $$
    (2)
  • Communication clashes fitness.

    $$ f(n) = \left \{\begin{array}{ll} { - 1,} & {{\text{if}}\,T_{Start} (n + 1) < T_{Start} (n) + T_{Dur} (n)} \\ 0 & {\text{otherwise}}. \\ \end{array}\ \right. $$
    (3)
    $$ Fit_{CS} = \frac{{N + \sum\nolimits_{n = 1}^{N} {f(n)} }}{N} $$
    (4)
  • Communication time requirement fitness.

    $$ \begin{array}{ll} T_{Start} \left( m \right) > T_{From} (k) \hfill \\ T_{Start} \left( n \right) + T_{Dur} (n) < T_{TO} (k) \hfill \\ T_{Comm} (k) = T_{Dur} (j) \hfill \\ \end{array} $$
    (5)
    $$ f(k) = \left\{ {\begin{array}{ll} 1, & {{\text{if}}\;T_{Comm} (k) \ge T_{REQ} (k),} \\ 0 & {{\text{otherwise}}.} \\ \end{array} } \right. $$
    $$ FIT_{TR} = \frac{{\sum\nolimits_{k = 1}^{K} {f(k)} }}{N} \cdot 100. $$
    (6)
  • Resource usage fitness.

    $$ Fit_{GU} = \frac{{\sum\nolimits_{n = 1}^{N} {T_{Dur} (n)} }}{{\sum\nolimits_{g = 1}^{G} {T_{Total} (g)} }} \cdot 100. $$
    (7)

These fitness functions can then be sought into one single fitness function by assigning weights (or priorities) to the particular fitness.

3 Hill Climbing Algorithm

We present first a template of Hill Climbing algorithm and then its instantiation for the Ground Station Scheduling.

3.1 Instantiation of HC for Ground Station Scheduling

Hill Climbing (HC) algorithm is a basic local search algorithm (see Algorithm 1). Starting from an initial solution, the algorithm constructs a path of solutions through the search space aiming to reach the optimal solutions. The move from one solution to another one is done through the definition of neighborhood, which defines the condition under which two solutions are considered neighbors. The algorithm then jumps from one solution to a neighboring solution that improve—in terms of fitness—the best so far solution, until no further improvements. The acceptability criteria thus define the convergence of the algorithm and in most cases HC ends up to a local optimal solution.

3.2 Instantiation of HC for Ground Station Scheduling

Solution representation. We first note that a solution to the problem has been defined as follows:

$$ \mathop {{\text{Planning}}:}\limits_{{\left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {SC[1]} & {Tstart} & {Tdur} \\ \end{array} } \\ {\begin{array}{*{20}c} {SC[2]} & {Tstart} & {Tdur} \\ \end{array} } \\ {\begin{array}{*{20}c} { \vdots \quad \vdots \quad \vdots } \\ {\begin{array}{*{20}c} {SC[i]} & {Tstart} & {Tdur} \\ \end{array} } \\ \end{array} } \\ \end{array} } \right]}} \quad \mathop {{\text{Resources}}:}\limits_{{\left[ {\begin{array}{*{20}c} {SC[1]} & {GS[g1]} \\ {SC[2]} & {GS[g2]} \\ {\begin{array}{*{20}c} \vdots \\ {SC[i]} \\ \end{array} } & {\begin{array}{*{20}c} \vdots \\ {GS[gi]} \\ \end{array} } \\ \end{array} } \right]}} $$

where SC[i] indicate the spacecrafts and GS[k] represent the Ground Stations.

Initial Solution. The initial solution (starting point of the exploration process) is computed by some ad hoc method (see [10] for details).

Neighborhood definition. The neighborhood of a solution is defined by a local perturbation of a given solution, that is, a small change to its combinatorial structure, leading to another similar yet different solution to the problem. The premise is that small changes could lead to improvements of best so far solution. The definition of a local movement defines the neighborhood as follows:

$$ Movement\;m:\{ s':s' = s{ \rightarrow \text{m,}}\;{\text{s,}}\;{{{\text s}'}} \in {\text{S}}\} $$

where s is the current solution and s’ the new solution obtained by applying a local change to s. For the coding of movement, use two structures scheduleRow and resourceRow, containing the local modification, which corresponds to the position and the modified values in the solution.

Acceptability. In moving from one solution to another one, the acceptability criteria is that of steepest ascent policy, that is, a solution that yields improvement in fitness function.

4 Experimental Evaluation of the Hill Climbing Algorithm

In this section we present the evaluation of the Hill Climbing algorithm for the Ground Station Scheduling. We present first the set of instances used and then the computational results.

4.1 Problem Instances

We have used the STK—Satellite Toolkit for simulating various scenarios for evaluating the performance of HC algorithm for the problem (Tables 3, 4 and 5). A total of 48 instances,Footnote 1 classified into small, medium and large size, have been generated. Their characteristics are as follows:

Table 3 Small size instances
Table 4 Medium size instances
Table 5 Large size instances

4.2 Computational Results

Results below are averaged over 10 independent runs; standard deviation is also given.

Small size instances. The HC algorithm performed a total of 10000 evolution steps (Table 6).

Table 6 Fitness values for small size instances

Medium size instances. The HC algorithm performed a total of 15000 evolution steps (Table 7).

Table 7 Fitness values for small size instances

Large size instances. The HC algorithm performed a total of 25000 evolution steps (Table 8).

Table 8 Fitness values for small size instances

5 Conclusions

In this paper we have presented a Hill Climbing algorithm for the Ground Station Scheduling problem. The problem arises in mission planning of communications of teams of ground stations with spacecrafts and is know for its high complexity. The Hill Climbing algorithm showed a good performance for small size instances but shows its limitations to solving mediums and especially large size instances, for which the algorithms most potently got stuck into local maximum solutions. Its advantage however is the fast execution times, which makes the algorithm an interesting resolution method when a large number of mission planning have to be computed in short times.