Scheduling with Uncertain Resources Eugene Fink, Jaime G. Carbonell, Ulas Bardak, Alex Carpentier, Steven Gardiner, Andrew Faulring, Blaze Iliev, P. Matthew Jennings, Brandon Rothrock, Mehrbod Sharifi, Konstantin Salomatin, Peter Smatana
Motivation The available knowledge is inherently uncertain. We usually make decisions based on incomplete and partially inaccurate data.
Learning of reasonable defaults Representation of uncertainty Challenges Fast reasoning based on uncertain knowledge Elicitation of critical additional data
RADAR project Scheduling and resource allocation under uncertainty. Part of the RADAR project, aimed at building an intelligent assistant for an office manager.
Demo Planning a conference based on uncertain data about available resources and scheduling constraints.
Outline Representation of uncertainty Reasoning based on uncertain knowledge Elicitation of missing data Default assumptions Representation of uncertainty
Alternative representations Approximations Mary’s weight is about 150. Mary’s cell phone is probably in her purse. Ranges or sets of possible values Mary’s weight is between 140 and 160. Mary’s cell phone may be in her purse, office, home, or car. Probability distributions Phone location: 95%purse 2% home 2% office 1% car Weight: probability density
Approximations Simple and intuitive approach, which usually does not require changes to standard algorithms. BUT… We assume that small input changes do not cause large output changes
Approximations Example: Selecting an amount of medication. patient weight amount of medication Since small input changes translate into small output changes, we can use an approximate weight value.
Approximations Example: Loading an elevator. load weight chance of overloading We can adapt this procedure to the use of approximate weights by subtracting a safety margin from the weight limit. 155 LB 140 LB
Approximations Example: Playing the “exact weight” game. If your weight is exactly 150 lb, you are a winner! player weight prize If we use approximate weight values, we cannot determine the chances of winning.
Ranges or sets of possible values Explicit representation of a margin of error Moderate changes to standard algorithms BUT… We may lose the accuracy of computation, and we cannot evaluate the probabilities of different possible values.
Ranges or sets of possible values Example: Loading an elevator. load weight chance of overloading We identify the danger of overloading, but we cannot determine its probability.
Ranges or sets of possible values Example: Playing the “exact weight” game. player weight prize We still cannot determine the chances of winning.
Probability distributions Accurate analysis of possible values and their probabilities. BUT… Major changes to standard algorithms Major increase of the running time
Probability distributions Example: Playing the “exact weight” game. player weight prize We can determine possible outcomes and evaluate their probabilities.
Proposed approach ranges or sets of values probability distributions ranges or sets with probabilities We approximate a probability density function by a set of uniform distributions, and represent it as a set of ranges with probabilities. Weight: 0.1 chance: [ ] 0.8 chance: [ ] 0.1 chance: [ ] probability density weight
Uncertain data Nominal values An uncertain nominal value is a set of possible values and their probabilities. Phone location: 0.95 chance: purse 0.02 chance: home 0.02 chance: office 0.01 chance: car
Uncertain data Nominal values Integers and reals An uncertain numeric value is a probability- density function represented by a set of uniform distributions. probability density weight Weight: 0.1 chance: [ ] 0.8 chance: [ ] 0.1 chance: [ ]
Uncertain data Nominal values Integers and reals Functions An uncertain function is a piecewise-linear function with uncertain coordinates patient weight amount of medication or a set of possible functions and their probabilities. 0.8 chance 0.2 chance
Outline Representation of uncertainty Reasoning based on uncertain knowledge Elicitation of missing data Default assumptions
Uncertainty arithmetic We have developed a library of basic operations on uncertain data, which input and output uncertain values. Arithmetic operations Logical operations ≤ ≠ ¬ Function application Analysis of distributions μ σ
Uncertainty arithmetic Allows extension of standard algorithms to reasoning with uncertain values BUT… Approximate and relatively slow Assumes that all probability distributions are independent
RADAR application Scheduling and resource allocation based on uncertain knowledge of resources and constraints. Uncertain room and event properties Uncertain resource availability and prices We use an optimizer that searches for a schedule with the greatest expected quality.
RADAR results Manual Auto rooms 62 events Manual Auto rooms 84 events without uncertainty with uncertainty 10 Search time Schedule Quality Time (seconds) 13 rooms 84 events Manual Auto rooms 32 events 0.80 Schedule Quality Manual and auto scheduling problem size Scheduling of conference events.
Outline Representation of uncertainty Reasoning based on uncertain knowledge Elicitation of missing data Default assumptions
Elicitation challenge Identification of critical missing data Analysis of the trade-off between the cost of data acquisition and the expected performance improvements
Proposed approach For each question, compute its expected impact on the overall utility, and select questions with highest expected impacts For each candidate question, estimate the probabilities of possible answers For each possible answer, compute its cost, as well as its impact on the optimization utility
Missing info: Invited talk: – Projector need Poster session: – Room size – Projector need RADAR example: Initial schedule Assumptions: Invited talk: – Needs a projector Poster session: – Small room is OK – Needs no projector Available rooms: Room num. Area (feet 2 ) Proj- ector ,000 1,000 1,000 Yes No Yes Events: Invited talk, 9–10am: Needs a large room Poster session, 9–11am: Needs a room Initial schedule: Talk Posters
Candidate questions: Invited talk: Needs a projector? Poster session: Needs a larger room? Needs a projector? Events: Invited talk, 9–10am: Needs a large room Poster session, 9–11am: Needs a room RADAR example: Choice of questions Initial schedule: Talk Posters Useless info: There are no large rooms w/o a projector × Useless info: There are no unoccupied larger rooms × Potentially useful info √
RADAR example: Improved schedule Events: Invited talk, 9–10am: Needs a large room Poster session, 9–11am: Needs a room Initial schedule: Talk Posters Info elicitation: System: Does the poster session need a projector? User: A projector may be useful, but not really necessary New schedule: Talk Posters
RADAR results Repairing a conference schedule after a “ crisis ” loss of rooms. After Crisis 0.50 Manual Repair 0.61 Auto w/o Elicitation 0.68 Auto with Elicitation 0.72 Schedule Quality Manual and auto repair Schedule Quality Number of Questions Dependency of the quality on the number of questions
Outline Representation of uncertainty Reasoning based on uncertain knowledge Elicitation of missing data Default assumptions
Defaults assumptions Learning to make reasonable common-sense assumptions in the absence of specific data. Example assumptions: Almost all people weigh less than 500 lb Tall people usually weigh more than short people
Defaults assumptions Learning to make reasonable common-sense assumptions in the absence of specific data. Representation of general and context-specific assumptions Dynamic learning of assumptions Integration with data elicitation
RADAR results Dependency of the schedule quality on the number of questions Schedule Quality Number of Questions with default learning without learning