METHODS AND APPARATUS FOR SCHEDULING

Abstract: A resource allocation system generates a job criteria listing (44) which includes a set of factors for each specific job and a data base of characteristics which is unique to each individual to be scheduled. The allocation system considers business rules, internal customer preferences, external customer preferences, employee preferences, and permits a scheduler to weight the characteristics in relation to each other within the allocation system. The allocation system standardizes (104) and normalizes (94) the data to permit the characteristics to be compared relative to each other which enables the allocation system to rank the individuals (60) based on a combination of the individual's characteristics and the job criteria.

Description: METHODS AND APPARATUS FOR SCHEDULING BACKGROUND OF THE INVENTION This invention relates generally to resource allocation systems and, more particularly, to a scheduling system. Optimally scheduling individuals for specific jobs at various locations is a formidable task to complete for a scheduler who must attempt to simultaneously balance internal customer preferences, external customer preferences, and employee preferences while maintaining costs and efficiency. Because not every job requires an individual to possess the same skills, the same equipment, or the same safety certifications, a scheduler must also factor other considerations into a scheduling process. Often these considerations include an individual's skills, and a geographic location of an individual in relation to the job, and an individual's availability to perform the job. Additionally, each potential job includes several factors which are often unique to the specific job and as such, must also be considered by the scheduler. These factors include the dates of the job, the scope of the work to be performed, the industry of the job, existing contract commitments, and the complexity of the job. As a result, schedulers are often forced to use labor-intensive scheduling methods to assign individuals to specific jobs. Often, several factors are ignored in an effort to produce a job schedule. In particular, present allocation systems typically give more weight to the internal customer preferences and employee preferences than to those of an external customer. As a result, the external customer that actually requested the assistance may be ignored in the scheduling process. Additionally, present methods do not simultaneously consider the plurality of factors mentioned above, and as a result, require additional allocation steps which are inefficient and time-consuming. As a result, often several factors are satisfied, but at the sacrifice of other factors which may be equally important. BRIEF SUMMARY OF THE INVENTION In an exemplary embodiment of the invention, a resource allocation system provides a reliable allocating method which simultaneously considers a plurality of factors and efficiently schedules individuals to jobs needing completion. The resource allocation system generates a job criteria listing from a data base of characteristics for each individual that is a potential candidate for a job appointment. The job criteria listing includes at least one factor from each job including a job criticality listing, a date of the job, a scope of the job, a contract commitment, an industry or application of the job, a complexity of the job, and an equipment listing necessary to perform the job. The data base of characteristics includes values for at least one of a plurality of internal and external characteristics, including a skill level, a location of the individual, a schedule of availability of the individual, an external customer preference, and a safety certification. The resource allocation system then utilizes business rules associated with each of the individuals' characteristics and the job criteria listing. Utilizing the business rules and the individual characteristics allows a scheduler to alter the weight of the characteristics in relation to each other for each particular job. The allocation system standardizes the data which permits the characteristics to be analyzed relative to each other. The allocation system also normalizes the characteristics to permit an easy comparison between the different characteristics. The allocation system then ranks the individuals which permits the scheduler to easily select the optimal individual to perform a specific job. As a result, the resource allocation system provides a scheduler with reliable information which is applied to generate a work assignment schedule. The resource allocation system considers a plurality of factors with respect to each individual and each job and generates information without sacrificing one scheduling factor at the detriment of an equally important other scheduling factor. The resource allocation system also considers the internal and external preferences of the customer requiring assistance and the preferences of the individuals that are considered for job assignments. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of a data processing system in accordance with one embodiment of the present invention; and Figure 2 is an information flow diagram of a resource allocation system in accordance with one embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION Figure 1 is a block diagram of a data processing system 10 according to one embodiment of the present invention. Data processing system 10 includes a central processing unit (CPU) 12, a random access memory (RAM) 14, an output device 16, for example a monitor, a mass storage device 18, and an input device 20, for example a keyboard. Data processing system 10 may be a single user system, for example, a microcomputer, or a multi-user system. Additionally, system 10 may include multiple input devices 20, i.e. , a keyboard, a mouse, or various automated data input devices, i.e., an optical scanner (not shown). A resource allocation system program 30 is stored in mass storage device 18 and is executed by data processing system 10. Figure 2 is a block flow diagram 32 illustrating allocation process steps executed by resource allocation system 10 under the control of program 30. Initially information or data is gathered 34 for resource allocation program 30. Using the collected information, a job criteria listing is generated 36 for each potential job. A data base of characteristics is then generated 38 for each individual. The information used to compile 36 the job criteria listing is loaded into storage device 18 by Customer Service Coordinators (CSCs). The CSCs receive any number of phone calls in a day from customers needing assistance with potential jobs or problems. The CSCs answer the phone calls, interview the customers, and record the data used to compile 36 the job criteria listing. Included in the job criteria factors collected by the CSCs is a site name, whether a criticality of the job exists, a date of the job, a scope of the job, whether any contract commitments exist, an industry or application of the job, a description of any complexities of the job, and a listing of any equipment requiring repair. All of the data collected 34 is entered with an input device 20 into storage device 18 for use with resource allocation system 30. The collection 34 of information includes identifying 40 any equipment which the customer needs assistance in maintaining or repairing. The identified equipment is easily selected for example, from a pull-down menu with an input device 20. The pull-down menu displays a listing of all of the equipment available within the industry and stored within storage device 18. Additionally, resource allocation system 30 permits the CSCs to enter new equipment into storage device 18. The identified equipment is sorted 42 into a class which is defined as a group of identified equipment which requires a common accumulation of skills to maintain or repair. For example, an individual possessing skills which enable the individual to troubleshoot and repair one piece of equipment within the class can troubleshoot and repair any other piece of equipment within the class. Sorting 42 equipment into classes allows a default list of skills to be generated 44 by CPU 12 based on the identified equipment and stored within storage device 18. The generated list of skills represents a portion of the first individual characteristics utilized by resource allocation system 30. When a customer calling a CSC needs assistance, a list of skills necessary to perform each job is easily retrieved from storage device with the use of an input device 20. The list of skills is verified with the customer, and if necessary, the equipment specific skills can be adjusted 46 and loaded into storage device 18 by the CSCs. After interviewing the customer, the Customer Service Coordinators retrieve additional application skills from storage device 18. Viewing a pull down menu and using an input device 20, the CSCs add 48 additional application skills as required for each specific job or job site. These additional 48 application skills include any skills which are industry related or industry specific, application specific, or safety or restricted work authorization (RWA) certifications needed to perform the specific job. The adjusted list of equipment related skills and additional application skills are combined 50 within CPU 12 and stored in storage device 18. The combined list represents a total optimal skills list and provides the remaining portions of the first characteristics utilized by resource allocation system 30. All of the individuals are then ranked 60 based on each individuals' skill characteristics. An optimal skill level is entered into resource allocation system 30 for each specific job. The optimal skill level is based on the minimum skill level an individual must possess to successfully complete the specific job. Each optimal skill level entered is assigned a number value based on the level of skill necessary to complete the job. Each individuals' skill characteristics are scaled between five discrete values which range from a zero corresponding to a worst skill level to a five corresponding to a best skill level and entered by a CSC into resource allocation system 30. CPU 12 then produces a ranked listing of the individuals from a highest priority to a lowest priority based on the skill levels each individual possesses. Each individual is then further ranked 70 based on their current geographic location and the geographic characteristics are stored within storage device 18. After ranking 70 the individuals, CPU 12 produces a ranked listing of the individuals from a highest priority to a lowest priority based on the individuals' geographic locations. Any individual within a specific job site office location or within a specific job site region is given an adjustable level of preference. Additionally, for jobs which include contractual or critical response times, all individuals located within an acceptable response time radius are given a higher level of preference. An individual's distance to a specific job site is calculated using a straight line between two zip codes based on the latitude and longitude of each zip code. Next, the individuals are ranked 76 based on the current schedule availability of each individual and the schedule characteristics are entered into storage device 18. The current schedule availability characteristic of each individual is based on a combination of each individual's current commitment levels. A function is used to integrate 78 different schedule characteristic values utilized by resource allocation system 30 based on a combination of each individual's commitment level, the type of customer to whom a commitment was made, a scheduled start time, and a scheduled end time for the job. For example, an individual having a firm commitment to a key customer will have a higher value entered in storage system 18 than an individual having a flexible commitment which was made to a non- customer. The commitment level ranges include, in order of priority, a critical commitment, a firm commitment, a flexible commitment, and an available commitment. A value representing a critical commitment is entered for those individuals that are assisting customers engaged in a critical activity such as a plant outage. A value representing a firm commitment is entered for an individual that has an important commitment that cannot be easily moved. A value representing a flexible commitment is entered for any individual that has a future tentative appointment that cannot be easily moved, while an available commitment value is entered for an individual that is available to be dispatched. The customers to whom the commitments were made are classified 80 into four categories including an on- site customer or those with fixed price contracts, a key customer, other customers, and non-customers. The non-customer category includes individuals on vacation, training, internal meetings and any other non-specific job commitments made by the individuals. The classifications are stored within storage device 18. Next, information is entered into resource allocation system 18 which enables CPU 12 to rank 82 each individual's preferences. One of five discrete values is entered as a preference characteristic for each potential job and for each individual that is a potential candidate for appointment to a job. The highest value is given to on-site pre-identified individuals. The second highest value is given to those individuals that key customers preferred. A customer preference value is the next highest value entered and is given to those individuals that a non-key customer specifically expressed a preference. The lowest value is given to those individuals that the customer specifically identified as being an individual that the customer does not prefer. A neutral value is entered for those individuals not falling into any of the other four categories. Individuals are next ranked 90 based on each individual's RWA and safety certifications. When the ranking is completed, a safety or RWA certification characteristic is entered into storage device 18. CPU 12 then ranks 92 the individuals from a highest priority to a lowest priority based on each individual's RWA and safety attainments. An individual is assigned a value of one as a characteristic if the individual has received a certification in a specific RWA or a safety requirement needed to perform the job, and a value of zero as a characteristic if the individual has not received the necessary certification to perform the job. After the ranking, the characteristics are normalized 94 by CPU 12. Normalization is a well-known statistical method that permits dissimilar factors to be grouped together. To normalize 94 the characteristics, each characteristic is first re- mapped 96 in accordance with a set of business rules. Resource allocation system 30 enables the CSCs to obtain business rules and associate each set of business rules with the characteristics in data base. Resource allocation system 30 also permits any identified absolute requirements necessary for a specific job to be assigned a higher value. Resource allocation system 30 also allows any amount of preference to be infinitely adjustable on all levels. For example, an infinitely adjustable amount of preference is applied on all skill levels to those individuals expressing a "desire to learn" a necessary skill. Additionally, if an individual is outside a local office which normally has responsibility for the customer involved in the current job, an artificial penalty can be entered to adjust the amount of preference. A mean and a standard deviation are determined 98 for each re -mapped characteristic. To complete the normalization 94 of characteristics, the mean and the standard deviation determined for each re-mapped characteristic are adjusted 100. The mean is adjusted to a value of zero and the standard deviation is adjusted to a value of one. Next, individuals are ranked 102 based on the normalized characteristics. To rank the individuals based on the normalized characteristics, the values for each characteristic must first be standardized 104. To standardize 104 the values for each characteristic, the values for each characteristic are weighted 106 based on job criteria listing which gives more or less overall weighting to the final analysis of each affected characteristic of each specific job. For example, if a distance to a job site is considered more important in a final job appointment selection than the other job criteria factors previously recorded, then the standard deviation for that factor could be changed from a value of one to two. The affect of changing such a value is to weight a distance to the job site twice as heavily within resource allocation system 30 as any of the other factors. Each of the individual's characteristic values is then standardized 104 to the values based on the weighted values entered for the mean and standard deviation of each respective characteristic. As such, any characteristic associated with a weighted factor is weighted 106 twice as heavily as those characteristics which are not associated with a weighted factor. Furthermore, adjusting the standard deviation provides a relative weighting of skill, geography, schedule, preference, and RW A/safety characteristics between each characteristic and produces a weighted score for each characteristic. Resource allocation system 30 then averages 110 the five normalized characteristics and the weighted scores of each individual. Averaging 110 the normalized characteristics and the weighted scores of each individual generates 112 a new distribution listing of individuals that is actually a combination of each of the five individual characteristics. This listing permits the individuals to be ranked 114 by the average score. The final list of individuals produced by resource allocation system 30 is ranked 116 such that those individuals with the highest overall score are listed at the top of the new distribution listing. The optimal individual to dispatch to a job site is therefore the individual at the top of the new distribution listing. The new distribution listing is presented to the CSCs who select 118 and appoint individuals to specific jobs. Additionally, averaging 110 the normalized characteristics provides an opportunity for the CSCs to monitor 120 the averaged values for each characteristic to ensure that correct data was entered into resource allocation system 30. Several common data input mistakes can be identified by monitoring 120 the averaged values. Included in these mistakes are incorrect or incomplete information collected, inaccurate skills selected relative to the skills actually required for the job, having a less than optimal individual ranked higher than other individuals based on the individuals' skills, or having a less than optimally positioned individual ranked higher than others based on the individual's geographic location. Additional mistakes include having less committed individuals not ranked higher than more committed individuals based on the individuals' schedules, having a non-qualified individual ranked higher than a qualified individual based on the individuals' RWA and safety attainments, not properly normalizing or weighting the characteristics, and not properly averaging the characteristics. In one example, a customer calls a CSC to request on-site assistance after a critical piece of equipment failed. The CSC interviews the customer and using input device 20 activates resource allocation system 10. The CSC initially locates the customer's name and address from RAM 14 and CPU 12 and information or data is collected 34 for resource allocation program 30. The equipment is identified 40 as a DC2000 Drive System available from General Electric Industrial Systems, and is sorted 42 into a "Metals Industry" class. After the class of equipment is identified, a default list of skills is generated 44 by CPU 12 including any safety certifications needed. The CSC verifies the list and a duration of the job with the customer and then determines the customer's preferences. The customer indicates that the individual's proximity to the job site is critical, the individual's skill level is important, the individual's schedule is less important, and that the individual's safety certifications are also critical. As the CSC enters the data, the standard deviation of each characteristic is adjusted based on the customer's preferences. After the information is entered, resource allocation system 30 generates 112 a listing and ranks 114 the individuals based on an average score determined by resource allocation system 30. The CSC uses the listing to dispatch the optimal individual to the job site. The present invention provides a resource allocation system which considers a plurality of factors provided by internal and external business sources to select the optimal individual to perform a specific job assignment. The allocation system includes the generation of a job criteria listing and a data base of characteristics based on each individual that is potentially a candidate for a job assignment. The job criteria listing includes a list of factors which are specific to the requested job, while the data base includes a list of characteristics which are specific to each individual. The resource allocation system integrates the job criterial listing and the data base of characteristics and ranks the individuals. The ranking listing permits a CSC to easily select the optimal individual for each specific job being scheduled. While the invention has been described in terms of various specific embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the claims.

