The formulation of the problem and its objectives used in this paper are taken from Xhafa et al. (2013), Xhafa and Ip (2019), along with the benchmark problems. The benchmark problems are of 3 different sizes. The small instance size (I_S) consists of 5 ground stations and 10 spacecraft, the medium instance size (I_M) consists of 10 ground stations and 15 spacecraft, while the large instance size (I_L) has 15 ground stations and 20 spacecraft. All of the instance sizes include a schedule of 10 days. In this section, we give some basic definitions and notation of the problem along with the mathematical formulation of the objective functions taken into account in the problem.
Basic definitions
The GSS focuses on scheduling station resources for communications between spacecraft (satellites) and ground stations that are feasible and follow different constraints. Since problems are usually large and with a lot of constraints, computing the exact solution is very computationally demanding.
The parameters and decision variables of the model are described in Tables 1 and 2.
Table 2 Decision variables Optimization objectives
Access window objective function
Due to the nature of the optimization problem, communication between spacecraft and ground stations is not always possible. Spacecrafts can communicate with ground stations only during specified time periods called visibility or access window. The goal of the access window objective function is to maximize the duration of communication between spacecraft and visible ground stations (see Fig. 1a). Let \(AW_{s,g}\) be the union of all the periods where spacecraft s can establish communication with ground station g. This equation is thus defined for \(\forall g \in G, s \in S\).
$$\begin{aligned} AW_{s,g}=\bigcup \limits _{h=1}^{H} {[}T_{AOS}(tw_{sg}^h),T_{LOS}(tw_{sg}^h)] \end{aligned}$$
(1)
New indicator function can be defined that will output value 1 if desired communication window \(n_{sg}^{m}\) from a generated schedule falls inside a range of visibility windows and 0 otherwise. This function is defined for \(\forall g \in G, s \in S, m \in M\).
$$\begin{aligned} \begin{aligned} f_{AW}(n_{sg}^{m}) = {\left\{ \begin{array}{ll} 1 \text { if } [T_{start}(n_{sg}^{m}), T_{start}(n_{sg}^{m})+ T_{dur}(n_{sg}^{m})]\subseteq AW_{s,g}\\ 0 \text { else} \end{array}\right. } \end{aligned} \end{aligned}$$
(2)
Access window objective function is thus defined as the normalized number of valid communication windows between pairs of ground stations and spacecraft if communication is physically possible.
$$\begin{aligned} Fit_{AW} = \frac{\sum _{m=1}^{M} \sum _{g=1}^{G} \sum _{s=1}^{S} f_{AW}(n_{sg}^{m})*100}{N} \end{aligned}$$
(3)
Communication clash objective function
Schedule constructed to solve a concrete problem might contain periods where multiple spacecraft are simultaneously trying to communicate with the same ground station making this schedule unfeasible. Certain schedules might, therefore, produce clashes that need to be considered by the communication clash objective function. To detect clashes between events, they are first divided into multiple groups corresponding to the ground station they are trying to communicate with and then sorted by the starting times. A check is then made that determines if the current event clashes with the event that starts just before it.
Let from \(n_{sg}^{m}\) create the sets \(\forall s: n_g^l \in N\) where \(l \in L \subset N\) is the index of the \({m}^{th}\) event of a specific g to all the s, after its events are sorted in ascending order for a fixed g and \(\forall s\) according to their \(T_{start}(n_{sg}^m)\) (see Fig. 1b for details).
$$\begin{aligned} \begin{aligned} f_{CS}(n_g^l) = {\left\{ \begin{array}{ll} -1 \text { if } T_{start}(n_{s}^{l+1}) <T_{start}(n_{s}^{l}) + T_{dur}(n_{s}^{l} )\\ 0 \text { else} \end{array}\right. } \end{aligned} \end{aligned}$$
(4)
The total communication clash objective is normalized values of windows where no clash was detected.
$$\begin{aligned} Fit_{CS} = \frac{N + \sum _{g=1}^{G} \sum _{l=1}^{L} f_{CS}(n_{g}^l)*100}{N} \end{aligned}$$
(5)
Communication time requirement objective function
When communication between spacecraft and ground station is established, it must be open for a certain amount of time so all the data can be reliably transferred between them. The amount of time necessary for successful communication is given by \(T_{req}(k_s^d)\). This requirement is satisfied only if it takes place during \(T_{beg}(k_s^d)\) and \(T_{end}(k_s^d)\) as defined in the problem. The communication time requirement objective is thus equivalent to a percentage of requirements that are satisfied with a given schedule (details are presented in Fig. 1c). The first equation defines the intersection between a specific requirement \(k_s^d\) and event \(n_{sg}^{m}\) and is valid for \(\forall k \in K\) and \(\forall n \in N\):
$$\begin{aligned} f(k_s^d,n_{sg}^m) = \Vert [T_{start}(n_{sg}^m),T_{start}(n_{sg}^m)+ T_{dur}(n_{sg}^m)]\cap [T_{beg}(k_s^d),T_{end}(k_s^d)]\Vert \end{aligned}$$
(6)
For a single requirement to be satisfied the following indicator function is used that returns 0 or 1:
$$\begin{aligned} \begin{aligned} f_{TR}(k_s^d) = {\left\{ \begin{array}{ll} 1 \text { if } (\sum _{g=1}^{G} \sum _{m=1}^{M}f(k_s^d,n_{sg}^m)) \ge T_{req}(k_s^d) \\ 0 \text { else} \end{array}\right. } \end{aligned} \end{aligned}$$
(7)
The final objective function is computed by counting the number of satisfying requirements and is defined as:
$$\begin{aligned} Fit_{TR} = \frac{\sum _{s=1}^{S}\sum _{d=1}^{D}f_{TR}(k_s^d)}{K}*100 \end{aligned}$$
(8)
Ground station usage objective function
The number of the ground stations is usually smaller than the number of spacecraft that are trying to communicate with them. The goal of this objective is to maximize the usage of ground stations. The fitness value is thus equal to the utilization percentage of each ground station (presented in Fig. 1d). It is defined as:
$$\begin{aligned} Fit_{GU} = \frac{\Vert \bigcup _{m=1}^{M} \bigcup _{g=1}^{G} \bigcup _{s=1}^{S}[T_{start}(n_{sg}^{m}), T_{start}(n_{sg}^{m}) + T_{dur}(n_{sg}^{m})]\Vert }{\sum _{g=1}^{G}T_{total}(g)}*100 \end{aligned}$$
(9)
where \(T_{total}(g)\) is the total available time of a ground station, in this case, the number of days of the schedule.
Multi-objective vs single objective formulation
When dealing with multi-objective optimization problems, one seeks a set of alternative solutions that can be considered equally good for all the objectives and the objective vectors cannot be simultaneously improved. These solutions are known as the Pareto optimal solutions, that are a set of trade-off optimal solutions (Deb 2014). From a practical point of view, once these alternatives are found, the final solution is then chosen by the decision-maker according to his/her preferences. When these preferences are known in advance, the different objectives can be artificially aggregated into one single objective, most commonly by the use of some weighted-sum function. In this case, a single objective optimization problem is formulated, allowing the use of common optimizers to find a solution and one final solution is found. This approach has the advantages of being usually computationally less expensive and faster, while also simplifying the communication with the decision-maker. On the other hand, if the solution found is not accepted, due to numerous reasons such as the use of inefficient weights, the wrong formulation of the problem due to lack of information prior to the optimization, the optimizer should be run again from the beginning (Fonseca and Fleming 1995). Moreover, weighted-sum methods might work well in convex Pareto-fronts, but when the front is concave there may exist solutions that cannot be reached with this method (Fonseca and Fleming 1995).
In our specific problem, the form of the Pareto-front is not known, therefore weighted-sum method might not always work. In addition, giving more alternative schedules to the operators is a great advantage, as often the communication requirements might change. Regarding the specific problem with the four objectives described in this section, the multi-objective formulation is as follows
$$\begin{aligned} \text {maximize } F(x) = [Fit_{AW}(x), Fit_{CS}(x), Fit_{TR}(x),Fit_{GU}(x)]^{T} \end{aligned}$$
(10)
where x is a vector of the decision variables, as defined above. The 4 objectives are optimized simultaneously, providing a solution of a Pareto-front.
The weighted-sum function is formulated as follows:
$$\begin{aligned} Fit_{Total}(x) = w_{AW} * Fit_{AW}(x) + w_{TR} * Fit_{TR}(x) + w_{CS} * Fit_{CS}(x) + w_{GU} * Fit_{GU}(x) \end{aligned}$$
(11)
The 4 objectives are aggregated in one, by the use of specific weights, providing one single solution after the optimization. In the reference paper (Xhafa et al. 2013) the following weights were used:
$$\begin{aligned} Fit_{Total}(x) = 1.5 * Fit_{AW}(x) + Fit_{TR}(x) + 0.1 * Fit_{CS}(x) + 0.01 * Fit_{GU}(x) \end{aligned}$$
(12)
The same weights are used in the implementation of the weighted-sum approach of this paper.