Earth-observing satellites (EOS) are specially designed for the observation of activities or areas on the Earth’s surface, and play an increasingly important role in resource explorations, disaster alerts, environmental damage analysis, and many other imaging demands (Liu et al., 2017). An EOS can photograph the target with a variety of equipped resources, such as sensors or cameras. Each resource has a limited observation region on the Earth’s surface that is formed by the subpoint of the satellite’s resource and the field of view. The observation activity can be controlled by the swing angle and the rotation angle of the resource (Habet et al., 2010; Liu et al., 2014). Clearly, it is only possible for the resource to accomplish the observation if the target is visible to it (Mao et al., 2012).
During the observation process, every target has to be observed for a specified duration that depends on the resource, which can be calculated from the orbiting speed of the satellite and the scanning speed of the resource (Niu et al., 2015). The observation operation must be continuously and completely executed within a time window during which the target is visible to the satellite (Yao et al., 2010). For each mission, there may exist multiple feasible observation windows per resource. Furthermore, some additional constraints may need to be taken into account, such as operational constraints of satellites, energy capacity restrictions, resource availability, or requirements of special resource types. Additionally, the swing angle and rotation angle of the resource must be set to point at the target. Thus, a setup time between two consecutive successful observations has to be considered to adjust the orientation of the resource (Mao et al., 2012). While the number of EOS is continuously increasing, so is the number of observation requests. Therefore, given the cost of operating satellites, it is reasonable to assume that the capacity of satellites to satisfy customer demands for observation missions is a scarce resource (Wu et al., 2012), and that it may not be possible to satisfy all mission demands during a given observation period. Thus, the development of effective scheduling approaches is pertinent, such as the approach we discuss in the following.
In the following, we address the multi-satellite scheduling problem with limited observation capacities. In comparison to related work, we make four primary contributions. (1) We analyze the capacity of the resources and the distribution of visible time windows of missions. (2) We introduce and define conflict indicators of available visible time windows of missions. (3) We derive further constraints from a careful analysis of the interdependency of time intervals that are eligible for observations. (4) Finally, we formulate the problem as a mixed integer linear programming model. Our computational results indicate the effectiveness and efficiency of the proposed method.
The remainder of this paper is organized as follows. We first review the related work and the state-of-the-art in multi-satellite scheduling in Section 2. By defining the conflict indicator of all available visible time windows of missions and by analyzing the capability of all feasible time intervals of resources, we formulate an exact mixed-integer linear program (MILP) in Section 3. Simulation results and a performance analysis on a series of benchmark problem instances are given in Section 4. Finally, a summary and our conclusions are provided in Section 5.
2 Related Work
Given the complexity of the issue, a large portion of previous works is concerned with single satellite scheduling and address the efficient performance by providing an optimal solution and an upper bound. A common set of benchmark instances (S5-DPSP) of the satellite SPOT5 scheduling problem is proposed by Bensana et al. (1999). Based on this data, a weighted acyclic digraph model is formulated by Gabrel & Vanderpooten (2002), and solved with a label-setting shortest path algorithm. Alternatively, formulations as generalized knapsack problems can be solved with a tabu search algorithm (Vasquez & Hao, 2001)
or a genetic algorithm(Mansour & Dessouky, 2010). Two 0-1 linear programming models are considered by Gabrel (2006). Based on the valid inequalities that arise from node packing and the 3-regular independence system polyhedra, a strengthened formulation for the SPOT5 daily photograph scheduling is presented by Ribeiro et al. (2010). However, the benchmark instances are provided without consideration of the constraints that are imposed by a limited observation time of the target.
Wolfe & Sorensen (2000)
propose a greedy algorithm and a genetic algorithm based on the assumption that there are only one resource and one observation window for every mission. A single-satellite single-orbit scheduling problem is addressed with a tabu search heuristic in(Cordeau & Laporte, 2005), an adaptive meta-heuristic in Liu et al. (2017), and a 0/1 linear programming model in (Sun et al., 2010). Another 0/1 model based on preprocessing the observation segments is discussed by Jang et al. (2013). The problem of maximizing the total amount of downloaded data is addressed with a mixed-integer programming model and an iterative algorithm (Spangelo et al., 2015). There are also several publications that treat the single satellite scheduling as a machine scheduling problem with constraints of operating time windows. The problem is then solved by a heuristic (Barbulescu et al., 2004; Lin et al., 2005; Cheng et al., 2008; Tangpattanakul et al., 2015). By considering the setup time between two consecutive observations, Lemaître et al. (2002) introduce the selecting and scheduling problem for an agile Earth observation satellite. Dilkina & Havens (2005) take the limited time window and transition time constraints into account.
In comparison to the single satellite scheduling problem, the use of multiple satellites gives more flexibility and is thus more challenging (Spangelo et al., 2015). Wu et al. (2013); Zhang et al. (2014); Xiong et al. (2016) use graph representations to formulate the problem, for which dynamic programming and ant colony optimization algorithms are proposed to produce a near-optimal solution. To this end, simple sequential missions with conflicts can easily be represented as graphs. However, if the problem involves multiple satellites, the visibility fields of different resources may overlap. Furthermore, several targets may be in the field of view of the same resource simultaneously, and a target may be observed by more than one resource at the same time. Thus, the visible time windows are highly overlapping during the scheduling period, making the combinational characteristic of the problem more prominent. This ultimately renders the uniform modelling of the problem difficult (Yao et al., 2010).
In order to decrease the complexity of the problem and improve computational efficiency, the multi-satellite scheduling problem is often decomposed into the primary problem of mission assignment and the sub-problem of single satellite scheduling (Yao et al., 2010; Wu et al., 2012). However, since each mission can be observed by multiple resources and since visible time windows interact, the decomposition approach is likely to become trapped in a local optimum of low quality. As a result, a series of mission merging strategies are studied Xu et al. (2010); Wang et al. (2015), and the multi-satellite scheduling for dynamic emergency missions is investigated Niu et al. (2015); Wang et al. (2015, 2014). A multitude of different approaches have been investigated to address the problem, such as heuristics (e.g. greedy approaches (Bianchessi & Righini, 2008; Wang et al., 2011) or local searches (Bonissone et al., 2006)) and meta-heuristic algorithms (e.g. tabu searches (Habet et al., 2010; Vasquez & Hao, 2003; Bianchessi et al., 2007), genetic algorithms (Mao et al., 2012; Sun et al., 2010; Xhafa et al., 2012, 2013)2006; Salman et al., 2015), and simulated annealing algorithms (Yao et al., 2010; Xhafa et al., 2013)). While these optimization techniques show improvements towards obtaining the optimal or near-optimal solutions, they typically require extensive parameter tuning and cannot provide quality guarantees for the obtained solutions.
3 A Mixed Integer Linear Programming Model
3.1 Problem Description
In this section, we describe our mathematical programming model for the multi-satellite scheduling problem. We consider each mission as a point target that has to be observed continuously for a specified time by one of the resources of a satellite. An observation has to be carried out at a certain swing angle and a rotation angle of the resource. Therefore, a setup time between two consecutive observations of the same resource has to be taken into account. A mission requests a certain imaging type (visible, multispectral, infrared, or synthetic aperture radar), which must be provided by the corresponding resource. Of course, for modelling the problem, it is not necessary to know the location of the targets. We can determine beforehand at which times a target is visible to each resource and then schedule its observation accordingly. We first define the basic concepts that are used in the following.
Visible Time Window. A time interval during which the target is visible for the resource.
Observation Time Window. A time interval during which a given resource is assigned to a mission in the scheduling scheme.
Feasible Time Interval. A continuous time interval that is generated by the union of the overlapping visible time windows of a given resource.
Conflict Degree. The number of candidate missions that can be assigned to the same feasible time interval or subinterval.
The definitions are described in detail in Appendix A. Based on these concepts, we introduce the notation used in the following.
As the scheduling period, we denote the time interval during which observations can be scheduled, and write , where .
The set of missions is denoted as . Each such mission is specified by its earliest possible observation time , its latest possible observation time , and the requested duration of the observation. Therefore, to satisfy the mission, a subinterval of length has to be chosen in the time interval . Every mission has a positive weight measuring its importance (the larger , the more important the mission).
is the set of resources (cameras, sensors) available on the various satellites. The maximum possible usage time of the resource in the scheduling period is denoted as .
The availability of resources for missions (in the scheduling period) is specified by appropriate visible time windows. For every resource and every mission , there is a set of visible time windows during which the resource can be used continuously for the mission. By determining the union of all overlapping visible time windows on resource over the entire scheduling period, we can compute several disjoint feasible time intervals that can be assigned to missions. We denote them as where is the number of feasible time intervals of the resource . It is obvious that, for all , , , we have . Each time window is then given as .
For a mission , let be the set of resources that can be used for this mission. Let be the set of missions that a resource can service.
The resource observation status is illustrated in Fig. 2. If resource is used for observing mission , then this has to happen with a certain swing angle and a rotation angle . These angles are not constant but depend on the position of the resource and thus on the time at which the observation for starts within one of its feasible time windows. There are existing functions for computing these angles, which we denote as and , respectively. A schematic overview of the functions is depicted in Fig. 2. Here, the elevation angle EL- and azimuth AZ- show angles and for a mission and the same resource , depending on the start time of the observation.
If two consecutive missions are to be carried out by the same resource, then a setup time has to be taken into account. The swing angle of resource can be changed by per second and, similarly, its rotation angle by per second. Furthermore, some time is needed for stabilizing the resource after the angles are adjusted. Angles cannot be adapted simultaneously, so if and are two consecutive missions for , then the time needed for changing to the correct position is
Of course, has to be satisfied.
We simplify the consideration of setup times by computing upper bounds. As we have and for some maximum angle depending on the resource, the maximum possible setup time between missions and for is .
3.3 Decision Variables
For every mission and every resource
, the binary variablespecifies whether one of the available visible time windows () is selected. We let if the visible time window is used. Otherwise, let . For every mission , we also have a continuous variable that denotes the starting time of its observation.
Assuming that the resources are limited and that not all missions can be carried out, our objective is to schedule either as many missions as possible, i.e.,
or to maximize the total weight of accomplished missions, i.e.,
In the following, let denote a large number depending on the scheduling period (i.e. it serves as the “Big-M” required for modelling logical implications).
It is unlikely that every mission can be carried out. Therefore, although one target can be observed by several resources, the profit of each target counts at most once. For every mission , we thus have
Maximum Usage Time
The total observation time in the scheduling period that can be scheduled for a resource is bounded by the given maximum observation time. So for every , we have the inequality
Feasibility of Observation Time
For each we have
If resource and time window for mission have been selected, then the observation activity has to be placed completely within this interval. This is modeled by the following constraints for all and every , :
A minimum transition time for achieving the correct position has to be considered between each pair of consecutive observation activities of the same resource. This situation is depicted in Fig. 3.
Thus, for all and any pair of observations , if both missions and have been assigned to be carried out by then either or has to hold.
For modelling this constraint, we introduce binary variables and , where () if and only if both and are carried out by and is observed after ( is observed after ). Since , the disjunction can then be expressed as
For a consistent setting of the new variables, we need
Motivated by the definitions of the feasible time interval and the conflict degree (also see Appendix A), we consider resource feasibility as a constraint. For a feasible time interval on , all effective feasible time subintervals are also considered according to the contention conflict degree. In fact, it is a continuous time subinterval within which the visible time windows are highly overlapping and not all of the corresponding candidate missions can be accomplished in . We calculate how many missions can at most be assigned to a subinterval , and denote them as . For each such effective feasible time subinterval , we have inequalities
The generation of the effective feasible time subinterval and the computation of the corresponding maximum assignment capacity are described in detail in Appendix B. All operations with respect to the resource feasibility are computed in preprocessing, and the computation results are regarded as constraints in modelling. Furthermore, these newly proposed formulations are a set of effective inequalities and produce a significant improvement in obtaining a tighter upper bound of instances.
For all , all , and all we have
3.6 Improved Constraints
A mission may have several disjoint visible time windows for each resource and the fraction of the time window that is needed for observation may be comparatively small. Fig. 4 illustrates the distribution of all feasible time intervals over time. We find that the availability distribution of resources is quite sparse over the entire scheduling period.
In the first model, the value of is always feasible for the entire scheduling period due to the introduction of as “Big-M”. Typically, for large values of , this is an obstacle for obtaining a good bound from the LP relaxation. Thus, we avoid the use of by defining new (continuous) variables that denote the starting time of mission if is selected. As bounds we then have and . Based on this deliberation, new constraints are introduced as follows.
If the resource and a corresponding visible time window for mission have been selected, then the observation has to be completely placed within this interval. For all and , , we thus have
For all resources and any pair of observations , if both missions and have been assigned to be carried out by , then we obtain tighter constraints for the respective starting times since either or . Here, we distinguish three cases.
For resource , if the candidate visible time windows and are potentially “ordered” and satisfy that (that is, if both of them are assigned, then mission will definitely be executed before mission ), we have
For resource , if the candidate visible time windows and are potentially “ordered” and satisfy that (that is, if both of them are assigned, then mission will definitely be executed before mission ), we have
Only if the candidate visible time windows and are overlapping we introduce binary variables and , where if is observed after and if is observed after (by ). Since , the disjunction can be expressed as
or equivalently as
For the consistent setting of the new binary variables we need
With the introduction of these variables, we do not have (serving as “Big-M”) anymore. Instead, additional 5-index variables are introduced for pairs of overlapping visible time windows. However, for real-world problem instances where there are many visible time windows for the missions, the number of additional variables is acceptable. We give a detailed analysis in subsection 4.2. The newly introduced constraints also help to reformulate the conflict segments pairs, hence decreasing the number of binary variables in the model (Jang et al., 2013), while simultaneously eliminating the “Big-M” in formulating the satellite range scheduling problem (Luo et al., 2017).
4 Computational Experiments
In the following, we describe our experiments on several test instances.
4.1 Test Instances
For analyzing the performance of our model, we generate several test instances. We use the current on-orbit environment and disaster monitoring satellites HJ-1A, HJ-1B, and HJ-1C, which can carry out large-scale, all-weather, and 24h dynamic monitoring for the ecological environment and disaster. The satellite HJ-1A is equipped with a CCD scanner and a hyperspectral imager, HJ-1B is equipped with a CCD scanner and an infrared scanner, and HJ-1C is equipped with an s-wave band synthetic aperture radar that has two working modes. The satellites HJ-1A and HJ-1B are located about 650km above the Earth’s surface in a sun-synchronous orbit with 14.737 orbits per day. The satellite HJ-1C is located about 500km above the Earth’s surface in a sun-synchronous orbit with 15.22 orbits per day. The resources on satellites HJ-1A and HJ-1B can observe the complete surface of the Earth in 2 days. Three types R, M, and C of spot target sets are generated with different resource conflict characteristics.
Targets are generated randomly and uniformly distributed over the entire land-area on Earth.
All targets are randomly generated in clusters over the entire land-area on Earth.
Targets with a high number of conflicts are generated manually and clustered over several regions on Earth.
The observation times for the missions are integers that are generated uniformly from the interval . If weights are taken into account, they are integers that are generated uniformly from .
Table 1 shows a summary of the generated test instances. The hypothetical start time of the scheduling period is 2016-06-01 06:00:00. The scheduling horizon is 24 or 48 hours. By combining different satellites and target sets, 37 problem instances are generated.
Further details on all instances are provided in Appendix C. By computing some characteristic numbers, we quantify the availability of resources and the complexity of instances. We calculate the maximum possible number of missions (rn) that can be assigned to a resource according to constraint (3.5). It is given as the sum of of feasible time intervals of the resource . Furthermore, we introduce the resource contention degree (conf), which reflects the limitation of each feasible time interval of resources, as well as the average conflict degree of missions, which is calculated as . Intuitively, it denotes how many missions can be assigned synchronously to a resource during the entire scheduling period, while indicates that there is no resource contention conflict. These two conflict indicators illustrate the potential complexity of the instance when assigning resources to missions.
In comparison to , rn decreases quickly for higher values of conf, indicating a more exact upper bound. Additionally, the potential assignment opportunity of missions denotes the flexibility in assigning a resource along with an observation time to a mission (including the average number of visible time windows of a mission (paon) and the average visible time of a mission (paot)). Here, it is obvious that even if two missions have the same total visible time duration, it is more difficult to assign the mission that has the higher number of visible time windows.
4.2 Comparison of Proposed Models
A summary of the decision variables used in the different formulations is shown in Table 2.
|MILP||Decision Variables||, all , and all|
|Introduced Variables||, all|
|Improved MILP||Decision Variables||, all , and all|
|Introduced Variables||, all|
|and are overlapped.|
Furthermore, we investigate the effect of the preprocessing step (i.e., the reduction of the size of the search space) and compare the proposed models over different instances (i.e., the number of variables and constraints of a model). The results are shown in detail in Table 3 and indicate an improvement of each phase in the overall performance of the proposed method.
In Table 3, denotes the number of missions that are scheduled during preprocessing. It is calculated based on the effective feasible time subinterval (see Appendix B). With mVC, mVB, and mC, we denote the number of continuous variables, the number of binary variables, and the number of constraints, respectively. The results show that the preprocessing is especially effective for instances with randomly distributed targets . In the MILP, the number of continuous variables equals the number of missions, and the number of binary variables exponentially increases with the number of missions, meaning that and . In contrast, for the improved MILP, the number of continuous variables equals the number of visible time windows, meaning that . Due to the linearization of the formulation, the binary variable is introduced only if the two candidate visible time windows are overlapping. Thus, compared to the MILP, the number of binary variables is smaller, especially for the instance of target sets (see Table 6), where .
4.3 Optimization Results
We test our model on all instances with Gurobi 6.5.1 on a 3.40GHz PC with 16GB RAM and 8 cores. The maximum run time is set to 6 hours. Both objective functions, i.e., maximizing the number of scheduled missions as well as maximizing the total weights of scheduled missions, are considered. The results are shown in Table 4 and Table 5, respectively. For each instance, we show the root upper bound, the final upper bound found by the Gurobi, and the value of the best solution found. If the running time is not exceeded, then the latter two are equal and represent the optimum value. The gap is computed as . The CPU time is shown if the optimum is found in less than 6 hours.
|Ins.||Objective: Maximize the total number of assigned missions|
|Produced by the MILP||Produced by the Improved MILP|
|Root/Final upper bound||Best Result||Gap||Run time(s)||Root/Final upper bound||Best Result||Gap||Run time(s)|
In Table 4, we see that in comparison to the results produced by the MILP, a larger number of optimal solutions can be obtained by the improved MILP. For most of the problem instances, the tightest upper bounds can be efficiently generated by the improved MILP. Optimal solutions are usually obtained in less than 1,000 s. Within 6 hours, solutions with a small optimality gap can be determined. The worst gap among all results is 2.49% for the improved model, whereas the worst generated gap among results produced by the MILP is 39.62%. The MILP also fails to obtain a feasible solution for instance R-11. In combination with Table 3, these findings indicate that the performance of the proposed models varies with the size of the instance. The advantages are similar to those obtained when maximizing the total weights of assigned missions shown in Table 5. Here, the worst gap produced by the improved MILP is 2.95%, while the worst gap produced by the MILP is 35.97%.
|Ins.||Objective: Maximize the total weight of assigned missions|
|Produced by the MILP||Produced by the Improved MILP|
|Root/Final upper bound||Best Result||Gap||Run time(s)||Root/Final upper bound||Best Result||Gap||Run time(s)|
These results can be improved further if we let Gurobi run for more than 6 hours. For example, for instance M-11, we can obtain the optimal solution with 205 assigned missions in 41,924 s, and a better solution with a total weight for assigned missions of 1340 in 35,523 s with a gap of 1.47%.
To directly compare instances, consider instances C-13 and M-13, which have the same available resources and the same number of missions for a scheduling horizon of 2 days. Both in the MILP and the improved MILP, the potential assignment opportunities paon and paot of missions for instance C-13 are higher than for instance M-13. This reflects that the improved model is more flexible in assigning a resource and an observation time to a mission. The size of the model scale of instance C-13 is slightly larger than that of instance M-13. Furthermore, for the improved MILP, the conflict indicator conf of instance C-13 is larger than that of instance M-13, meaning that the size of the model scale of the instance C-13 is much bigger than that of the instance M-13.
In Fig. 5, we show further details about the problems and the optimization process. For instances with different computational complexity and different contention conflict for resources, the first column of the graph shows the potential capacity of resources for providing an upper bound as well as the performance of the proposed model for providing an optimal solution. The red line illustrates the maximum accomplishment rate of missions and the green line shows the best results that Gurobi achieves. The following three columns on the right of Fig. 5 show the gap of the best solution obtained so far versus the runtime, and indicate that good upper bounds can be obtained fairly quickly.
In this paper, we addressed the problem of multi-satellite scheduling with limited observation capacities, which is one of the core problems to be solved for the effective utilization of the resources of satellite constellations. The key component of our approach is the detailed analysis of possible conflicts, which leads to stronger constraints in the MILP that significantly speed up the solution process. We find that the modelling of the problem with 5-index variables (thereby avoiding the standard “Big-M” approach) is more suitable for solving real-world instances in which most variables and constraints are not necessary for the model.
In summary, for maximizing both the total number or the total weight of assigned missions, our experiments assess the correctness and effectiveness of the proposed MILP on several classes of problem instances. Good feasible solutions are obtained very fast, while the computation of true optimum solutions is also possible. The model thus provides a solid basis for designing a decision support system for scheduling satellite resources with imaging and communication tasks.
We would like to thank the anonymous reviewers for their constructive, diligent, and detailed feedback that substantially improved the paper.
This work is supported by National Natural Science Foundation of China under Grant No.41571403, the 13th Five-year Pre-research Project of Civil Aerospace in China, Joint Funds of Equipment Pre-Research and Ministry of Education of China under Grant No.6141A02022320, and Fundamental Research Funds for the Central Universities under Grant No.CUG2017G01 and No.CUG160207.
- Barbulescu et al. (2004) Barbulescu, L., Watson, J. P., & Whitley, L. D. (2004). Scheduling space-ground communications for the Air Force satellite control network. Journal of Scheduling, 7, 7–34.
- Bensana et al. (1999) Bensana, E., Lemaître, M., & Verfaillie, G. (1999). Earth observation satellite management. Constraints, 4, 293–299.
- Bianchessi et al. (2007) Bianchessi, N., Cordeau, J. F., Desrosiers, J., Laporte, G., & Raymond, V. (2007). A heuristic for the multi-satellite, multi-orbit and multi-user management of Earth observation satellites. European Journal of Operational Research, 177, 750–762.
- Bianchessi & Righini (2008) Bianchessi, N., & Righini, G. (2008). Planning and scheduling algorithms for the cosmo-skymed constellation. Aerospace Science and Technology, 12, 535–544.
Bonissone et al. (2006)
Bonissone, P. P., Subbu, R.,
Eklund, N., & Kiehl, T. R.
Evolutionary algorithms + domain knowledge = real-world evolutionary computation.IEEE Transactions on Evolutionary Computation, 10, 256–280.
- Cheng et al. (2008) Cheng, T. C. E., Ng, C. T., & Yuan, J. J. (2008). Multi-agent scheduling on a single machine with max-form criteria. European Journal of Operational Research, 188, 603–609.
- Cordeau & Laporte (2005) Cordeau, J. F., & Laporte, G. (2005). Maximizing the value of an Earth observation satellite orbit. Journal of the Operational Research Society, 56, 962–968.
- Dilkina & Havens (2005) Dilkina, B., & Havens, B. (2005). Agile satellite scheduling via permutation search with constraint propagation. Technical Report Actenum Corporation.
Gabrel, V. (2006).
Strengthened 0-1 linear formulation for the daily
satellite mission planning.
Journal of Combinatorial Optimization, 11, 341–346.
- Gabrel & Vanderpooten (2002) Gabrel, V., & Vanderpooten, D. (2002). Enumeration and interactive selection of efficient paths in a multiple criteria graph for scheduling an Earth observing satellite. European Journal of Operational Research, 139, 533–542.
- Habet et al. (2010) Habet, D., Vasquez, M., & Vimont, Y. (2010). Bounding the optimum for the problem of scheduling the photographs of an agile Earth observing satellite. Computational Optimization and Applications, 47, 307–333.
- Jang et al. (2013) Jang, J., Choi, J., Bae, H. J., & Choi, I. C. (2013). Image collection planning for KOrea Multi-Purpose SATellite-2. European Journal of Operational Research, 230, 190–199.
- Lemaître et al. (2002) Lemaître, M., Verfaillie, G., Jouhaud, F., Lachiver, J., & Bataille, N. (2002). Selecting and scheduling observations of agile satellites. Aerospace Science and Technology, 6, 367–381.
- Lin et al. (2005) Lin, W., Liao, D., Liu, C., & Lee, Y. (2005). Daily imaging scheduling of an Earth observation satellite. IEEE Transactions on Systems, Man and Cybernetics, 35, 213–223.
- Liu et al. (2014) Liu, X., Bai, B., Chen, Y., & Yao, F. (2014). Multi satellites scheduling algorithm based on task merging mechanism. Applied Mathematics and Computation, 230, 687––700.
- Liu et al. (2017) Liu, X., Laporte, G., Chen, Y., & He, R. (2017). An adaptive large neighborhood search metaheuristic for agile satellite scheduling with time-dependent transition time. Computers & Operations Research, 86, 41–53.
- Luo et al. (2017) Luo, K., Wang, H., Li, Y., & Li, Q. (2017). High-performance technique for satellite range scheduling. Computers & Operations Research, 85, 12–21.
- Mansour & Dessouky (2010) Mansour, M. A. A., & Dessouky, M. M. (2010). A genetic algorithm approach for solving the daily photograph selection problem of the spot5 satellite. Computers & Industrial Engineering, 58, 509–520.
Mao et al. (2012)
Mao, T., Xu, Z., Hou, R.,
& Min, P. (2012).
Efficient satellite scheduling based on improved vector evaluated genetic algorithm.Journal of Networks, 7, 517–523.
- Niu et al. (2015) Niu, X., Tang, H., Wu, L., Deng, R., & Zhai, X. (2015). Imaging-duration embedded dynamic scheduling of Earth observation satellites for emergent events. Mathematical Problems in Engineering, 2015.
- Ribeiro et al. (2010) Ribeiro, G. M., Constantino, M. F., & Lorena, L. A. N. (2010). Strong formulation for the spot 5 daily photograph scheduling problem. Journal of Combinatorial Optimization, 20, 385–398.
- Salman et al. (2015) Salman, A. A., Ahmad, I., & Omran, M. G. H. (2015). A metaheuristic algorithm to solve satellite broadcast scheduling problem. Information Sciences, 322, 72–91.
- Spangelo et al. (2015) Spangelo, S., Cutler, J., Gilson, K., & Cohn, A. (2015). Optimization-based scheduling for the single-satellite, multi-ground station communication problem. Computers & Operations Research, 57, 1–16.
- Sun et al. (2010) Sun, B., Wang, W., Xie, X., & Qin, Q. (2010). Satellite mission scheduling based on genetic algorithm. Kybernetes, 39, 1255–1261.
- Tangpattanakul et al. (2015) Tangpattanakul, P., Nicolas, J., & Pierre, L. (2015). A multi-objective local search heuristic for scheduling Earth observations taken by an agile satellite. European Journal of Operational Research, 245, 542–554.
- Vasquez & Hao (2001) Vasquez, M., & Hao, J. K. (2001). A logic-constrained knapsack formulation and a tabu search algorithm for the daily photograph scheduling of an Earth observation satellite. Computational Optimization and Applications, 20, 137–157.
- Vasquez & Hao (2003) Vasquez, M., & Hao, J. K. (2003). Upper bounds for the SPOT 5 daily photograph scheduling problem. Journal of Combinatorial Optimization, 7, 87–103.
- Wang et al. (2015) Wang, J., Zhu, X., Yang, L. T., Zhu, J., & Ma, M. (2015). Towards dynamic real-time scheduling for multiple Earth observation satellites. Journal of Computer and System Sciences, 81, 110––124.
- Wang et al. (2014) Wang, M., Dai, G., & Vasile, M. (2014). Heuristic scheduling algorithm oriented dynamic tasks for imaging satellites. Mathematical Problems in Engineering, 2014.
- Wang et al. (2011) Wang, P., Reinelt, G., Gao, P., & Tan, Y. (2011). A model, a heuristic and a decision support system to solve the scheduling problem of an Earth observing satellite constellation. Computers & Industrial Engineering, 61, 322–335.
- Wolfe & Sorensen (2000) Wolfe, W. J., & Sorensen, S. E. (2000). Three scheduling algorithms applied to the Earth observing systems domain. Management Science, 46, 148–168.
- Wu et al. (2013) Wu, G., Liu, J., Ma, M., & Qiu, D. (2013). A two-phase scheduling method with the consideration of task clustering for Earth observing satellites. Computers & Operations Research, 40, 1884––1894.
- Wu et al. (2012) Wu, G., Ma, M., Zhu, J., & Qiu, D. (2012). Multi-satellite observation integrated scheduling method oriented to emergency tasks and common tasks. Journal of Systems Engineering and Electronics, 23, 723–733.
- Xhafa et al. (2013) Xhafa, F., Herrero, X., Barolli, A., Barolli, L., & Takizawa, M. (2013). Evaluation of struggle strategy in genetic algorithms for ground stations scheduling problem. Journal of Computer and System Sciences, 79, 1086–1100.
- Xhafa et al. (2012) Xhafa, F., Sun, J., & Barolli, A. (2012). Genetic algorithms for satellite scheduling problems. Mobile Information Systems, 8, 351–377.
- Xiong et al. (2016) Xiong, J., Leus, R., & Yang, Z. (2016). Evolutionary multi-objective resource allocation and scheduling in the Chinese navigation satellite system project. European Journal of Operational Research, 251, 662–675.
- Xu et al. (2010) Xu, Y., Xu, P., Wang, H., & Peng, Y. (2010). Clustering of imaging reconnaissance tasks based on clique partition. Operations Research and Management Science, 19, 143––149.
- Yao et al. (2010) Yao, F., Li, J., Bai, B., & He, R. (2010). Earth observation satellites scheduling based on decomposition optimization algorithm. International Journal of Image, Graphics and Signal Processing, 2, 10–18.
- Zhang et al. (2014) Zhang, Z., Zhang, N., & Feng, Z. (2014). Multi-satellite control resource scheduling based on ant colony optimization. Expert Systems with Applications, 41, 2816–2823.
Appendix A Generation of the Feasible Time Interval
If there is a free available time window, i.e., a sub-interval of a visible time window that does not overlap with any other windows, we assign it to the corresponding mission in the preprocessing step. The remaining visible time windows of the assigned mission are ignored. Therefore, all visible time windows that remain in the model are thus overlapping with at least one other visible time window. By combining all the overlapping visible time windows of missions on the same resource, the feasible time interval is generated accordingly. The distributions of visible time windows and feasible time intervals are visualized in Fig. 6.
Every resource has several disjoint feasible time intervals, each consisting of pieces with a different number of overlapping visible time windows (the conflict degree). Fig. 7 depicts the distribution of the conflict degree for the segments over the feasible time intervals. Different colors denote the different conflict degrees of segments.
Appendix B Calculation of Effective Feasible Time Subinterval
Since we have knowledge of all corresponding missions that can be assigned to , we can calculate the value of each . If all missions have the same observation duration time D, then it can be computed as . Otherwise, we iteratively assign a mission with the shortest observation duration time by taking the setup time constraint into account until it exceeds the capacity of to obtain the value of .
The generation of the effective feasible time subinterval is handled as follows:
Since the value of has already been calculated, we can perform partial assignments in a preprocessing phase. We remove the time-piece with the lowest conflict degree such that the number of the corresponding missions on is less than or equal to . All corresponding missions for this interval can be assigned directly, and the search space is decreased (see Fig. 8 (a)). We denote the remaining time subintervals as effective feasible time subinterval.
Considering the distribution of conflict degrees for feasible time intervals, we include more effective feasible time subintervals and corresponding inequalities. To this end, we propose three operations. We iteratively “remove” a time-piece and its corresponding visible time windows according to the earliest start time, the latest end time, and the time that corresponds to the largest interval between the earliest start time and the latest end time separately (see Fig. 8 b, c, and d).
Appendix C Instance Analysis
In Table 6, we show the complexity of instances and the importance of each resource based on the utilization in different types of instances with differing conflict degree and distribution. In Table 6, denotes the maximum setup time of the resource, and is the total number of visible time windows available for each resource. The total visible time is the total visibility time over all visible time windows for a resource. The feasible observation time is the total time over feasible time intervals for a resource that can be assigned to missions (Due to the overlaps between visible time windows for the same resource, it is different from the total visible time. Instead, it corresponds to the union of the overlapping visible time windows of a resource).