MICANTS Gabor Karsai Benoit Dawant Greg Nordstrom Chris vanBuskirk Karlkim Suwanmongkol Patrick Norris Jonathan Sprinkle (Vanderbilt/ISIS) Jon Doyle Robert Laddaga Vera Ketelboeter (MIT) George Bloor (Boeing) Russ Currer (Idea Services)
MICANTS Research Goals How to useHow to use 1.Model-Integrated Computing, and 2.Agent/Negotiation technology to solve complex resource management problems in (Autonomic) Logistics to solve complex resource management problems in (Autonomic) Logistics To demonstrate the feasibility of the technology through real-life example(s)To demonstrate the feasibility of the technology through real-life example(s)
Roles Vanderbilt/ISIS MIC, implementation, and demonstration MIT Concepts, algorithms Boeing Modeling, domain knowledge Idea Services Domain expertise and scenarios, customer interface
MIC for ANTS Support for negotiation protocols Source of complexity: Coordinating agent behavior with the negotiation protocol(s) The problem: Complex agents that participate in multiple, simultaneous negotiations are hard to write The MIC solution: Model and analyze negotiation protocols Generator Synthesize code for negotiation engine Coordination Engine Negotiating Agent Status: working prototype is in use on the project
MIC for ANTS Support for legacy system integration The problem: Negotiating agents have to access legacy databases,writing access code is tedious and error-prone. The MIC solution: Model legacy database schema and agent ontology Generator Synthesize code for agent database interface Database Interface Negotiating Agent Source of complexity: Coordination of the agent’s data model With legacy database’s schema Legacy DBase Legacy DBase Status: modeling environment prototype has been built. Note: This approach is beneficial for systems without a data warehouse.
Agents/Negotiation Technology Constraints manages Constraints manages CONFLICT negotiation Mutually acceptable, Negotiated solution satisfies Objective: “Good enough solutions/soon enough”
Demonstration domain Maintenance logistics (simplified): Unscheduled aircraft repair discrepancy report MMCO Flight Schedule Shop Maintenance Schedule Assign mechanic negotiate W/C OIC Current practice:Manual process MMCO (sister squadron) Negotiate/barter
Vision: Agent-supported Maintenance Process discrepancy report MMCO Flight Schedule Shop Maintenance Schedule Assign mechanic negotiate W/C OIC Goal:Assistance through offering negotiated options options approve report options approve negotiate options approve Autonomic response MMCO (sister squadron) Agents: “Helpers” for the users Implement CO’s intent, business rules, and user guidance Negotiate solutions autonomically Offer options for approval Commander’sIntent CAUTION: Simplified picture MAPLANT MAintenance PLanning AgeNTs
MAPLANT Prototype Agents to support users Schedule generated: mechanics + time Create schedules based on constraints Task: starts after, ends before, requires resource (mechanic) Number of resources + qualifications Planning window size Incrementally schedule new tasks and assign mechanics to them based on constraints
Agents for the users Maintenance Control Chief’s Agent Receives and logs gripes Negotiates with MALS and W/C-s Barters with sister squadron Shows canni options Event status display Event/AC assignments AC status over time “What-if”s Maintenance Control Chief’s Agent Receives and logs gripes Negotiates with MALS and W/C-s Barters with sister squadron Shows canni options Event status display Event/AC assignments AC status over time “What-if”s Work Center Supervisor’s Agent Schedules calendar-based MAs Proposes schedule(s) Schedule displays (with options) Work Center Supervisor’s Agent Schedules calendar-based MAs Proposes schedule(s) Schedule displays (with options) Helper “agents” Aircraft (health status) Mission (events, flight schedule) Jobs (maintenance actions) Workers (maintainers) MALS Helper “agents” Aircraft (health status) Mission (events, flight schedule) Jobs (maintenance actions) Workers (maintainers) MALS Current prototype
Agent operations M/C Startup Event Status Board (M/C) Event times EVT/AC assignment A/C status (OK, down, repair) M/C Startup Event Status Board (M/C) Event times EVT/AC assignment A/C status (OK, down, repair) Current prototype W/C Startup Schedules calendar-based MAs Input: Job list with time and MOS requirements Worker pool with qualifications Output: Jobs scheduled and assigned to workers W/C Startup Schedules calendar-based MAs Input: Job list with time and MOS requirements Worker pool with qualifications Output: Jobs scheduled and assigned to workers Constraint-based scheduling: Task “start-after”s, “ends- before”-s, and durations Task precedence Resource constraints Alternatives/flex assignments Helper startup Aircraft (health status) Mission (events, flight schedule) Jobs (maintenance actions) Workers (maintainers) Helper startup Aircraft (health status) Mission (events, flight schedule) Jobs (maintenance actions) Workers (maintainers)
Agent operations M/C receives gripe/diagnosis Status Board: shows conflicts Selection: A/C + Gripe Options: Standard procedure (MALS) Barter (with other M/C) Canni (if possible) Evaluation: Comparison of options Check effects on flight schedule Changes: Accept/refuse proposed MA AC to event assignment M/C receives gripe/diagnosis Status Board: shows conflicts Selection: A/C + Gripe Options: Standard procedure (MALS) Barter (with other M/C) Canni (if possible) Evaluation: Comparison of options Check effects on flight schedule Changes: Accept/refuse proposed MA AC to event assignment Current prototype W/C operation: Reactive (re-)scheduling Input: New job with time and MOS requirements All “old” jobs Output: (for approval) Multiple schedule options for new job W/C operation: Reactive (re-)scheduling Input: New job with time and MOS requirements All “old” jobs Output: (for approval) Multiple schedule options for new job MALS: Reply with time for part availability MALS: Reply with time for part availability Sister squadron M/C: Reply with time for part availability Sister squadron M/C: Reply with time for part availability A/C in maintenance: Reply with time parameters A/C in maintenance: Reply with time parameters
Agent operations M/C “smarts” Shows/warns about conflicts with flight schedule Keeps track of current/pending MAs Displays available options when “repairing” AC/EVT allocations Detects A/C in repair that can be utilized in canni Can arrange barter with other M/C’s agent “What-if” Effect of the selected MA on the flight schedule Suggests possible optimizations Swaps (possibly with other squadron) “Milking” M/C “smarts” Shows/warns about conflicts with flight schedule Keeps track of current/pending MAs Displays available options when “repairing” AC/EVT allocations Detects A/C in repair that can be utilized in canni Can arrange barter with other M/C’s agent “What-if” Effect of the selected MA on the flight schedule Suggests possible optimizations Swaps (possibly with other squadron) “Milking” Current prototype W/C “smarts” Rapid schedule generation Multiple schedule options Options are evaluated/ranked Flexible schedule choices Tentative scheduling choice, confirmed later W/C “smarts” Rapid schedule generation Multiple schedule options Options are evaluated/ranked Flexible schedule choices Tentative scheduling choice, confirmed later Initial data from warehouse: Aircraft (health status) Mission (events, flight schedule) Jobs (maintenance actions) Workers (maintainers) Initial data from warehouse: Aircraft (health status) Mission (events, flight schedule) Jobs (maintenance actions) Workers (maintainers)
MAPLANT: MAPLANT: MAintenance PLanning AgeNTs
Approach Scheduling and negotiation as CSP Negotiating agent Messaging Coordination Engine Data structures representing domain constraints Constraint SAT mapper (encoding) Standard SAT Problem Solver (Tableau,WSAT,ISAMP) Standard SAT Problem Solver (Tableau,WSAT,ISAMP) Explicit management of constraints during negotiation/scheduling “High-performance” encoding techniques Domain-independent SAT techniques Standard SAT Interface (CNF, etc.) Schedule Domain-specific API to the scheduler Complexity management: Encoding strategy SAT
Approach Encoding a scheduling as binary SAT Precedence: pr(i,j) Starts after: sa(i,r_i) Ends before: eb(i,d_i) Coherence: sa(i,t) -> sa(i,t-1) : starts at or after t-1 eb(i,t) -> eb(i,t+1): ends at or before t+1 sa(i,t) -> NOT eb(i,t+P-1): requires time P sa(I,t) AND pr(i,j) -> sa(j,t+P): conflicting task cannot start until first task finishes Resource constraints: # {c(i,j)} < Cap SCALING SCALING: Polynomial in #Tasks, #Resources, #Slots Based on Crawford/Blake 1993
Approach Addressing timeliness issues REAL-TIME RESPONSE: Monitor situation and progress If needed, modify process Negotiating agent Messaging Coordination Engine Monitoring Evaluation Reconfigurator Reconfiguration Technology for achieving time-bounded results Flexible negotiation with monitored execution and reconfiguration (MIT) Schedule generation via constraint-satisfaction: Explicitly represent current tasks as constraints Monitor SAT engine execution for timeout Relax constraints when SAT does not converge Utilize SAT engine solutions SAT Engine DYNAMICS/STABILITY: SAT Engine (TBD)
Scalability of the Scheduler First and second approach 10hrs window, 1hr/task, M:mechanics, T:tasks, T = 2M Memory usage WSAT engine
Scalability of the Scheduler First and second approach 10hrs window, 1hr/task, M:mechanics, T:tasks, T = 2M Run time WSAT engine
Scalability of the Scheduler Improved approach 10hrs window, 1hr/task, M:mechanics, T:tasks Memory usage WSAT engine
Scalability of the Scheduler Improved approach 10hrs window, 1hr/task, M:mechanics, T:tasks Run time WSAT engine
Negotiation Algorithms MIT
Resource management through automated negotiation Key concept: Resolving resource conflicts through negotiation Dynamic Negotiation Strategies: “Scripts” for negotiation Plans specify structure of complex negotiations Composing complex strategies from elemental methods Dynamic Negotiation Goals: Changing the objectives on-the-fly Strategic progression changes goals Changing situation changes goals, then strategy Dynamic Negotiation Preferences: Changing priorities “Invention” of preferences to cover new situations Toughening or liberalizing negotiation position Dynamic Negotiation Organization: Changing partners Relation of agent to others depends on strategy, situation, and history Construct “proximity groups” along different relational dimensions Structure strategies to exploit these proximity groups
Resource management through automated negotiation Addressing timeliness issues: Real-time performance Monitor situation and progress If needed, modify negotiation process Negotiating agent Messaging Coordination Engine Monitoring Evaluation Reconfigurator Reconfiguration Technology for achieving time-bounded results Flexible negotiation plans with monitored execution and reconfiguration Fast methods for evaluating complex decision functions Anytime strategies -- incremental, reactive Problem decomposition/solving/ and solution integration
Negotiation complexity Complexity-aware negotiation monitors expected difficulty of solution construction Estimates of negotiation time and result quality build on estimates from base CSP, preference management subsystem, and negotiation strategy structure Agent adjusts or renegotiates constraints to speed solution construction or failure determination using preferences about constraints
Negotiation for options Negotiation outcomes represent options to MMCO in decision-support activity Alternative deals using same preferences or making different modifications of preferences Simultaneous and serial options from concurrent and sequential negotiation stages
Domain modeling Boeing
The Maintenance Action Form “Life Cycle” At the Marine Corp Base, in Yuma Arizona, a maintenance action form (MAF) is opened when any repair or equipment modification is made to a Harrier. The MAF can be used to trace many of the intricate details of the maintenance related decisions. Open MAFClosed MAF
The Maintenance Action Form “Life Cycle” Open MAF Balance average Life Usage Across Fleet w/ Immediate Mission Goals Minimize Down Time by Overlapping Maintenance Schedules Balance Current Mission Aircraft Count against Aircraft Degradation History Balance Night Crew Maintenance w/ Greater Daytime Parts Availability Balance Scheduled Maintenance w/ Reactive Maintenance Balance Throughput Across Maintenance Shops Balance Pilot Skills
Modeling the Decision Support Environment The Maintenance Action Form “Life Cycle”
Modeling the Decision Support Environment The Maintenance Action Form “Life Cycle”
-Resource Allocation - Allocate: Space, Time, Material, Equipment, People Explicit Business Process Models - Strategies, Decision Making - Shift Change MAF Triage Implicit Business Process Models Next Step
Plans Framework refinements Time management Optimization engine Sophisticated constraint management in scheduler Complexity experiments/discussions Interface with complexity contractors Demonstrations Interaction with MAG-13 personnel Initial Assessment Milestone (next Summer) Integration with ISI’s CAMERA Plan: staged approach Leading towards negotiation between the flight and maintenance schedulers