IP Library Granted Patent US 7,058,589
Granted Patent B1
US 7,058,589 · App. 09/465,690 · Granted Jun 6, 2006

Method and system for employee work scheduling

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,058,589
App. No.
09/465,690
Granted
Jun 6, 2006
Kind
B1
Abstract

A method is provided for assigning a group of agents to a plurality of available schedules, including determining preferences for a plurality of factors for each agent. Each agent provides an order of importance for the plurality of factors. For each factor, a difference value for that factor between a preliminarily assigned schedule (or pool of unassigned schedules) and each agent's preference for that factor is determined. The difference value for each factor is assigned to a vector for each agent. Then, for each agent, a vector for each schedule not assigned to that agent is determined. Vectors for every other agent are also calculated for every schedule swap involving the current agent. The schedule having the lowest vector is then assigned for each agent.

Claims (43)

1. A computer-implemented method for automatically assigning a group of agents to a plurality of available schedules, comprising the steps of:

determining preferences for a plurality of factors for each agent;

assigning an order of importance for the plurality of factors for each agent, wherein the order of importance for the plurality of factors for a given agent in the group of agents differs from an order of importance for the plurality of factors for at least one other agent in the group of agents;

determining a ranking for each agent from a highest rank to a lowest rank based on a given criteria;

performing the following sub-steps on an iterative basis, from a highest ranked agent to a lowest ranked agent:

(a) for each schedule that is available to be assigned to a current agent, performing the following sub-steps:

(i) for the current agent, for each factor, determining a difference value between a current schedule and the current agent's preference for that factor;

(ii) assigning the difference value for each factor to a bit range within a vector for the current agent and the current schedule, wherein the factor having a highest importance is assigned to a highest order bits of the vector and remaining factors are assigned to subsequent orders of bits in an assigned order of importance, wherein the vector represents a numerical value that indicates how well the current schedule fits the current agent's preferences; and

(b) assigning to the current agent the schedule having the lowest numerical value;

wherein one or more of the steps are performed by one or more electronic processing devices.

2. The computer-implemented method of claim 1 wherein the agents are ranked according to seniority.

3. The computer-implemented method of claim 1 wherein the agents are ranked according to performance.

4. The computer-implemented method of claim 1 wherein a schedule may only be assigned from a higher ranked agent to a lower ranked agent if such assignment will decrease the lower ranked agent's vector without increasing the vector of the higher ranked agent.

5. The computer-implemented method of claim 1 wherein the plurality of factors is selected from the group of start times, break times, lunch times, days off, end time, lunch length, split shift parameters and hours worked.

6. The computer-implemented method of claim 1 wherein the plurality of schedules are preliminarily assigned schedules.

7. The computer-implemented method of claim 1 wherein the plurality of schedules are a pool of schedules.

8. A computer program product tangibly embodying computer program instructions executable by one or more electronic processing devices for performing a method that automatically assigns a group of agents to a plurality of available schedules, the method comprising:

determining preferences for a plurality of factors for each agent;

assigning an order of importance for the plurality of factors for each agent, wherein the order of importance for the plurality of factors for a given agent in the group of agents differs from an order of importance for the plurality of factors for at least one other agent in the group of agents;

determining a ranking for each agent from a highest rank to a lowest rank based on a given criteria;

performing the following sub-steps on an iterative basis, from a highest ranked agent to a lowest ranked agent:

(a) for each schedule that is available to be assigned to a current agent, performing the following sub-steps:

(i) for the current agent, for each factor, determining a difference value between a current schedule and the current agent's preference for that factor;

(ii) assigning the difference value for each factor to a bit range within a vector for the current agent and the current schedule, wherein the factor having a highest importance is assigned to a highest order bits of the vector and remaining factors are assigned to subsequent orders of bits in an assigned order of importance, wherein the vector represents a numerical value that indicates how well the current schedule fits the current agent's preferences; and

(b) assigning to the current agent the schedule having the lowest numerical value.

9. The computer program product of claim 8 wherein the agents are ranked according to seniority.

10. The computer program product of claim 8 wherein the agents are ranked according to performance.

11. The computer program product of claim 8 wherein a schedule may only be assigned from a higher ranked agent to a lower ranked agent if such assignment will decrease the lower ranked agent's vector without increasing the vector of the higher ranked agent.

12. The computer program product of claim 8 wherein the plurality of factors is selected from the group of start times, break times, lunch times, days off, end time, lunch length, split shift parameters and hours worked.

13. The computer program product of claim 8 wherein the plurality of schedules are preliminarily assigned schedules.

14. The computer program product of claim 8 wherein the plurality of schedules are a pool of schedules.

15. A computer-implemented method for automatically assigning a group of agents to a plurality of initially assigned schedules, comprising the steps of:

determining preferences for a plurality of factors for each agent;

assigning an order of importance for the plurality of factors for each agent;

determining a ranking for each agent from a highest rank to a lowest rank based on a given criteria;

performing the following sub-steps on an iterative basis, from a highest ranked agent to a lowest ranked agent:

(a) for the current agent, for each factor, determining a difference value between a currently assigned schedule and the current agent's preference for that factor;

(b) assigning the difference value for each factor to a bit range within an assigned vector for the current agent and the currently assigned schedule, wherein the factor having a highest importance is assigned to a highest order bits of the vector and remaining factors are assigned to subsequent orders of bits in an assigned order of importance, wherein the vector represents a numerical value that indicates how well the current schedule fits the current agent's preferences;

(c) for each schedule that is assigned to an agent that is lower in ranking than the current agent, performing the following sub-steps:

(i) for the current lower-ranked agent, for each factor, determining a difference value between the current lower-ranked agent's schedule and the current agent's preference for that factor;

(ii) assigning the difference value for each factor to a bit range within a vector for the current lower-ranked agent and the current lower-ranked agent's schedule, wherein the factor having a highest importance is assigned to a highest order bits of the vector and remaining factors are assigned to subsequent orders of bits in an assigned order of importance, wherein the vector represents a numerical value that indicates how well the current lower-ranked agent's schedule fits the current agent's preferences; and

(d) if a lower-ranked agent has a schedule with a lower numerical value than the current agent's currently assigned schedule, exchanging the schedules between those agents;

wherein one or more of the steps are performed by one or more electronic processing devices.

Assignments (1)
PATENT SECURITY AGREEMENT Recorded Dec 6, 2016
From: NICE LTD.; NICE SYSTEMS INC.; AC2 SOLUTIONS, INC.; ACTIMIZE LIMITED; INCONTACT, INC.; NEXIDIA, INC.; NICE SYSTEMS TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 040821/0818 →