Claims: CLAIMS: 1. A method for allocating resources to dispatch an individual to a job, said method comprising the steps of: generating a job criteria listing; generating a data base including at least one characteristic for each individual; normalizing the characteristics; ranking each individual based on the normalized characteristics and the job criteria listing; and assigning an individual to the job. 2. A method for allocating resources in accordance with Claim 1 wherein the job criteria listing includes at least one of a site name, a criticality, a date of the job, a contract commitment, an industry or application of the job, and an equipment listing, said method further comprising the step of gathering the job criteria data. 3. A method for allocating resources in accordance with Claim 1 wherein the data base comprises at least one of a skill level, a location, a schedule information, a customer preference, and a safety certification, said method further comprising the step of gathering the information for the data base. 4. A method for allocating resources in accordance with Claim 1 wherein normalizing the characteristics comprises the steps of: obtaining a set of business rules associated with each characteristic; and remapping each characteristic in accordance with the business rules. 5. A method for allocating resources in accordance with Claim 4 wherein normalizing the characteristics further comprises the steps of: determining a mean for each characteristic; and determining a standard deviation for each characteristic. 6. A method for allocating resources in accordance with Claim 5 wherein normalizing the characteristics further comprises the steps of: adjusting the mean to a value of zero; and adjusting the standard deviation to a value of one. 7. A method for allocating resources in accordance with Claim 1 wherein ranking each individual based on the normalized characteristics comprises the step of weighting each characteristic based on the job criteria listing. 8. A method for allocating resources in accordance with Claim 7 wherein ranking each individual based on the normalized characteristics further comprises the steps of: standardizing the weighted characteristics; and averaging the standardized values for each characteristic. 9. A method for allocating resources in accordance with Claim 8 wherein ranking each individual based on the normalized characteristics further comprises the steps of: ranking the averaged values for each characteristic; and monitoring the averaged values for each characteristic. 10. A method for allocating resources in accordance with Claim 1 further comprising assigning an individual to at least one job. 11. A resource allocation system for dispatching at least two individuals to at least one job, said system configured to: generate a job criteria listing; generate a data base comprising at least one characteristic for each individual; normalize the characteristics; and rank each individual based on said normalized characteristics and said job criteria listing. 12. A resource allocation system in accordance with Claim 11 wherein said job criteria listing comprises at least one of a site name, a criticality, a date of the job, a scope of the job, a contract commitment, an industry or application, a complexity of the job, and an equipment listing 13. A resource allocation system in accordance with Claim 11 wherein said data base comprises at least one of a skill level, a location, a schedule information, a customer preference, and a safety certification. 14. A resource allocation system in accordance with Claim 11 wherein to normalize the characteristics, said system is configured to: obtain business rules associated with each characteristic; and remap each characteristic in accordance with the business rules. 15. A resource allocation system in accordance with Claim 14 wherein to normalize the characteristics, said system is further configured to: determine a mean for each characteristic; and determine a standard deviation for each characteristic. 16. A resource allocation system in accordance with Claim 15 wherein to normalize the characteristics, said system is further configured to: adjust the mean to a value of zero; and adjust the standard deviation to a value of one. 17. A resource allocation system in accordance with Claim 11 wherein to rank each individual based on the normalized characteristics, said system is configured to weight each characteristic based on the job criteria listing. 18. A resource allocation system in accordance with Claim 17 wherein to rank each individual based on the normalized characteristics, said system is further configured to: standardize the weighted characteristics; and average the standardized values for each characteristic. 19. A resource allocation system in accordance with Claim 18 wherein to rank each individual based on the normalized characteristics, said system is further configured to: rank the averaged values for each characteristic; and monitor the averaged values for each characteristic. 20. A resource allocation system for dispatching an individual to at least one job comprising a processor comprising a memory, said processor programmed to: generate a job criteria listing; generate a data base comprising at least one characteristic for each individual; normalize the characteristics; and rank each individual based on the normalized characteristics and the job criteria listing. 21. A resource allocation system in accordance with Claim 20 wherein the job criteria listing includes at least one of a site name, a criticality, a date of the job, a contract commitment, an industry or application of the job, and an equipment listing, and wherein the data base comprises at least one of a skill level, a location, a schedule information, a customer preference, and a safety certification, said processor further programmed to store the job criteria listing and the data base. 22. A resource allocation system in accordance with Claim 20 wherein to normalize the characteristics, said processor is further programmed to: store a set of business rules associated with each characteristic; remap each characteristic in accordance with the business rules; determine a mean for each characteristic; and determine a standard deviation for each characteristic. 23. A resource allocation system in accordance with Claim 22 wherein to normalize the characteristics, said processor is further programmed to: adjust the mean to a value of zero; and adjust the standard deviation to a value of one. 24. A resource allocation system in accordance with Claim 20 wherein to rank each individual based on the normalized characteristics, said processor is further programmed to: weight each characteristic based on the job criteria listing; standardize the weighted characteristics; and average the standardized values for each characteristic. 25. A resource allocation system in accordance with Claim 24 wherein to rank each individual based on the normalized characteristics, said processor is further programmed to: rank the averaged values for each characteristic; and monitor the averaged values for each characteristic.

Inventors: GOLD CHRISTIAN HARVEY, TUNING JEFFREY LYDELL, GOLD, CHRISTIAN, HARVEY, TUNING, JEFFREY, LYDELL
Applicants: GEN ELECTRIC, GENERAL ELECTRIC COMPANY
Application year: 2000
Main classification: G06F17
IPC codes: G06Q10