Distributed Scheduling What is Distributed Scheduling Scheduling A
Distributed Scheduling
What is Distributed Scheduling? • Scheduling: – A resource allocation problem – Often very complex set of constraints – Tied directly to planning: the binding between the plan and the resources • Distributed: – Each node has only partial information (non-global) – No centralized algorithm – processing is distributed to each node
Dynamic vs. Static • Many agent systems include elements of uncertainty – – – lack of progress on tasks (also early completion) resource failure newly available resources or plans incomplete information quality of solution • Proactive – robust schedules provide alternatives and redundancy for dynamism • Reactive – schedules are repaired in response to changes
Approaches • Guaranteed optimality – search – constraint propagation – dynamic programming • Best effort – heuristic based search (often domain specific) – iterative improvement (local search/genetic algorithms)
Job Shop Scheduling • Allocation of m tasks to n resources • Each task has a release time, duration, resource requirements, and ordering constraints • Each resource has a capacity constraint • A solution to the problem is a feasible schedule that includes start times and resource assignments for each task
Job Shop Scheduling (cont’) • An objective function can be used to evaluate the goodness of a schedule – May include weights for the completion of each task by a certain deadline and penalties for lateness. May also include rewards for early completion. • Considered one of the hardest CSPs
Constraint Satisfaction Problems (CSP) • Definition: – V = A set of variables – Di = A domain of values for Vi – C = A set of boolean constraints on V • Order of Constraints: – Unary: V 1 != red – Binary: V 1!=V 2 – N-ary: max(V 1, V 2, V 3) > 5 • NP-Complete! – Can represent 3 -SAT as a CSP
Techniques for Solving CSPs • Depth-first search • Backtracking – Checks for constraint violations before generating successors for DFS • Arc-consistency – When an assignment is made, all inconsistent values are removed from the possible assignments for other variables (often used in preprocessing) • Heuristics – Value ordering • Most Constrained Variable • Least Constraining Value Assignment • Iterative improvement – Hill climbing/annealing – Heuristic repair: min-conflicts
Map Coloring as CSP • Constraint Graph • DWA={red, green, blue}
Map Coloring Example
Distributed CSP • Variables and constraints distributed among agents • No agent controls all variables or knows all constraints • Naturally captures many problems in multiagent systems – Coordination tasks, conflicts between actions, etc • Dis. CSP first formalized by Yokoo et al 1998. • Why is distribution needed? – – – Privacy No central control Communication costs Autonomy Robustness
Meeting Scheduling Problem • A set of agents want to schedule some meetings – M 1: A 1, A 3 – M 2: A 1, A 2 – M 3: A 2, A 4, A 5 • Timeslots: [8 -9 am, 9 -10 am, 10 -11 am, . . . ] • Each agent can attend one meeting at a time
MSP (cont’) Variables represent what time slot an agent attends a meeting Equality constraints for variables of the same meeting Inequality constraints for variables of the same agent
Distributed CSP Algorithms (cont’) • Asynchronous Weak Commitment – dynamic prioritization of variables – uses the min-conflict heuristic • Distributed Breakout – mutual exclusion among neighbors
Distributed CSP Algorithms • Synchronous Backtracking – essentially the original backtracking algorithm • Asynchronous Backtracking – total order of nodes
Problems with CSP • What if no solution exists? • What if multiple solutions exist? • In both cases we want to know which assignment is the “best” • Generalizes into the Constraint Optimization Problem – Constraints are no longer boolean – The goal is now to obtain the highest global utility
Constraint Optimization Problem (COP) • Definition: – V = A set of variables – Di = A domain of values for Vi – U = A set of utility functions on V • Goal is to optimize global utility – can also model minimal cost problems by using negative utilities
COP (cont’)
- Slides: 18