Date post: | 23-Jan-2016 |
Category: |
Documents |
View: | 219 times |
Download: | 0 times |
Satellite Mission Scheduling With Dynamic Tasking
University of Colorado at Denver and Health Sciences Center
Math Clinic, Spring 2006
Presentation Outline
• Problem Description• Hybrid Double Chromosome Genetic
Algorithms• Dynamic Scheduling Methods• Top Priority Path Dependent Algorithm• Scatter Search/Path Relinking• Summary/Conclusions• Future Work
Satellite 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 can’t overlap.– tasks have time windows of opportunity
• Features– order dependent slew time– tasks are prioritized.
• Associated variables– time window, preferred vs.
effective
– priority (0-99)
– duration• Monitoring vs. Simple
Tasks
E f f e c t i v e w i n d o w
task
Preferred window
• 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 < minimum, the monitoring task is not
considered “completed”
Monitoring Tasks
• 2 Common Ways to Think of a Schedule– Temporally (timeline)
– Geographically (nodes and arcs)
The Schedule
Task 3 Slew Task 7Task 1 SlewSlew Task 2 Task 4Task 5 Task 8
71
6
3
5
4
2
8
slew time
Slew
Scheduling - Objectives• Maximize number of tasks scheduled (images
collected).• Collect as many high priority tasks as possible.• Be able to address incoming requests (dynamic
tasking)
• Insert new tasks into initial schedule (on the fly)– Must adjust remainder of schedule.
Dynamic Scheduling
71
6
3
5
4
2
8
New task?
?
?
Task 3 Slew Task 7Task 1 SlewSlew Task 2Slew
Team 1: A Hybrid Double Chromosome Genetic Algorithm
Approach to the Satellite Scheduling Problem
Math Clinic, Spring 2006
Cliff Bainter, Nima Lekmine, Jeremy Noe,
Leslie Quinn, Whitney Rust, Dmitriy Vassilyev
Outline
• Double Chromosomes and Scheduler• Genetic Algorithms Overview• Hybrid GA Overview• Future Work• Conclusion
Solving 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).
Hybrid Double Chromosome GA Approach
CurrentPopulation
Priority Order Time Order
Scheduler
Evaluator
Best Fit ChromosomeTask List
(Next Priority)
New Population
Mutation
Cross-Over
Selection
Our 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
Scheduler
Chromosome1 Chromosome2
22
Priority Order Chromosome Time Order Chromosome
Start End
4107 5 2710 4 5
Start End
2
Scheduler
Priority Order Chromosome Time Order Chromosome
2 4107 5 2710 4 54107 5
2
Start
7
Start End
Scheduler
Priority Order Chromosome Time Order Chromosome
2 4107 5 2710 4 5410 5
27
10
Start
10
Start End
Scheduler
Priority Order Chromosome Time Order Chromosome
2 4107 5 2710 4 5410 5
2710
4
Start End
47
Scheduler
Priority Order Chromosome Time Order Chromosome
2 4107 5 2710 4 5410 5
2710
4
5
Start End
2
Scheduler
Scheduler• 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
Evaluator (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
Evaluator
• 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
Hybrid Double Chromosome GA Approach
CurrentPopulation
Priority Order Time Order
Scheduler
Evaluator
Best Fit ChromosomeTask List
(Next Priority)
New Population
Mutation
Cross-Over
Selection
Traditional GA
CurrentPopulation
Mutation
Cross-Over
Selection
New Population
Background: 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)
Background: 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
Selection• 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)
Cross-Over• Syswerda’s 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).
02 03 0406 0501
Current Population
06 01 0205 0403
Current Population
06 01 0205 040302 03 0406 050103 05 06 01 02 04
Current Population
06 01 0205 040302 03 0406 0501
New Population
06 01 02 04
06 03 0201 0504
Hybrid Double Chromosome GA Approach
CurrentPopulation
Priority Order Time Order
Scheduler
Evaluator
Best Fit ChromosomeTask List
(Next Priority)
New Population
Mutation
Cross-Over
Selection
Iterative 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
Current Population
Task List(Next
Priority)
01 03 02 14 17 1615 18
Most Fit Chromosome
01 14 1703 02 15 16 18
Random Priority 1 Task Chromosome
Random Priority 1 Task Chromosome
Most Fit Chromosome
Task List(Next
Priority)
Current Population
01 03 02 14 17 1615 18
New Population
01 03 0214 17 15 16 18
01 03 02 14 17 1615 18
Hybrid Double Chromosome GA Approach
CurrentPopulation
Priority Order Time Order
Scheduler
Evaluator
Best Fit ChromosomeTask List
(Next Priority)
New Population
Mutation
Cross-Over
Selection
Future 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
Conclusion
• 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
Scheduler• 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
Presentation Outline
• Problem Description• Hybrid Double Chromosome Genetic
Algorithms• Dynamic Scheduling Methods• Top Priority Path Dependent Algorithm• Scatter Search/Path Relinking• Summary/Conclusions• Future Work
Dynamic Rescheduling
Tu Dinh Armen Zakharyan
Scott YoungNadia Hamoude
Outline
• Problem Description• Genetic Algorithm Adaptation• Max-Flexibility Task Swapping• A* Algorithm• Conclusions
Problem Description
• Assumptions:– Inputs: static schedule and single dynamic task
• Goals: – Incorporate dynamic task into schedule
– Accommodate other tasks
– Optimize schedule
Genetic Algorithm adaptation for dynamic tasking (GAA)
Overview
• Two chromosomes:– Time
– Priority
– Includes all possible tasks• Scheduler benefits:
– Accommodates as many tasks as possible
– Previously unscheduled tasks
Overview
• Use GA chromosomes to produce a new “optimal” schedule, including dynamic task.
• Runtime should be fast– Insertion time
– Scheduler time
Overview
• Inputs: – Initial schedule
– Time and priority chromosomes
– Dynamic task
• Insertion of dynamic task
• Scheduler
Dynamic Task Insertion
Time chromosome:
Dynamic Task
Time Chromosome
Dynamic Task Insertion
Time chromosome:
Dynamic Task
Time Chromosome
Time window of DT
Dynamic Task Insertion
Resulting time chromosomes:
Dynamic Task Insertion
Priority chromosome:
Dynamic Task
Priority Chromosome
Dynamic Task Insertion
Priority chromosome:
Priorities <= priority of dynamic task
Dynamic Task Insertion
Resulting priority chromosome:
Priorities <= priority of dynamic taskPriorities > priority of dynamic task
Scheduler
Chromosomes sent pairwise to scheduler:
Time Chromosomes
Priority Chromosome
scheduler
Conclusions on GAA
• Fast execution times.
• Inclusion of previously unscheduled tasks.
Task Swapping with Max-Flexibility
Background
• 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).
The 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.
• 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.
Example
M.F Initial Schedule
Dynamic task
Retraction Heuristic
Max-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.
Area of interest
Includes all the tasks from the old schedule that intersects with the dynamic task’s effective time window.
Step 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.
• Swap that task with the dynamic task.
• Mark the inserted task as protected.
• Apply same steps recursively using retracted task as new dynamic task.
Conclusion
• The task swapping procedure was presented in the literature to be:
– A fast algorithm.
– Attempts to preserve the initial schedule.
A* 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.
A* 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.
Conclusions
• 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.
Presentation Outline
• Problem Description• Hybrid Double Chromosome Genetic
Algorithms• Dynamic Scheduling Methods• Top Priority Path Dependent Algorithm• Scatter Search/Path Relinking• Summary/Conclusions• Future Work
Team 3: Satellite Mission Scheduling TPPA
John Apodaca, George Shen
Sara Morrison, Jennifer Zakotnik
Presentation Outline• Visual Representation of the Problem• Motivation/Overview for Our Approach• Task Insertion Algorithm • Initial Path Algorithm• Conclusions
Top Priority Path Algorithm Overview
• Builds on idea from last year’s 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
Initial Path
Red = Priority Zero
Black = Priority One
Blue = Priority Two
Inserting 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.
Initial Path
Red = Priority Zero
Black = Priority One
Blue = Priority Two
Insertion Algorithm
X
X
Red = Priority Zero
Black = Priority One
Blue = Priority Two
Insertion Algorithm
Red = Priority Zero
Black = Priority One
Blue = Priority Two
Insertion Algorithm
Red = Priority Zero
Black = Priority One
Blue = Priority Two
X
Insertion Algorithm
Red = Priority Zero
Black = Priority One
Blue = Priority Two
Start
Determine Highest Priority
Unscheduled = k
Begin i=1, [xi, xi+1] =
time window for tasks xi and xi+1,
1 ≤ i ≤ n
Consider all priority k
tasks in time window
Schedule all possible
Move to
[xi+1, xi+2]
Is i+1=n?Delete all unscheduled
priority k tasks
Insertion Algorithm
N
Y
Building the Initial Schedule
Scheduled StartNode pointer Next Node
Node pointer Previous NodeWindow Scheduled
• Goal: build initial schedule with maximum flexibility, while scheduling as many priority 0 tasks as possible
• 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 pathFlexibility = wait-time
wait-time + slew time
Terminology
Scheduled StartNode pointer Next Node
Node pointer Previous NodeWindow Scheduled
Initial 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”
Initial 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
Find best Flex Score
Choose Corresponding Arc
Update Vertex Degrees
Delete Mirror and Unnecessary Arcs
Y
Y
N
N
Stop
Begin
Is
in or out
degree
=1
Is
All in and out
Degree
= 0
Find best Flex Score
Choose Corresponding Arc
Update Vertex Degrees
Delete Mirror and Unnecessary Arcs
Y
Y
N
N
Stop
Begin
Is
in or out
degree
=1
Is
All in and out
Degree
= 0
Find best Flex Score
Choose Corresponding Arc
Update Vertex Degrees
Delete Mirror and Unnecessary Arcs
Y
Y
N
N
Stop
Begin
Is
in or out
degree
=1
Is
All in and out
Degree
= 0
Find best Flex Score
Choose Corresponding Arc
Update Vertex Degrees
Delete Mirror and Unnecessary Arcs
Y
Y
N
N
Stop
Begin
Is
in or out
degree
=1
Is
All in and out
Degree
= 0
Find best Flex Score
Choose Corresponding Arc
Update Vertex Degrees
Delete Mirror and Unnecessary Arcs
Y
Y
N
N
Stop
Begin
Is
in or out
degree
=1
Is
All in and out
Degree
= 0
Conclusions
•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
Presentation Outline
• Problem Description• Hybrid Double Chromosome Genetic
Algorithms• Dynamic Scheduling Methods• Top Priority Path Dependent Algorithm• Scatter Search/Path Relinking• Summary/Conclusions• Future Work
Scatter Search and Path Relinking
Armen Zakharyan
Summary/Conclusions