System and method for scheduling service providers to perform customer service requests
First Claim
1. A method for scheduling a predetermined plurality of resources, comprising the steps of:
- receiving a plurality of requests for services requiring at least some of said predetermined plurality of resources, said plurality of requests including a first request and a second request;
establishing a schedule for said plurality of requests, comprising the step of performing steps (A1)-(A4) for at least one of the first and second request;
(A1) obtaining information related to the request, said information including (a) a preferred time interval for performing a task related to the request for providing a requested service and (b) an estimate related to an amount of said predetermined plurality of resources for performing the task related to the request, wherein said preferred time interval is longer than a time estimated to perform said task associated with the revest;
(A2) determining an actual time interval within which to allocate said estimated amount of resources for performing the task, said actual time interval being determined using said preferred time interval as input for solving a combinatorial optimization model, wherein said actual time interval is longer than said time estimated to perform said task associated with the request;
(A3) outputting a message indicating the actual time interval determined in step (A2), wherein said message is output substantially immediately after receiving the request; and
(A4) retaining said actual time interval for the request as part of said schedule, said actual time interval providing scheduling flexibility in that said task associated with the request may be commenced at more than one time within said actual time interval and yet still be completed within said actual time interval.
8 Assignments
0 Petitions
Accused Products
Abstract
A scheduling system is disclosed for scheduling tasks for fulfilling a series of service requests. When each service request is received, a determination is made as to the amount of resources a task requires to provide the requested service. Further, a preferred time within which to perform the task is obtained from the requestor of the service request. For each service request, data for the estimated amount of resources and the preferred time are supplied, on a first-come-first-serve basis, to a scheduling component for solving a combinatorial optimization model which efficiently allocates a predetermined amount of resources for each time slot in a scheduling period by rearranging tasks for service requests previously received. The scheduling component provides for a service requestor, without regard to subsequently received service requests, a service time in which to perform the task for the requested service substantially immediately after the service request is made. Whenever possible, the service time coincides with the preferred time. Each previously received service request will have its related task performed within the service time provided to the requestor of the service request. The scheduling system is particularly useful in scheduling technician time for service calls received by customer representatives in the telecommunication and utility industries.
384 Citations
48 Claims
-
1. A method for scheduling a predetermined plurality of resources, comprising the steps of:
-
receiving a plurality of requests for services requiring at least some of said predetermined plurality of resources, said plurality of requests including a first request and a second request; establishing a schedule for said plurality of requests, comprising the step of performing steps (A1)-(A4) for at least one of the first and second request; (A1) obtaining information related to the request, said information including (a) a preferred time interval for performing a task related to the request for providing a requested service and (b) an estimate related to an amount of said predetermined plurality of resources for performing the task related to the request, wherein said preferred time interval is longer than a time estimated to perform said task associated with the revest; (A2) determining an actual time interval within which to allocate said estimated amount of resources for performing the task, said actual time interval being determined using said preferred time interval as input for solving a combinatorial optimization model, wherein said actual time interval is longer than said time estimated to perform said task associated with the request; (A3) outputting a message indicating the actual time interval determined in step (A2), wherein said message is output substantially immediately after receiving the request; and (A4) retaining said actual time interval for the request as part of said schedule, said actual time interval providing scheduling flexibility in that said task associated with the request may be commenced at more than one time within said actual time interval and yet still be completed within said actual time interval. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An apparatus for scheduling a plurality of tasks, comprising:
-
input means for inputting, for each service request of a series of service requests, request data related to the service request, said request data including a preferred time for commencing a task related to the service request, said task requiring a predetermined amount of resources from a predetermined plurality of resources; means for determining, for each service request of the series of service requests, a service time to perform the related task, said means for determining including a means for solving a combinatorial optimization model for said service time when said input means supplies said request data related to the service request, wherein said service time determined for each of the service requests is determined before said request data related to a next service request of the series of service requests is supplied, wherein said means for solving includes means for determining an extreme value for a predetermined objective function of said combinatorial optimization model, wherein said extreme value satisfies a predetermined plurality of constraints of said combinatorial optimization model; output means for outputting, for each service request of the series of service requests, information indicating said service time for the service request; wherein, for each of the service requests, said service time for the service request is substantially identical to said preferred time for commencing the task related to the service request when said predetermined amount of resources required by the task is determined to be available for a consistent solution of said combinatorial optimization model. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method for scheduling customer service requests for a predetermined time period, comprising the steps of:
-
receiving a service request from a customer; identifying a first time interval within said predetermined time period for performing said service request, wherein said first time interval is longer than an estimated service time to perform said service request; generating a schedule for said predetermined time period utilizing said first time interval, said schedule comprising a second time interval for performing said service request, wherein said second time interval is longer than said estimated service time required to perform said service request; storing said second time interval; communicating said second time interval to said customer, wherein said storing step maintains said second time interval in a fixed condition for said service request such that said service request will be performed during said second time interval and further to alleviate a need to recontact said customer based upon one or more subsequent receiving steps; determining a current starting time within said second time interval to commence performing said service request and which will allow for completion of said service request within said second time interval; and repeating said identifying, generating, storing, communicating and determining steps for one or more subsequent executions of said receiving step associated with said predetermined time period; wherein for each execution of said repeating step, said generating step regenerates said schedule for said predetermined time period by modifying said current starting time for at least one previously received service request, wherein said current starting time will still be within said second time interval for the previously received service request and will still allow for completion of said service request within the associated second time interval. - View Dependent Claims (31, 32, 33, 34, 35)
-
-
36. A method for scheduling a predetermined plurality of resources, comprising:
-
receiving a plurality of requests for services requiring some of said predetermined plurality of resources, said plurality of requests including a first request and a second request; performing steps (A1)-(A3) for each of the first and second request, said performing for the first request completed before commencing said performing for the second request; (A1) obtaining information related to the request, said information including (a) a preferred time interval for performing a task related to the request for providing a requested service and (b) an estimate related to an amount of said predetermined plurality of resources for performing the task related to the request; (A2) determining a time interval within which to allocate said estimated amount of resources for performing the task, said time interval being determined using said preferred time interval as input for solving a combinatorial optimization model; (A3) outputting a message indicating the time interval determined in step (A2), said message is output substantially immediately after receiving the request; providing a first starting time for commencing a first task related to the first request and a second starting time for commencing a second task related to the second request wherein said first and second tasks are to be performed within their respective time intervals; and wherein, when said time intervals for the first and second tasks overlap, said first and second tasks are to be performed without an overlap when the time interval overlap requires more of said predetermined plurality of resources than are available. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. An apparatus for scheduling a plurality of tasks, comprising:
-
input means for inputting, for each service request of a series of service requests, request data related to the service request, said request data including a preferred time for commencing a task related to the service request, said task requiring a predetermined amount of resources from a predetermined plurality of resources; means for determining, for each service request of the series of service requests, a service time to perform the related task, said means for determining including a means for solving a combinatorial optimization model for said service time when said input means supplies said request data related to the service request, wherein said service time determined for each of the service requests is determined before said request data related to a next service request of the series of service requests is supplied, wherein said means for determining includes storage means for storing first data related to said predetermined amount of said resources for performing the task related to a first service request of the series of service requests wherein said service time has been determined for said first service request, wherein said first data is used by said means for determining in determining a service time for a second service request later in said series of said service requests than said first service request; output means for outputting, for each service request of the series of service requests, information indicating said service time for the service request; wherein, for each of the service requests, said service time for the service request is substantially identical to said preferred time for commencing the task related to the service request when said predetermined amount of resources required by the task is determined to be available for a consistent solution of said combinatorial optimization model.
-
-
46. An apparatus for scheduling a plurality of tasks, comprising:
-
input means for inputting, for each service request of a series of service requests, request data related to the service request, said request data including a preferred time for commencing a task related to the service request, said task requiring a predetermined amount of resources from a predetermined plurality of resources; means for determining, for each service request of the series of service requests, a service time to perform the related task, said means for determining including a means for solving a combinatorial optimization model for said service time when said input means supplies said request data related to the service request, wherein said service time determined for each of the service requests is determined before said request data related to a next service request of the series of service requests is supplied, wherein said means for determining includes storage means for storing current data related to said service time for a first service request of the series of service requests wherein said service time for said first service request has been determined, said current data used by said means for determining in determining a service time for a second service request later in said series of service requests than said first service request; output means for outputting, for each service request of the series of service requests, information indicating said service time for the service request; wherein, for each of the service requests, said service time for the service request is substantially identical to said preferred time for commencing the task related to the service request when said predetermined amount of resources required by the task is determined to be available for a consistent solution of said combinatorial optimization model. - View Dependent Claims (47, 48)
-
Specification