370 likes | 496 Views
Improving Market-Based Task Allocation with Optimal Seed Schedules. G. Ayorkor Korsah 1 Balajee Kannan 1 , Imran Fanaswala 2 , Bernardine Dias 1,2 1 Robotics Institute, Carnegie Mellon University 2 CS Department, Carnegie Mellon Qatar. IAS-11, Ottawa. September 1, 2010.
E N D
Improving Market-Based Task Allocation with Optimal Seed Schedules G. Ayorkor Korsah1 Balajee Kannan1, Imran Fanaswala2, Bernardine Dias1,2 1 Robotics Institute, Carnegie Mellon University 2 CS Department, Carnegie Mellon Qatar IAS-11, Ottawa. September 1, 2010
Task Allocation • Key component of planning for team coordination • Example: disaster preparedness and response
Tradeoff: Optimality vs. Adaptivity Optimal & Centralized Approaches e.g. Mathematical Programming Heuristic & Decentralized Approaches e.g. Market-Based Approaches • Optimality guarantees • Slow to compute • not suitable for dynamic problems • No optimality guarantees • Fast to compute • suitable for dynamic problems A task at (4, 2) I can do it for $73 It will cost me $80
Real-World Problems • Many real-world problems have both static and dynamic components • Some tasks known ahead of time, or some likely scenarios known ahead of time • New tasks arrive in real time and changed information discovered in real time
Proposed Approach • Optimally pre-allocate static tasks then adapt plan (heuristically) as needed to handle dynamic situations • Can pre-compute several initial plans for various likely scenarios
Approach Overview Problem Decomposition • Identify static and dynamic components of problem Mathematical Programming Approach • Used to compute optimal solution to the static component of the problem • Use a branch-and-price approach Market-Based Approach for Dynamism • Used to modify the initial optimal seed schedule to handle dynamic component of the problem • Use TraderBots
Mathematical Model: Set-Partioning Integer Linear Program (ILP) Formulation “Route” = candidate time extended plan/task allocation for an agent Minimize: Objective Function (e.g. Total Team Distance) Subject to constraints: One route per agent One agent per task
Branch-and-Price Approach Summary • Based on Branch-and-Bound • Useful when variables cannot be exhaustively enumerated (in our case, route variables) • Allows progressive generation and inclusion of profitable variables (in our case, routes) • Enables computation of the optimal ILP solution
Market-Based Approach Summary • Tasks are assigned via auctions • Agents bid the marginal cost to perform the new task • Task is awarded to the lowest bidder • Centralized or decentralized • Tasks auctioned by central operator or by individual agents Winner! Task at (3.5) My bid: $280 My bid: $73 My bid: $101
Proposed Seeded Market-Based Approach • Start out with the initialoptimal plan • Use market-based approach to modify the optimal plan as changes occur • Hold auctions for new tasks as they arrive • Hold auctions for previously assigned tasks if needed (environmental changes/ execution failure) Task at (3.5) My bid: $101 My bid: $73 My bid: $280
Experiments • In simulation & on robots • Tasks: • Visit specified location • Objective function: • Minimize total distance travelled by team
Experiments • Compare: • Post-execution evaluation: • “Hindsight optimal” plan (Optimal branch-and-price for static & dynamic tasks) • “Pure” Market-Based Plan • (Auctions for static & dynamic tasks) • Seeded Market-Based Plan • (Branch-and-price for static & auctions for dynamic tasks) Team distance for (Seeded) Market-based plan Suboptimality factor = Team distance for “Hindsight Optimal” plan
Experimental Procedure Use branch-and-price to compute initial optimal plan for static tasks Begin execution of computed plans Continue execution, handling dynamism with market-based approach Compute “Sub-optimality factor” Compute “hindsight” optimal plan for static & dynamic tasks Complete Execution Task at (4, 2) $73 (Seeded) Market-based = “Hindsight Optimal”
Results: Simulation 2 agents, 12 tasks 2 agents, 16 tasks 5 agents, 20 tasks (averaged over 5 random instances for each problem configuration) Observation: With high % static tasks we see benefit of seeded market based approach
Median Planning Times for Branch-and-Price Planner (Simulation Experiments) Terminated (timed-out) prior to proving optimality of solution Observation: Combinatorial nature of the optimal planning problem
Results: Robots 2 robots, 11 tasks (6 static) (averaged over 5 runs for each approach) Observation: more significant improvement of seeded market-based approach over pure market-based approach than in simulation.
Conclusion • Contributions: • A seeded market-based approach for task allocation • Current & future directions: • Finer-grained characterization of seeded market-based approach • Handling inter-task order constraints (precedence, simultaneity, etc)
Acknowledgments • Sponsors: Qatar National Research Fund (QNRF) under contract NPRP 1-7-7-5 • Collaborators: • Anthony Stentz • M. Freddie Dias • AmeerAbdulsalam • WaelGhazzawi • Victor Marmol • Jaime Bourne
Branch-and-Price B E A D C Start out with a subset of feasible routes
Branch-and-Price B E A D C Start out with a subset of feasible routes Solve a relaxed version of the problem
Branch-and-Price B E A D C Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes
Branch-and-Price B E A D C Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes
Branch-and-Price B E A D C Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes Repeat till no more profitable routes
Branch-and-Price B E A & together A B D C Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes Repeat till no more profitable routes If constraints violated, branch
Branch-and-Price B E A & together A B D C Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes Repeat till no more profitable routes If constraints violated, branch
Branch-and-Price B E A & together A B D C Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes Repeat till no more profitable routes If constraints violated, branch
Branch-and-Price B E A & together A B D C Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes Repeat till no more profitable routes If constraints violated, branch
Branch-and-Price B E A & together A B D C Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes Repeat till no more profitable routes Prune nodes if possible If constraints violated, branch
Branch-and-Price B E A & together A B D C & not together A D Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes Repeat till no more profitable routes Prune nodes if possible If constraints violated, branch
Branch-and-Price B E A & together A B D C & not together A D Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes Repeat till no more profitable routes Prune nodes if possible If constraints violated, branch Repeat till no more violated constraintsand no more nodes to process
Branch-and-Price B E A & together A B D C & not together A D Start out with a subset of feasible routes Solve a relaxed version of the problem Generate additional profitable routes Repeat till no more profitable routes Finds optimal solution! Prune nodes if possible If constraints violated, branch Repeat till no more violated constraintsand no more nodes to process
Branch-and-price summary • Start out with a subset of known routes Master Problem: Tries to assign known routes to agents by solving a mixed integer linear programming problem using branch-and-bound Sub problem: At each node, generates additional useful routes to consider by solving a constrained shortest-route problem based on dual variables of master problem (column generation) r0, r1, r2, r3, r4, r5… • Solve by searching a multi-dimensional space: • DD* Lite • Depth-1st search