930 likes | 949 Views
This presentation outlines a hybrid double chromosome genetic algorithm approach for dynamic scheduling of satellite tasks. The problem involves determining which earth-bound targets to photograph and when, considering constraints like non-overlapping tasks and time windows. The scheduling aims to maximize the number of tasks scheduled, especially high-priority ones, while addressing dynamic tasking requests efficiently. The double chromosome genetic algorithm combines two chromosomes to optimize task order and scheduling simultaneously, resulting in an effective satellite mission schedule.
E N D
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.
Tasks • Associated variables • time window, preferred vs. effective • priority (0-99) • duration • Monitoring vs. Simple task Preferredwindow E f f e c t i v e w i n d o w
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 < minimum, the monitoring task is not considered “completed”
The Schedule • 2 Common Ways to Think of a Schedule • Temporally (timeline) • Geographically (nodes and arcs) Task 3 Slew Task 1 Slew Task 7 Slew Task 2 Slew Task 5 Task 4 Task 8 2 3 slew time 5 6 1 4 7 8
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)
Dynamic Scheduling • Insert new tasks into initial schedule (on the fly) • Must adjust remainder of schedule. 2 3 5 6 1 4 7 8 ? New task ? ? Task 3 Slew Task 1 Slew Task 7 Slew Task 2 Slew
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
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).
Task List (Next Priority) New Population Best Fit Chromosome Priority Order TimeOrder Mutation Scheduler Cross-Over Evaluator Current Population Selection Hybrid Double Chromosome GA Approach
Chromosome1 Chromosome2 Scheduler 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 Priority Order Chromosome Time Order Chromosome 2 2 7 10 4 5 10 4 7 5 2 Start End Start End 2
Scheduler Priority Order Chromosome Time Order Chromosome 2 7 7 10 10 4 4 5 5 10 4 7 5 2 Start Start 2 End 7
Scheduler Priority Order Chromosome Time Order Chromosome 2 7 10 10 10 4 4 5 5 10 4 7 5 2 Start Start 7 2 End 10
Scheduler Priority Order Chromosome Time Order Chromosome 2 7 10 10 4 4 4 5 5 10 4 7 5 2 Start 10 7 2 End 4 7
Scheduler Priority Order Chromosome Time Order Chromosome 2 7 10 10 4 4 4 5 5 10 4 7 5 2 Start 10 7 2 End 5 2
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
Task List (Next Priority) New Population Best Fit Chromosome Priority Order TimeOrder Mutation Scheduler Cross-Over Evaluator Current Population Selection Hybrid Double Chromosome GA Approach
Mutation New Population Cross-Over Current Population Selection Traditional GA
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).
Current Population 02 06 03 01 06 05 04 02 01 03 05 04
Current Population 02 03 03 06 04 01 05 05 06 06 01 01 05 02 02 03 04 04
Current Population 02 03 06 04 01 05 06 06 01 01 05 02 02 03 04 04 06 03 01 02 04 05 New Population
Task List (Next Priority) New Population Best Fit Chromosome Priority Order TimeOrder Mutation Scheduler Cross-Over Evaluator Current Population Selection Hybrid Double Chromosome GA Approach
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) Most Fit Chromosome Random Priority 1 Task Chromosome 01 01 03 03 02 02 14 14 17 17 15 15 16 16 18 18
Current Population Task List (Next Priority) Most Fit Chromosome Random Priority 1 Task Chromosome 01 01 03 03 02 02 14 14 17 17 15 15 16 16 18 18 01 14 17 03 02 15 16 18 New Population
Task List (Next Priority) New Population Best Fit Chromosome Priority Order TimeOrder Mutation Scheduler Cross-Over Evaluator Current Population Selection Hybrid Double Chromosome GA Approach
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 Young Nadia 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
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 window of DT Time Chromosome
Dynamic Task Insertion Resulting time chromosomes:
Dynamic Task Insertion Priority chromosome: Dynamic Task Priority Chromosome