Title: Satellite Mission Scheduling With Dynamic Tasking
1Satellite Mission Scheduling With Dynamic Tasking
- University of Colorado at Denver and Health
Sciences Center - Math Clinic, Spring 2006
2Presentation Outline
- Problem Description
- Hybrid Double Chromosome Genetic Algorithms
- Dynamic Scheduling Methods
- Top Priority Path Dependent Algorithm
- Scatter Search/Path Relinking
- Summary/Conclusions
- Future Work
3Satellite Mission Scheduling
- Satellite is equipped with camera for
photographing earth-bound targets. - Thousands of task requests...
- ...but only a few hundred can be performed.
- Problem Determine
- which tasks to perform
- and when to perform them.
- Constraints
- tasks cant overlap.
- tasks have time windows of opportunity
- Features
- order dependent slew time
- tasks are prioritized.
4Tasks
- Associated variables
- time window, preferred vs. effective
- priority (0-99)
- duration
- Monitoring vs. Simple
task
Preferred window
E f f e c t i v e w i n d o w
5Monitoring Tasks
- Require a specified number of revisits for image
recapturing at given target - Visits must occur at relatively evenly-spaced
intervals - A minimum and maximum number of revisits is given
- If revisits lt minimum, the monitoring task is not
considered completed
6The Schedule
- 2 Common Ways to Think of a Schedule
- Temporally (timeline)
-
- Geographically (nodes and arcs)
Task 3
Slew
Task 7
Task 1
Slew
Slew
Task 2
Task 4
Task 5
Task 8
Slew
2
3
slew time
6
5
1
4
7
8
7Scheduling - Objectives
- Maximize number of tasks scheduled (images
collected). - Collect as many high priority tasks as possible.
- Be able to address incoming requests (dynamic
tasking)
8Dynamic Scheduling
- Insert new tasks into initial schedule (on the
fly) - Must adjust remainder of schedule.
2
3
6
5
1
4
7
8
?
New task
?
?
Task 3
Slew
Task 7
Task 1
Slew
Slew
Task 2
Slew
9Team 1 A Hybrid Double Chromosome Genetic
Algorithm Approach to the Satellite Scheduling
Problem
Cliff Bainter, Nima Lekmine, Jeremy Noe, Leslie
Quinn, Whitney Rust, Dmitriy Vassilyev
10Outline
- Double Chromosomes and Scheduler
- Genetic Algorithms Overview
- Hybrid GA Overview
- Future Work
- Conclusion
11Solving The Satellite Mission Scheduling Problem
- Combinatorial problem / NP-Hard
- There are many ways to approach this problem
using heuristic algorithms involving permutation
vectors - Based on promising findings of the spring '05
Math Clinic we chose to implement a Genetic
Algorithm to solve the problem - We used an approach that addresses the
optimization of two things at once, priority and
scheduling (hybrid).
12Hybrid Double Chromosome GA Approach
13Our Approach to the Satellite Problem Hybrid
Double Chromosome
- Double (Parallel) Chromosomes
- two chromosomes simultaneously run through the GA
- Chromosome 1
- represents the order that the scheduler will
attempt to insert tasks into the schedule. - Chromosome 2
- represents the chronological ordering of tasks
(whether or not they are actually scheduled). - e.g. if tasks i and j are scheduled, they will
occur in the order they appear in this
chromosome. - Scheduler
- takes information from both chromosomes to
develop optimal schedule - fitness of double chromosomes measured by
schedule evaluator
14Scheduler
Priority Order Chromosome
Time Order Chromosome
2
2
4
10
7
5
2
7
10
4
5
Start
End
Start
End
2
15Scheduler
Priority Order Chromosome
Time Order Chromosome
2
4
10
7
5
2
7
10
4
5
4
10
7
5
Start
2
Start
End
7
16Scheduler
Priority Order Chromosome
Time Order Chromosome
2
4
10
7
5
2
7
10
4
5
4
10
5
10
Start
2
7
Start
End
10
17Scheduler
Priority Order Chromosome
Time Order Chromosome
2
4
10
7
5
2
7
10
4
5
4
10
5
4
2
7
10
Start
End
4
7
18Scheduler
Priority Order Chromosome
Time Order Chromosome
2
4
10
7
5
2
7
10
4
5
4
10
5
4
2
7
10
Start
End
5
2
19Scheduler
- Uses input from both chromosomes to build
schedule - Selects from priority chromosome first
- Attempts to insert into schedule in order
specified by time-order chromosome - Schedules each task as early as possible
- Shifts already scheduled tasks as needed, but
does not remove already scheduled tasks - Resulting schedule is evaluated, and this becomes
the fitness of the chromosome pair - Scheduler ensures that all possible chromosome
pairs correspond to a feasible schedule
20Evaluator (delete?)
- Once schedule is built it is evaluated
- Two Implementations
- GA specific
- Uses lexicographical ordering based on last
priority iteration - General
- Compares two schedules using both lexicographical
ordering and penalizes for scheduling outside
preferred time
21Evaluator
- Motivation
- Equal Weights
- Evaluates one priority level at a time
- Time window penalty
- Determines the fitness of a given schedule
- Determines the best schedule
- This schedule is saved for later use
22Hybrid Double Chromosome GA Approach
23Traditional GA
24Background GA's
- Genetic Algorithm
- Search technique used in computer science to find
an approximate solution to optimization problems - Particular class of evolutionary algorithms that
use techniques inspired by evolutionary biology - inheritance
- mutation
- natural selection (survival of the fittest)
- recombination (cross-over)
25Background Traditional GA
- Many steps to Genetic Algorithm
- Initial Population
- Fitness Function
- function based on weighting of genes
- Selection of chromosomes for mating
- Recombination
- combining the genes of two selected (parent)
chromosomes to develop offspring (child)
chromosomes - Mutation
- to ensure the population remains sufficiently
diverse
26Selection
- Roulette Wheel strategy
- Population of double chromosomes scored by
schedule evaluator - Each chromosome is given a percent fitness based
on total fitness of the population - Probability of selection is proportional to
fitness - Two parents are chosen for mating (P1,P2)
27Cross-Over
- Syswerdas Crossover Operation
- Two (or more) random genes are chosen from P1
- Transferred to child chromosome in same gene
positions - Task numbers corresponding to those genes are
then eliminated in P2 - Now all remaining tasks from P2 are transferred
in the same order to the child chromosome - Mutation
- Mutation will occur with a certain probability
(swapping 2 genes, randomly selected).
28Current Population
02
03
04
06
05
01
06
01
02
05
04
03
29Current Population
06
01
02
05
04
03
02
03
04
06
05
01
03
05
06
01
02
04
30Current Population
06
01
02
05
04
03
02
03
04
06
05
01
06
01
02
04
06
03
02
01
05
04
New Population
31Hybrid Double Chromosome GA Approach
32Iterative Population Building
- Addresses schedule building by priority
- Iteratively cycles through tasks in priority
order - Filtering next priority tasks to most fit
previous priority chromosome - Allows other components to work faster
33Current Population
Task List (Next Priority)
Most Fit Chromosome
Random Priority 1 Task Chromosome
01
03
02
14
17
16
15
18
01
14
17
03
02
15
16
18
34Task List (Next Priority)
Current Population
Random Priority 1 Task Chromosome
Most Fit Chromosome
01
03
02
14
17
16
15
18
01
03
02
14
17
16
15
18
01
03
02
14
17
15
16
18
New Population
35Hybrid Double Chromosome GA Approach
36Future Work
- Cross-over
- Try different algorithms (e.g. edge
recombination) - Scheduler
- Try scheduling for maximum flexibility
- Evaluator
- Account for more variables (e.g. distance between
tasks, change in priority, etc) - Overall
- Experiment w/more parameter variations
37Conclusion
- The Hybrid Double Chromosome approach to GA
provides a novel method of traversing the
solution space in an efficient manner - Addressing the population iteratively helped
reach solutions more quickly - The scheduler proved to be extremely efficient
- Many ways to expand upon this approach in the
future
38Scheduler
- Schedules are evaluated for fitness
- These fit schedules are fed back into the GA
and the next priority level is added - After a given priority level is scheduled, the
scheduler will determine a best schedule and save
it - Uses previous schedule to its advantage
- The new population is fed into the scheduler and
the cycle repeats, until all priority levels have
been accounted for
39Presentation Outline
- Problem Description
- Hybrid Double Chromosome Genetic Algorithms
- Dynamic Scheduling Methods
- Top Priority Path Dependent Algorithm
- Scatter Search/Path Relinking
- Summary/Conclusions
- Future Work
40Dynamic Rescheduling
- Tu Dinh
- Armen Zakharyan
- Scott Young
- Nadia Hamoude
41Outline
- Problem Description
- Genetic Algorithm Adaptation
- Max-Flexibility Task Swapping
- A Algorithm
- Conclusions
42Problem Description
- Assumptions
- Inputs static schedule and single dynamic task
- Goals
- Incorporate dynamic task into schedule
- Accommodate other tasks
- Optimize schedule
43Genetic Algorithm adaptation for dynamic tasking
(GAA)
44Overview
- Two chromosomes
- Time
- Priority
- Includes all possible tasks
- Scheduler benefits
- Accommodates as many tasks as possible
- Previously unscheduled tasks
45Overview
- Use GA chromosomes to produce a new optimal
schedule, including dynamic task. - Runtime should be fast
- Insertion time
- Scheduler time
46Overview
- Inputs
- Initial schedule
- Time and priority chromosomes
- Dynamic task
- Insertion of dynamic task
- Scheduler
47Dynamic Task Insertion
Dynamic Task
Time Chromosome
48Dynamic Task Insertion
Dynamic Task
Time window of DT
Time Chromosome
49Dynamic Task Insertion
- Resulting time chromosomes
50Dynamic Task Insertion
Dynamic Task
Priority Chromosome
51Dynamic Task Insertion
Priorities lt priority of dynamic task
52Dynamic Task Insertion
- Resulting priority chromosome
Priorities lt priority of dynamic task
Priorities gt priority of dynamic task
53Scheduler
- Chromosomes sent pairwise to scheduler
scheduler
54Conclusions on GAA
- Fast execution times.
- Inclusion of previously unscheduled tasks.
55Task Swapping with Max-Flexibility
56Background
- Laurence A. Kramer and Stephen F. Smith in 2003.
- USAF Air Mobility Command (AMC) scheduling
problem. - Used to improve an existing schedule by inserting
additional lower priority tasks (no tasks are
removed). - In our problem we want to insert tasks that may
have higher priorities (which may require
removing tasks).
57The Basic Procedure
- Inputs initial schedule and a dynamic task.
- Uses iterative repair methods.
- Inserts the dynamic task by making space in the
initial schedule. - Retracts tasks with high flexibility to make the
space needed. - Apply the method recursively on the retracted
tasks.
58Example
- Given the initial schedule and a dynamic task.
- Find a task with maximum flexibility (M.F.).
- Swap the dynamic and the M.F task.
- Repeat the procedure on the M.F task.
Dynamic task
Initial Schedule
M.F
59Retraction HeuristicMax-Flexibility
- Determines which task possesses the greatest
potential for reassignment. - Tasks with high flexibility are more capable for
rescheduling in the future. - Flexibility duration / effective time window.
60Area of interest
- Includes all the tasks from the old schedule
that intersects with the dynamic tasks effective
time window.
61Step by Step Procedure
- Calculate the area of interest.
- Calculate the flexibility.
- Chooses the task to retract Max-Flexibility
and with priority less than the priority of the
dynamic task.
62- Swap that task with the dynamic task.
- Mark the inserted task as protected.
- Apply same steps recursively using retracted task
as new dynamic task.
63Conclusion
- The task swapping procedure was presented in the
literature to be - A fast algorithm.
- Attempts to preserve the initial schedule.
64A Algorithm
- Graph search algorithm finds path from start
node to goal node. - Ranks each node based upon best route through
that node. - Visits nodes in order of this rank.
- Finds shortest route, if one exists.
65A Algorithm
- An efficient heuristic algorithm for finding
shortest paths between two points. - Algorithm not examined beyond literature.
- We explored several ideas for application to
dynamic scheduling. - Very interesting idea but does not appear to be
well-suited for our application.
66Conclusions
- GA adaptation
- Fast execution
- New task incorporation
- Max-Flexibility
- Fast algorithm
- Maintains much initial schedule
- A Algorithm
- Fast, but not well-suited for our problem.
67Presentation Outline
- Problem Description
- Hybrid Double Chromosome Genetic Algorithms
- Dynamic Scheduling Methods
- Top Priority Path Dependent Algorithm
- Scatter Search/Path Relinking
- Summary/Conclusions
- Future Work
68Team 3 Satellite Mission Scheduling TPPA
- John Apodaca, George Shen
- Sara Morrison, Jennifer Zakotnik
69Presentation Outline
- Visual Representation of the Problem
- Motivation/Overview for Our Approach
- Task Insertion Algorithm
- Initial Path Algorithm
- Conclusions
70(No Transcript)
71Top Priority Path Algorithm Overview
- Builds on idea from last years clinic.
- Tackle the problem in two steps
- Build an initial path through the highest
priority tasks - Traverse the initial path adding unscheduled
tasks based on priority - Motivation-Less Computation Time
72Initial Path
Red Priority Zero Black Priority One Blue
Priority Two
73Inserting Tasks
- Travel initial path and insert all possible
priority one tasks - Create new initial path
- Travel new initial path and insert all possible
priority two tasks - Create new initial path
- Etc.
74Initial Path
Red Priority Zero Black Priority One Blue
Priority Two
75Insertion Algorithm
X
X
Red Priority Zero Black Priority One Blue
Priority Two
76Insertion Algorithm
Red Priority Zero Black Priority One Blue
Priority Two
77Insertion Algorithm
X
Red Priority Zero Black Priority One Blue
Priority Two
78Insertion Algorithm
Red Priority Zero Black Priority One Blue
Priority Two
79Insertion Algorithm
Determine Highest Priority Unscheduled k
N
Y
80Building the Initial Schedule
- Goal build initial schedule with maximum
flexibility, while scheduling as many priority 0
tasks as possible
Scheduled Start Node pointer Next Node Node
pointer Previous Node Window Scheduled
81(No Transcript)
82Terminology
- Distances represented as time
- Arc Path from one task (vertex) to another
- In-degree of arcs coming in to a vertex
- Out-degree of arcs going out of a vertex
- Wait-time time between arrival at a task and
middle of preferred time window - Flexibility measure used to determine if an arc
should be chosen for the path - Flexibility wait-time
- wait-time slew time
Scheduled Start Node pointer Next Node Node
pointer Previous Node Window Scheduled
83Initial Path Set Up
- Consider only priority 0 tasks
- Construct arcs in and out of every vertex to
every other vertex - Algorithm is based on
- cheapest edge algorithms
- cheapest most flexible
84Initial Path AlgorithmPre-Algorithm
- Delete impossible arcs (time window constraints)
- Search vertices for In-or Out-degree 0
- In-degree 0
- ? Starting Vertex of Path
- Out-degree 0
- ? Ending Vertex of Path
- Proceed to the algorithm
85Y
N
Y
N
Find best Flex Score
Choose Corresponding Arc
Delete Mirror and Unnecessary Arcs
Update Vertex Degrees
86Is in or out degree 1
Y
N
Y
N
Find best Flex Score
Choose Corresponding Arc
Delete Mirror and Unnecessary Arcs
Update Vertex Degrees
87Is in or out degree 1
Y
N
Y
N
Find best Flex Score
Choose Corresponding Arc
Delete Mirror and Unnecessary Arcs
Update Vertex Degrees
88Y
N
Y
N
Find best Flex Score
Choose Corresponding Arc
Delete Mirror and Unnecessary Arcs
Update Vertex Degrees
89Is in or out degree 1
Y
N
Is All in and out Degree 0
Y
N
Find best Flex Score
Choose Corresponding Arc
Delete Mirror and Unnecessary Arcs
Update Vertex Degrees
90Conclusions
- Initial Path Algorithm produces a path through
priority 0 tasks - Initial Path Algorithm can be modified to handle
more priorities if desired - Insertion Algorithm efficiently adds tasks to an
original path
91Presentation Outline
- Problem Description
- Hybrid Double Chromosome Genetic Algorithms
- Dynamic Scheduling Methods
- Top Priority Path Dependent Algorithm
- Scatter Search/Path Relinking
- Summary/Conclusions
- Future Work
92Scatter Search and Path Relinking
93Summary/Conclusions