Satellite Mission Scheduling With Dynamic Tasking - PowerPoint PPT Presentation

1 / 93
About This Presentation
Title:

Satellite Mission Scheduling With Dynamic Tasking

Description:

... With Dynamic Tasking. University of Colorado at Denver and Health Sciences Center ... Search technique used in computer science to find an approximate solution to ... – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 94
Provided by: wwwmathC
Category:

less

Transcript and Presenter's Notes

Title: Satellite Mission Scheduling With Dynamic Tasking


1
Satellite Mission Scheduling With Dynamic Tasking
  • University of Colorado at Denver and Health
    Sciences Center
  • Math Clinic, Spring 2006

2
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

3
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 cant overlap.
  • tasks have time windows of opportunity
  • Features
  • order dependent slew time
  • tasks are prioritized.

4
Tasks
  • 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
5
Monitoring 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

6
The 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
7
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)

8
Dynamic 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
9
Team 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
  • Math Clinic, Spring 2006

10
Outline
  • Double Chromosomes and Scheduler
  • Genetic Algorithms Overview
  • Hybrid GA Overview
  • Future Work
  • Conclusion

11
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).

12
Hybrid Double Chromosome GA Approach
13
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

14
Scheduler
Priority Order Chromosome
Time Order Chromosome
2
2
4
10
7
5
2
7
10
4
5
Start
End
Start
End
2
15
Scheduler
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
16
Scheduler
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
17
Scheduler
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
18
Scheduler
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
19
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

20
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

21
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

22
Hybrid Double Chromosome GA Approach
23
Traditional GA
24
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)

25
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

26
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)

27
Cross-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).

28
Current Population
02
03
04
06
05
01
06
01
02
05
04
03
29
Current Population
06
01
02
05
04
03
02
03
04
06
05
01
03
05
06
01
02
04
30
Current 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
31
Hybrid Double Chromosome GA Approach
32
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

33
Current 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
34
Task 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
35
Hybrid Double Chromosome GA Approach
36
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

37
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

38
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

39
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

40
Dynamic Rescheduling
  • Tu Dinh
  • Armen Zakharyan
  • Scott Young
  • Nadia Hamoude

41
Outline
  • Problem Description
  • Genetic Algorithm Adaptation
  • Max-Flexibility Task Swapping
  • A Algorithm
  • Conclusions

42
Problem Description
  • Assumptions
  • Inputs static schedule and single dynamic task
  • Goals
  • Incorporate dynamic task into schedule
  • Accommodate other tasks
  • Optimize schedule

43
Genetic Algorithm adaptation for dynamic tasking
(GAA)
44
Overview
  • Two chromosomes
  • Time
  • Priority
  • Includes all possible tasks
  • Scheduler benefits
  • Accommodates as many tasks as possible
  • Previously unscheduled tasks

45
Overview
  • Use GA chromosomes to produce a new optimal
    schedule, including dynamic task.
  • Runtime should be fast
  • Insertion time
  • Scheduler time

46
Overview
  • Inputs
  • Initial schedule
  • Time and priority chromosomes
  • Dynamic task
  • Insertion of dynamic task
  • Scheduler

47
Dynamic Task Insertion
  • Time chromosome

Dynamic Task
Time Chromosome
48
Dynamic Task Insertion
  • Time chromosome

Dynamic Task
Time window of DT
Time Chromosome
49
Dynamic Task Insertion
  • Resulting time chromosomes

50
Dynamic Task Insertion
  • Priority chromosome

Dynamic Task
Priority Chromosome
51
Dynamic Task Insertion
  • Priority chromosome

Priorities lt priority of dynamic task
52
Dynamic Task Insertion
  • Resulting priority chromosome

Priorities lt priority of dynamic task
Priorities gt priority of dynamic task
53
Scheduler
  • Chromosomes sent pairwise to scheduler

scheduler
54
Conclusions on GAA
  • Fast execution times.
  • Inclusion of previously unscheduled tasks.

55
Task Swapping with Max-Flexibility
56
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).

57
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.

58
Example
  • 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
59
Retraction 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.

60
Area of interest
  • Includes all the tasks from the old schedule
    that intersects with the dynamic tasks effective
    time window.

61
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.

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.

63
Conclusion
  • The task swapping procedure was presented in the
    literature to be
  • A fast algorithm.
  • Attempts to preserve the initial schedule.

64
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.

65
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.

66
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.

67
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

68
Team 3 Satellite Mission Scheduling TPPA
  • John Apodaca, George Shen
  • Sara Morrison, Jennifer Zakotnik

69
Presentation Outline
  • Visual Representation of the Problem
  • Motivation/Overview for Our Approach
  • Task Insertion Algorithm
  • Initial Path Algorithm
  • Conclusions

70
(No Transcript)
71
Top 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

72
Initial Path
Red Priority Zero Black Priority One Blue
Priority Two
73
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.

74
Initial Path
Red Priority Zero Black Priority One Blue
Priority Two
75
Insertion Algorithm
X
X
Red Priority Zero Black Priority One Blue
Priority Two
76
Insertion Algorithm
Red Priority Zero Black Priority One Blue
Priority Two
77
Insertion Algorithm
X
Red Priority Zero Black Priority One Blue
Priority Two
78
Insertion Algorithm
Red Priority Zero Black Priority One Blue
Priority Two
79
Insertion Algorithm
Determine Highest Priority Unscheduled k
N
Y
80
Building 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)
82
Terminology
  • 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
83
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

84
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

85
Y
N
Y
N
Find best Flex Score
Choose Corresponding Arc
Delete Mirror and Unnecessary Arcs
Update Vertex Degrees
86
Is in or out degree 1
Y
N
Y
N
Find best Flex Score
Choose Corresponding Arc
Delete Mirror and Unnecessary Arcs
Update Vertex Degrees
87
Is in or out degree 1
Y
N
Y
N
Find best Flex Score
Choose Corresponding Arc
Delete Mirror and Unnecessary Arcs
Update Vertex Degrees
88
Y
N
Y
N
Find best Flex Score
Choose Corresponding Arc
Delete Mirror and Unnecessary Arcs
Update Vertex Degrees
89
Is 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
90
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

91
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

92
Scatter Search and Path Relinking
  • Armen Zakharyan

93
Summary/Conclusions
Write a Comment
User Comments (0)
About PowerShow.com