An Integer Linear Programming Solution to the Telescope Network Scheduling Problem
aa r X i v : . [ a s t r o - ph . I M ] M a r Draft version September 19, 2018
Preprint typeset using L A TEX style emulateapj v. 5/2/11
AN INTEGER LINEAR PROGRAMMING SOLUTION TO THE TELESCOPE NETWORK SCHEDULINGPROBLEM
Sotiria Lampoudi , Eric Saunders , Jason Eastman Draft version September 19, 2018
ABSTRACTTelescope networks are gaining traction due to their promise of higher resource utilization than sin-gle telescopes and as enablers of novel astronomical observation modes. However, as telescope networksizes increase, the possibility of scheduling them completely or even semi-manually disappears. In anearlier paper, a step towards software telescope scheduling was made with the specification of theReservation formalism, through the use of which astronomers can express their complex observationneeds and preferences. In this paper we build on that work. We present a solution to the discretizedversion of the problem of scheduling a telescope network. We derive a solvable integer linear program-ming (ILP) model based on the Reservation formalism. We show computational results verifying itscorrectness, and confirm that our Gurobi-based implementation can address problems of realistic size.Finally, we extend the ILP model to also handle the novel observation requests that can be specifiedusing the more advanced Compound Reservation formalism.
Subject headings: scheduling, integer linear programming, astronomy INTRODUCTIONTelescope networks have the potential to enable increasedresource utilization and novel observation modalities.Historically, observation requests for single telescopeswere made in human-readable form, and any conflictsbetween requests were resolved by a person, often work-ing directly with the requesting astronomer in a tightfeedback loop. This type of manual scheduling is notpractical for general-purpose telescope networks contain-ing more than a small number of telescopes, due to thelarge number of competing requests received for a typ-ical scheduling interval, and the added complexity ofchoosing among multiple resources. Further, in networkswishing to enable the study of fast transient phenom-ena, manual scheduling is infeasible due to the need fornear-real-time re-scheduling responsiveness, which is nec-essary to achieve these scientific objectives.Las Cumbres Observatory Global Telescope (LCOGT)is a robotic telescope network that currently (in Septem-ber 2014) includes two 2m and nine 1m telescopes, withplans to add a number of 0.4m telescopes in the near fu-ture (Brown et al. 2013). The telescopes are roboticallycontrolled and connected via the Internet to LCOGTheadquarters in California. Professional astronomers,citizen scientists and educators can apply for access tothe network on a biannual semester basis. The scientificmerit of proposals is assessed by a Time Allocation Com-mittee (TAC), which assigns each accepted project someamount of total time on the network and a scalar per-unit-time priority. Each project then requests specificastronomical observations to be conducted, not exceed-ing the project’s total time allocation. The motivation Earth Research Institute, 6832 Ellison Hall, University ofCalifornia, Santa Barbara, California 93106-3060, USA Author to whom correspondence should be addressed. Cur-rent Affiliation: Liquid Robotics Inc., 1329 Moffet Park Dr, Sun-nyvale, California, 94089, USA, [email protected] Las Cumbres Observatory Global Telescope, 6740 CortonaDr, Goleta, CA, 93117, USA for the contributions of this paper is the design and de-ployment of a software telescope network scheduler forthe LCOGT network (Saunders et al. 2014).A software solution stack for scheduling a telescopenetwork has three components: (a) methods allow-ing the network’s users to make observation requests,(b) a scheduling algorithm capable of resolving con-flicts between users’ requests to produce a viable sched-ule, and (c) additional control logic that adds aware-ness of the state of the network, manages schedule re-calculation (due to new input, weather, network outagesand other reasons), and deals with request completion.In Lampoudi and Saunders (2013) a formalism was de-veloped for allowing astronomers to express their com-plex observation needs and preferences in an unambigu-ous, machine-readable way that would allow software toarbitrate among them. The contribution of the presentpaper is a solvable integer linear programming (ILP)model for the offline, discretized version of the schedulingproblem expressed by this formalism.This paper is organized as follows: in section 2 wepresent the Reservation formalism that is used to com-municate astronomers’ requests to the scheduler. Section3 presents the solvable ILP model of the scheduling prob-lem. Section 4 presents computational results confirmingthe correctness and evaluating the performance of theILP solution. Section 5 extends the model of section 3 toinclude the more complex Compound Reservations pos-sible in telescope networks. Related and future work arediscussed in the final section. THE RESERVATION FORMALISMA request for an observation on a telescope network con-tains two types of information: (a) observation-specificinformation about the target of the observation, whichinstrument (i.e. camera or spectrograph) to use, the ex-posure settings, etc, and (b) information about when,where and for how long the observation can occur, basedon astronomical factors that can be calculated a priori ,such as visibility of the target during local night, lack ofinterference by the moon, and so on. Information con-tained in (a) is necessary so that a robotic telescope ora human operator can carry out the observation. But itis not necessary for choosing which of many requests tofulfill, when and where. This task, the scheduling of thetelescope network, is performed solely on the basis of theinformation contained in (b). In our work the informa-tion contained in (b) is encapsulated in a “Reservation”:a representation of a request for exclusive access to aresource during one contiguous chunk of time at one ormore specific times in the future.As formally specified in Lampoudi and Saunders(2013), a Reservation R is a 4-tuple ( d, p, t, W ) where: • d is a scalar duration, • p is a scalar priority, • t is a resource (i.e. telescope), • W is a list of “windows of opportunity”Windows of opportunity specify the times duringwhich the observation is possible; that is, the entire ob-servation must fit within a single window of opportunity.In the vocabulary of a telescope network, a Reservation R is a request by a project with priority p for exclusiveaccess of duration d to resource t during one of the win-dows in the list W .Typically, however, an observation can be carried outon one of many telescopes. According to the above def-inition of Reservation, a request with multiple resources(and corresponding windows of opportunity for each re-source) will result in multiple “or”-ed Reservations. Be-cause this is such a common occurrence, for compactnessand with no loss of generality, we simply extend the abovedefinition to merge multi-resource Reservations into asingle Reservation. That is, each Reservation is now per-mitted to include a list of resources, instead of a single re-source, and windows of opportunity become subscriptedby resource. The resulting definition of Reservation isthe 4-tuple ( d, p, T, W ) where: • d is a scalar duration, • p is a scalar priority, • T is a list of resources (i.e. telescopes), t i ∈ T , • W i ∈ W are lists of “windows of opportunity”,where list W i is the list of windows correspondingto t i . THE INTEGER LINEAR PROGRAMMINGMODELGiven a list of Reservations we wish to find a maximumpriority subset, the subset of scheduled reservations, andan assignment of a specific resource and start time foreach scheduled reservation, such that there are no over-laps between scheduled reservations.This is an offline, multi-resource, interval schedulingproblem with slack. The slack is introduced by the factthat windows can be longer than the duration of a Reser-vation.Our ILP model is inspired by a similar approach to aproblem in truck scheduling (Lee et al. 2012). We first discretize time into “slots”, which can be of uniform ornon-uniform lengths. Each slot is defined by the resourceto which it corresponds and a (start time, duration) or(start time, end time) tuple that we abbreviate as (times-lice) in the text that follows. We then express the non-overlap constraints as linear inequalities. Boolean vari-ables are used to select between the possible starting slotsfor each Reservation, and the sum of the priorities ofscheduled Reservations is maximised.The resulting ILP resembles a weighted maximum setpacking problem, which is known to be NP-complete(Garey and Johnson 1990).Specifically, our model formulation is as follows:3.1.
Parameters • I : set of reservations • T : set of slots, each specified as a tuple: (resource,timeslice) • S i : set of possible start slots for reservation i • a ikt = 1 if starting reservation i at k ∈ S i meansthat it will occupy slot t ; 0 otherwise • p i : priority of reservation i Decision variables Y ik = 1 if reservation i starts at k ∈ S i ; 0 otherwise3.3. Objectives
Maximise the sum of the priorities of scheduled Reser-vations. max X i ∈ I X k ∈ S i p i Y ik (1)3.4. Constraints
No reservation should be scheduled for more than onestart. X k ∈ S i Y ik ≤ , ∀ i ∈ I (2)No more than one reservation should be scheduled ineach slot. X i ∈ I X k ∈ S i a ikt Y ik ≤ , ∀ t ∈ T (3)Decision variable must be binary. Y ik ∈ { , } , ∀ i ∈ I, ∀ k ∈ S i (4)The inequality constraint matrix contains | I | + | T | rows, i.e. the sum of the number of reservations and timeslots. COMPUTATIONAL RESULTS4.1.
Correctness
The ILP model we have just described is implementedin a software component called the “scheduling kernel”.This forms the core of the software stack responsible formanaging the telescope network. Our current implemen-tation of the kernel is in Python, and uses the Gurobisolver (Gurobi Optimization 2014). The input to thekernel is a list of Reservation objects which are directimplementations of the concept of a Reservation. Thekernel translates this list of Reservations into a modeldescription that is passed to Gurobi, and invokes thesolver. When the solver completes its run, the kerneluses the output to modify the Reservation objects to re-flect whether or not they were scheduled, and, if theywere, at what resource and starting time.As is common software engineering practice, the kernelwas unit tested using a variety of small scheduling sce-narios that can be solved manually. But it was also de-sirable to validate that the kernel’s performance is whatone would expect on a larger scale.This type of validation can be achieved by using largescheduling scenarios for which the optimal schedulingoutcome is known a priori , due to the way in which theywere constructed. When these scenarios are run throughthe scheduling kernel, it is possible to compare the ex-perimental performance of the kernel to this theoreticallyoptimal and achievable outcome.The “subscription rate” of the network is defined asthe ratio of the total amount of time requested over thetotal amount of time available for scheduling. The totalamount of time requested is the sum of the durationsof all the reservations submitted to the scheduler. Thetotal amount of time available for scheduling is the timecovered by the union of all windows of opportunity.The subscription rate is a property of the input to thescheduler. To characterize the outcome of a schedulingrun we need a corresponding performance metric. This isthe “scheduled/requested” (s/r) ratio, that is the ratio oftime scheduled (the sum of the durations of all scheduledreservations) over the ratio of time requested (the sumof the durations of all reservations that were submitted).For subscription rates below 100% (“undersub-scribed”), it is possible to construct problem instancesfor which the optimal s/r ratio of 100% is achievable.Given those problem instances, a well-functioning sched-uler should achieve s/r of nearly 100%.For subscription rates above 100% (“oversubscribed”),it is possible to construct problem instances for which theoptimal s/r ratio is known. Specifically, we constructedcases for which the optimal s/r was the inverse of thesubscription rate – another way to express that is to saythat utilization was 100%. On those problem instancesa well-functioning scheduler should achieve close to thistheoretically optimal s/r.To produce experimental data that can be comparedto the optimal values we conducted 15 simulations of atelescope network, spanning subscription rates between10% and 150%. The size of the network was chosen tobe nine telescopes, and the time slices on all telescopeswere set to be 5 minutes long.For each individual simulation run, i.e., for each sub-scription rate value, we generated an ensemble of hun-dreds of reservations for which we knew, by construction,that an optimal or close to optimal schedule was feasi-ble. Then the scheduling problem was made artificiallyharder in two ways: first, all reservations were assignedthe same 24 hour window of opportunity; second, all werealso randomly assigned to be possible on additional re-sources. This had the effect of introducing large amounts of slack and seeming contention to the problem. sc hedu l ed / r eque s t ed experimentaltheoretical Fig. 1.—
The scheduling kernel is able to achieve optimal per-formance in cases of undersubscription, and performs close to op-timally in cases of oversubscription. The discrepancy is accountedfor by the time wasted due to the discretization of time into slots.
Figure 1 shows that the kernel was able to match the-oretically optimal performance very closely. The smallmismatch that begins to occur around 100% subscrip-tion can be attributed to the small amount of time thatis wasted due to the discretization of time into slots. Inthe case of the artificial scenarios used for this test, thiswasted amount of time can be calculated.In real-world scenarios the impact of that wasted timeis an open problem. The amount of wasted time dependson (a) the distribution of Reservation durations, and (b)the choice of slot sizes. Clearly, smaller slots decreasethe expected amount of wasted time, but increase thesize of the ILP optimization problem. We plan to studythis effect in simulation, by modeling the distribution ofdurations so that we can generate appropriate syntheticworkloads, and empirically, by running the kernel on realinputs but, in “parallel”, using different hypothetical slotsizes. 4.2.
Performance
To give an idea of what currently constitutes typi-cal and exceptional operating conditions for the LCOGTscheduling kernel, in this section we report timings fromtwo real-world runs. The first is a randomly chosen typ-ical recent run (date: 2014-08-29). The second is thelargest run that occurred since the scheduler began of-ficial operations in May 2014 (date: 2014-06-21). Theyboth occurred on the same server, a 16 core Intel XeonL5530 2.4GHz, with 24GB of RAM. The implementa-tion ran under Python 2.7.5 and Gurobi 5.6.2 on a LinuxOS. Gurobi was configured to use 16 threads, i.e. all theavailable cores.In the typical run the input included 833 possibleReservations, and seven of eleven resources were availablefor scheduling. This resulted in a problem descriptionwith 20,895 rows, 138,635 columns and 479,240 nonze-ros, as reported by Gurobi. This was reduced to 8,826rows, 92,093 columns, 293,297 nonzeros by the Gurobipre-solver. 650 Reservations were ultimately scheduled.Wall clock time spent in the kernel (which includes thetranslation of the problem into a format that can serve asan input to Gurobi, a process that we have since furtheroptimized) was 23.77 seconds; in the Gurobi pre-solver6.56 seconds; in the Gurobi root relaxation routine 0.21seconds; and in the Gurobi integer solver 11.50 seconds.In total, 23% of the time was spent in kernel overhead,with the remaining time spent in Gurobi.The biggest scheduling run during the last few monthshad an input of 3864 possible Reservations, roughly fourtimes as many as the typical run. The same fraction(7/11) of resources were available for scheduling at thetime of this run. The final schedule included 2055 ofthe submitted Reservations. The total kernel wall timewas 76.54 seconds, of which 17.22 seconds was spentin the Gurobi pre-solver; 20.39 seconds were spent inthe Gurobi root relaxation step; and 24.83 seconds werespent in the Gurobi integer solver. The kernel overheadwas thus 18% for this larger problem. These measure-ments are summarized in Table 1.
TABLE 1Measurements for typical and largest runs.
Typical Largestreservation count 833 3864wall time (s) 23.77 76.54% kernel overhead 23 18pre-solver (s) 6.56 17.22root relaxation (s) 0.21 20.39integer solution (s) 11.5 24.83 EXTENSION TO COMPOUND RESERVATIONSAstronomical observations requested by a particularproject are usually part of a larger scientific programme,so they are frequently not independent of each other.When, as is most common, the inter-dependence betweenobservations is in the targets, instruments, and exposuresof observations, it does not affect scheduling. But it isoccasionally helpful to provide a way to express a limitedform of inter-dependence between the scheduling status of observations, i.e. whether or not they were scheduled.This is useful in situations where one of several alterna-tive Reservations can fulfill the same scientific objective,or when sets of Reservations must be scheduled in an “all-or-none” fashion in order to be scientifically useful. Weallow for this limited type of dependency between Reser-vations via the concept of a Compound Reservation, firstintroduced in Lampoudi and Saunders (2013).A Compound Reservation is a set of Reservations,inter-connected by one of two logical operators: ANDand ONE-OF.The AND operator is the traditional conjunction oper-ator. ( r AND r ) means simply that either both reser-vations r and r should be scheduled, or neither shouldbe scheduled. ( r AND r AND ... AND r i ) is, by ex-tension, defined as one would expect.The ONE-OF operator is equivalent to a “one-hot cir-cuit” in digital circuit design. ( r ONE-OF r ) meansthat either reservation r or r should be scheduled, butnot both. (Because of the no-overlap constraint, it is pos-sible that neither reservation can be scheduled, makingthis a set packing, rather than a set partitioning con-straint.) For two arguments ONE-OF is equivalent toXOR. The reason we use the notation ONE-OF ratherthan XOR is that the implementation of a greater-than- two input XOR is not unique. The most common imple-mentation (i.e. wiring diagram) of XOR for greater thantwo arguments yields a parity checker. What we needis a circuit that evaluates to True when exactly one ofits arguments is true. Since the term “one-hot” is notcommonly used outside digital design, we use the moreintuitive label “ONE-OF” for this operator.Single-level Compound Reservations, as we describethem here, enable some of the novel capabilities of a tele-scope network. They make it possible to schedule an ob-servation so that it occurs on one of multiple alternativeresources requiring different exposure times (using ONE-OF), potentially increasing utilization by leveraging flex-ibility. Compound Reservations also make it possible toschedule time-series observations in an all-or-none fash-ion (using AND), decreasing time wasted obtaining par-tial data. They make it possible to conduct concurrentobservations of a single target, or many correlated tar-gets, from multiple resources (using AND), which pre-viously required human coordination. Finally, on theLCOGT network, which is global, they enable the track-ing of stationary or moving targets in spite of the earth’srotation, using a succession of resources (AND), whichhas never before been possible. Importantly, althoughan arbitrary level of Compound Reservation nesting isconceptually possible but computationally intractable,all these capabilities are gained using a single level ofnesting, which it is feasible to schedule.The presence of Compound Reservations modifies theproblem definition as follows: Given a list of Reserva-tions, where some are possibly grouped into CompoundReservations, we wish to find a maximum priority subsetof scheduled reservations, and assign them specific re-sources and start times, such that there are no overlapsbetween scheduled reservations, and the constraints im-plied by the Compound Reservations (single-level ANDsand ONE-OFs) are satisfied.This extension adds the following parameters to thelist of section 3.1: • O : the set of ONE-OF constraints • A : the set of AND constraintsThe following constraints are added to those of section3.4:ONE-OF constraints. X i ∈ r X k ∈ S i Y ik ≤ , ∀ r ∈ O j , O j ∈ O (5)AND constraints. X k ∈ S i Y ik − X k ∈ S j Y jk = 0 , ∀ i, j ∈ r, ∀ r ∈ A j , A j ∈ A (6)The size of the inequality constraint matrix is modifiedto be | I | + | T | + | O | rows, i.e. the sum of the number ofreservations, time slots and ONE-OF constraints.Finally, AND constraints introduce an equality con-straint matrix with number of rows proportional to thenumber of reservations participating in AND constraints. RELATED AND FUTURE WORKThe literature on ILP for interval scheduling is ubiq-uitous (see, e.g. Schrijver 1986; Graham et al. 1979;Potts and Strusevich 2009). Our own effort to model thetelescope network scheduling problem as an ILP problemwas inspired by a similar (though more complicated, dueto the presence of multiple objectives) model for truckscheduling (Lee et al. 2012).Early work in telescope scheduling, which was surveyedin Lampoudi and Saunders (2013), was of a highly prac-tical and heuristic nature. In general those early ap-proaches were difficult to evaluate for fitness of purpose,and they commonly handled complexity, especially dy-namic volatility, through direct human intervention anddecision-making.More recently, methods adopted from the Arti-ficial Intelligence community, e.g. neural networks(Colom´e et al. 2014), and from Operations Research,e.g. genetic algorithms in the context of optimization(Garcia-Piquer et al. 2014), have been making inroads intelescope network scheduling. A necessary shift is occur-ing in the field towards methods whose performance canbe quantitatively compared to either theoretical modelsor simulation outcomes.For completeness, it is worth noting that there havebeen two previous design iterations for the LCOGTscheduler. A randomised planning approach was pro-posed in Brown and Baliber (2007). In Hawkins et al.(2010) the scheduling problem was broken into a hier-archy of seasonal, monthly and adaptive planning steps, but specific implementations for those steps were not pro-posed. Both of these were preliminary proposals, andwere never fully implemented or evaluated. They bothreflected a desire to steer clear of global optimisation, astance that was justified by citing resource availability,volatility and computational cost. Given improvementsin computational speeds, this stance was reversed, andour present optimization approach was adopted.Our own work is divided between, on the one hand,efforts to gain a deeper understanding of the structure ofthe ILP optimization problem, (e.g. analysing the struc-ture of the conflict graph) and, on the other hand, evalu-ating several practical questions concerning the schedul-ing kernel and its performance. One of these is the im-pact of the time discretization introduced by the ILPmodel, as we explained in section 4.2. Another is thechoice of priority model, or more broadly, objective func-tions, in order to best match the science objectives of thenetwork. Finally, the possibilities implied by the com-pound reservation scheduling capabilities of the kernel re-main as yet uncharacterized. Such a complex feature re-quires both an excellent user interface to be useful, as wellas considerable community training efforts to gain adop-tion. We anticipate that when these conditions come tofruition, new statistics will become available, and informnew models of telescope utilization, driving forward thenext iteration of development and theoretical advances.
REFERENCESBrown, T. M. and Baliber, N. (2007). Towards A Scheduler ForThe LCOGT Multi-telescope Network. In
AmericanAstronomical Society Meeting Abstracts , volume 39 of
Bulletinof the American Astronomical Society , pages 807–807.Brown, T. M., Baliber, N., Bianco, F. B., Bowman, M., Burleson,B., Conway, P., Crellin, M., Depagne, ´E., De Vera, J., Dilday,B., Dragomir, D., Dubberley, M., Eastman, J. D., Elphick, M.,Falarski, M., Foale, S., Ford, M., Fulton, B. J., Garza, J.,Gomez, E. L., Graham, M., Greene, R., Haldeman, B.,Hawkins, E., Haworth, B., Haynes, R., Hidas, M., Hjelstrom,A. E., Howell, D. A., Hygelund, J., Lister, T. A., Lobdill, R.,Martinez, J., Mullins, D. S., Norbury, M., Parrent, J., Paulson,R., Petry, D. L., Pickles, A., Posner, V., Rosing, W. E., Ross,R., Sand, D. J., Saunders, E. S., Shobbrook, J., Shporer, A.,Street, R. A., Thomas, D., Tsapras, Y., Tufts, J. R., Valenti,S., Vander Horst, K., Walker, Z., White, G., and Willis, M.(2013). Las Cumbres Observatory Global Telescope Network.
PASP , 125:1031–1055.Colom´e, J., Colomer, P., Campreci`os, J., Coiffard, T., de O˜na, E.,Pedaletti, G., Torres, D. F., and Garcia-Piquer, A. (2014).Artificial intelligence for the CTA Observatory scheduler . In
Proceedings of SPIE , volume 9149, pages 91490H–91490H–15.Garcia-Piquer, A., Gu`ardia, J., Colom´e, J., Ribas, I., Gesa, L.,Morales, J. C., P´erez-Calpena, A., Seifert, W., Quirrenbach, A.,Amado, P. J., Caballero, J. A., and Reiners, A. (2014).CARMENES instrument control system and operationalscheduler . In
Proceedings of SPIE , volume 9152, pages915221–915221–15.Garey, M. R. and Johnson, D. S. (1990).
Computers andIntractability; A Guide to the Theory of NP-Completeness . W.H. Freeman & Co., New York, NY, USA.Graham, R., Lawler, E., Lenstra, J., and Kan, A. (1979).Optimization and approximation in deterministic sequencingand scheduling: a survey. In P.L. Hammer, E. J. and Korte, B.,editors,
Discrete Optimization II Proceedings of the AdvancedResearch Institute on Discrete Optimization and SystemsApplications of the Systems Science Panel of NATO and of theDiscrete Optimization Symposium co-sponsored by IBMCanada and SIAM Banff, Aha. and Vancouver , volume 5 of
Annals of Discrete Mathematics , pages 287 – 326. Elsevier. Gurobi Optimization, I. (2014). Gurobi optimizer referencemanual.Hawkins, E., Baliber, N., Bowman, M., Brown, T., Burleson, B.,Foale, S., Ford, M., Lister, T., Norbury, M., Saunders, E., andWalker, Z. (2010). Scheduling observations on the LCOGTnetwork. In Silva, D. R., Peck, A. B., and Soifer, B. T.,editors,
Observatory Operations: Strategies, Processes, andSystems III , volume 7737. SPIE.Lampoudi, S. and Saunders, E. (2013). Telescope networkscheduling - rationale and formalisms. In Vitoriano, B. andValente, F., editors,
ICORES’13 , pages 313–317. SciTePress.Lee, S., Turner, J., Daskin, M. S., de Mello, T. H., and Smilowitz,K. (2012). Improving fleet utilization for carriers by intervalscheduling.
European Journal of Operational Research ,218(1):261–269.Potts, C. N. and Strusevich, V. A. (2009). Fifty years ofscheduling: a survey of milestones.
JORS , 60(S1).Saunders, E. S., Lampoudi, S., Lister, T. A., Norbury, M., andWalker, Z. (2014). Novel scheduling approaches in the era ofmulti-telescope networks. In
Proc. SPIE , volume 9149, pages91490E–91490E–7.Schrijver, A. (1986).