ATTEND Analytical Tools To Evaluate Negotiation Difficulty Alejandro Bugacov Robert Neches University of Southern California Information Sciences Institute ANTs PI Meeting, November, 2000
Outline 1. Goals and proposed approach 2. Relation to the CAMERA-SNAP problem 3. Integration with SNAP Modeling Interfacing with complexity control/solver ANTs Encoding the problem 4. Empirical sensitivity analysis of SNAP 5. Plans
Approach and Key Ideas Approach Generate Negotiation Difficulty Warnings Based on on Problem Complexity Analysis Analytically resolvable: handled without negotiation Requires negotiation Sub-partitioned and rated for difficulty Negotiation difficulty Partition task task space: Sub-problems that that can can be be solved solved analytically Those Those that that truly truly require require negotiation Testbed Application Formal representation of the problem ( x? y? z)? ( x? y)? Constraint Satisfiability {p 1,p 2,p 8 } s 1 {p 2,p 8 } s 3 {p 1,p 2 } {p 1 } s 4 s 2 s 5 s 6 {p 3,p 5 } {p 2,p 3 } Applied to s 7 {p 2,p 3 } Interface SNAP: Flight mission scheduling Techniques SAT & Graph Coloring Phase Transitions Iterative Solutions
Initial Challenges for the Approach Early warning of inappropriate resource assignments to the CAMERA system m 1 Pilot 1 Pilot 2 m 2 Quickly identify sets of partial solutions and estimate difficulty of remaining set Identify imperative assignments
Squadron Capability Goals & Mission-Resource Requirements in SNAP Mix of quals that should be represented in the squadron Average Pilot CRP (combat readiness %) CRP is a fractional value for mission codes Equity in Pilot Hours E.g., within ~10% equity in a monthly basis Mission Role 1 Role 2 Pilot Aircraft Pilot Aircraft Role n Range Pilot Aircraft priority Main mission types: - FRAGS: Few Fixed time No range - Builds: Few Focus on a Pilot - Training: Many Role 1 is the trainee Need to find time slot and additional resources - Fly or Simulated
Challenges of the CAMERA-SNAP Domain Scheduling of large number of flight missions over long planning periods Long list of complex constraints Training Codes Prerequisites Fly Day Crew Day Day & Night Missions Turn-arounds, Pits & Briefing Time Schedule Types Instructor Requirements and Formations Range Capabilities No obvious mapping to a standard scheduling problem
Modeling Approach (Joint work with Cornell Group) Set of Constraints BIG CSP SNAP Negotiations Feedback to negotiations CAMERA m N Analyze Complexity & Improve Solution Domain modeling & constraints built built into into SNAP SNAP ISI and Cornell Teams Initial Modeling Approach SNAP Mission Generator: SNAP, give me the N next missions m 3 m 2 m 1 ATTEND m 1 to m N Problem Interface (Hooks for other ANTs) Dynamic Encoding {p 1,p 2,p 8 } {p 1,p 2 } s 1 {p s 2 2,p 8 } {p 1 } s 3 ( x? y? z)?( x? y)? ISI + Cornell s 4 s 5 s 6 {p 3,p 5 } {p 2,p 3 } s 7 {p 2,p 3 } N missions graph encoding
Graph Based Encoding Example Get a snapshot of the problem that CAMERA is working on via the Problem Interface Dynamically construct a graph representation Analyze complexity and resolve conflicts based on coloring of the graph
Problem Interface: Training Missions Example Each mission has N r roles (not counting the trainee pilot P T ) There are 2 (1+N r ) dimensions for each mission The problem interface will provide sets with all eligible (qualified + available) candidates for each dimension: Set P r ={P 1 (t 1 ), P 1 (t 3 ),, P 8 (t 3 )} A r ={A 3 (t 5 ), A 1 (t 3 ),, A 5 (t 3 )} A T ={A 1 (t 1 ), A 2 (t 1 ),, A 4 (t 4 )} R = {R 1 (t 1 ), R 1 (t 3 ),, R 4 (t 3 )} # Description N r N r 1 1 Pilots set with all eligible pilot slots to fly mission M i in role r=1,2,.., N r Aircrafts set with all eligible aircrafts slots to fly mission M i in role r=1,2,., N r Aircrafts set with all eligible aircrafts slots for pilot P T to fly mission M i Range set with all eligible range slots to fly mission M i Additional resource/mission related variables (e.g., CRP) Current XML implementation
Effective Colors Scheme Using Problem Interface For each mission construct the following time-resource table t 1 t 2 t 3 Aircraft Trainee A1, A3 A2 A1 A1, A2 Aircraft Role 2 Aircraft Role 1 Pilot Role 2 Pilot Role 1 A1 A1 A1 A1, A3 A1 A2 A1 P1 P1,P2,P7 P9 P2,P3 P5,P6 Range R1 R2 R3 R1 R2 R4 C 1 C 3 C C 2 C 5 C 4 C 7 6 C 8 time Group resource-slots into effective colors that a given mission may assume: m 1 ={C 1,C 2,.,C 8 } Finding the set of possible colors is already complex. How can we do it efficiently? Random search until reach cutoff of max trials?...
Graph Coloring Approach For the Effective Colors Scheme (I) Effective colors are nodes Edge connect them if they share some resource Missions are the possible ways of painting the node {m 6,m 8, m 9,m 12 } c 6 {m 1,m 2, m 77 } c 1 {m 2 } c 5 c 7 {m1,m 2,m 77} {m 1,m 2, m 3 } c 2 {m 3,m 7 } c 3 c 4 {m 1,m 2,m 3,m 4,m 6 }
Graph Coloring Approach For the Effective Colors Scheme (II) Alternative Graph: Missions are nodes Edge connect them if they share some resource or overlap in time Effective colors are the possible ways of painting the node This approach seems over-constraining {c 1,c 2 } m 1 {c 1,c 2, c 3 } m 2 {c 3,c 7 } m 3 m 7{c1,c 2, c 7 } {c 2 } m 5 m 4 {c 1,c 2,c 3,c 4,c 6 } Other possible SAT encoding from Cornell group
Complexity Analysis and Solution Finding Graph Coloring and SAT techniques Local Search Phase Transitions & Backbone Variables Issues: variable number of colors per node Efficient way of processing Generation of phase transition curves
Empirical Studies of SNAP Behavior wrt Resource Availability Initial attempt to gain insight on the scaling/complexity issues of SNAP Study how sensitive the system is with respect to resource availability Measurements: During execution N(t): Count the number of successful missions and record the time t at which a new mission is filled At the end of each trial run Total number of generated missions Resource availability Fraction filled Execution time
Control of Resource Availability Density Mon Tue Wed Thur Fri p1 80% r1 50% range blocking Interval = ½ hr pilot blocking Interval = 1 day Control availability by by randomly blocking a % of of the original availability Control Parameters: Pilot, Pilot, Aircraft Aircraft and and Range Range availability density density Pilot, Pilot, Aircraft Aircraft and and Range Range blocking interval interval
Instrumentation Tools Used in the Experiments Counting and downcasting messages Coding listeners we can implement actions at the sending (or receiving) time of a message Downcast a message to determine an action based on the message type
Near Linear Increase of Execution Time wrt the Total size of the Problem 70 60 Execution Time (secs) 50 40 30 20 y = 7E-05x 2 + 0.0385x + 0.1049 10 0 0 100 200 300 400 500 600 700 Total Number of Missions FRAGS only Varying Pilots Availability Ranges and Aircraft Availability fixed at 100%
Speedup Due to Early Pruning Strategy Used for Ranges Varying Range Availability with Aircrafts and Pilots Availability fixed at 100% 60 Ranges 100% Exectution Time (secs) 50 40 30 20 10 Ranges 20% 0 0 100 200 300 400 500 600 700 Total Number of Missions
Mission Scheduling Rate Very Sensitive to Resource Availability 8000 7000 6000 FRAGS 80% Training 100% Time (msecs) 5000 4000 3000 2000 60% pilot and range availability range availability 1000 0 0 5 10 15 20 25 30 35 40 45 50 mission number
Elbow Behavior In The Scheduling Rate When The Aircraft Availability Is Reduced 6000 5000 5% 10% 20% 30% 40% FRAGS only 4000 Time (msecs) 3000 50% 60% 2000 70% 1000 80% 90% 0 100% 0 50 100 150 200 250 mission number
Questions about Elbows What is causing the elbows? Can we avoid them? What determines their occurrence? Can we predict their onset? Andrew Parkes analytical work: search mechanism on 3-SAT formulas looks similar Experimental approach: look at resource contention at the time-slot level
Understanding Resource Contention: Time-Slot Resource Availability Ratios Identify resource availability levels at successful attempts Learn why and when missions fail When a mission announces that it s trying a new time-slot: Count the number of aircrafts, pilots and ranges currently competing at that time-slot Count the number of aircrafts, pilots and ranges currently available at that time slot Compute aircraft ratio, pilot ratio and range ratio as ratio = (# of available)/ (# of competing) Take into account pilot time, aircraft time and range time Ratios can indicate the probability of succeeding
Use Mission Ratios to predict success: 75% of Successful Missions with Ratios > 1 1.2 1 % of filled missions 0.8 0.6 0.4 0.2 0 Pilots Aircrafts Ranges 0 1 2 3 4 5 6 7 8 9 availability ratio
Success Probability Sharp Increase for Pilot Ratio > 3 10000 0.7% Unsatisfied Satisfied 1000 3.6% 100 5.5% 13% 27% 25% 10 50% 33% 1 0.1 1 2 3 4 5 6 7 8 9 pilot ratio
Success Probability Sharp Increase for Aircraft Ratio > 3 10000 1000 0.9% 2% Unsatisfied Satisfied 3% 100 14% 9% 10 100% 1 0.1 1 2 3 4 5 6 7 8 aircraft ratio
Empirical Studies: Conclusions & Further Work SNAP scales nearly linearly with problem size Distinct elbows (Phase-transition like behavior) are observable Elbows occur when resource availability decreases Resource contention hinders success Challenge: use ratios to predict the position of the elbows
Plans, Tasks and Milestones Task 1: 1: Modeling and Analytical Tools Formal Formal modeling of of CAMERA/SNAP system Model Model FRAGS and and Training missions problems Selection and and implementation of of problem characterization algorithms Collaboration with with Cornell Team Team Task 2: 2: API specification and implementation Design Design and and implementation of of the the Problem Interface to to SNAP SNAP Implementation of of XML/XSL data data and and reports modules Task 3: 3: ANT technology integration Provide hooks hooks to to CAMERA via via the the Problem Interface to to ATTEND and and other other ANTs ANTs contractors Early Early warning of of inappropriate resource assignments in in CAMERA
End
Back Up Set: SNAP Constraints
Training Codes Prerequisites Prerequisites are defined in the Pilot Training Manual (PTM): For a given mission code the PTM specifies what are the prerequisite codes that a pilot must have current in order to fly the given code Code currency is not constant and codes must be refreshed in order to remain current PTM prerequisites are captured in xml form and is part of the SNAP code
Fly Day The Fly Day is specified as a list of time intervals The sum of the intervals duration cannot exceed the maximum fly-day length constraint (typically of 10 hrs) Usually the Fly day consists of 1 or 2 intervals Can change daily or weekly Monday Tuesday 8am-2pm 8am-6pm 5-9pm The Fly day only limits the take-off and landing periods. Take-offs and landings cannot happen outside the Fly day
Crew Day The crew day is the period of time a pilot can be on base Is a continuous interval typically < 12 hrs Pilots cannot be scheduled to fly outside their crew day There is a minimum distance between consecutive crew days that must be taken into account.
Day & Night Missions Day missions: Take-off: Lower bound is 1/2 hour after sunrise Landing: Upper bound is 1/2 hour before sunset Night missions: "Night" is defined by the amount of light (LUX) and a given time interval after sunset LUX and moon illumination and position constraints. For example a given mission might required to be performed 1hr after sunset and LUX < 0.002. These rules as defined in PTM Special rules for NS qualed vs Pilot In Training
Turn-arounds arounds,, Pits & Briefing Time Two main scheduling schemes: Turns Pits Pits are mostly a pilot constraint A typical daily schedule combines Pits and Turns Turns are mostly a maintenance constraint
Pits Pit Sequence 2-leg Pit Sequence (Pilot and Aircraft are the Same) briefing (2hrs) take-off time to range (~10 mins) time in range ½ hr landing time from range (~10-20 mins) Pilots and aircrafts are the same In second leg can only fly certain missions codes restricted by the code of the first leg Time interval for which resources are needed: Pilot: From beginning of briefing of first leg to end of debriefing of the last leg Aircraft: From take-off of first leg to landing of last leg Range: individual ranges are needed only during the "time in range" interval of each leg PIT ~1/2 to 1 hr 2 nd leg take-off time to range time in range time from range landing debriefing (1 hr)
Turns Turn Sequence Turn Sequence (Aircraft time) briefing (2hrs) take-off time to range (~10 mins) time in range ½ hr landing time from range (~10-20 mins) TURN (2 hrs) take-off time to range (~10 mins) time in range ½ hr. Turn Sequence (Pilot time) briefing (2hrs) take-off Planes have a 2hr turnaround time No restrictions between planes, pilots and codes after the Turn Time interval for which resources are needed: Pilot: From beginning of briefing to end of debriefing Aircraft: From take-off to landing. Aircrafts unavailable for a period of 2 hrs after landing Range: during "time in range" interval time to range (~10 mins) time in range ½ hr landing time from range (~10-20 mins) debriefing (1hr)
Pilot, Aircraft and Ranges Time Aircraft time sequence: Time to range Time in range Return time from range Turnaround time (for Turns only) Pilot time sequence: Briefing time: 2 hours Fly: as defined in DB (typically 1 hour) Debriefing: 1 hour for training missions Ranges: Time in range: typically ½ hour
Schedule Types There are two basic Schedules types: Normal Schedule: The first take-off after the TURN must be at least 2 hours after the last landing of flights done before the TURN. Not all take-off must be exactly 2 hrs after the last landing Line Schedule: Planes turnaround time don't match up Planes are available for other missions after they have completed their 2hrs long turnaround time The schedule type is decided on a daily basis A Typical schedule is: 4-Pit-4 -TURN-4-Pit-4
Determined based on training code and pilot quals: If the pilot Instructor is qualified for the Requirements code in the "Quals Needed and to Fly Without IP" table then he can fly without and instructor If NOT qualed then needs an instructor with the qual given in the Formations "MissionSupportRoles" table. Two main formations: Sections and Divisions Section: 2 planes. Lead and Wing. Pilot Positions are: Section Lead and Wingman Division: 4 planes. Is formed by 2 Sections Pilot positions are: Division Lead, Wingman to the division lead, Section Lead and Wingman for the Section Lead Formation and the codes are in "MissionSupportRoles" table
Instructor Requirements and Formations II
Range Capabilities Range selection based on Availability Training code: suitability and preference: Each range has a list of mission codes it supports A measure of how suitable it is for that code in a scale from 0 to 5 Range are typically available in 1/2 hr slots Support merging and splitting of ranges defined on a per range basis (underutilized until guidance interface supports it): Altitude-based splitting/merging Geography-based splitting/merging