Fair Division on the Hubble Space Telescope (repo: bkerr) Brandon

Fair Division on the Hubble Space Telescope (repo: bkerr)
Brandon Kerr and Jordana Kerr
Project Description
We mapped the intricacies of scheduling jobs for the Hubble Space Telescope to fair division
algorithms, specifically to naive and modified versions of Last Diminisher. We implemented
our Last Diminisher algorithms using preference files that consider time constraints on proposed
jobs, as well as the Hubble telescope’s position in space in relation to the Earth and the Sun and
the further limitations that imposes on scheduling. We compared our two algorithms based on
total time allocated, number of cuts, percent of pending jobs scheduled, and the total weighted
value of the jobs selected based on importance to the scientific community.
1 Introduction
1.1 Problem Overview
For over two decades, the Hubble Space Telescope has been a pivotal tool for helping the
scientific community better understand the cosmos. To this day, the telescope’s marked
capabilities remain in constant high demand, to the point where its usage has to be scheduled to
the last second. Dividing the Hubble’s time among those who request its use involves a careful,
rigorous process that is subject to change based on what is considered most valuable to the
scientific community of astronomers.
Planning and scheduling usage for the Hubble Space Telescope involves carefully allocating
and redistributing time slots based on ever-changing phenomena in the universe. Astronomers
from around the world submit proposals to vie for time on the telescope, with particular
constraints attached; astronomers have to consider the time of year, day, or even hour that their
target is most likely to be easily viewable. A review committee then takes proposals directly in
competition with each other timewise and decides how to allocate the Hubble’s usage based on
what they consider priority contributions to science, as well as how well the proposals fit with
the telescope’s capabilities.
Demand for the Hubble Space Telescope is so high that using block scheduling is inefficient and
wasteful. Schedules are measured down to a fraction of a second, including the time needed to
reconfigure the telescope’s settings for what it needs to view. Any wasted time could severely
limit the number of proposals that the scheduling committee can adhere to, and render the
telescope’s costly quick reconfiguration performance useless.
1.2 Fair Division
As the team of experts who commission the telescope’s time carefully take all of these
complications into consideration, their concise methods inevitably leave astronomers whose
proposals are constantly at high risk of being rejected, based on unavoidable time demands and
constraints. We decided it would be interesting to reevaluate the Hubble scheduling process and
see what results when time allocations are instead mapped to what might be considered a “fair”
division among the entire community of researchers lobbying for time with the telescope. Instead
of using a panel to determine the Hubble’s schedule, the astronomers with pending jobs could
divvy up the time themselves using a traditional fair division algorithm.
For this project, we describe the implementation of two Last Diminisher algorithms based on
naive and then less naive assumptions. We further evaluate other possible algorithms in direct
response to complaints among the Hubble community about the current scheduling process, and
compare their results.
2 Relating Hubble Space Telescope Scheduling to Cake Cutting
For this project, we have researched some of the considerations and complications that go into
the scheduling process for the Hubble Space Telescope, and extracted some of the key facets
to try and relate to common fair division terms. In this section, we will describe some of these
elements, and explain how they did or did not map to our last diminisher algorithms.
2.1 Time Restrictions
When allocating schedule times with highly valued proposals, there are a number of possible
conditions that the author of the proposal has to declare that constrain the periods of time that
are acceptable for the proposed project. If there are three orbits around Earth that the Hubble has
available, and a proposed project requires three such orbits, that does not mean that the panel
can simply schedule the proposal without further considerations. For our purposes, this means
that, like flavors in a cake to be divided, there are certain time slots that have value to some
astronomers while having no value to others. Time periods that are viewed as too short have no
value to our astronomers, and time periods where the telescope is viewed as poorly placed in
relation to the Earth and the Sun also have no value to astronomers.
For example, most jobs can only happen at certain times of the year. In this project, we consider
the fact that the Hubble telescope cannot view an object when facing within a 50 degree angle
of the Sun. To do this, we break a year into quarters, and claim that for each job, there is one
quarter where it is not possible for the job to be completed, and so that period of time is not
valuable to astronomers heading the proposed job.
Restrictions are further broken down into orbits, with limitations on the Hubble’s view of space
based on its position in relation to Earth. For this project, we define an orbit as one full orbit that
the Hubble makes around the Earth. There are a finite number of orbits that we have available
to pair with proposed jobs. For each of these orbits, there are periods of time where the Earth is
blocking the object of interest for the proposed job. To address this issue, we break each orbit
into available half orbits, allowing astronomers to select the period of an orbit when their job can
be completed.
2.2 Event Restrictions
In real life, jobs do not seamlessly transition from one to the next. The Hubble telescope requires
time to “lock” onto guiding stars that guide its view toward the object of interest, and then need
further time to be precisely focused to allow in the amount of light needed to observe that object.
For the scope of our project, based on the algorithms we chose, we have decided to not take
these time lapses into account. Our main reason for this decision is because the “players” in our
algorithm do not know each other’s preferences, and thus cannot try to guess who might end up
taking jobs before or after them. As a result, they cannot know what settings the telescope will
have prior to needing to be reconfigured for their job’s setting requirements, and thus cannot
account for transition time within their minimum required time.
Many job proposals are also based on conditions that cannot be determined too far in advance,
based on unknown celestial events. For example, a proposal might center around the predicted
but uncertain possibility that a supernova might occur at a certain time. As a result, Hubble’s
schedule is subject to change until about five days prior to the proposed time of observation,
when many such phenomena are more readily predictable and certain. While our finite list of
time slots may span more than five days, we assume that such conditions have already been
determined and that their criteria was met, so we are now creating the final schedule.
2.3 Other Complications
Time allocation on the Hubble is carried out by the Space Telescope Science Institute. The
director of the institute has final go or no-go authority to any proposal selection, but also has the
unique perk of being able to assign 10% of Hubble’s total yearly time all by himself. While this
large block of time is usually devoted to objects of interest that appear at random over the course
of a year, it adds another level of complexity to the selection process. In our implementation, we
assumed the director gives up his time for the greater good (and the ease of scheduling), just as
we assumed there are no random objects of interest.
3 Implementation
3.1 Preference Files
For our implementation, preference files are randomly generated based on a few key constants.
Without random generation, likeness to the Hubble allocation problem wouldn’t be possible
since it involves such a large number of proposals and available times. If instead we forced
the user to choose preference files, they would be sitting there all day just checking boxes.
The key constants in the preference/proposal generation process are: number of proposals to
generate, length of the “year” in orbits, and a probability that represents the chance a generated
proposal has of not having any time restrictions. When a proposal is generated, a random
number determines whether or not orbit and year restrictions come into play based on the
given probability value. Orbit restrictions represent those times when the Earth’s disc blocks
the subject of observation for half of every orbit. In order to encourage a little diversity in the
preference files, these half-orbit restrictions can be a restriction of the even half-orbits or the
odd. Once these restrictions are determined, a preference list can be generated. Since time on
the Hubble is of a unit value, we don’t use any fancy integrals or scaling. Each time block (half
orbit) is assigned a binary value, zero if that time slot is not valued and one if it is.
In addition to random restrictions, scientific value and minimum time to completion for each
proposal are also randomly generated. Scientific value will help determine the pecking order
later on in the process and min time sets the baseline for the amount of time needed for this
particular proposal to value any time at all on the Hubble. If the min time is not met for a given
proposal, the total value to the astronomer for use of the telescope is zero.
3.2 Process
In order to simulate cake cutting scenarios discussed alongside Last Diminisher in class, as well
as to simulate real Hubble conditions of little time and many people, we organize our generated
proposals into free lists, working lists, and done lists. Once proposals are sorted, we naively
choose the top N of them whose combined minimum time requirements are less than or equal
to the total amount of time available. These top proposals form the working list, which will be
the “players” in our Last Diminisher scenario. Future work could include using proposals from
the free list based on some heuristic to fill in unused time. Once the working list is formed, it is
passed into our algorithms to get back an allocation scheme for the time available.
3.3 Algorithms
We implemented two algorithms: the original Last Diminisher and another, smarter version. In
the original (or at least how we understand it), pieces of cake are passed down the list of players
who can then choose to trim cake off of either end to ensure they receive a proportional slice. In
the smarter version, we implemented a rule where players could trim anywhere on the cake and
as many times as they wanted to form the “trimmed piece”. This way, large gaps of time some
proposals don’t care about wouldn’t get wasted.
We chose Last Diminisher for a few reasons. For one, we needed an algorithm that achieved
proportionality for n>=2 people, where proportional here has been redefined to mean a proposal
received min_time / total_time of the cake. Second, we wanted to implement something a little
less trivial than moving knife, which would have also been proportional.
4.3 Analysis
4.3.1 Output
Running our fair division algorithms produces detailed output. The constants used for the given
program run are displayed at the top, followed by the list of proposals that were generated.
Each proposal line displays it’s unique ID, scientific value, minimum time to completion, and a
preference list. The position p in the preference list represents the pth half-orbit (or time p) while
the value of the list at that position represents the binary value for that proposal at that time.
Following the proposals is a detailed description of the Last Diminisher run, including the final
allocation scheme by ID (proposal ID assigned to that time slot, 0 for none), the total number
of cuts, the percentage of total Hubble time that ended up being allocated, the percentage of
the working list that actually was used (which varies since our assignment to the working list is
pretty naive), and the percentage of scientific value captured by the final allocation scheme. The
stats for the smarter version of Last Diminisher are then shown below that.
4.3.2 Simulations
For our simulations, we decided to use smaller constants than would represent a true Hubbleesque time allocation situation for a few reasons. Given that an accurate scenario would be over
ten-thousand half orbits and several thousand proposals, we wanted to have numbers that were
both more manageable and more visually inspectable. With a small proposal base and amount of
total time, any mistakes made in implementation could be spotted easily.
The constants used for the simulations were: 8 proposals to generate, 4 orbits in a “year”, and no
chance of having non-restricted preferences. Since all generated proposals have a minimum time
to completion of less than ¼ the length of a year, the 8 proposals generated had minimum times
of either 1 or 2 half-orbits. This meant we could see the working lists being selected, but would
not see many extraneous proposals that never made it to the working list.
4.3.3 Results
We ran our simulation 40 times against both the naive Last Diminisher algorithm and the
modified Last Diminisher algorithm. We then took the results of both algorithms and compared
mean number of cuts (see Figure 2 in Appendix), and mean percentages of time allocated, jobs
scheduled, and the cumulative assigned value to the Hubble telescope community (see Figure 3
in Appendix).
For percentage of total available time allocated by our algorithms, the smarter last diminisher
implementation performed better 65% of the time compared to the naive approach. That is, in
65% of the simulations the smarter version was able to allocated more time and more efficiently
use the telescope’s resources. The modified algorithm also assigned a greater percentage of the
pending job list for 70% of the simulation runs, and the assigned weighted value was greater for
72% of the simulation runs.
The modified algorithm’s superior results comes at a significant cut cost. Our original naive
algorithm had an average of 6 cuts less than the modified algorithm, where the average number
of cuts for the naive algorithm was 9 versus the 15 average number of cuts for the modified
algorithm. Ironically, even with more cuts the implementation for the smarter version is actually
more efficient. This is because the naive version, given a piece of “cake” has to find the subpiece bounded on both sides that encompasses a proportional share. This ended up being O(n^2)
time per player. The smarter implementation only needed O(n) time per player, since one pass
through the allocation scheme was enough to cherry-pick open time slots until min time was
reached.
5 Discussion
There are a number of things that could be done as future work. One of these is obviously the
naive way we assign proposals to the working list. Due to the random incompatibilities between
proposals that may be in the working list, large blocks of unallocated time are occasionally
seen (especially if a lot of the working list proposals all value the same time slots). Given this
observation, we could have used some method that selected not only the top proposals, but
those top proposals whose preferences balanced out. This most likely would have given us more
consistent results and less wasted time, even if it would circumvent scientific value priorities at
the higher level. Also, instead of changing working list selection, we could have simply added
another step once our algorithms finished that worked down the free list to see if any proposals
that were previously not slated to be players in the division could be allocated.
Another interesting aspect for future exploration are the frequent gripes from the Hubble
community. While there aren’t a whole lot to be found, it seems most of them revolve around
the slush fund of time the director gets to allocate to any projects he wishes. As it stands, 10% of
Hubble’s total time is given to the director, which is 520 total orbits. Traditionally, people argue
for this time to be spent on unforeseen complications in the initial scheduling, such as objects of
interest. To simulate this, we could assume that the director took these gripes to heart, donated
his time strictly to unforeseen complications, and randomly generated issues post-scheduling
(maybe even at runtime for a cool visualization).
6 References
http://www.stsci.edu/hst
http://www.columbia.edu/~cs2035/courses/ieor4405.S09/p2-3.ppt
Appendix
Figure 1: Mean Percent of Unallocated Time
Figure 2: Mean Number of Cuts
Figure 3: Comparison of Three Metrics