There is No LSST Scheduler
Peter Yoachim University of Washington, LSST
99% recycled slides from DESC last month
There is No LSST Scheduler Peter Yoachim University of Washington, - - PowerPoint PPT Presentation
There is No LSST Scheduler Peter Yoachim University of Washington, LSST 99% recycled slides from DESC last month Traditional telescope scheduling Independent ranked observing proposals Discrete time blocks Typically over-subscribed
Peter Yoachim University of Washington, LSST
99% recycled slides from DESC last month
Traditional telescope scheduling Independent ranked observing proposals Discrete time blocks Typically over-subscribed
23:00-24:00 0:00 – 1:00 1:00-2:00 2:00-3:00 Proposal #1 Proposal #2 Proposal #3 Proposal #4 Proposal #5 Proposal #6
23:00-24:00 0:00 – 1:00 1:00-2:00 2:00-3:00 Proposal #1 (not up) Scheduled Scheduled X Proposal #2 X X X Scheduled Proposal #3 (not dark) X X X Proposal #4 (not up) X X X Proposal #5 Scheduled X X X Proposal #6 X X X X
Given proposal constraints, try to fill in the table and maximize “TAC Happiness”. LCOGT, ZTF are solving this type of scheduling problem with Gyrobi Mixed Linear Programming
23:00-24:00 0:00 – 1:00 1:00-2:00 2:00-3:00 Proposal #1 (not up) Scheduled Scheduled X Proposal #2 X X X Scheduled Proposal #3 (not dark) X X X Proposal #4 (not up) X X X Proposal #5 Scheduled X X X Proposal #6 X X X X
LSST does not lend itself to this kind of scheduling
23:00-24:00 0:00 – 1:00 1:00-2:00 2:00-3:00 Proposal #1 (not up) Scheduled Scheduled X Proposal #2 X X X Scheduled Proposal #3 (not dark) X X X Proposal #4 (not up) X X X Proposal #5 Scheduled X X X Proposal #6 X X X X
We can’t really cast the LSST survey as a traditional telescope scheduling problem, so we have no scheduler
We still need to point the telescope Given:
Decide where we should observe. If you see the word “predict”, you should think Machine Learning. If you see “decide”, you should think Artificial Intelligence.
Scheduling LSST with Artificial Intelligence Resources (what we should have called it rather than “feature based scheduler”)
Top level of the AI, a decision tree Observe a DD field? Observe a large block of sky (and repeat)? Observe a single pointing?
Pick the DD sequence that reports highest reward Pick block with highest reward Pick observation with highest reward
The DD logic is currently simple:
starts?
If it checks out, returns a sequence to observe (currently no recovery for interruptions, could add that)
For surveying large areas Markov Decision Process (MDP): Mathematical framework for decision making.
easy to map to OO-python implementation
A quick example: I ran a 30-day simulation
Jupyter notebook can be seen here: http://ls.st/c6k
1 0.46 0.15 A HEALpix map that defines the desired distribution of
Nside=32 1.8 degree resolution 12,288 pixels (5292 pointings in our usual tesselation)
The actual distribution
days
Survey Progress Basis Function: Scaled goal map minus actual observation map.
We can take HEALpix maps of airmass, seeing, and sky brightness to generate a map of the 5-sigma limiting depth.
Depth Basis Function: Compare the current 5- sigma map to the depth when it’s dark time on the meridian with nominal seeing. Good seeing + dark time at this moment means the best is ~0.3 mags better. High airmass is 0.74 mags worse than the typical meridian dark time.
Slewtime Basis Function
Filter change basis function (not relevant here since we are only r-band, but usually have a basis function for staying in a filter)
Final Reward Function linear combination of basis functions.
Only 4 free parameters control the behavior of the AI. Small parameter space to explore, intuitive to
Once we have the reward map, a decision function uses it to take an action. Each night, generate a unique mapping of HEALpix to pointing. Decision function could take the top HEALpix, or a block in some azimuth range.
If we are selecting a block to observe, run convex-hull traveling salesperson to reduce slewtime.
Undithered OpSim fields OpSim with HexDither SLAIR full-sky dither
Again, near the SCP WFD boundary.
We can just add a dimension for each filter. Compute the basis functions and reward functions for each filter. Now decision function picks the highest reward in space and filter.
Results from selecting large regions (and observing pairs) Observe a DD field? Observe a large block of sky for ~22 min (and repeat)? Observe a single observation?
DD1, DD2, DD3, DD4, … u, g+g, r+r, i+i, z, y Or u, g+r, r+i, i+g, z, y u, g, r, i, z, y
Taking pairs in the same filter, 2.2 million visits
Pairs in mixed filters, 2.1 million visits
Filters used through each night. Moon phase plotted on the bottom. Note lots of y and z at full moon. Few filter changes through night.
Taking pairs in different filters Depth basis function still forcing y and z at full moon, but getting lots of colors in night
Alt sched for comparison Not using red filters in bright time. Bug or feature?
Rolling Cadence Experiment Before, define a goal target map
Now, have two maps, one for even years, one for odd.
Rolling cadence results (from Friday afternoon!):
cadence strip (bug or feature?)
How to change the AI behavior
that haven’t been observed for 2-3 days.
different maps on even/odd years for rolling cadence
pick observations
Conclusions:
SLAIR soon, so folks can start hacking off
23:00-24:00 0:00 – 1:00 1:00-2:00 2:00-3:00 Proposal #1 (not up) Scheduled Scheduled X Proposal #2 X X X Scheduled Proposal #3 (not dark) X X X Proposal #4 (not up) X X X Proposal #5 Scheduled X X X Proposal #6 X X X X
Grid scheduling doesn’t make sense for most of LSST, but it might work well for Deep Drilling fields. If we had other specific cadence pointings, could classically schedule them all then use the AI to fill in gaps.
At 10 minute resolution, can break the 10 year survey into ~260k time steps. Could be a good Gurobi optimization problem.
Summary
https://lsst-web.ncsa.illinois.edu/sim- data/beta_slair_surveys/ http://ls.st/sg5 For wide area surveys, try to think in terms of building and training a decision process, not
Beta = I ignored cable wrap and have non-standard DB schema
Let’s hack!
templates)
Let’s be ridiculous with fonts