Computers and Operations Research 85 (2017) 12–21
Contents lists available at ScienceDirect
Computers and Operations Research journal homepage: www.elsevier.com/locate/cor
High-performance technique for satellite range scheduling Kaiping Luo a,∗, Haihong Wang b,c, Yijun Li c, Qiang Li b a
School of Economics and Management, Beihang University, Beijing 100191, PR China Beijing Institute of Tracking and Telecommunication Technology, Beijing, 100094, PR China c School of Management, Harbin Institute of Technology, Harbin 150001, PR China b
a r t i c l e
i n f o
Article history: Received 4 September 2015 Revised 2 March 2017 Accepted 27 March 2017 Available online 29 March 2017 Keywords: Optimization Satellite range scheduling Conflict resolution Bounding
a b s t r a c t As the number of daily satellite service requests increases, the satellite range scheduling problem becomes more intractable during the ground station operations management. The NP-complete problem involves scheduling satellite requests to ground station antennas within their time windows so that the profit from the scheduled requests is maximized. This paper analyzes various conflicts between satellite requests and then develops a conflict-resolution technique. The technique first builds an elite initial schedule using a prescheduling strategy and then improves the initial schedule using a rescheduling strategy in a subspace of feasible solutions. The main highlight of the technique is its dual functions of quickly generating a high-quality solution and providing a good bound. As shown in the experimental results from the actual data and more difficult random instances, the proposed technique is significantly better than the best-known heuristic. © 2017 Elsevier Ltd. All rights reserved.
1. Introduction Satellite systems play an irreplaceable role in our daily lives and national defense because they provide various convenient services, such as pinpoint navigation, instant communication, more accurate weather predictions, clear Earth observation images, timely missile warning, etc. To support these services, satellites require frequent contact with remote tracking stations. The communication between a satellite and a remote tracking station is often called a support. Satellite range scheduling is the process of scheduling communications between satellites and remote tracking stations to satisfy satellite support requests. More precisely, given a set of satellite requests, a set of ground remote-sensing antennas, and the visibility time window of each request-antenna pair, the total profit from a schedule is maximized, subject to the following constraints: (1) each request should be scheduled within its visibility window; (2) a request will be allocated to at most one antenna; (3) an antenna supports at most one request at a time; (4) an antenna requires enough turnaround time to support its successive request; and (5) a support cannot stop in general once it begins. As mentioned in Marinelli et al. (2011), the profits may have different interpretations. In the case of mission planning, congestion at the ground station network often prevents all the required ∗
Corresponding author. E-mail address:
[email protected] (K. Luo).
http://dx.doi.org/10.1016/j.cor.2017.03.012 0305-0548/© 2017 Elsevier Ltd. All rights reserved.
navigation services, and these requests must be ranked according to their relevance. Therefore, profit represents command priority. In the case of payload services, profits may represent prices negotiated by the ground station managers with external customers. The number of daily communication requests becomes larger during the operations management of remote tracking stations. The ground remote-sensing antennas are oversubscribed. For example, over 500 requests in 2003 (Barbulescu et al., 2004) were received on a typical day by the scheduling center of the U.S. Air Force Satellite Control Network (AFSCN) composed of 16 antennas located at 9 ground stations. Similar situations occurred in the National Aeronautics and Space Administration (http://www.nasa. gov), the Indian Space Research Organization (http://www.isro.org), the European Space Agency (http://www.esa.int/), and the China National Space Administration (http://www.cnsa.gov.cn). From a different viewpoint, remote tracking stations are expensive to build, operate, and maintain. The ground control networks are hardly expanding. As a consequence, an optimal schedule is becoming increasingly important. Unfortunately, this scheduling problem is quite difficult in practice. As mentioned in many papers, Gooley et al. (1996), Barbulescu et al. (20 06b); 20 04), and Marinelli et al. (2011), the common procedures based on experts and worksheets or other commercial off-the-shelf satellite scheduling packages often yield poor schedules or even infeasible solutions. In effect, the satellite range scheduling problem is NP-complete (Barbulescu et al., 2004). Thus, some heuristics are proposed. These heuristics will be reviewed in the next section. Among these
K. Luo et al. / Computers and Operations Research 85 (2017) 12–21
heuristics, a meta-heuristic called Genitor has the best overall performance on actual AFSCN data and random test data according to the experimental reports of Barbulescu et al. (20 06a); 20 06b). However, as Wolfe and Sorensen (20 0 0) have emphasized, the superior performance of the genetic algorithm in satellite scheduling is at the expense of a longer running time. This time-consuming aspect was also verified by our experimental results. Barbulescu et al. (2006b) tried to conduct a few constructive heuristics and then announced that they had not found a goodenough problem-based heuristic for satellite range scheduling. Is there indeed no high-performance constructive heuristic for an NPcomplete problem? No, our finding suggests otherwise. Since the optimal solution of satellite range scheduling cannot be found in polynomial time, it becomes meaningful to explore the tight bounds of the objective function value. The Lagrangian relaxation technique is a good approach to obtaining the bounds for an integer or a mixed-integer programming model. Marinelli et al. (2011) formulated the satellite range scheduling problem as a time-indexed 0-1 programming model and then employed the common technique to calculate the bounds. Although this linear formulation can reduce our efforts of finding the bounds, it raises the difficulty in solving the problem. As those authors stated, the model with hundreds of thousands of Boolean variables and millions of constraints cannot be tackled by standard integer programming techniques. Hence, we have a motivation for developing a high-performance technique for satellite range scheduling. We note that antennas are oversubscribed and the conflicts between support requests are the root of the intractable problem. Therefore, we analyze various conflicts in satellite range scheduling and then develop a conflictresolution technique with two phases. In the first phase, a good initial schedule is quickly generated using a prescheduling strategy. In the second phase, the initial schedule is improved using a rescheduling strategy in a search subspace composed of feasible solutions rather than all permutations of support requests. The idea of the prescheduling strategy is that an inflexible request with a higher profit is preferentially scheduled during an available time window with a minimal impact on untreated requests. In the strategy, the crucial efforts are how to measure the flexible degree of a request and how to seek its available time window with a minimal impact on other untreated requests. The idea of the rescheduling strategy is to resolve reconcilable conflicts between unscheduled requests and scheduled requests according to an insertion rule, a tabu rule, and a self-adaptive mechanism. In the strategy, the main difficulties are how to identify irreconcilable conflicts and how to find the optimal insertion slots for interchange operations. The new idea of the proposed technique is to discriminate between reconcilable conflicts and irreconcilable conflicts, and to prohibit ineffective interchanges between unscheduled requests and scheduled requests. The main highlight of the technique is that it provides two benefits: rapidly generating a high-quality schedule for satellite range scheduling and providing a tight bound. The remainder of this paper is organized as follows. In Section 2, we review the related literature. Section 3 presents an improved mathematical programming formulation of the satellite range scheduling problem. A new de-conflicting and bounding technique for the problem is proposed in Section 4. Experimental results from old benchmarks and new test instances are reported in Sections 5 and 6, respectively. In Section 7, we illustrate the reason for the high performance of the proposed technique. Finally, Section 8 concludes the paper.
13
2. Related literature review We first review the previous works in three aspects: (1) problem complexity, (2) problem solving, and (3) solution quality evaluation. The satellite range scheduling problem, similar to the vast majority of job scheduling problems, is NP-complete. Barbulescu et al. (2004) proved that satellite range scheduling on a single antenna is equivalent to the problem of minimizing the number of late jobs on a single machine in the traditional scheduling domain and then extended this conclusion to the general satellite range scheduling problem. Arkali et al. (2008) addressed the computational complexities of the low-orbit satellite range scheduling problem in four cases combined by support policy (preemptive or non-preemptive) and reconfiguration time (existent or nonexistent). The low-orbit satellite range scheduling problem is NP-hard, except that it is still open in the preemptible and reconfiguration-free case. In effect, the communication between a low-orbit satellite and a ground station is hardly preempted once the processing is initiated owing to the extremely short visible window. In general, remote-sensing antennas at the ground stations are reoriented to support each passing satellite, and operational parameters are reset to accommodate each allocated request because any satellite support must go through four phases: preparation, acquisition, tracking, and release. In practice, a feasible schedule must take into account the turnaround time of each allocated request on each antenna. To automate satellite range scheduling, some authors have presented some heuristics. Gooley et al. (1996) developed a twophase approach based on mixed-integer programming and insertion and interchange heuristics. In the first phase, low-orbit satellite supports are considered; an initial schedule is generated by a mixed-integer programming procedure and then improved by a two-satellite interchange procedure. In the second phase, mediumand high-orbit satellite supports are inserted into this schedule in descending order of their difficulties, and then a three-satellite interchange procedure is implemented to further raise the quality of this schedule. The testing results from actual AFSCN data circa 1992 showed that the heuristic of splitting tasks into low- and high-orbit requests can obtain a good schedule. As illustrated by Barbulescu et al. (2004), however, a greedy heuristic cannot yield an optimal solution and it is no longer a good strategy for larger problem instances. In view of the fact that genetic algorithms have been successfully applied to job scheduling, Parish (1994) formulated this scheduling problem as a sequencing problem and then employed an order-based genetic algorithm called Genitor to solve it. In the meta-heuristic, solutions are encoded as permutations of support requests. A feasible schedule is easily built from the sequence of supports using a simple “first available” rule, namely, assigning the first available antenna from the list of alternatives and at the earliest possible start time. Unlike the orthodox genetic algorithm, in each iteration, Genitor (i) selects two parents according to the rank of individuals’ fitness instead of the fitness itself, (ii) reproduces new genotypes on an individual basis, (iii) performs Syswerda’s order crossover, and (iv) replaces the worst individual in the population without the usual operation of mutation so that parents and offspring can co-exist. As shown in the experimental reports of Barbulescu et al. (20 06a); 20 06b); 20 04), Genitor outperforms stochastic hill-climbing, squeaky wheel optimization, heuristic-biased stochastic sampling, Gooley’s splitting heuristic, and other constructive heuristics (Bar-Noy et al., 2001). However, the better performance of the genetic algorithm in satellite range scheduling is at the expense of more time consumption because it must perform an extra operation of building a feasible schedule to obtain a valid fitness evaluation for a new offspring at each iteration. Moreover, Barbulescu et al. (2006b) indicated that
14
K. Luo et al. / Computers and Operations Research 85 (2017) 12–21
Genitor may fall into a larger local optimal area. The shortcoming of Genitor comes from its search space consisting of all permutations of support requests. More precisely, it is because multipermutation may be mapped to the same schedule by the schedule builder. To avoid the drawback of meta-heuristics based on the permutation solution space, Zufferey et al. (2008) proposed a tabu search algorithm and an adaptive memory algorithm. The two algorithms that work in a search space consisting of all feasible schedules are derived from their successful approaches to solving the graph coloring problem (Blöchliger and Zufferey, 2008). Antennas in the satellite range scheduling problem are analogous to colors in the graph coloring problem. Requests can be regarded as vertices. Minimizing the number of unscheduled requests is equivalent to minimizing the number of uncolored vertices. However, the satellite range scheduling problem is more difficult than the graph coloring problem because the former has additional time-window restrictions. Unfortunately, we have not yet obtained a competitive result reported in Zufferey et al. (2008). The undesirable performances are due to the longer tabu duration and to a large number of ineffective moving operations. The common way of exhibiting the capability of an algorithm in searching for high-quality solutions is to compare its solutions with the best-known solutions provided by other algorithms. However, the distance to the optimal solution is still unknown. This ideal comparison with the optimal solution seems to be impractical because it is difficult to obtain an optimal solution for an NPcomplete problem. Hence, it becomes more meaningful to measure the gap between tight bounds. To obtain a bound for a satellite range scheduling problem, Marinelli et al. (2011) utilized the wellknown Lagrangian relaxation technique. Benoist and Rottembourg (2004) and Habet et al. (2010) respectively developed a Russian dolls approach and a dynamic programming algorithm to bound the maximal revenue in the satellite photograph planning problem. 3. Problem formulation Satellite range scheduling consists in finding a subset of support requests and then allocating a right antenna and determining a starting time for each request within this subset so that the given criterion is optimized without violating any constraint. Specifically, the problem can be formulated as follows. Data: Let A be the set of remote-sensing antennas. Let R be the set of support requests needed to be scheduled within a given time horizon. Each request r ∈ R can be characterized by the tuple of (pr , Ar , br, a , er, a , dr , tr ). •
• •
•
•
•
pr : the profit or the priority of request r ∈ R; the larger the value of pr is, the more the profit of request r ∈ R is, or the higher its priority is. Ar ⊂ A: the subset of antennas available for request r ∈ R. br, a : the beginning of the visibility window for request r ∈ R on antenna a ∈ Ar . er, a : the ending of the visibility window for request r ∈ R on antenna a ∈ Ar . dr : the duration of request r ∈ R. ∀a ∈ Ar , dr = er,a − br,a for a low-orbit request and dr er,a − br,a for a high-orbit request. tr : the turnaround time of request r ∈ R.
Variables: Let xr, a be 1 if request r ∈ R is scheduled on antenna a ∈ Ar ; otherwise, 0. Let yr, a denote the start time of request r ∈ R if the request is allocated to antenna a ∈ Ar . Let zr, a, q be 1 if antenna a ∈ Ar ∩ Aq = ∅ first handles request r ∈ R and then requests q ∈ R; otherwise, 0.
Constraints: A request will be allocated to at most one antenna, i.e.,
xr,a 1
( r ∈ R ).
(1)
a∈Ar
A request should be scheduled within its visibility window, i.e.,
br,a xr,a yr,a (er,a − dr )xr,a
( r ∈ R; a ∈ Ar ).
(2)
Requests scheduled at the same antenna do not overlap, i.e.,
yr,a + dr xr,a + tq xq,a yq,a + M(1 − zr,a,q )
(r, q ∈ R; a ∈ Ar ∩ Aq ), (3)
zr,a,q + zq,a,r 1
(r, q ∈ R; a ∈ Ar ∩ Aq ),
(4)
where M is a large positive constant. In addition, variables should be valued within their definition domains. Thus,
xr,a ∈ {0, 1}
( r ∈ R; a ∈ Ar )
(5)
yr,a ∈ [0, ∞ )
( r ∈ R; a ∈ Ar )
(6)
zr,a,q ∈ {0, 1}
(r, q ∈ R; a ∈ Ar ∩ Aq ).
(7)
Criterion: In practice, the optimal objective for satellite scheduling is to minimize the number of unscheduled requests or to maximize the profit of scheduled requests. Clearly, the former can be equivalently transformed into the latter as long as ∀r ∈ R, pr = 1. Therefore, the criterion can be expressed by the following unified formulation:
max g =
r∈R
pr
xr,a .
(8)
a∈Ar
Note: Compared with the mixed-integer programming model presented by Gooley et al. (1996), the above model is more concise because the model of Gooley et al. expresses the non-overlapping constraints using two redundant groups of inequalities:
yr,a + dr + tq yq,a + M(1 − zr,a,q ) + M(1 − xr,a ) + M(1 − xq,a ), (9) yq,a + dq + tr yr,a + Mzr,a,q + M(1 − xr,a ) + M(1 − xq,a ).
(10)
Obviously, these inequalities duplicate the non-overlapping demand owing to the reciprocity between requests r and q. If we arbitrarily discard any group, another group will be invalid because they are always correct as long as zr, a, q equals 0 for (9) and 1 for (10). Our model avoids this shortcoming through (3) and (4). However, the proposed model still has a large number of integer variables for instances with medium- and high-orbit requests. As Gooley et al. (1996) have emphasized, the common mixed-integer programming algorithms, such as branch and bound, are suitable for low-orbit satellite supports but not for mediumand high-orbit satellite supports. Therefore, we developed a highperformance technique for solving the general problem of satellite range scheduling. 4. A de-conflicting technique 4.1. Conflict analysis Definition 1. Two support requests are in conflict if they have a common candidate antenna but this antenna cannot simultaneously satisfy them in any feasible schedule.
K. Luo et al. / Computers and Operations Research 85 (2017) 12–21
15
br,a + dr + tq + dq eq,a , then this means that antenna a ∈ A can perform request q ∈ R after request r ∈ R at once. Likewise, if condition (12) is not satisfied, then antenna a ∈ A can immediately perform request r ∈ R after request q ∈ R. This leads to a contradiction. Therefore, conditions (11) and (12) are also necessary for two requests with a conflict. Definition 2. A request is called an untreated request if the request has not gone through a scheduling procedure; otherwise, it is called a treated request. Fig. 1. Timing relationship between the visibility windows of two support requests.
Definition 3. A schedule is a timetable composed of each scheduled request, the corresponding antenna assigned each request, the start time and the end time for performing each request. A schedule is called feasible if the schedule is without violating the following constraints.
Table 1 Actions of conditions (11) and (12) in identifying a conflict in all cases (+: working; −: unworking). Case
Timing relationship
i ii iii iv v vi
br, a bq, a br, a bq, a br, a bq, a
< er, a < bq, a < eq, a < eq, a < br, a < er, a < bq, a ≤ er, a < eq, a < br, a ≤ eq, a < er, a ≤ bq, a < eq, a ≤ er, a ≤ br, a < er, a ≤ eq, a
(11)
(12)
+ − + − + +
− + − + + +
A scheduling procedure can generate a feasible schedule.
(i) each request is supported by one antenna within its visibility window; (ii) an antenna supports at most one request at a time; (iii) each antenna has enough turnaround time to support its successive request.
For instance, there are two requests r1 and r2 that have a common candidate antenna a. br1,a = 0, er1,a = 4, dr1 = 3, tr1 = 0.5, br2,a = 3, er2,a = 6, dr2 = 3, tr2 = 0.5. Clearly, br1,a + dr1 + tr2 + dr2 = 0 + 3 + 0.5 + 3 = 6.5 > 6 = er2,a . Thus, there may not exist a feasible schedule that the candidate antenna a simultaneously services requests r1 and r2. Namely, requests r1 and r2 are in conflict on antenna a. In fact, a conflict may occur in one of six cases, as shown in Fig. 1. Cases i and ii indicate that the visibility windows of two requests are disjoint. It should be noted that the disjointness does not mean that two requests can be both assigned to the same antenna. For example, if the spacing between two visibility windows is less than the turnaround time of the posterior low-orbit request, the preceding will conflict with the succeeding on the same antenna. Cases iii and iv describe the intersection of the visibility windows of two requests. Cases v and vi indicate that one request’s visibility window contains another request’s visibility window. Likewise, it should be noted that the overlapping shown in the last four cases does not mean that two requests are in conflict. For instance, two high-orbit requests with a little overlapping visibility may be scheduled on the same antenna. It is clear that the left side in Fig. 1 is equipotent with the right side. To prove Property 1, however, we need to retain the right side. To quickly identify whether two requests are in conflict or not, we present the following property. Property 1. Necessary and sufficient conditions for any-tworequests conflict identification: support requests r ∈ R and q ∈ R are in conflict if and only if there exists a ∈ Ar ∩ Aq = ∅ such that
br,a + dr + tq + dq >eq,a
(11)
bq,a + dq + tr + dr >er,a .
(12)
Table 1 shows in detail the actions of six conditions in identifying a conflict in all cases shown in Fig. 1. For example, if condition (11) is satisfied in case i, br,a + dr + tq + dq > eq,a means that antenna a ∈ A cannot simultaneously satisfy requests r and q ∈ R; meanwhile, condition (12) must be correct even though it is unworking in the case. Hence, (11) and (12) are sufficient for identifying a conflict. Assume that requests r and q ∈ R are in conflict but condition (11) or (12) is not satisfied. If condition (11) is not satisfied, i.e.,
Definition 4. A treated request is called an unscheduled request if the request is not successfully scheduled; otherwise, the treated request is called a scheduled request. Likewise, we can rapidly identify whether unscheduled requests and scheduled requests are in conflict or not using the following property: Property 2. Necessary and sufficient conditions for unscheduled-requests-and-scheduled-requests conflict identification: unscheduled request r ∈ RUnsch ⊆R conflicts with scheduled request q ∈ RSch ⊆R if and only if there exists a ∈ Ar ∩ Aq = ∅ such that
br,a + dr + tq >yq,a
(13)
yq,a + dq + tr + dr >er,a .
(14)
Definition 5. Multiple requests are in conflict if anyone among these requests conflicts with at least one among other requests on a common candidate antenna. In particular, if any two requests are in conflict, these requests are certainly in conflict. Definition 6. Conflicts between multiple requests are reconcilable if there exists a feasible schedule including all of these requests; otherwise, they are irreconcilable. It seems difficult to distinguish reconcilable conflicts because it is not easy to yield such a feasible schedule for any given set of request. However, we focus on the fact that request r can be served only by antenna a and so does request q, but they conflict with each other. Obviously, one of them cannot be scheduled. On the basis of this observation, we developed an important property that provides a sufficient condition for identifying irreconcilable conflicts. Property 3. A sufficient condition for irreconcilable conflict identification: If ∃R ⊂ R such that ∀r, q ∈ R , Ar = Aq = A ⊂ A, |A | < |R | and request r conflicts with request q, then conflicts between requests among R are irreconcilable. |A | < |R | suggests that the number of these conflicting requests is larger than the one of their candidate antennas. Therefore, there may not exist a feasible schedule including all of these requests conflicting with each other. For example, assume
16
K. Luo et al. / Computers and Operations Research 85 (2017) 12–21
that R = {r 1, r 2, r 3}, Ar1 = Ar2 = Ar3 = A = {a1, a2} and any two requests are in conflict on each candidate antenna. Clearly, there does not exist a feasible schedule where all requests among R are successfully scheduled. Namely, conflicts between requests r1, r2 and r3 are irreconcilable. Thus, it is inefficient to make more efforts to schedule all requests among R . Property 3 plays a crucial role in avoiding the ineffective interchange operations between unscheduled requests and scheduled requests in our technique. 4.2. Bounding the profit Let S and U respectively denote a feasible schedule for a satellite range scheduling problem and the set of the corresponding unscheduled requests. It is clear that schedule S is composed of all requests among R − U. Let S be the set of feasible schedules and g(S) the profit of schedule S ∈ S . Definition 7. Schedule S ∈ S dominates schedule S ∈ S for a satellite range scheduling problem, which is expressed by S S, if the profit of schedule S is more than the one of schedule S, i.e., g(S ) > g(S). Let Ir = {q| Request q ∈ R has irreconcilable conflicts with request r ∈ R}.
Theorem 1. Bounding profit theorem: If ∃R ⊂ R such that (1) ∀r ∈
R , Ir = ∅, pr min p j , and (2) ∀r, q ∈ R , Ir ∩ Iq = ∅, then ∀S ∈ S , j∈Ir 0 < g( S ) pr . r∈ /R
Proof. Obviously, g(S) > 0. We only prove g(S ) Assume ∃S ∈ S r∈R
such that g(S ) >
r∈ /R
r∈ /R
pr .
pr . Then,
r ∈U
pr <
pr . Thus, U ⊂ R because ∀r ∈ R , pr min p j , and ∀r, q ∈ R , j∈Ir
Ir ∩ Iq = ∅. Hence, there must exist a request r ∈ R − U that is scheduled as well as other requests among Ir . This contradicts the feasibility of schedule S . Theorem 1 not only presents a theoretical profit bound, but also provides a way of avoiding some ineffective moving operations and raising the quality of a schedule. Namely, Theorem 1 proposes a valuable idea that a request should be replaced by another request with more profit among its irreconcilable conflicting requests and that the corresponding reverse operation should be prohibited. By Theorem 1, we can deduce an important corollary for identifying an optimal schedule. Corollary 1. A sufficient condition for optimal schedule identification: If ∃S∗ ∈ S such that (1) ∀r ∈ U∗ , Ir = ∅, pr min p j , and (2)
∀r, q ∈ U∗ , Ir ∩ Iq = ∅, then ∀S = S∗ ∈ S , S∗ S.
j∈Ir
4.3. A measurement of request flexibility and a prescheduling strategy Request flexibility is a characteristic of the difficulty of scheduling a request. The more flexible a request is, the easier the request is scheduled. How is the flexibility measured? Gooley et al. (1996) measured the flexibility of the low-orbit request using the number of visibility windows of the request and that of the high-orbit requests using the average length of the three longest visibility windows. Such measurements result in two issues: (1) it is impossible to measure the flexibility of the high-orbit request with at most two visibility windows; (2) the request with the longer visibility windows is more difficult to be rescheduled than the request with the shorter
visibility windows. This may be just the opposite with the actual. In effect, the high-orbit request has a longer and incompact visibility window such that it may be flexible. To more accurately measure the flexibility, we developed a new indicator based on the average slack of visibility windows on all antennas, as follows:
fr =
1 er,a − br,a − dr er,a − br,a
|A| a∈A
( r ∈ R ).
(15)
r
The larger the value of fr is, the more flexible request r is, and vice versa. Particularly, the flexibility of any low-orbit request is always zero by this new measurement. This is in accord with the fact that low-orbit requests are inflexible. Unlike the measurement of Gooley et al., the normalized flexibility measurement does not distinguish between low-orbit requests and high-orbit requests. Moreover, the new flexibility measurement is for prescheduling rather than for rescheduling. On the basis of the above flexibility measurement, we developed a prescheduling strategy to quickly generate a good initial schedule. The strategy (1) preferentially handles inflexible requests with high priority, (2) allocates a suitable antenna for each schedulable request using the rule of minimizing the number of conflicting untreated requests, and (3) schedules the earliest possible start time for each schedulable request. The proposed prescheduling strategy can be implemented by the following steps: Step 1. Calculate the flexibility of each request according to the proposed measurement. Step 2. Sort all requests in ascending order of their flexibilities, and then for requests with identical flexibility in descending order by their profits. Step 3. Deal with each request in sorted order one by one. Step 3-1. For a given request, find all of its visible windows available. If all windows are unavailable, classify the request into the set of unscheduled requests and then tackle the next request; otherwise, proceed to the next step. Step 3-2. In each available window, determine an earliest possible start time for the request and calculate the corresponding number of conflicting untreated requests based on the start time. Step 3-3. Find a window with a minimal number of conflicting untreated requests, and then schedule the request at the earliest possible start time in the window. Step 3-4. Update the unoccupied time slots of the antenna allocated to the request, and then return to Step 31 to tackle the next request until all requests are handled. Step 4. Output the initial schedule and the corresponding set of unscheduled requests. The computational complexity of the above prescheduling procedure is less than O |R|(ln |R| + |A| ) because Steps 1 and 2 will respectively take O(|R|) and O(|R|ln |R|) units of time, and Step 3 will require at most |R||A| units of time. 4.4. A rescheduling strategy To improve the initial schedule generated by the above strategy, we developed a rescheduling strategy. The rescheduling strategy deals with unscheduled requests using an insertion rule, a tabu rule, and a self-adaptive mechanism. Before detailing the rescheduling strategy, we first present a definition.
K. Luo et al. / Computers and Operations Research 85 (2017) 12–21
Definition 8. An unscheduled request is reschedulable if the corresponding interchange with its conflicting scheduled requests is not prohibited by the proposed tabu rule. An insertion rule is developed to find an optimal time slot for each unscheduled request. The insertion rule first determines an optimal start time for an unscheduled request by minimizing the overlap with scheduled requests within each of its visibility windows and then randomly selects a target antenna for a reschedulable request. Perhaps, we may take into consideration the first visibility antenna in ascending order of the sum of profits of the conflicting scheduled requests. However, our experimental results indicated that the myopic way will lead to a slightly worse solution, especially for random instances. Therefore, we only employ the random way to select a target antenna for each reschedulable request in this article. Clearly, the proposed insertion rule involves the interchanges between unscheduled requests and their conflicting scheduled requests. To avoid ineffective interchange operations, we developed a novel tabu rule based on the advantages of the orthodox tabu search algorithm. On the one hand, the tabu rule always prohibits an unscheduled request with irreconcilable conflicts to change scheduled requests with more profits. Such an unscheduled request is added to a permanent tabu list if the request satisfies the condition of the bounding profit theorem. On the other hand, the tabu rule records all interchange operations of requests with reconcilable conflicts using a temporary tabu list and forbids executing their reverse operations during a self-adaptive search loop. Thus, the proposed tabu rule does not need to manage the tabu duration and to design an aspiration level function, unlike the orthodox tabu search algorithm. To accelerate the convergence, we developed a self-adaptive mechanism. The proposed self-adaptive mechanism controls the interchange operations by a threshold T = 2L−1 , where L is a loop count for rescheduling all unscheduled requests. If the sum of the profits of conflicting scheduled requests on a target antenna is not more than T times the profit of the unscheduled request with reconcilable conflicts, the unscheduled request replaces its conflicting scheduled requests on the target antenna. If the total scheduling profits are not changed during a self-adaptive search loop and the loop count is not more than three, the search procedure continues to the next rescheduling loop. The proposed rescheduling strategy can be implemented by the following steps: Step 1. Initialize the rescheduling parameters. Let the selfadaptive search loop counter be one. Let the permanent tabu list be an empty set. Let the current optimal schedule equal the initial schedule generated by the prescheduling procedure. Step 2. Identify whether it is necessary to execute the rescheduling procedure. If the subset of unscheduled requests without the permanent tabu list is not empty, proceed to the next step; otherwise, go to the final step. Step 3. Empty the temporary tabu list. Let the flag indicating the scheduling improvement be zero. According to the current best schedule, reschedule the corresponding unscheduled requests one by one. Step 3-1. For a given unscheduled request, determine an earliest possible start time in each of its visibility windows by minimizing the overlap with scheduled requests. Step 3-2. According to the irreconcilable conflicts identification theorem, identify whether the conflicts between the unscheduled requests and the scheduled requests are reconcilable. If these
17
conflicts are irreconcilable, proceed to the next step; otherwise, go to Step 3–4. Step 3-3. Find a target antenna such that the profit of the unscheduled request with irreconcilable conflicts is more than the sum of the profits of its conflicting requests on the antenna. If such an antenna is found, interchange the unscheduled request with its conflicting scheduled requests on the target antenna, and then go to Step 3–6; otherwise, add the unscheduled request to the permanent tabu list, and then go to Step 3–8. Step 3–4. Find a target antenna such that the antenna can easily complete the unscheduled request without bumping other scheduled requests. If such an antenna is found, allocate the antenna to the unscheduled request, and then go to Step 3–6; otherwise, proceed to the next step. Step 3–5. Randomly select a target antenna such that the interchange operations between the unscheduled request and its conflicting scheduled requests on the target antenna are not in the temporary tabu list, and the sum of the profits of conflicting scheduled requests on the target antenna is not more than T times the profit of the unscheduled request with reconcilable conflicts. If such a target antenna is found, interchange the unscheduled request with its conflicting scheduled requests on the target antenna, add the interchange operations and the corresponding reverse operations to the temporary tabu list, and then proceed to the next step; otherwise, go to Step 3–8. Step 3–6. Update the schedule and the corresponding set of unscheduled requests. Step 3–7. If the profit of the schedule is more than that of the current best schedule, update the current best schedule and the corresponding set of unscheduled requests, and then let the flag indicating the scheduling improvement be one. Step 3–8. Return to Step 3-1 to handle the next unscheduled request until all unscheduled requests are handled. Step 4. If the flag indicting the scheduling improvement is equal to one, return to Step 2; otherwise, proceed to the next step. Step 5. If the self-adaptive search loop counter is more than three, proceed to the next step; otherwise, add one to the counter, update the interchange threshold T, and then return to Step 2. Step 6. Terminate the rescheduling procedure, and then output the optimal schedule and the bounds according to the bounding profit theorem. The computational complexity of the above rescheduling procedure is O(|U||A|L) because the inner loop and the outer loop will require O(|U||A|) and L iterations, respectively. Furthermore, the computation complexity of the proposed optimization technique for satellite range scheduling is less than O |R| ln |R| + L|A| because the antenna resources are oversubscribed, i.e., |U| < |R|. 5. Comparison with other algorithms’ performances on old benchmarks To verify the performance of the proposed technique, we conducted some comparison experiments. These experiments used an
18
K. Luo et al. / Computers and Operations Research 85 (2017) 12–21 Table 2 Comparison of the performances in minimizing the number of unscheduled requests. Problem
P1 P2 P3 P4 P5 P6 P7
De-conflicting technique
Tabu search
Lower bound
Min.
Ave.
Std.
5 3 1 2 1 5 2
6 3 2 2 2 5 4
6 3 2 2 2 5 4
0 0 0 0 0 0 0
14 8 9 8 6 10 6
Genitor Min.
Ave.
Std.
6 3 2 2 2 5 4
7.2 3.4 3.3 3.4 2.9 5.9 4.2
0.7 0.6 1.1 1.0 0.6 0.7 0.4
Table 3 Comparison of the performances in maximizing the total profits. Problem
P1 P2 P3 P4 P5 P6 P7
De-conflicting technique Upper bound
Max.
Ave.
Std.
1812 1636 1608 1732 1642 1658 1599
1806 1636 1606 1731 1641 1658 1597
1803.8 1635.5 1604.3 1729.9 1640.6 1657.6 1597.0
2.5 1.5 0.8 1.1 1.0 1.2 0.0
old benchmark suite consisting of seven problems from actual AFSCN data circa 1992, which can be obtained through the website: http://www.cs.colostate.edu/sched/data.html. In these experiments, we considered two competitive algorithms: Genitor proposed by Parish (1994) and tabu search proposed by Zufferey et al. (2008). Genitor was run using the same parameters: population size of 200, selective pressure of 1.5, position-based crossover, and 80 0 0 evaluations for each run. All algorithms were run on the same operating system running on a computer with four 3.4-GHz CPUs and 16GB of RAM. Each algorithm repeatedly solved these benchmark problems over 30 times. Table 2 summarizes the performances of these algorithms in solving the seven benchmark problems to minimize the number of unscheduled requests. From Table 2, we can see that the proposed de-conflicting technique not only yields the best solution for each problem but also provides a tight lower bound. Especially for problems P2, P4, and P6, the proposed technique can precisely find their optimal solutions. However, the other two algorithms do not have such a capability. To investigate the performance of these algorithms in solving these benchmark problems with distinguishing priorities, we conducted another experiment. In the experiment, to each request, a priority was assigned, which was an integer selected randomly from 1 to 10. Table 3 summarizes the results of the experiment. From the table, we can see that the proposed technique produces better profits than the other two algorithms for each problem. Moreover, the proposed technique can robustly yield the best profit closed to the upper bound for each problem. Tables 2 and 3 indicate that the tabu search proposed by Zufferey et al. (2008) does not produce a competitive result. The worse performance may be due to its longer tabu duration and to a large number of ineffective moving operations. Hence, the algorithm will not be taken into consideration in the subsequent experiments. Table 4 reports the time consumption of each algorithm in solving each problem for minimizing the number of unscheduled requests and for maximizing the total profits. From the table, we can see that Genitor took at least 3 min to solve each problem while the proposed technique took only less than half a second. Genitor is time consuming because its search space is composed of full permutations of requests and it has to rebuild a feasible schedule
Tabu search
Genitor Max.
Ave.
Std.
1747 1588 1589 1681 1593 1631 1566
1803 1636 1605 1729 1641 1657 1597
1794.6 1632.1 1600.5 1723.3 1636.9 1650.1 1591.0
6.6 3.5 3.2 5.1 3.5 4.4 5.1
at each iteration. In contrast, the proposed de-conflicting technique saves considerable time because its search space consists of all feasible solutions and its rescheduling strategy efficiently eliminates a large number of invalid and inefficient interchange operations. 6. A new problem generator and desirable experimental results As we can see in the above section, the proposed technique can quickly yield a high-quality solution for each old benchmark problem and a tight bound in sub-second time. Perhaps, we have a question: does the superior performance of the proposed technique depend on the hidden structure of these old benchmark problems? Hence, an expanded experiment was conducted to verify that the superior performance of the proposed technique does not depend on some particular structures concealed in these old benchmark problems. The expanded experiment utilized random instances created by a new problem generator. As Barbulescu et al. (2004) stated, random instances may be much more difficult than real-world problems because random instances may be short of some particular structures concealed in real-world problems. 6.1. A new problem generator In the expanded experiment, a new problem generator was designed according to ground station operational practices and the observations on the data structures of old benchmark problems. Like daily scheduling, the visibility window of each request is restricted to a 24-h period, namely, a time horizon from 1 s to 1440 s. Each request has an integer duration uniformly distributed on the interval [5, 60]. The high-orbit request is generated by the probability in the same way as the low-orbit request. The highorbit request has an integer slack uniformly distributed on the interval [0, 100], while the low-orbit request does not have a slack in its visibility window. The high-orbit request and the low-orbit request have, respectively, a turnaround time of 15 s and one of 20 s. The high-orbit request will be randomly allocated 3–10 visibility antennas, while the low-orbit request will be randomly allocated 1–3 visibility antennas. To simulate that the same satellite flies over the different ground stations at different times, we need to have a request that will have a different start time on the dif-
K. Luo et al. / Computers and Operations Research 85 (2017) 12–21
19
Table 4 Comparison of the average running time (s). Problem
P1 P2 P3 P4 P5 P6 P7
Minimizing the number of unscheduled requests
Maximizing the total profits
De-conflicting technique
Tabu search
Genitor
De-conflicting technique
Tabu search
Genitor
0.27 0.22 0.31 0.30 0.30 0.23 0.36
0.86 0.90 0.68 0.93 1.22 0.53 0.74
317.42 304.24 322.36 338.21 319.63 318.36 162.15
0.34 0.24 0.32 0.35 0.24 0.25 0.30
1.03 0.61 0.54 0.81 0.96 0.64 0.69
380.87 315.53 378.16 348.92 332.07 377.21 166.06
ferent visibility antenna. In addition, each request has an integer priority uniformly distributed on the interval [1,10]. Given the number of requests and the number of antennas, a random instance can be generated by the following procedure: Step 1. Initialize the problem parameters. Step 2. Generate n requests one by one. Step 2-1. Randomly generate a number. If the number is more than 0.5, the rth request is regarded as a high-orbit request; proceed then to the next step; otherwise, if it is regarded as a low-orbit request, then go to Step 2–3. Step 2-2. Let the turnaround time of the rth request, tr , be 15 s. Randomly generate a natural number from 0 to 100 as the slack of the rth request, sr . Randomly generate a natural number from 3 to 10 as the number of visibility antennas of the rth request, mr . Randomly select mr from m antennas as visibility antennas of the rth request. Then, go to Step 2–4. Step 2–3. Let the turnaround time of the rth request, tr , be 20 s and the slack of the rth request, sr , be zero. Randomly generate a natural number from 1 to 3 as the number of visibility antennas of the rth request, mr . Randomly select mr from m antennas as visibility antennas of the rth request. Step 2–4. Randomly generate an integer from 5 to 60 as the duration of the ith request, dr . Step 2–5. Randomly generate mr integers in the interval [1, 1440 − dr − sr ]. The mr integers are regarded as the beginnings of the time windows between the ith request and its visibility antennas, respectively. Step 2–6. Randomly select an integer from 1 to 10 as the priority of the ith request. Step 2–7. Return to Step 2-1 to generate the next request until n requests are completed. Unlike the problem generator designed in Barbulescu et al. (2004), the proposed generator only requires the number of requests and the number of antennas. Moreover, based on the above procedure, it is easy to build a test suite by combining the number of requests and the number of antennas. Therefore, we constructed a random test suite consisting of the combinations of n ∈ {300, 50 0, 10 0 0} and m ∈ {10, 20, 30}. 6.2. Performances on random instances To investigate the performances of the proposed technique and Genitor on the random test suite, we repeatedly ran simulations over 30 times. In each simulation, the above generator yielded a
new test suite consisting of nine different random instances. In the simulations, we used the relative gap between the best objective g∗ found and the corresponding bound g provided by the proposed technique, i.e., |g∗ − g|/g, to measure the performances of the algorithms. Thus, the smaller the value of the gap is, the better the performance of the algorithm is. Table 5 shows the performances of the proposed technique and Genitor in solving 270 random instances for minimizing the number of unscheduled requests. These instances were distributed in nine groups, each containing 30 instances. The nine groups were in accordance with nine combinations in the random test suite. In the table, a content row represents one group; the third column and the fifth column show the mean of the gaps in each group, while the fourth column and the sixth column show the corresponding standard deviation; the last two columns report the corresponding test results with respect to the proposed technique versus Genitor. From Table 5, we can see that the performance of the proposed technique in solving random instances is extremely significantly better than that of Genitor, in the case of minimizing the number of unscheduled requests. Likewise, in the case of maximizing the total profits, the performance of the proposed technique in solving random instances is also significantly superior to that of Genitor, as shown in Table 6. It should be noted that the notation of “Avg.” in Table 6 still represents the average value of the gap between the best objective found by an algorithm and the corresponding bound provided by the de-conflicting technique. Hence, a smaller value of “Avg.” implies a higher performance of an algorithm. Table 7 reports the time consumption of the proposed technique and Genitor in solving random instances. From the table, we can see that the proposed technique is still time saving, while Genitor is considerably time consuming. The proposed technique requires at most 4 min to solve large-size instances in groups of n = 10 0 0 and m = 10 owing to the serious oversubscription of antennas. However, the proposed technique can provide the best schedule for each random instance in groups of n = 30 0, 50 0 and m = 20, 30 in sub-second time. 7. Analysis of the advantages of the proposed techniques According to the experimental results, we can confidently conclude that the proposed de-conflicting technique overwhelmingly outperforms other competitive algorithms. We now analyze the reasons. The superiority of the proposed technique should be attributed to two high-efficiency strategies: the prescheduling strategy and the rescheduling strategy. The prescheduling strategy can yield an elite initial schedule because it (1) preferentially handles inflexible requests with high priority and (2) assigns the right antenna to each schedulable request by the rule of minimizing the number of conflicting untreated requests. The rescheduling strategy can quickly improve
20
K. Luo et al. / Computers and Operations Research 85 (2017) 12–21 Table 5 Results of the algorithms in solving random instances for minimizing the number of unscheduled requests. Number of
Number of
De-conflicting technique
Genitor
requests
antennas
Avg.
Std.
Avg.
Std.
De-conflicting technique vs. Genitor Pt
Pw
300 300 300 500 500 500 10 0 0 10 0 0 10 0 0
10 20 30 10 20 30 10 20 30
5.93 10.11 10.68 1.04 3.47 9.70 0.43 1.25 6.80
2.35 2.82 2.39 1.67 1.30 2.27 0.55 0.58 1.58
6.80 10.90 11.30 2.06 5.25 10.90 0.96 3.03 8.78
2.55 2.99 2.54 1.81 1.93 2.58 0.86 1.32 1.96
1.55E−11 4.35E−05 2.01E−05 1.11E−14 8.20E−13 1.63E−10 1.40E−18 3.64E−18 6.71E−21
9.08E−07 2.32E−05 2.06E−05 9.11E−07 9.10E−07 9.07E−07 9.12E−07 9.12E−07 9.12E−07
Avg.: the average value of the gap of |g∗ − g|/g; Std.: the standard deviation of the gap of |g∗ − g|/g; Pt: the P value of the paired-sample left-tail t-test; Pw: the P value of the left-tail Wilcoxon signed rank test. Table 6 Results of the algorithms in solving random instances for maximizing the total profits. Number of
Number of
De-conflicting technique
Genitor
De-conflicting technique vs. Genitor
requests
antennas
Avg.
Std.
Avg.
Std.
Pt
Pw
300 300 300 500 500 500 10 0 0 10 0 0 10 0 0
10 20 30 10 20 30 10 20 30
0.11 0.29 0.54 0.01 0.06 0.29 0.00 0.01 0.14
0.01 0.01 0.01 0.01 0.01 0.01 0.00 0.00 0.01
0.13 0.34 0.59 0.02 0.11 0.36 0.01 0.03 0.22
0.01 0.02 0.01 0.01 0.01 0.01 0.00 0.01 0.01
4.48E−11 5.89E−09 1.63E−02 2.86E−20 5.22E−18 4.89E−15 1.23E−26 1.35E−29 1.91E−28
1.01E−06 3.44E−06 1.09E−02 9.13E−07 9.13E−07 9.13E−07 9.13E−07 9.13E−07 9.13E−07
All notations are the same as those in Table 5. Table 7 Comparison of the average running time (s). Number of
Number of
Minimizing the number of unscheduled requests
Maximizing the total profits
requests
antennas
De-conflicting technique
Genitor
De-conflicting technique
Genitor
300 300 300 500 500 500 10 0 0 10 0 0 10 0 0
10 20 30 10 20 30 10 20 30
2.41 0.16 0.11 19.18 1.88 0.41 249.91 51.02 16.58
199.05 180.46 172.69 364.12 327.73 308.19 847.39 762.42 713.29
1.20 0.14 0.10 8.09 1.04 0.30 81.28 19.64 6.90
191.14 174.74 167.02 356.10 313.64 298.00 821.83 745.05 688.13
the initial schedule because it (1) allocates the right target antenna and an optimal start time to each reschedulable request by an insertion rule, (2) avoids a large number of invalid and ineffective interchanges between unscheduled requests and scheduled requests by a tabu rule, and (3) accelerates the convergence by a self-adaptive search scheme.
7.1. Efficiency of the prescheduling strategy To show the high efficiency of the prescheduling strategy, we conducted a special experiment. The experiment employed old benchmark problems again and compared the results of solving these problems using only the prescheduling strategy and the bestknown values. In the experiment, the criterion for each problem was to minimize the number of unscheduled requests. Table 8 shows the high efficiency of the prescheduling strategy in solving these benchmark problems. For problems P1, P3, and P4, the strategy produced an excellent value close to the best-known solution. For problems P2, P5, P6, and P7, the strategy yielded the best-known value. Moreover, the strategy already found the optimal schedules of problems P2 and P6 in less than 0.3 s.
Table 8 Efficiency of the prescheduling strategy in solving the old benchmark problems. Problem
Best-known value
Lower bound
Output value
P1 P2 P3 P4 P5 P6 P7
6 3 2 2 2 5 4
5 3 1 2 1 5 2
7 3 3 3 2 5 4
Time consumed (s) 0.16 0.21 0.22 0.30 0.30 0.28 0.29
7.2. Efficiency of the rescheduling strategy To demonstrate the high efficiency of the rescheduling strategy, we conducted another special experiment. In the experiment, the rescheduling strategy minimized the number of unscheduled requests for each benchmark problem based on a random initial solution generated by the schedule builder employed by Genitor rather than on a good initial solution provided by the proposed
K. Luo et al. / Computers and Operations Research 85 (2017) 12–21
21
Table 9 Efficiency of the rescheduling strategy in solving the old benchmark problems based on random initial solutions. Problem
P1 P2 P3 P4 P5 P6 P7
Best-known value
6 3 2 2 2 5 4
Before rescheduling
After rescheduling
Min.
Ave.
Std.
Min.
Ave.
Std.
23 16 19 23 17 25 18
31.8 21.8 25.6 30.4 27.1 31.5 22.8
4.1 3.3 3.5 3.6 4.1 4.1 2.9
6 3 2 2 2 5 4
6.7 3.0 2.1 2.1 2.1 5.0 4.1
0.5 0.0 0.3 0.3 0.3 0.0 0.3
prescheduling strategy. The experimental procedure was repeatedly run over 30 times. Table 9 shows the statistical results of the special experiment. From the table, we can see that the rescheduling strategy can search out the best-known solution and even the optimal solution. Moreover, the rescheduling strategy only required at most 0.3 s to improve any random initial schedule. Therefore, the rescheduling strategy is as highly efficient as the prescheduling strategy. 8. Conclusion In the process of ground station operation management, satellite range scheduling is a complex optimization problem that involves scheduling satellite supports, in which a satellite and a specific remote tracking station are assigned a time window during which they communicate with each other. The main contribution of this paper is the development of a novel scheduling technique based on conflict resolution for the NP-complete problem. This technique is composed of two highefficiency strategies: a prescheduling strategy and a rescheduling strategy. The prescheduling strategy preferentially schedules inflexible requests with higher profits during their available time windows with a minimal impact on untreated requests. The rescheduling strategy resolves reconcilable conflicts between unscheduled requests and scheduled requests using an insertion rule, a tabu rule, and a self-adaptive mechanism. As our experiment results indicated, the prescheduling strategy can quickly generate an elite initial schedule and the rescheduling strategy can rapidly improve a low-quality schedule. Compared with other competitive algorithms, the proposed technique has a significantly better performance regardless of whether the test data are actual or random. The excellent performance of the proposed technique should be attributed to its new idea of discriminating between reconcilable conflicts and irreconcilable conflicts and of prohibiting ineffective interchanges between unscheduled requests and scheduled requests. As a result of the application of the proposed technique, there are two very relevant managerial insights: (1) an effective prescheduling strategy should preferentially assign each inflexible
Time consumed (s)
0.29 0.18 0.32 0.26 0.24 0.25 0.22
request with a higher profit to a suitable time window and (2) an effective rescheduling strategy should focus only on the reconcilable conflicts between unscheduled requests and scheduled requests. Acknowledgment The authors would like to thank the anonymous reviewers for their careful comments that helped us to improve the quality of the paper. This work was supported by the National Natural Science Foundation of China under grant nos. 91646110, 91224007, and 71332003. References Arkali, G., Dawande, M., Sriskandarajah, C., 2008. Scheduling support times for satellites with overlapping visibilities. Prod. Oper. Manage. 17 (2), 224–234. Bar-Noy, A., Guha, S., Naor, J., Schieber, B., 2001. Approximating the throughput of multiple machines in real-time scheduling. SIAM J. Comput. 31 (2), 331–352. Barbulescu, L., Howe, A., Whitley, D., 2006a. Afscn scheduling: how the problem and solution have evolved. Math. Comput. Model. 43 (9), 1023–1037. Barbulescu, L., Howe, A.E., Whitley, L.D., Roberts, M., 2006b. Understanding algorithm performance on an oversubscribed scheduling application. J. Artif. Intell. Res. 27, 577–615. Barbulescu, L., Watson, J.-P., Whitley, L.D., Howe, A.E., 2004. Scheduling space— ground communications for the air force satellite control network. J. Scheduling 7 (1), 7–34. Benoist, T., Rottembourg, B., 2004. Upper bounds for revenue maximization in a satellite scheduling problem. Q. J. Belgian, French Ital. Oper. Res. Soc.(4OR) 2 (3), 235–249. Blöchliger, I., Zufferey, N., 2008. A graph coloring heuristic using partial solutions and a reactive tabu scheme. Comput. Oper. Res. 35 (3), 960–975. Gooley, T., Borsi, J., Moore, J., 1996. Automating air force satellite control network (AFSCN) scheduling. Math. Comput. Model. 24 (2), 91–101. Habet, D., Vasquez, M., Vimont, Y., 2010. Bounding the optimum for the problem of scheduling the photographs of an agile earth observing satellite. Comput. Optim. Appl. 47 (2), 307–333. Marinelli, F., Nocella, S., Rossi, F., Smriglio, S., 2011. A lagrangian heuristic for satellite range scheduling with resource constraints. Comput. Oper. Res. 38 (11), 1572–1583. Parish, D.A., 1994. A genetic algorithm approach to automating satellite range scheduling. Air Force Institute of Technology Master’s thesis. Wolfe, W.J., Sorensen, S.E., 20 0 0. Three scheduling algorithms applied to the earth observing systems domain. Manage. Sci. 46 (1), 148–168. Zufferey, N., Amstutz, P., Giaccari, P., 2008. Graph colouring approaches for a satellite range scheduling problem. J. Scheduling 11 (4), 263–277.