satellite mission scheduling with dynamic tasking university of colorado at denver and health...

Post on 23-Jan-2016

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related