US2008306805A1PendingUtilityA1

Method and Apparatus for Queue-Based Automated Staff Scheduling

Assignee: VAJRACHARYA SUVASPriority: Dec 9, 2004Filed: Dec 9, 2005Published: Dec 11, 2008
Est. expiryDec 9, 2024(expired)· nominal 20-yr term from priority
G06Q 10/0635G06Q 10/109G06Q 10/063116G06Q 10/00G06Q 10/1097G06Q 10/063112
40
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The invention disclosed herein provides a queue-based scheduling system, which comprises an automated staff scheduling computer program that is highly flexible in enforcing scheduling rules. This flexibility comes from the ability to: (1) Define conditional and unconditional rules; (2) Rank the rules/requests in varying priority as represented by a numeric value assigned to each rule/request; and (3) Specify rules both per individual and per group. These three abilities synergistically produce an automatic scheduling system that can enforce a wide variety of scheduling rules and requirements seen in actual staff scheduling situations. Furthermore, all these abilities rely on using a queue per scheduled assignment to hold requests and rules.

Claims

exact text as granted — not AI-modified
1 . A queue-based scheduling apparatus for automated staff scheduling and for enforcing scheduling rules and requirements, comprising:
 means for defining conditional and unconditional rules;   means for ranking rules and requests in varying priority as represented by a numeric value assigned to each rule and request; and   means for specifying rules both per individual and per group.   
     
     
         2 . The apparatus of  claim 1 , further comprising:
 at least one queue per each scheduled assignment for holding requests and rules.   
     
     
         3 . A scheduling process, comprising the steps of:
 collecting requests and rules using a graphical user-interface;   determining a scheduling period that has a user-defined start date and stop date;   creating a request queue for each day of a period;   for each request or rule, determining which days said request or rule is applicable;   for each applicable day, inserting a request into its queue;   sorting said days from most constrained to least constrained;   beginning scheduling from a most constrained day;   for each assignment in a day, creating a list of candidates for that assignment for that day;   for each candidate, associating a highest priority request in said request queue that applies to said candidate, wherein said highest priority value for a candidate is a candidate bid for a chosen assignment;   sorting said candidates according to a bid calculated in the immediately preceding step;   scheduling a candidate having a highest number;   determining a schedule for any remaining days.   
     
     
         4 . The method of  claim 3 , wherein said constraints on scheduling choices comprise either of conditional and unconditional constraints, wherein conditional constraints are only in effect if a certain scheduling condition applies. 
     
     
         5 . The method of  claim 3 , wherein a rule applies to either of a specific individual or a group of individuals. 
     
     
         6 . The method of  claim 3 , further comprising the step of:
 associating rules with a number which describes a rank or a priority of that rule relative to other rules;   wherein a large positive number indicates that any individual under that rule is highly favored to be scheduled for the given shift on a given day;   wherein a large negative number indicates that any individual under that rule is not favored to be scheduled for the given shift on a given day; and   wherein an individual who is not subject to any rules has a priority point zero by default, indicating neutrality.   
     
     
         7 . The method of  claim 3 , further comprising the step of:
 choosing a rule having a highest absolute value of priority points for an individual to compete with other individuals when more than one rule is to be applied.   
     
     
         8 . The method of  claim 3 , further comprising the steps of:
 entering static or unconditional rules in the request queue prior to running the automated scheduler; and   entering conditional rules and requests during execution of the steps of said method, depending on the scheduling conditions;   wherein a highly adaptive scheduler is provided that changes its scheduling behavior during execution of the method, based on scheduling decisions made during execution of the method.   
     
     
         9 . The method of  claim 3 , further comprising the step of:
 providing conditional rules, wherein each conditional rule has a set of conditions and a set of actions, wherein when all conditions are met, said set of actions is converted into a request.   
     
     
         10 . The method of  claim 3 , further comprising the step of:
 providing an alternates list that exposes information in a form a user can use to override the choice that said automatic scheduler has made;   wherein said alternates list displays all constraints and requests that are currently imposed on alternate individuals.   
     
     
         11 . The method of  claim 3 , further comprising the steps of:
 said auto scheduler generating schedules in multiple phases;   wherein during each phase, said automatic scheduler entirely schedules every assignment on every day in a scheduling period;   wherein on second and later phases, said auto scheduler learns from any hazards detected in earlier phases to generate a better overall schedule;   wherein said hazards are detected whenever said automatic scheduler cannot find an individual that would not violate some rule or request;   said automatic scheduler determining if any conditional rule has forced this situation and, if it did, finding a source or a condition of the rule that generated a violating request;   said automatic scheduler generating and submitting an internal request; and   in subsequent phases, said automatic scheduler avoiding said hazard by using said submitted request from previous phases.   
     
     
         12 . The method of  claim 3 , further comprising the steps of:
 said auto scheduler randomly choosing different assignments on different days, rescheduling individuals until a global schedule improves or converges to an acceptable one; and   said auto scheduler summarizing a number of requests or rules in each queue that are in violation across all assignments in an entire schedule to determine whether a global schedule has improved after a scheduling adjustment;   wherein if a total number of violations decreases, said schedule has been improved and therefore is chosen over prior schedules.   
     
     
         13 . An auction method for resolving conflicting scheduling requests, comprising the steps of:
 giving each scheduled individual a fixed number of points or currency to spend;   each individual then deciding how to distribute or spend said points to various requests, based on individual needs and preferences;   wherein an individual that spends the most points wins a request for an assignment for a specific day.   
     
     
         14 . The method of  claim 13 , wherein seniority or preferential treatment is provided to individuals by giving each individual a different number of points to spend based upon said seniority or preference. 
     
     
         15 . The method of  claim 13 , further comprising the steps of:
 a scheduling administrator defining scheduling rules and policies and entering said scheduling rule and practices in the form of conditional or unconditional rules, wherein each rule is given a number that represents the priority of that rule;   users entering their request for a scheduling period, wherein said users, can assign a priority point to each of these requests, indicating a relative importance of said request;   once all rules and requests have been entered, said scheduling administrator initiating scheduling for a user-specified period defined by a begin date and an end date;   sorting said rules and requests for a given assignment for a day based on the value of said priorities;   matching candidates with requests to arrive at a candidate with a highest request priority, which is a scheduling choice for an assignment for that day;   once a schedule has been generated, said scheduling administrator optionally inspecting each scheduling choice and reviewing alternates for any particular assignment; and   when said schedule is complete, making said schedule available.   
     
     
         16 . An automated staff scheduling method, comprising the steps of:
 allowing a large number of conflicting requests and rules to be entered;   said requests and rules competing in a scheduling decision based on numerical priority associated with said requests and rules.   
     
     
         17 . The method of  claim 16 , further comprising the step of:
 resolving conflicts that arise in said scheduling decision.   
     
     
         18 . The method of  claim 16 , further comprising the step of:
 implementing rules and exceptions to rules.   
     
     
         19 . The method of  claim 16 , further comprising the step of:
 implementing auction-based bidding for contentious assignments and days based on which request has the highest priority.   
     
     
         20 . The method of  claim 16 , further comprising the step of:
 exposing a rationale for a scheduling decision to a user by showing who is scheduled, their constraints, and a cause for said constraints.   
     
     
         21 . The method of  claim 16 , further comprising the step of:
 manipulating a local queue of requests for each assignment.

Join the waitlist — get patent alerts

Track US2008306805A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.