AU2015203175A1 - Work allocation model - Google Patents

Work allocation model Download PDF

Info

Publication number
AU2015203175A1
AU2015203175A1 AU2015203175A AU2015203175A AU2015203175A1 AU 2015203175 A1 AU2015203175 A1 AU 2015203175A1 AU 2015203175 A AU2015203175 A AU 2015203175A AU 2015203175 A AU2015203175 A AU 2015203175A AU 2015203175 A1 AU2015203175 A1 AU 2015203175A1
Authority
AU
Australia
Prior art keywords
task
resource
parameter
tasks
depending
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
AU2015203175A
Inventor
Robert Easton
Geremy Heath
Savas Yurekli
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Accenture Global Services Ltd
Original Assignee
Accenture Global Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2013200568A external-priority patent/AU2013200568A1/en
Application filed by Accenture Global Services Ltd filed Critical Accenture Global Services Ltd
Priority to AU2015203175A priority Critical patent/AU2015203175A1/en
Publication of AU2015203175A1 publication Critical patent/AU2015203175A1/en
Abandoned legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A computer-implemented method for allocating processes to a plurality of resources, the method including receiving, by one or more computers, a process specification defining a plurality of processes, each process having an associated assessment parameter and including at least one task belonging to a task category, determining for each process an internal weighting parameter based on the assessment parameter, ordering the processes depending on the weighting parameter, assigning to each process a ranking parameter depending on the ordering, modifying the ranking parameter of a selected process, and modifying the weighting parameter of the selected process depending on the weighting parameter of at least one other process, analyzing, by the one or more computers, an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category in at least one task location, establishing, by the one or more computers, a first resource task assignment set defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories and the task locations, wherein the first resource-task assignment set defines a first scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes a first schedule parameter depending on the scheduling of the tasks belonging to the respective process, establishing, by the one or more computers, a second resource-task assignment set that is different to the first resource-task assignment, defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories and the task locations, wherein the resource-task assignment set defines a second scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes at least a second schedule parameter depending on the scheduling of the tasks belonging to the respective process, evaluating, by the one or more computers, and for each of the first and second resource-task assignment sets, a control parameter that indicates a completion time associated with the resource-task assignment set, and that depends on the weighting parameter and the schedule parameter for the resource task assignment set, selecting, by the one or more computers, one of the first and second resource-task assignment sets depending on a selection criterion for the control parameters, and allocating, by the one or more computers, the tasks to the resources according to the selected resource-task assignment set. d V ~ ,~ K L

Description

WORK ALLOCATION MODEL FIELD This disclosure relates to systems and methods for allocating processes to a 5 plurality of resources. BACKGROUND In various environments, such as the manufacturing industry, consulting services, or computer-implemented processes, for example, controlling the 10 scheduling and the allocation of individual processes in a project is often a critical task for insuring a smooth and efficient production flow. For a plurality of processes requiring large resource capacities and a plurality of different resource capabilities, focusing on one or more prioritized processes or resources often result in an undesirable idle time of other resources. 15 SUMMARY Disclosed herein is a system and method for allocating processes to a plurality of resources that provides an improved utilization of the resources and an improved throughput adaptable to the specific needs of the user. 20 In one aspect, the present invention provides a computer-implemented method for allocating processes to a plurality of resources, the method including, receiving, by one or more computers, a process specification defining a plurality of processes, each process having an associated assessment 25 parameter and including at least one task belonging to a task category, determining for each process an internal weighting parameter based on the assessment parameter, ordering the processes depending on the weighting parameter, assigning to each process a ranking parameter depending on the ordering, modifying the ranking parameter of a selected process, and modifying 30 the weighting parameter of the selected process depending on the weighting parameter of at least one other process, analyzing, by the one or more computers, an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category in 1 at least one task location, establishing, by the one or more computers, a first resource-task assignment set defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories and the task locations, wherein the first resource-task assignment set defines a first 5 scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes a first schedule parameter depending on the scheduling of the tasks belonging to the respective process, establishing, by the one or more computers, a second resource-task assignment set that is different to the first resource-task assignment, defining an assignment of the 10 plurality of tasks to the plurality of resources depending on the task categories and the task locations, wherein the resource-task assignment set defines a second scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes at least a second schedule parameter depending on the scheduling of the tasks belonging to the respective process, 15 evaluating, by the one or more computers, and for each of the first and second resource-task assignment sets, a control parameter that indicates a completion time associated with the resource-task assignment set, and that depends on the weighting parameter and the schedule parameter for the resource-task assignment set, selecting, by the one or more computers, one of the first and 20 second resource-task assignment sets depending on a selection criterion for the control parameters, and allocating, by the one or more computers, the tasks to the resources according to the selected resource-task assignment set. In another aspect, the present invention provides a system for allocating 25 processes to a plurality of resources, the system including one or more computers, and a computer-readable medium coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations including, receiving, by the one or more computers, a process specification 30 defining a plurality of processes, each process having an associated assessment parameter and including at least one task belonging to a task category, determining for each process an internal weighting parameter based on the assessment parameter, ordering the processes depending on the 2 weighting parameter, assigning to each process a ranking parameter depending on the ordering, modifying the ranking parameter of a selected process, and modifying the weighting parameter of the selected process depending on the weighting parameter of at least one other process, analyzing, by the one or 5 more computers an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category, establishing, by the one or more computers, a first resource-task assignment set defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories, wherein the first resource-task 10 assignment set defines a first scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes a first schedule parameter depending on the scheduling of the tasks belonging to the respective process, establishing, by the one or more computers, a second resource-task assignment set that is different to the first resource-task 15 assignment set, defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories, wherein the second resource-task assignment set defines a second scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes at least a second schedule parameter depending on the scheduling of the tasks 20 belonging to the respective process, evaluating, by the one or more computers, for each of the first and second resource-task assignment sets, a control parameter that indicates a completion time associated with the resource-task assignment set, and that depends on the weighting parameter and the schedule parameter for the resource-task assignment set, selecting, by the one or more 25 computers, one of the first and second resource-task assignment sets depending on a selection criterion for the control parameters, and allocating, by the one or more computers, the tasks to the resources according to the selected resource-task assignment set. 30 In another aspect, the present invention provides a computer program product, tangibly embodied in a machine-readable medium, the computer program product including instructions that, when read by a machine, operate to cause a data processing apparatus to perform functions including, receiving, by 3 one or more computers, a process specification defining a plurality of processes, each process having an associated assessment parameter and including at least one task belonging to a task category, determining for each process an internal weighting parameter based on the assessment parameter, 5 ordering the processes depending on the weighting parameter, assigning to each process a ranking parameter depending on the ordering, modifying the ranking parameter of a selected process, and modifying the weighting parameter of the selected process depending on the weighting parameter of at least one other process, analyzing, by the one or more computers, an available 10 resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category, establishing, by the one or more computers, a first resource-task assignment set defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories, wherein the first resource-task assignment set defines a first 15 scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes a first schedule parameter depending on the scheduling of the tasks belonging to the respective process, establishing, by the one or more computers, a second resource-task assignment set that is different to the first resource-task assignment set, defining an assignment of the 20 plurality of tasks to the plurality of resources depending on the task categories, wherein the second resource-task assignment set defines a second scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes at least a second schedule parameter depending on the scheduling of the tasks belonging to the respective process; evaluating, by the 25 one or more computers, for each of the first and second resource-task assignment sets, a control parameter that indicates a completion time associated with the resource-task assignment set, and that depends on the weighting parameter and the schedule parameter for the resource-task assignment set, selecting, by the one or more computers, one of the first and 30 second resource-task assignment sets depending on a selection criterion for the control parameters, and allocating, by the one or more computers, the tasks to the resources according to the selected resource-task assignment set. 4 BRIEF DESCRIPTION OF THE DRAWINGS One or more embodiments of the invention are described below with reference to the accompanying figures in which: FIG. 1 shows an exemplary system for implementing the systems and 5 methods disclosed herein; 4a FG 2 a flow ieigram of a method of ahdotng processes to alrality of resources: FiG. is a flow diagram of a method of scheduling processes according to va ab le resarces: FIGS. 4A and 40 are diagams of Ask. dependencies and task level assignments: FIG, 5 is a flow dsagram of another example method of alocating processes to resources; FM 6 is a ko diagran ofan example implementation of the process of 10 sheduling inprogressprocesses of iG5 G 7ia w diagranon example irmplementatior of tepocess of scheduing tasks to rsources of FlflG6 FIG 8A saaow diagrm of example work aocatenmdel applied in a serie sector envionment for aiocating work requess forprocurement series; FIG. BE is an entity relationship diagram showing related fnconaties of an example work llcation model: FlGS OA to Gare example h erercaisuctures for projects and tasks FIG 10 s a data element dagram forthe example work allocation model; FIG. 1, is a flow digram of a method for determining status ofaproject; an 20 FiG 12 is a state transition diagram for tasks and projects DETAILED DESCRiPTION FIG 1 shows an exemplay system for implementg the systems and methods disclosed herein The system includes a general purpose computing device in the form 25 of a conventional computing environment 20 (eg. personal computer. including a processing unnt 22. a system memory 24 and a system bus 26 that couples various system components including the system memory 24 to the processing unit 22 The processing unit 22 may perform arithmetic, logic and/or 5 control operations by accessing system memory 24, The system memory 24 may store information and/or instructions for use in combination with processing unit 22 The system memory 24 may include volatile and non-volatile morny, such as random access memory (RAM) 28 and read ony memory (ROM) 30. A basic 5 input/output system (BIOS) containing the basic routines that helps to transfer information between elements within the personal computer 20, such as during start up, may be stored in ROM 30. The system bus 26 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. 10 The personal computer 20 may further include a hard disk drive and an external disk drive 34 for reading from or writing to a removable disk 36. The removable disk may be a magnetic disk for a magnetic disk drier or an optical disk such as a CO ROM for an optca disk drive. The hard disk drive 32 and external disk drive 34 are connected to the system bus 26 by a hard disk drive interface 35 and an 15 external disk drive irterface 40, respectively. The drives and their associated computer-eadabie media provide non-volatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 20, The data structures may include reevant data of the implementation of the resource allocation method, as described in more detal below The relevant 20 data may be organized ir a database, for example a reational or object database Although the exemplary environment described here-ri employs a hard disk and an eemal disk 36. it should be appreciated by those skilled in the art that other types of computer readable mveda which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks 25 random access memories, read only memories, and the like, may also be used in the exemplary operating environment A number of program modules may be stored on the hard disk, external disk 3$, ROM 30 or RAM 2, including an operating system, one or more application programs 44. other program modules, and program data 46. The application 30 programs may include at least a part of the functionality as detailed in Figs. 2 and 3, A user nay enter commands and information, as discussed below. into the personal computer 20 through input devices such as keyboard 48 and mouse 50. Other input devices may incud ar other sensors), joystick, game pad, scanner, or the ike. These arid other input devices may be connected to the processing unit 22 through a serial port interface 52 that is coupled o the system bus 23. or may be colected by other interfaces, such as a paraci port interface 54, game port or a universal Senal bus (USB). Further information may be punted using 5 printer 56. The punter 56 and other parallel oput/output devices may be connected to the processing uni 22 through parafel port interface 54. A monitor 68 or other type of display device is also Connected to the system bus 26 via an interface, such as a video input/outp'ut 60. In addition to the monitor. computing environment 20 may Include other peripheral output devices, such as speakers or other audible output 10 The computing environment 20 may communicate with other electronic devices such as a computer, telephone (wired or wireless), personal digital assistant, television or the like, To communicate, the computer environment 20 may operate in a networked environment using connections to one or more electronic devices Fig. depicts the computer environment networked with remote computer 62. The remote 15 computer 62 may be another computing environment such as a server, a router, a network PC, a peer device or other common network node, and may include many or all of the elements described above relative to the computing environment 20. The logical connections depicted in Fig 1 include a local area network (LAN) 64 and a wide area network (WAN) 66. Such networking environments are commonplace in 20 offices, enterprise-wide computer networks, intranets and the Internet. When used in a LAN networking environment, the computing environment 20 may be connected to The LAN 64 through a network 1/O 68, When used in a WAN networking environment. the computing environment 20 may include a modem 70 or other means for establishing communications over the WAN 66 The modem 70, 25 which may be intemal or external to computing environment 20, is connected to the system bus 25 via the serial port interface 52 in a networked environment program modules depicted relatve to the computing environment 20, or portions thereof, may be stored in a remote memory storage device resident on or accessible to remote computer 62 it will be appreciated that the network connections shown are 30 exemplary and other means of establishing a communications link between the electronic devices may be used The above-described computing system is only one example of te type of computing system that may be used to implement the method for locating a plurality of processes to a plurally of resources Fig, 2 is a flow diagram of a method for alocating processes to a piuraity of resources In a first step ST a process specification is received from a database. a user interface, or the like. The process specification exemplanly defines at least one 5 process, in another example a plurality of processes, such as production processes to be carried out at a production pant of a car manufacturer. At least some f the processes mayb p c processes for a particular vehicle or a component thereof, for example. Alternatvely or additionally at least some of the processes may represent service andor repair orders for vehicles or components thereof At least 0 some of the processes rnay be standard production processes within an assembly line Other processes may represent customer orders, spare pal deliveries of subassembly delivery, Each process comprises at least one task wherein each task belongs to a task category. Exemplarily, at least some of the processes comprise a plurality of 15 tasks. A process for producing a rmdguard for a car, for example, comprises a pluradHy of task, such as cutting and/or punching metal bending/foldig the metal to specific shape, driling or punching holes for passing wire trough the holes or for screvng addtional components to the mudguard, welding, painting. etc. Each task belongs to a task category. such as during, milling, bending, weing, cutting meta 0 up to a predetermined thickness, cutting metal thicker than said predetermined thickness, punching, cleaning, painting, gluing. assemby, simulation, crash test, wind tunnel test, etc. Exemplarily, at least some of the. tasks are at least partly cared out by a machine, parboularly a robot and/or a computer Other tasks may be carried out by a worker who may exemplarily operate a machine, such as a drill a 25 polishing machine, a computer, etc. Each of the individual machine, robot, computer, workplace, etc. may represent a resource for carrying out at least one particular category of tasks, Each of the resources has a resource capcity for performing tasks within at least one category. The resource capacity may De defined in terms of a maximum 30 task extent that can be performed by the resource per time unit, such as drill holes per minute, meters of welding seam per hour, or square meter of paining per hour, etc. At least some of the resources may have a standard use time such as 12 or 24 hours per day, a certain number of days per week. or 0 minutes per hour, for example. Exemplarily, at least some of Me resources further have a non-scheuled time reserve parameter, exemplarily defined in terms of a percentage of the standard use time, such as 20%, for example. A non-jcheduled time reserve defined for a resource may be used to reserve time for maintenance and serving of the resource $ and/cr for performing additional non-scteduled tasks. Exemplarily, the standard use ime and the nonvscheduled time reserve parameter for a resource are at least partially stored m a database and/or entered by a user. Stored data may also be edited by a user. Exemparily, for at least some of the tasks the processspecificaton received 10 from a user or retrieved from a database defines a processing time, where the processing tme of a task exemplary defines the total tire during which the respective resource is in use and/or occupied for carrying out this task. The processing time may be defined in a capacity requirement parameter assigned to the task In one example a standard processing time for one or more tasks is stored in a 15 database and/or entered by a user emativey orddrin a tas volume parameter may be defined for at feast some of the tasks, where the task volume parameter defines an extent of the task, such as how may holes have to be drilled, how large is the ar to be painted, etc. Exemplarly, the processing time for a task is determined depending on the task volume parameter, where, exemplarify, a 20 resource capacity for a particular resource is considered and/or a standard resource capacity value is used for determining a processing time and/or a standard processing time respectively. For at least some of the tasks a time frame parameter may be defined At least sore of the tasks are not sufficiently defined by processing time but may 25 require addition time to be carried out. For example, painting requires tme for drying the paint in addition to the mere paining process. in particular in case the painting task requires several layers of paint, there may be required a considerable amount of time for drying the individual layers, where the painting resource is not directly used for this painting task and may be used for dierent tasks whicn may 30 even belong to different processes. Accordingly, at least some of the tasks have a time frame parameter assigned to the task, where the hme frame parameter defines the mimum time need for completing the task, including the processing time and additionally required idle time, for example. Accordingly, for at least some of the 9 tass w tme pametesmay be defined nameye procingie frame parameter. Exemplarily the time frame parameter defines a dfrssion of the total time enclosed by the time frame parameter, i.e the time frame parameter exemplarily 5 defines a plurality of periods of time or time intervals or time slots For example, the time frame parameter may define three hours, where each hour is considered as a separate t me frame interval (time slot) although the three hours may be scheduled directly in succession. For other tasks, time frame intervals (time slots) for example. of minutes, days. or weeks may be defined. In another example an arbrirary period of 0 time may be defined as a time frame interval (tine slot In one example the same time frame interva is used for all tasks whin al processes. The time frame parameter may define the minimum number of mime frame intervals among which the total processing time for the respective task should be distributed, When carrying out a task the processing time is exemplarily distributed within the time frame intervals 15 or may even extend beyond the time frame inteoas. Exemplariy, a minimum and a maximum of processing Ame to be assigned to a single time frame interval (time slot) are determined In one example said minimal and maximal value may be determined by calcusting the ratio between the processing time and the number of time frame intervals, i.e. by determining the mean value of processing time per time frame 20 interval and adding or subtractmg a certain percentage thereof respectively, Accordingly, the minimum processing time to be assigned to a single time frame terva may be set to 50% of the mean value, where the maximum value may be set to 150% of the mean value, This enables the resources to perform multiple tasks in a time frame interval 25 Withi a process, exemplarly at least some of the tasks depend on each other, i.e, one task may technicaly require to be carried out before other tasks. For example, welding is exemplarily carried out before painting, Exemplarily, the process specification defines the composition o1 the processes from the tasks, in a further example, the process specification defines a dependency of the tasks from each ,other, i,e. it exemplarily defines for each task which other tasks have to be carried out before this task This dependency specification is exemplariy defined in a dependency parameter assigned to at feast some of the tasks, in another example to each of the tasks.
Exemplay, at least some of the tasks are carried out at different locations than the other tasks. For example, simulation may be carried out on a remote computer system and painting may be cared out a paint shop located remote from a welding robot. Accordingly, the resources may be distributed Exemplarily, 5 the resources are connected with each other and/or to a resource control unit va a network such as the networks exemplary described in connection with Fig The resource control unit exemplarly receives the process specification in step ST1. in one example the process specificaton is associated or comprises for at least some of the processes, in another example for each of the processes, a 10 process identicaton parameter (Process iD), where a detailed definition or specification of the process identified by the process identificaton parameter s stored in a database 100, The process specifcation may further comprise a weighting parameter for each of the processes. Exemp:aniy, the database 100 stores an assessment parameter for each of the processes, which is retrieved from 15 the database 100 in tep ST2. Alternatively the assessment parameter for at least part of the processes ray be received from a user together with the process identification parameter (Process D) The assessment parameter exemplarly defines an effective etent with respect to a required processing time and/or a required capacity and/or capability for the resources, for example, of the process 20 which it is ass4ned to. Accordingly, the assessment parameter exemplarily represents a measure for the effective utilization of a resource through the process, for example. Alternatively or additionally other criteria may be considered for the assessment of a process and for establishing an assessment parameter, in one example, the assessment parameter for a process is determined based on a process 25 volume parameter and an efficiency parameter assigned to the process. The process volume parameter may define a total amount of units or a total number of parts or pieces of products that have to be processed in the process, The efficiency parameter may define an effective extent with respect to a required processing time and/cr a required capacity and/or capability for the resources, for example, for a 30 single unit or a single part of piece of a product to be processed, Exemplarily the processes are managed in a process management module This management module is capable of receiving process specifications for at least one process, in another e example for a plurality of processes, from a database and/or a process specification interface, for example. The process specication for Wech process may comprise a nst of tasks and/or a detailed definition of tasks comprised in the process. a rticality parameter of the process and/or a preferred location for performing the process or at least part of the tasks, where the preferred location may be defined in a task koaton parameter, for example, The process specification may further comprise a requested starting time for the process, a requested ending time for the process, and/or the process volume parameter. In one example, the process specification for at least one process may 10comprise a unique identification of tasks through a task identification parameter (task ID) for each task A detailed definition or specification of the tasks identified according to the task identification parameters may then be retrieved from a database. The task speciftuations retrieved from the database may comprise a capacity requirement parameter that, exernplariy, is initial set to a standard 15 process time stored in the database. Examplariy, a time frame parameter for one or more tasks is initial set to a standard time frame stored in the database. The task specification for one or more tasks may further define a task location and/or a task category. In one example, the process specification and/or the task specification may 20 comprise for one or more processes and/or tasks a forced resource assignment of said process or task to a specific resource, &emplarily, the forced resource assignment defines a resource for performing said process or task, where the forced resource assignment is exemplarily not changed duing establishing a first and/or one or more further resource-task assignment sets. The forced resource assignment 25 is exemplarily received from a user and/or retreved from a database via the process specificatiornterface, The task specfication for at least one task may further comprise a dependency parameter defining other tasks within the same process on which The at feast one task depends The task on which the at feast one task depends are 30 exempianly caed predecessors or predecessor tasks in the following, ExemplariBy, a bundle parameter may he assigned to at least one task, in another example to each task. &emplany the bundle parameter defines a group of tasks within a particular process where tasks having identical bundle parameter belong to the same group of tasks A grouping of tasks may be of particular advantage for tasks that are exemplary assigned to the same resource. In one example impiementatior a group of tasks having the same bundle parameter must be performed by the same resource. This ensures the continuity in 5 the execution of the tasks. e.g. al tasks in the bundle are assigned to the same resource so that the resource can use the output of a predecessor task for the successor tasks. Similarly if there is no dependency interrelation bundled tasks might be sharing same material for the execution therefore assigning those tasks to the same resource may be advantageous. 10 in step $T3 for each process a weighting Parameter 102 is determined based on the assessment parameter assigned to the respective process. Exemplarily, the weighting parameter 102 is an intemal parameter (internal weighting parameter) which is, exemplarily, used for intemal processing, such as ranking the processes and is exemplarily not made visible to the user. In the initial assignment of the 5 weighting parameters 102 to the processes in step ST3, the weighting parameter is exemplarily set to be identical to the assessment parameter Accordingly, in one example, for all processes the internal weighting parameter is initially set to the assessment parameter before any exemparily manual prionty adjustment is made A manual priority adiustrnent is, for example, made by manually rnodfyi"ng a process 20 ranking parameter as desenbed later, Exemparily, the processes are initially sorted by their assessment parameter, then in a subsdiary way by the process volume parameter, and then n a further subsidiary way by a process criticality parameter, Subsequent sorting in step ST4 is, for example, performed by the weighting parameter 102 then in a subsidiary way by 25 the process volume parameter and then in a further subsidiary way by the process criticality parameter. Alternatively also the initial sorting of the processes may be carried out based on the weighting parameter 102 instead of the assessment parameter. Nevertheless. since the weighting parameter 102 is initially identical to the assessment parameter in the described example, the sorting of the processes 30 will be identical in this case, Once the internal weighting parameter is determined, ordering of the processes may occur depending on the internal weighting parameter instead of the assessment parameter The criticality parameters assigned to the processes may be received as part of the process specifcation or retrieved from the database 100. The criticaity parameter may be assigned to the processes by a user according to users preferences, The proces ses are exempiariay sorted in descending order of their weighting parameter 102 (or assessment parameter) meaning that the process 5 having the ighest weighting parameter (or assessment parameter) is ranked first, the process having the second highest weighting parameter (or assessment parameter) is ranked second, and so on. Processes having identical weighting parameters (or assessment parameters) are, for example ordered according to their process volume parameter in descending order, Even further, processes having 10 identical weighting parameters (or assessment parameters) and identical process volume parameters are, for example. ordered according to their process criticaity parameter in ascending order. Once the ordering of the processes is c a ranking parameter is assigned to the Processes, which is an integer number, for example. 15 Different types of processes may use the same resources, but their benefits to the organization may be measured by different metric. For example, the manufacturing of two different types of products, of which production or processing priorities are driven by different parameters, can be performed by the same group of resources, such as buying two different models of cars in the same factory The two 20 different models of cars share the same production lines to a great extent at least for some parts and, therefore, the common tasks are performed by the same resources The methods disclosed herein provide a solution to assess the priorities of two differed groups of processes n a combined way. In one example implementation, the methods differentiate at least two 25 different groups of processes and use the weighting parameter and the volume parameter, respectively, to prioritize and to measure the benefit of the two different groups. Other types of processes, wfch may not have, for example, any measurable benefit to the organization , are regarded as their " group of processes and the metoc to measure the success of the optimization algorithm is to control their 30 finishng time and try to prevent any delays. For the "vOiume type of poesse as parameter may be used in he same way as orn way toth internal we9ghtirg e fo the new processes the internal weiti p 14 nitaly set to the volume parameter If the ranking of a process is advanced by one hen the intemal volume parameter of the process that is being promoted and the poocess that is going to be degraded by one rank may be swapped, Accordingly, for vum"type processes the lnzerai volume parameter may be understood and 5 used analogous to the weighting parameter, a, for "volume" type processes the weigtthng parameter may be replaced by the intemal volume parameter Tables A to 11 demonstrate sorting and ranking steps for the work avocation processes. Each row in the tables (except the abelling row) represents one process identified by the process identification parameter (process ID) Further the process 10 volume paareter, the the crticafiy parameter and the internal weighting parameter 102 for each process are shown in the Tables, Moreover, the ranking parameter assigned to each process in step S4 is also indicated in the Tables, Finaly, in one example a process status parameter is assigned to each of the pocesses Table A represents an exemplary situation after 15 step ST4 The processes (100, 200, 1000) have been sorted in accordance with the above descnbed exermplary sorting critera and ranked according to the achieved ordering, where the ranking is defined by the raning parameters (priority ranking parameter) having integer values from 1 to the integer represents the total number of ranked processes, which in the example of Table IA is 10, 20 PMAeY W Pi&es 34 C D 000 2c 20 1 untF 2~ 20t' ao 012000 4 400 j O 2sco 350 Unscheduled 50 3002 30 20007 2 nchd tILL- -'~ 2 ------ - I l 20i2G0 Unscheduled 700 200 200 72130 3IUshcre 900 23 1 WAR? 9 J22 S 02201 IubdC Table A Subsequently, in step STS it is determined whether further processes should be added. This determination may be made depending on a respectve input from a 25 user who may decide not to add further processes at that stage in this case the 15 method proceeded to a step ST where it is determined whether the user decides to ranualy modify the ranking Of the processes ln this case a modified ranging parameter for at east one process may be received trm ihe user, For example, the user may manualfY set the ranking parameter for the process with TO Rcess equa 300 to a value of two, . e user muy manualy cnge the ranking parameter from the previous value nine to a value of two, defing this process as the second highest ranked process. Accordingly, the ranking of the processes with a previous ranking parameter between the previous ranking parameter (excluded) and the new ranking parameter (included) of the manualy 10 mnodf1ed process are shifted towards the value of he previous rankmg parameter of the modified process The resulting new ranking parameters for the individual processes can be een in Tabie 12 below, SA h weghtg parameter 102 for the modified process is adapted to the new ranking, in one exarmple, the weighting parameter 102 5 is adapted as follows . Wth the modified process having a new ranking parameter of N larger than one but smaller than the total number of ranked processes, the adapted weighting parameter 102 is determined based on the weighing parameters 102 of the processes having ranking parameter of N-1 and N+1 he the neighboring processes Exempariy, in case the neighboring weighting pareters, te, the 20 weighting parameter 102 for the processes having the ranking parameters N- and N4I, are different, then the adapted weighting parameter 102 of the modified process is set to a value between the neighboring weighting parameters, exemplarly to the average value of the neighboring weighting parameters, Otherwise, Le. in case the neighbouring weighting parameters are identical, the 25 adapted weighting paraneter 102 maybe set to the samrie value, in case the modified process has a new ranking parameter of one, its weightnrg parameter 102 is exernplarily adapted depending on the weighting parameter 102 of the process with the new ranking parameter two, Exempharily, the modified weighting parameter 102 is set to a value that is by a predetermined 30 number or incremental value, such as one or 100, higher than the weighting parameter 102 of the process having the ranking parameter two, in case the new ranking parameter of the modified process corresponds to the total number of ranked processes ie. in case The modified process has been assigned to the lowest rank, s weting parameter 102 may be set to a value of zero. for example Sased on te adapted weighting parameter 102 The method as shown in q. 2 proceeds to step ST, where the ocesse> are again sored as described above Tate 18 represents a situation after the stePs 55 to ST7 and ST4 have 5 been cared out. in this example. a user has edited tof process (90oo to the value two in step ST6 im step 17 the for the process (900) has been adapted to the value 900. which is the average of the neighouring weighting parameters which are 800 and 1000, respectvely hi step ST4 the processes have been sorted as described above. Exemplarii, al newy 10 added processes have a process status parameter set to "Unscheduled which may define that no scheduling has been dehned for these ~~oe R~~id~Pm amene te ses upo to s sti 2 900 900 scheduled 200 n e Unschedujed 400VT Unschadiid 500 30150d0 705 520Ushd 12000 2 ? "sc d 1000001000:e0d Table 15 From the step $14 the method aga ni proceeds to step $15, where it is deterrnined whether further processes are added. Table IC shows a defhrtion for three further processes that may he received from a user. For this the method proceeds to step STi as shown in F 2. The new p si may niialy have no ranking parameter assigned thereto. The three new processes may 20 be received in three subsequent cycles of the loop defined by the steps 3T1 to ST5 or they may be received simultaneously in one cyce The flew s e to the previous processes and sorted and ranked together with the Previous processes as desenbed above. After the new processes have been ranked their initial process status parameter may be automaticaly set from the value "New 25 Process" to the Value "Unscheduled Paidniy b h { N 0 Nocono-New Pro"e s Table 1C If in step STS no mo dification of a ranking parameter is requested, the method 5 according to the example as shown in Fig 2 proceeds to a stap ST8. where it is determined whether a user wants to manually modify at least one of the process status parameters, Accordingly, the user may, in case of need, manually mod1ify the process status parameter for at least one process, where in step ST the new status is assigned to the modified process. emplary, the process status parameter for 10 each process may take one of the values "New Process" "Unscheduled" "Scheduled" "Firt 'Qrshod", "lrtrogess, "Cormpleted; and "Cancelled"F or a status corresponding to these valUes In one example the user can change the process status parameter only to the values "On-hold" and "Canceled" or a status corresponding to these values. whie the other values for the process status 15 parameter are automatically assigned by an exemplary system. The method then proceeds to step STI of scheduing the processes. Details of the scheduling cycle STI0 according to an exemplary impementation are described later with reference to Fig 3. in step STI an available resource capacity 104 for each of a plurality of resources 106 is analyzed wherein each of the 20 resources 105 that is analyzed may have a capabity of performing tasks within at east one task category of the tasks comprised in the processes that have been received and sorted in the previous steps Based on the analyzed resource capacity for t categories defined for the sorted processes, a first scheduling of all tasks belonging to the specified processes is established and a frst schedule parameter 25 for each of the processes is evaluated depending on the established scheduling of the tasks belonging to the respective process, The first scheduling of a tasks represents a first resource-task assignment set assigning the pluralty of tasks to the plurality of resources, Further, when the first resource-task assignment set has been estatshed a first control parameter is evaluated based on the pluraty of pairs each 82 comprising a weighting parameter and a schedule parameter assigned to each of the plurahlty of processes The first control parameter may be stored together with the first resource-task assignment set. Further, a second resourcetask assignment set different from the first 5 resOurce-slk assignment set is established The second rescure-task assignment .set may differ from the first resource-task assignment set in that not all tasks are 3ssigned to the same resources as in the first resource-task assignment set A second schedule parameter for each of the processes is evaluated depending on the established scheduling of the tasks within the second resource.-tak assignment set 10 and a second control parameter is evahuated based on the plurality of pairs of parameters, each pair comprising a weighting parameter anda schedule parameter defined for each of the plurality of processes, The second control parameter may be stored together with the second resource-ask assignment set Even further, one or more additional resource-zask assignment sets different 15 from the first and second resource-task assignment set and/or different from one another may be established in the sane manner and for each additional resource task assignment set an additional control parameter may be evaluated Each additional control' parameter may be stored together with the respective resource-. task assIgnment set in a database, such as the database 10o 20 Based on a selection criterion for the control parameter, step ST10 may select one of the stored control parameters. The selection criterion may define to select the resource4ask assignment set having the highest control parameter or the lowest control parameter. Alternatively, the selection criterion may define any other condition for the control parameter, eased on the selection of a control parameter 25 sep ST10 may retrieve the corresponding resource-task assignment set from the database. In one example Omplementation, at established resource-task assignment sets may be stored together with the control parameters, kn step $10 the method may fWrter aooate at least some of the processes to a plurality of resources 106 by allocating the tasks of for processes to the resources according to the selected 3& resource- task assignment set, The criterion used to reach the optimum effectiveness and/or time efficiency for a process by making use of the method can be different for different types o processes. For some processes, keeping the requirements on the due dates are important hence the method might choose the resource assignment whH gives the rmntrn delays. For me processes, however, analyzing only the delays is not sufficient, but the potential losses in case of delay might be considered as wel next to the amount of deaays In contrast to the examPes given above some processes 5 may require even eMy every and may require choosing an assessment criterion that favors 'earlhreses In step ST 1, the method may further determine whether h allocation cycle has been Completed. The decision on this may be defined according to user input For example. the user may decide to add further processes or to manually edit one 10 or more of the scheduled or unscheduled processes This may also include manually orderirg or reordering of the processes. In this case the method may proceed to step T5 which has already been described above, If m step ST11 the allocation cycle is determined to be completed, the method may further comprise a step ST12 of conroling at least some of the resources 106 according to the 15 established allocation of the tasks to the resources. Exemplary, a control unit is connected to at least some of the resources via a network and the method exemplanly, further comprises a step of directly or indirectly controlling operation of at least some of the resources according to the established schedule. In particular an operation schedule or control signalsor messages corresponding thereto may be 20 transmitted to the individual resources via the network< Operation of the respective resource may be started and stopped either automatically or through a user of the resource in accordance with the transmitted operation schedule Table 1Q shows an example of the pluraliy of processes described above, where the processes 1100. 1200, and 1300 have been added after the other 23 processes have already been scheduled, The added processes have not yet been scheduled Ths is indicated by the process status parameter for the ndividua processes ----- -did v -- - s u -- ~ ---- nPcess
----
ig--- 11 4 C 00 1002_0_Sced e 9T0 16CcT ~~$n 42 '510 800 2006 2"~~ C&l s- - - S ....... 500 20. .. 20.0.0..s...ge 2-- 1 13 IC00 4 T ...- ---- LKii V z u ---- ------ -Kt-- ---- .... Table D In the example shown in Table 1D, process 1100 is ranked above process 300 because it has the same intemal weighting parameter but a higher process S volume parameter. Process 1200 is ranked below process 900 because it has the same weighting parameter but a lower process volume parameter, Process 1300 is ranked above process 800 because s. has the same weighting parameter but a higher process volume parameter. Table 1E demonstrates an example in which process 1300 has been I inmanuafly adjusted to the highest ranked process in step ST6 shown in Fg 2 Accordingly, the (internal) weighting parameter is set to a value correspcnding to the weighting parameter (value 1000) of the second highest ranked process (process l0 100): plus one, ie to the value 1001. 21nk' F rp o e s sa atar t hs sa s et er 5o f o r a b e e n t e b rd Z1t ......... L ns h~de at least o Ae ia to ane task wihn each possand a seart as tus paramete may be assigned to each of the tasks within each of whe prices. he task sau for each a ytakeh "Unschedued" "Scheduled" Fir" "n-hld" "ErlyStart 1"inPoges "Completed", and,, ",Cancelied" or a Fscorresnd to the vaues. For tasks athe aressystatsareter akysatus parameer is set to a value represntng "rnrrogress" or a simar Vale Ftor processes fohc a leasdul tas h taredy beehn a certain tiome perfrm atleatoneh rmay be deed trough ar tssimet tma period duraton parameter or freezeairn each proee, dte aroes a s status parameter im se to a vaue representIng ^Firm of r value, This proves the resabilit of estabshng and controliNg achuefrthneruuewhh sdfedby the fir,"m perio,-d parameter, fcordngch ptask ning tkheafteralesourcedurd or pSceformin the tasks in advance can be aluaes in the exampe of abred ! an schedule o has been nd processes 200 and 9th are scwuschedued within aca titne me freezefirm period art the asspged Process status parameter is set to Far Processes 1300 aad 9e sarte no shedule wtathe parameter is now updated to lnProgress Processes having a status of "In 22 Progress" or "Firm are not changed during the scheduling cyde ST10. These processes may retain their poston in the press priority table unU the processes have been completed, i e. until the process status parameter is set to a value "Complete" or a status corresponding thereto In another implementation, the 5 ranking parameter of these processes can be automaboally and/or manual changed Such a change can occur before a schedulng of the processes A performed, for examp a 2 Rd0jir h10ii0 1C6 T~~4? 3____ V00 90 3 1__ 03 ___F m 2 2 00 1000 800 20000_ 2 1 r - ------------------- 7300 SO0 50D 100 i schrd 1000 20900 10000_ Sched__d 11 70 0 20C 70' Scheded Saal -- -esses -a -g s Progress* rFr an e na asige a.... status o.nh chang0C 132 edwatmtclyan/rmnal Table G Show an exmp able wihtepoes90Fa enmna assigne palpoesshvn a process sta t us parameter of eO-od itheapoes et r ateo "AP"e te(ase sora pesserib ore up defaied frsar ne ErgetProcesse0 20Processes0 wild inthei rigus pioinhecssnority rakn taknaamter as n~ are 15 dfeetipeettoteranking parameter ofmlry roes90wl bereshued mo ases cTan be Tonabsibe e sourecptw0s availabple.innwhdditthe process 700 hasmnal been manually assigned a process status parameter of "Cancelled". Processes 23 having status"Gsncefe& are xempiary not cnsiderddrn h sinett re o r e in step ----- .. ....... .......-- ------ -- ---------- --- ... .. 4 rq *..rlff ........ - - ----- - j
------------
------ ---- -------- ----- ----------- -- --------- As Ta IH Ti~bi 'G, s rna -a :y a-Justd 'c av__ _________M a& f Vs1 0___ __ _ _ _ _ _ _ 2 __ ____ ~ sI ) { I _cc,_ is_ _ _ _ _ _ _ _ _ _ __ _ _ ~ c y__ _ _ Pa __ __ __ __ _ ___ __ _ _ zdu ab(able 1$ As how inTabe 1. poces2400 tc a led enaddi R taking Pacess0 WeighPqting ~ | m Process State Pi"' mte i P4met 1 1300 1001 G 2000 1 Iirne 4 90 0 01C01 nHl 1200___ 900 900 __10000 1 Schedded E 20 COG 600__ 20000 2___ FurF 7110j £0 0 0 20200 2___ Schedged__ a 3]____ $ 0D 0 i x300 i1 sche_ e 9 400___ 1 50 50 1000 3 ceu F 10 500__ FQ30 300___ 1200 2 _chdule 11 S00 200' 200 10000 1 Schedded__ ................. __ _ ..... -7 - ---- 1-----A O , ......... . ---- ----- 13___ __00__ a f 0 1 1000 2 jScheduled I __ _ 1000 C f i 1200r 3 I&fc~d I Table1I Table 11 shows an exemplary situation afterea new master resources schedule s generated n step ST10 Process 1400 tas been at least partly assigned to the Resources previously assigned to process 900. This is not visie frorn the shown table. The process status parameter for process 1400 has been, exemplary automatically, set to the value Firmt Process $00 is rescheduled when a suitable resource 106 next becomes avalabie and assigned a process status parameter of Scheduled& Process 100 is now complete and assigned a status of "orplete" or a 10 value corresponding thereto. Eemplarily, the rani~tng parameter for completed and/or cancelled processes is, exemplarily automaticaly, set to an undefined status, such as a value of X indicating that these processes should not be considered during ordering or schedulng of processes. Exempiarly, processes hlaying such a rrngpararmeter e g.X' areno longer isi toausr cc1,5 P1 imky 1n PI Pum* P S 'U , 1 Y0 101 2r -c L L. ~ qoO1200C e ___ 20 0 0> 100C0 Schl4ded 20 as a 2 Fr -- 0 20000 2
..
'-- __00_ 3002o 3L0 00 100 ____5ch N 0 C 0 '12000 2 1Shtua Table 11 The internal weighting parameter may aitem atvely be deter mined 'n a different way when the ranig parameter is rnanually modified. One exemplary Alternative is described in the following with reference to Table 18' For example, the user may manually set the ranking parameter for the process with Process 1D =$00 to a value of two, La. he may manuall change the raning parameter from the previous value nine to a value of two, defining this process as the second highest ranked process, as described above, A accordingly. the ranking of 10he processes with a previous ranking parameter between the previous ranking parameter (excluded) and the new ranking parameter (included) of the manually modified process are shifted towards the value of the previous ranking parameter of the modified process. The resulting flew ranking parameters for the individual processes can be seen in Table 18' discussed below, 5S Subsequenty. in step ST7 the weighting parameter '102 for the modified process is adapted to the new ranking, In the present example, the weighting parameter 102 is adapted at follows: With the modified process having a new ranking parameter of N larger than one but smaller than the total number of ranked processes, the adapted weighting pararneter 102 is determined based on the 20 weighting parameter 102 of the process previously having the ranking parameter of N. Exempiarily, the adapted weight ng parameter 102 of the modified process is set to the previous weighting parameter of the process previously having the ranking parameter of N. Exenplaiy, the weighing .parameers of each shifted process, ie each process for which the new ranking parameter is shouted by one towards the value of the previous ranking parameter of The modified process, is modified such that the new ranking parametrcoreponds to The previous ranking parameter o 5 the process that previously had the ranking parameter corresponding to the new ranking parameter of the shifted process. For example. the new ranking parameter for the shifted process 200 corresponds to the previous ranking parameter of process 300. A ccordingly. the new internal weighting parameter of process 200 ts set to Uhe valve of the previous weigt~tng parameter of' the process 300, as exemplarily 10 shown in Table 18t Ranking Psacss egb Po te PakaajIt P olmu P4 meadiy 1____ 10 100 1 000i~ 250 Unschedule _________12000 2 Unscheduled ____200___ 200 20000 Urischeduled 9 00 20 DO 72mof 2 Unchdue 10 L___ 19000 '0 { 2000 3 I Unsch~eduled Tabe 1B: An example scheduling cycle of step ST 10 is descrbed with reference to 15 Fig, 3, Exemplarity, the scheduflng cycle comprises a step $T20 of initializing the scheduling, Step $120 may comprise a step of receiving specifications for processes together with the ranking of the processes and at least part of the parameters and statuses as exemplarily described above. ln step $T20 data may be retrieved from a database, such as the database 100, and/or from the resources 20 106. The scheduling cycle is exemplarily at least partly performed in a central scheduling and/or control unit. Exemplarily, the scheduling and/or control unit communicates with the database 100 and/or the resources 106 via a network and may particularly receive process specifications via this network. The example scheduling method further comprises a step $121 of ordering at 2$ least part of the available resources 106. This ordering may occur according to 27 arbitrary order coons Ordering nay occur according to the capacities and/or capabilities of the individual resources with the resource having the highest capacity bemg positioned at the beginning of the ordering and the resource with the lowest capacity positioned at the eni of the ordering, for example in a different s implementation, ordering of the resources may occur according to a resource idenificaton number, or in alphabetic order of the resource names Exemplarily, the established orderng of the resources serves as a we defined basis for the later cycles of assigning tasks to the resources or for anayzing the available capacities of the resources in a weB defined order. The resource or during 108 may be stored in a database, such as database 110 or the database 100, In one implementation, the databases 110 and'100 may be the same database. in step ST22 the schedulng cycle may start with the first process. Exemplary, the process with the highest ranking, i. the lowest ranging parameter, and having a process status parameter different from 1n-Progress" or "FirnV is 15 selected to start the scheduling cycle. In another implementation, as described in more detail later, the processes having a process status parameter of ln-Progress or irm" are selected firs . The seected process is analyzed in step ST23. Step ST23 of analyzing the process, exemplarily, comprises analzing the composition of the process from the 20 tasks bonging to the process Necessary data are exempiarly retrieved from the database 110 and/or the database '100, for example. Exemplary, at least part of the process specification as described above is analyzed in step 323. Additional or alternative method step that may be comprised in step ST23 are described in more dea in connection with Figs. 4A and 4B as well as Tables 2A to 2C, below. in step 25 ST24 the first task of the process is selected for the further scheduling. This selection is exemplarily made at least partly based on the time dependencies of the tasks defined in the process specification, The selected task beings to a task category which is exemplanly considered as a basis for the step ST25 of analyzing avaiable resource capacities for carrying 30 out the selected task. Exemplarily, in step ST25 resources havng a capability of performing tasks within the task category of the selected task is searched in an order according to the resource ordering 108 and their available resource capacity is analyzed. The available resource capacity for a resource is determined, for 25 example, based on the ttal resource capacity and an already scheduled capacity of that resource, As described above, the total resource capacity may result from standard used time and a no-scheduled time reserve parameter if an available resource capacity corresponding to the capacly required by the selected task is 5 found, te task may be assigned to the respective resource in step ST2e. This assignment of the selected task to a resource is added to a resource-task assignment set 112 (112, 112" - such as a frst resources assignment set 112. The resource-task assignment set 112 defins resource capacities that have already been scheduled by assigning tasks to the resources. The resource-task I0 assignment set may also define both the assignment of tasks to the resources, le, the wnking between tasks and resources, and a scheduling for carrying out the tasks by the resources, ie. hiring parameters. The timing parameters ray be based on the processing times and the time frame parameters of the tasks as described above. 15 Next, in step ST27 it is determined whether the present analyzed process comprises a further task that has not yet been assigned to a resource. In the affirmative, the next task within the process is selected in step ST28 and the method proceeds to step ST25, where an available resource capacity for performing the newly selected task is analyzed, as described above. n case aB tasks within the 20 process have been assigned to resources, no further task is determined in step ST27 and the method exemplarily proceeds to step 3T29, where the scheduling on the process is evaluated based on the scheduling of the individual tasks within the process. Acording to this evaluated scheduling a schedule parameter 114 is created for the process and stored in a database, such as database 110 and/or 2f database 100. for example, The schedule parameter may define a period of time until the last task within the process is completed according to the scheduling of the tasks defined in the rescurcetask assignment set 112 Alternatively, the schedule parameter 114 nay define the period of tine between the starting and the completion of the process, ie. the duration for performing the process according to 30 the scheduling defined in the resource~task assignment set 112 In one example. the schedule parameter defines the duration from the current time until the aWeduled and time of the process or a reciprocal of this duration. in step ST30 it is determined whether a further process exists that has not yet :29 been scheduled and that should be eduled. in the affirmative, in step $T31 this process is selected and the method proceeds wih step ST24 as described above In case the tasks for al processes to be scheduled have been assigned t resources, no further process is determined to be scheduled in step $730. The S assignment of all tasks to resources therefore, has been completed and may be stored, for example, vn a database sucb as the database 100 and/or database 110. The method further comprises a step ST32 of evaluating tis resourzeissk assignment set. In step ST32 a control parameter 115 is created for this completed resource-zask assignment set based on the schedule parameters 114 and the 10 weighting parameters 102. Exemplarily, the control parameter 116 is evaluated based on the pairs of the schedule parameter 140 and weighting parameter 102 defined for each of the processes In paticular, in one example for each of the processes the schedule parameter 114 and the weighbng parameter 102 are multiplied and the sum of all this products for all processes wt a resource-task 15 assignment set is defined as the control parameter which is assigned to the respective resource-ask assignment set and stored. for example, together with this resourceask assignment set in a database, such as database 110, for example. Further. in step $33 it is determined whether the scheduling should be completed. In this example implementation, at least when performing step 32 for 20 the first time the scheduling is regarded as not being completed and the method proceeds with step ST32 of changing the resource ordenng 108 and/or establishing a second resource ordering 10$' different from the first resource ordering 108. Then the method further proceeds to step $722 and starts the cycling again wit the first process. Changing the resource ordering and/or establishing a second resource 25 orderng in step ST34 ensures that the at least one further resurce-ask assignment set 112, 112" established in the following scheduling cycle, ie. a second resource~ task assignment set 112' and/or a third resourceeak assignment set 112 , is different from the first rescurc-task assignment set 112 estabbshed in We 5ist scheduling cycle described above, since at least step ST26 of assigning tasks to 33 resources (and also step ST25 of analyzing the resource capacities) is at least partly based on the resource ordering 108, 10. 108" The complete scheduling cycle may then be repeated for a plurality of direct resource ordering 10, 108! 08' resulting in a plurality of different resource4ask assignment sets 112 112', 112" 30 each having an individual control parameter 116 assigned Ahereto. The collection of the plurahty of resosrce-ask assignment sets 112. 112'1 12 may define and/or are comprised in a solution set 122, in case the scheduling is regarded as bemg completed in step ST33 the 5 method proceeds to step ST35 of selecting one of the established resource-task assignment sets according to a selection condition for the control parameter and allocating processes 118 to resources 106 according to the selected resource-task assignment set Accordingly in step ST35 an allocation 120 s created that defines a precise scheduling of the processes 118 and their allocation to the resources 106, An exemplary irmpleimenaton of a method for allocating processes to a piurahty of resources is described in the following, In the exemplary implementation various parameters> particularly various time parameters and/or scheduling parameters, are defined and/or set as follow. The steps involved with defining and/or setting these parameters may be carried out as part of a parameter initializing 15 step. Exemplarly, a requested starting time parameter for a process (Process_Requested~tart) is set to the earliest available time within the time frame period (or time slot) of the requested startng tme, which may be defined in a process specification. Depending on the definition or scahng of the tme frame 20 parameters, this may be the first minute within a requested hour, or the first hour within a regqested day, or the first working day (e&.g Monday) within The week of the requested start This parameter, for example, indicates the earliest tme that the process oar commence. If the process car be started immediately, this parameter may be set to a time as soon as possible and/or to a value representing 'ASAP' (as 25 soon as possible). Exemplarly. a requested ending time pararter for a process (Process_PequestedEd) is set to the latest time within the time frame period (or time slot) of the requested ending time for the process, Analogous to the starting time, the requested ending time may be set to the last minute within a requested 30 hour, or to the last iour within a requested day, or the last working day (e g. Friday) with the week of the requested ending time. This parameter, exemplarily, indicates the latest time that a process must be completed Where no ending tine is assigned to the process, this parameter may be set to a value representing "ASAP" and/or "No' Avadable and/or "Schedule End Time Parametert Exemplarily, a process restart time parameter (Process Restart) is set to the earliest available time within the time frame period (or time slot; f the requested res tarting time, simda~r to the requested starting time parameter, This parameter, for 5 example. indicates the earliest time that a process can be restarted once it has been placed cn hold. W here the process has been placed on hold in order to free up resource capacity, this parameter may be set to a value representing "ASAPK In one example implementation, if a process that has been put on-hl can be resumed, the process restart time parameter will be set to a value representing 10 "ASAP" in case delay has occurred and restart time is not known, this term may be set to a value representing "indefinite", for example, Exemplarily, if a task in "On-Hoid" a task restart time parameter (Task_Restart) is set to the earliest available time within the time frame period (or time slot) of the requested restarting time of a task, similar to the process restart time 15 parameter. This parameter, for example, indicates the earliest time that a task can be restarted once it has been placed on hold. Exemplaray. all proceeding tasks dependent on the task placed on hold will be rescheduled based on the earliest restart tirne assigned to the delayed task, Where the process comprising the task is placed on hold to free up resource capacity, this parameter may be set to a value 20 representing "ASAP' for example. Where delay has occurred and the restart time is not known, this parameter may be set to a value representing "indeinite", for examplea Exemplar ily, an estimated point in time to complete a task (Task_EDC) is set to the latest available point in time within the time frame period (or time slot) in which 25 the task is estimated to be complete. This parameter, for example, indicates the estimated point in time until which a task wil be completed, In an example, this parameter is entered by a user and represents the estimate point in time to complete a task evaluated at a point in time when the user enters actual data and/or when a resource operates on performing the task. 30 Exem~plariiy, an estimated period of time to complete a task (TaskETC) is entered by a user and represents the estimated period of time needed for completing a task evaluated at a point in tine when the user enters actual data and/or when a resource operates on performing the task. 32j Exemplarily, a scheduled task start parameter (TaskScheduledStart is set to the earliest available time within the too frame period (or time slot) scheduled for the starting of the task. exemplarily analogous to the requested startmg time parameter for a process. This parameter, for example, indicates the time which a 5 task is scheduled to start n one example, this parameter may be evaluated as cart of a scheduling within the selected: resource-task assign ment set. E xemplanly a scheduled task end parameter (Task-ScheduleEnd) is set to the latest rime within the time frame period (or time slo) of the scheduled ending time for the task, analogous to the requested ending time parameter for a process 10 This parameter, for example, indicates the time which a task is scheduled to start. in one example, this parameter may be evaluated or processed as part of a SCheduling within the selected re source-task assignment set Exempiariiy a task actual start parameter (Task ActuaStart) is set to the earnest avaIlable time within the time frame period (or tIme siot) which the task has 15 actuary been started to be carried out. Exempary a task actual end parameter (Task ActualEnd) is set to the latest available time within the time frame period (or time slot) in which the task is actually completed by the resource. A Schedule Start Time Parameter defines the point in time staring from which the tasks wil be assigned to the resources. A Schedule End Time Parameter defines 20 the point in Wme which defines the last point in tme that a task can be assigned to a resource Tb.his can be a aam h a year, or any other period of time later than the schedule start In one example lmpnlementaton if a task cannot be assigned to a resource the task will be marked as "Unscheduled". The reason for this could be either there 25 being no capable resource available that can perform the task: and/or the capable resource cannot start and finish the task between Schedule Start Time Parameter and Schedule End Time Parameter; and/or the possible assignments to af capable resources fad to comply the requirements specified in the task/process definitions for example location constraints, bundle constraints, etc. 30 Additionaly if a task is scheduled within the firm period, the task status wil be n-Progress" if the task commenced (a resource had already started performing the task). Eise, if the previous task status is not in-Progress, then the task status wil be set to "Firm' '33 If the task is outside the firm period, and a resource started performing the task a current status reporting period or if the task status was "Eariy-tart" in the previous schedding period, then he status" wl be set to "Early-Start Eise if the task was already set to "In-Progress" previously, te status will remain as 'in 5 Progress' else if performance of task has not commenced, the status wil be "Scheduled In another example implementation for each process the process status parameter is updated based on task status parameters (Task Status) of the tasks comprised in the process. For example, if any task in the process has "On-Hold 10 status, the process wil receive "On-Hoid" status Else if any task in the process has "Unschedued" status, the process wf receive "Unschedujled" status. It is preferred to highlight the process as "Unschedued" to ituskate that there is a problem with id her in the process specifiation or in resource capacities, 15 Else if any task in the process has In-Progress" status, or if any task in the process has "Compieted" status and there is at least another task within the process that has "Firm" or Scheduled" status, then the process wil receive "inProgress status, Else if any task in the process has Firm" s t atus, thi process will receive 20 "Firm" status. Else if any task in the process has ^Eary~Start status, the process w receive "Early-Start" status Else if all tasks in the process have "Scheduled" status, the process wil receive "Scheduled' status 25 Else if aw tasks in the process have 'Compieted' status, the status of the process wilt be "Completed In another example implementation, the update procedure may be imnplemented as foillows 30 IF Task Status 'Onhold' and Task.Restar Unknown or TASK in Process THEN Process Status 'Onhold' Process Restart ='Unknown' T~r,-34 Task Status =sonhold for all Task_Status > Complete: or Cancened! in entire process ELSE iF Tiak Status QOnhold for a process tasks THEN Process_Status 'Onnoid t "ELSE IF Task Status =n-Progress for ANY TASK in process THEN ProcessStatus ein-Progress! ELSE IF Task Status Conmplete' for ALL TASKS (excluding those marked as 'Cancelled) in process THEN ProcessStatus = Compete 10 ELSE IF Task Status = 'Cancelled for ALL TASKS in process THEN Process Status =Cancelled In this exemplary implementation the task comprised in a process are analyzed. it is determined whether any task in the prices has status information (a i5 process status parameter) set to a value representing "Onhold^ and a restart information set to a value representing n cas such a task is found within the process, the process status parameter is set to a value representing "Onhold" the process restart value is set to a value representing "Unkown and the status for all tasks that do not have a value representing "Complete" or "Cancelled" 20 within the process Js set to a value representing "Onhold" Accordingly, if a restart time for a task has not been entered then all tasks that are not already complete or cancelled, and the entire process may be defined to have a status representing "Onhok". In case no task is found in the process that has a task status parameter 25 representing "OnholdN and a restart value representing Unknown" it is, for example determined whether all tasks withn the process have a status representing "Onholdt in the affirmative the status of the process may be set to a value representing "Onhd", for example. Further, in case none of the aforementioned conditions is fulfiled, it is determined, for example, whether any task in the process has a status 30 representing a value ln-Progress. if such a task is found within the process, then the process status parameter may be set to a value representing "n-Progress, for example, Even further if' none of the previous conditions is met, it is determined 3$ whether all of the tasks within the process have a staus value representing "Complete". In this case the status of the process is set to a value representing "Complete". Accordingly, in case au tasks are completed, the status of the whole process may be set to a value indicating that the process is competed, for example 5 Exempiarily, the status of the process is also set to a value representing "Cornplete if the process comprises at least one task having a status representing "Complete and additionally if all tasks not having a status representing "Complete" withn the process instead have a status representing 'ancelleo2 Accordingly, the status of the whole process, i a, the process status parameter, may be set to a vaiue 10 irdcating that the process is completed, for example, if at least one task has been completed and if no uncompleted task remains uncancelled Ahin the process. Frally, if none of the aforementioned conditions is fulflled, it is determined whether adi tasks within the process have a status representng the value 'Cancelled, In this case the he process is set to a value representing 15 "Cancelledt Accordingly, in case all task within a process are cancelled, then the process itself is marked as being cancelled. If ary task in a process has "Firm" status, but other tasks do not have "On Hold", "UnscheduiedT or "In-Progress' status, the status of the process may be set to "Firm", in one example the status of the process is set to a value representing 20 "Firm",if the process is already scheduled to be started with a given period of time (fim period), given in minutes, hours, days, or weeks, for example. This aspect may be implemented as shown in the following example: ProcessScheduedSart NUL AND ProcessStatus <> 25 'Onhoic'; 'Comple; *Cancelled' T HEN IF Process ScheduledStart "n (CURRENTTIME + FIRMPERIOD) THEN Process_Status 'Firm' Task_Status = 'Fim' fr all tasks associated with the 30 process ELSE ProcessStatus = 'Scheduled' Task Status ' Scheduled' for all tasks associated with 36 tna process END 5 Ateraty hey ae ma b i emented as show Scheduling Start Tire Parameter instead of the CURRENT TIME Accordingly, it is exernpariiy determined whether a scheduled starting tine assigned to the process that is different from "NULL and whether the process status parameter has a value other than "OnhotWc Cormplete" or "Canceled" in case both 10 condaions are fulfilled, it is further determined whether the starting tme of the process is scheduled to a time not later than the current time pius the given firm period, In this case the status of the process is set to a value represent Firntt By way of a further example, the statues for all of the tasks comprised in the process are set to a value representing "Firm". In case the latter condition is not fufilled, i.e. 15 in case the process is scheduled to start after the expiry of the frm period, the status of the process as wel as the statues of all taks within the process are set to a value representing "Scheduled" in the fOllOWing an exemplary implenmentation of scheduling tasks to resources is described. This second updates the schedule based on task actual, and 20 schedules tak based on prorty, ik.e racing parameter, and/or location and/or available resources. In a frt step scheduling is adjusted based on process actuaL for processes with entered actual data, ie processes whic h have already beer worked on wherein data corresponding thereto are stored in a correspondingdatabase, Exemplarily, the 25 operation commences with processes with highest process prionty, i.e. lowest ranking parameter, and having entered actual values for a' tasks not complete or cancelled. The tasks remaining and/or total processing tie is updated based on the estimated time to complete the task for tasks that have been started, and based on standard values, such as the standard processing time, for tasks not yet started. The 30 TaskScheduiedEnd parameter is updated based on, the estimated time to complete the task for tasks that have started, and the total elapsed time for .a task to be completed, exemplarily expressed in terms of time slots, is updated based on standard values, such as the standard processing time, for tasks not started. The 37 mrimmum and maximum processing time per time frarne peri (time slot) is determined that can be assigned to a resource based on the remaining and/or the total processing time and the Task ScheduledEnd parameter. Exemplarily if the actual number of time slots that a task is scheduled Is 5 larger than the minimum elapsed time then the minimum lmit for processing time per time slot in te last tine slot does not appiy Available capacity of resource is determined based on (standard use time x non-schedulied me reserve parameter) (processing time already alloate for updated actuais) Task processing ime (TaskProcessing) per toe slot is allocated to the resource between the minimum 10 and maximum imitslito buckets of time slots until all processing time is alocated, Further, it is checked that the task will finish in the time slot of TaskScheduledEnd based on allocations of the processing tme into buckets of time sits for tasks that have already started to be processed. Even further, it is, exemplarily, checked that he minimum elapsed time is satisfied bed d on allocations of the processing time 1S irito buckets of tine slots for tasks that have not already started to be processed. The TaskScheduheduedEnd parameters are assigned based on the time slots that the allocated processing time is scheduled to start and end, respectively. Exemplarily, the above operations are repeated for all tasks in a process based on task dependency until all tasks are updated. Once all tasks are 20 scheduled the Process ScheduledEnd parameter is set to the maxImum Task ScheduledEnd parameter for al! tasks scheduled in that process Exempianly, all operations in this frst step are repeated for all processes wh entered actual values. Le- processes that have already been started to be carned out by at least one resource. 25 In a second step, exemplarily, analogous operations are performed for processes having the status "Firmi In a t ri step, exemplarily, a master resource schedule is generated. First, all tasks with a task status parameter having a value "Unscheduled" or 'Sched" od" or a status corresponding to these values and with the process having a weighting 30 parameter larger than zero, are scheduled based on the process priority, b e. the ranking parameter and the task dependency parameters, Ail tasks associated with processes having a process status parameter of "In-Progress" or "Firm" wili remain locked in the schedule, All tasks associated with processes having a process status parameter of "Cance ied" or *Completed/i not be considered for scheduling Tasks are selected based on the ranking parameter of the process and based on the task dependency parameters. A set of suitable resources to complete a task is searoheo or retrieved based on the task identification and/or the task location and/or the task 5 category. Tasks within a process are determined that must be bundled to a single resource. The remaining and/or the total processing time is updated based on the estimated time to complete the task for tasks that have been started, and based on standard values, such as the standard processing time, for tasks not yet started. The Task_SheduledEnd parameter is updated based on the estimated time to complete 10 the task for tasks that have been started, and the total elapsed time for a ask to be completed, exemplarly expressed in terms of time slots, is updated based on standard values, such as standard processing time, for tasks rot started The minimum and maximum processing time per time slot is determined that can be assigned to a resource based on the remaining and/Or the total processing time and 15 the Task0ScheduledEnd parameter.M Exeplariy, if the actual number of time slots that a task is scheduled is larger than the minimum elapsed time, then no minimum limit for the processing time per time slot in the final time slot does apply. Exemplary, the following operations are repeated for all possible combinations of resources in an identified set of suitable resources The available 20 capacity of resources is determined based on standardd use time x nonscheduled time reserve parameter) - (processing time already allocated for other scheduled tasks). "Actuas't may define actvities and/or operations performed on the tasks and/or processes, particularly in connection with carrying out at least part of the tasks and/or processes at a resource. The task processing time per time slot is 25 allocated to the resources between the minimum and maximum limits into buckets of time slots until a processing ime is allocated, Further, it rmay be checked that the task will finish in the time slot defined by the TaskScheduledEnd parameter based on allocations of the processing time into buckets of time slots for tasks that have already started. Even further, it is checked that the minimum elapsed time is satisfied 30 based on allocations of the processing time into buckets of time slots for tasks that have not already been started. Th. Task ScheduledStart and Task_$cheduledEnd parameters are assigned based on the time slots that the allocated processing time is scheduled to start and end. Exemplarily, the above operations are repeated for all 39 tasks in a process based on the task dependency parameters unt$ all tasks are updated. Once all tasks are scheduled, the Process_$cheduledEnd parameter is set to the maximum of the TaskScheduledEnd parameters for all tasks scheduled in a Process The Process_Schedledtart paet ist o t minimum of the TaskScheduledStart parameters for al tasks scheduled in a process. The duration between the current time and the ProcessScheduledEnd parameter (ie ProcessSchedutedEnd - CURRENT DATE) or between te Schedule Start Time Parameter and the Process ScheduiedEnd parameter (ie. ProcessSoheduledEnd t0 - Schedule Start Time Parameter) is calculated. The rest thereof, exemplarily, represents the schedule parameter for the respective process. Further, the ratio between the (intemal) weighting parameter and the schedule parameter is calculated, pending on the process group, the intamal weightig parameter or the integral ) volume parameter and the schedule parameter may be calculated to give 15 the score paramete for the process that has just been scheduled as a part of the current resou rce-task assignment set. Exemplaniy, the above operations are repeated for all processes with a weighting factor larger than zero and the ratio between the respective weighting parameters and the schedule parameters is calculated Exemplanly, al these ratios 20 are summed and the sum is identified as the control parameter for the scheduling. These operations may be applied for a plurality of different resource-task assignment sets and the resulting control parameters may be compared, Exempiarily, the operations are repeated until a maximum of the control parameter is achieved. The corresponding resource-task assignment sets may be selected as a 25 basis for allocating the processes to the resources, and in particular for controlling the resources according to the established scheduling, and finally for all other processes that have a volume parameter equal to zero, Exemplarily, analogous operations are performed for all tasks with task status parameter "Unscheduled" or "Scheduled and a weighting parameter being 0, where 30 m the steps of evaluating a control parameter the process volume parameter may be used instead of the weighting parameter for example. The work allocation system may initialy schedule the processes according to standard values for each task, such as a standard processing time for the capacity 40 requirement parameter of a task, The processes, however, can vary in complexity and duration. In some cases, the standard estimates are not 100% accurate to snitiady guess the totai effort and duration required for completing a task, Once the process is started. the time spent on each task might be different from the estimates 5the initial standard values, Accoroingly, the systemi exemnplarily includes a status tracking module that receives from at least one resource, in another example from a plurality of resources, task report data indicting the actual state for at least one task. The task report data may comprise the estimated point in tme to complete the task (Task_EDC) and/or the estimated period of time to comp-ete the task (TaskETC) 10 Alteatively or additionally the task report data may comprise an actual time spent on performing the task within a certain time frame period (time slot) and/or a mean value of the actual time per time frame penod (time slot spent on performing the task Exemplarily. the task report data comprise the task status parameter, At least part of the task report data may be automatically retrieved from resource log data, for 15 example. At least part of the task report data may be manualy entered by a user. In one example implementation, these aspects ray be implemented in a step ST3000 described in connection with Fig 5, below Exemplarily, based on the received task report data the system may update a planned time andfor a planned duration value of each task, Exemplarily, the 20 capacity requirement parameter and/or the time frame parameter for one or more tasks may be replaced and/or updated based on The received task report data, In one example, all possible resource-task assignment sets defining all possible assignments of the plurality of tasks o the plurality of resources are computed and the corresponding control parameter for each of the established 25 resource-task assignment sets is evaluated Depending on the selection criterion for the control parameter one of the estabished resoarce-task assignment sets is selected. Exemplarily, the control parameter is represented by a numeral value and the selection criterion prescribes to select the resource-task assignment set having the highest or the lowest control parameter 30 The process of optimizing a schedule may comprise one or more of the following scheduling steps: A first scheduling step, exemplary, comprises a step of setting up and/or retrieving priority hsts for processes and tasks. The lists may correspond to processes and tasks that are going to be processed as part of a -41 current scheduing phase. A second scheduing step may compnse a step of identifying a resource suitablibty set A Wrd scheduling step, exemplrily. comprises a step of schedung tasks to available resource capacities. Further. a fourth scheduling step may comprise a step of optimizing the schedule. Finally a fith 5 scheduling step, exempianiy, comprise a step of updang the process status parameter and/or the task status parameter. One or more Of these steps may be at least partly imlerented or comprised in a step STSQ0 and/or a step $T000 and/or a step ST7000 described in more detail in Connection with Figs, 5 to 7, below Exempiany, each of these five steps is repeated in a prioritized order for a processes depending on the current process status parameter, the weighting parameter and/or the process volume parameter, it should be noted in this connection, however, that the above enumeration of the scheduling steps is not necessarily identic to the chronological order of these scheduling steps, though m one example the steps may be carried out in the listed order i5 hn the step of setting up andor retrieving priority lists for the processes and tasks, the following two aspects may be considered,. Firstly, a process priority list may be set up by sorting the processes depending on the (intemal) weighting parameter, the process volume parameter and the process criticaty parameter in subsequent ordering steps as described above, The resulting process priority list 20 may define a scheduling priority of the processes which is used for subsequent scheduling steps. Secondly, a task priory list for at least some tasks within a process, in another example for all tasks withn a process, may be set up based on the dependency parameters assigned to the tasks. Exemplarily, for each process a task 25 priority list is establishea defining a priority ranking of at least some of the tasks, in another example all tasks comprised in the respective process. These resulting task priority is may define a scheduling priority of the tasks that is used for the subsequent scheduhng steps, in one example the task priority list for a process is established based on the dependency parameters only 30 One or more of these aspects and/or further detads of the step of setting up and/or retrieving priority lists for the processes and tasks may be at least party implemented or comprised in a step ST2000 described in more detail in connection with Fig. 5, below. 42 A dependency cf a task on one or more other tasks is exemplarily defined i the dependency parameters assigned to the task. This dependency exempladly defines that a task cannot be performed baere' all of its predecessors identified in the dependency parameter of this task are started and/or fished. Therefore, the 5 provision of a task priority list may ensure that for each task mn a process all other tasks on which the one task depends can be scheduled to be performed before the one task, Figs. 4A and 48 are diagrams of task dependencies and tas level assignments Fig. 4A shows a plurality of tasks 18 and their dependencies, whera all 10 tasks are exemplarly comprised in the same process, Each arr between two tasks represents a dependency between these two tasks, where the arrow starts at the task which depends on the task to which the arrow points. Task 6, fo exampe, depends both on Task 2 and Task 5 in one example the step of setting up a task pnonty list comprises one or 15 more of the steps 1) Retrieving for each task in a process the dependency parameter assigned to the task, 2) Determining all tasks that do not depend on any other task in the process and assigning to the determined tasks a task level parameter representing the value 20 evel- task" or " or a status corresponding to this value. 3) Settng an earliest task starting tine for the tasks with a task level parameter having the value 9evel task" or T (or a corresponding value) to the value of the requested starting time parameter of the process. 4) EstabLishing task levels for all tasks by determining for each task the 25 maximum task level of its predecessors (maximum predecessor level) and assigning the task level parameler representing the value (maximum predecessor level +1) to that task. Exemplarily, this step is repeated until all task levels are determined. For example. if it is determined for a task that its predecessor having the highest task lever parameter belongs to a task leve! represented by the value -leve2 task' or "2 30 or a corresponding value, then task level parameter for this task is set to a value representing 1leve3 task" or "3" or a corresponding value. In one example the task level parameter for all tasks is initially set to a value representing 1evel task" or T orea corresponding value, 5 Constructing the ordered task list within the process by starting with the ;evel I tasks and adding tasks to the ordered task Hat eve! by level in this example, al tasks associated with the process are determined that do not depend on any other task, i.e. that do have any predecessor, e., Task 1 and S "Task 5". Exemplarily the earnest task starting time for these tasks is set to the requested starting Urm parameter of tne process which these tasks belong to. The task level parameter of these tasks is set to a value representing level 1 task" or T or a corresponding value. In one example this lowest task level parameter is initially assigned to al tasks within the process. In a further step, for al tasks the 10 predecessor are determined which are exemplarily defined in the respective task dependency parameter for each task. For each task the maximum of the predecessor levels. Ithe task levels of the predecessors, is determined and the task level of said task is set t a vaiue with the ne'xt rank which is exemplarily by T higher than the determined maximum predecessor level 15 Table 2A shows the resulting values, Task 3, or example, depends on Task 1 and Task 5 which, therefore 0 are the predecessors of Task 3. while Task i and Task 5 do not depend on any other task. Accordigly, the maximum predecessor level of Task 3 is determined to be 01 and the task level parameter of Task 3 is set to the value "2". 20 Tas PrddessrsT axPredecessor Levei TaskLeveli -------- --------------. S 1None _ None,, T,,, 1, . . . . . . . . . . . . ..... ...... .... --- -.... - - ----- - ---------- . 1. ... .....4 1 _ .... 2 5None 1'None 1 7 --- 6 1 2 8 ... L 1 2 Table 2A The set of determining for each task the maximum task level of its predecessors is repeated such that the final task levels are successively established. 25 Tate 2$ and Table 2C exemplarily represent the situations after said determining step has been performed for the third and the fourth time) respectively, 44 Test Predecessors Ma Preesassr Level Task Level 1 JNone j None 1_ 3_ _ _ 51 2__ __ n- ------ None e a t 62,5 2 3__ -------------- ------------- --- - ----.- ----- ---- 7 __ __5,6 _ _ 3 4___ 6 5 1 2__ Table22 Tas Predecessr Max Predecessor Level Task Level 1 None ____None } 2 1 2 _ 44 * 4 7 4 5 ......... .... 2 ....... --- -- - --- ------- -7
-----
5_, None None 1__ ___ 7, andaTask2C Fn thi demprosrtelst the assnmento eelaksly ig4Al sotdo difrn task levels thincoransbsi with thyrsuth sh i n ab eCayan/rlpbeily Baseded orersl ssow nTbe2, for example.,o akshvn the ae task iorityheist 5relative orerinwt acrdaneceah there aishe ntask edemy, Thiresly.nceas tepespriority list maansdolos Tak task ort Tastks ar TastabliTshd. Tas c6,pfTs coplt orerhis o tasks lis uedo a sbs eue ntm pary onfil so tedutg tei.ts leeThenifiino a sbarsway-'y itabiit se is duescibed inmore adhaetaialyi a0sendorna lresrm fof isapecrtas aing athsaeak levipementer. their 5 $elTive deribeg with mrepetai in echonertion wnit ia. and belo. iril Oncecs tepespriority list and the task priority list(s) hareee established a complete to ord4red s a f pmsE y comp------et--- -rd re -is of tasks is use fo-ubeunt-e-o-ced n The ~ ~ ~ ----------- .de..ica.o -fare-rc---a-------sd sciedm moedeal.T i 20 stepor at lea so eoKt set a ea eatprl mlmne nase STS220 ~ ~ ~ ~ ~ ~~ ------ decrbe n- moedt----on--o ih i ,blo neth rcs priority ~ ~~ ........ --- n-het--rir- is~)hveb e stbs e tec m leesto 4 . . .. .. 5. ....... . ...
resources capable of performing the tasks may be identifed, identifying pose resources of performing a task is exemipiarv achieved by matching the preferred task ocaton and task category of this task with the resource capabhties and locations. Rules relating to geography and task bundling, for exarnple may be considered when mathing the task properties with the respectve resource properties. For example, if a preferred task location is set to a status representing tAny Onshore "Any Offshor&, or Any Looaot or to a value representing such status, then resources from all onshore locations, al offshore locations or all locations, respeotivey, are considered for resources corresponding to the required 10 task category, Also, alt tasks havng the same bundle parameter within the same process are, for example, performed by the same resource. This means that in order for a resource to be considered to complete all tasks in the bundle this resource must have a capablity of performing tasks with task categoris of al of the tasks in the bundle 1In sunImmary the resource suitability set represents fr each task the complete lst of all resources capable of performing the task based on the task category and/or the task location, A solution set 122 then provides the total number of combinations that wil be tested when tying to jdentif the optimum assignment of the plurality of 'asks to the plurality of resources. Tabie 3 shows an example of a resource 20 suitability set for four processes having the process C0 0100, 1200. 1400 and 1500 respectively and each process comprising a plurality of tasks, The colurm Resource" indicates for each task at resources that are capable of perming the task when considering the task category (Category'" and the preferred task location ("Location4 The total number of possible combinations of assigning the tasks to the 25 resources is given by: 2 x 1 x 1 x 1 x 3 x 1 x 2 x 1 =12, where it is considered that tasks having the sane bundle paramete. (Bundle ID within the same process are assigned to the same resource, and as shown in Table 6 below. 46 Process D TakD fl Bund e D oao0Ctgr Sutab ty 0100 --- 3 1 Sie ICate-ory -1 R? 20n 1 Uneie Categor'e0c R R 'i vkA 209 _21 - Undefined--at - e 09 R RR 1201222 Lidefined Cateor 09 PR P8 Na~ Category 09 R3 CI0 S---- - Category ... LAI ~ -- - r-g 1500. _1502 Si 1500 ___1505_ 1 Se 1 Cajegory 02 3R R4 Table 3 Exemplarily. for each task a list of resources is determined that can perform 5 the task based on the task category and/or the preferred ocabon, for example, If there are a number of rn tasks (task 1 to task m) and each task can be assigned to a number of n resources, timber of umber of combinatiors exemplarily becomes: This formula may be applicable if no bundle constraints exist, In the example 10 however, the bundle constraint has already been considered in order to reach the result of 12. since the tasks of the process 1200 and 1500 can only be scheduled to the same resource, since they are part of the same bundle. respectively. For example, the total number of combinations for the given example is indeed 2 xlx1xlx~x3x3xlxx2x2 = 21 However the system may check for valid 15 combinations in STS240 and only considers the valid aiternativs for scheduling. Duing the scheduling tasks to available resource capacites, at least two time parameters may be considered during the scheduMng: 1) the capacity requirement parameter which exemplarily represents a required processing time for a particular task to be performed by a resource, and 2) the Ime frame parameter that defines, ;or 20 example, a penod of minimum time required for carrying out the task, The time frame parameter may define a number of time frame periods or time slots. This process may be at least partly implemented in a step $T5260 described in more detail in connection with Fig. 7, below A third time parameter may also be considered for scneduling A scheduling 47 period parameter may define for each task a minimum number of scheduling time blocks required for performing the tasks. Exempiarly, the scheduling period parameter for a task is determined based on the time frame parameter assigned to the task. Exemplariy, the scheduLing time blocks represent time period units larger 5 than the time frame perods (time slots), For example, the time frame parameter for a complex painting task may define a mnrnmum number of 10 time slots, where each time siot represents one hour. A scheduling bme block may be defned as a work shift (e.g. spanning eight hours, Accordingly, the scheduling period parameter may be set to a value of two shifts' or 7 or a status corresponding to his value, since it 10 is exemplary determined from the time frame parameter and the scheduling time block definition that said complex painting task at least partly extends to two work shifts, The capacey requirement parameter for this complex painting task may represent a required processing time of 50 minutes, for example. Accordingly the 50 minutes processing time may be distributea over the 0 hours with a mean time 15 of five minutes processing time within each hour for example, General, the scheduling period parameter is exemplary determined from the time frame parameter as flows: The number of time frame periods defined in the time frame parameter (e.g. 10 hours) is divided by the number of time frame periods per scheduling time block (e.g. eight hours per shift 24 hours per day, 60 20 minutes per hour, five workday per wcee etc.) and the result (1.25 in the shown example) is round up to a full integer number (2 in the shown example) Further, in one example an average processing time per scheduling time block is determined by dividing the total processing time, as exemplary defined in the capacity requirement parameter. by the minimum number of required scheduling 25 time blocks, as defined in the scheduling perd parameter, for example, in the shown example this results in 25 minutes per shift, This value may be assigned to and/or processed as a mean time bucket parameter, Tn a further example, a time bucket vacation parameter may be defined that represents, for example, a relative deviation of the actual processing tirne within each scheduling Lme block from the 30 mean time bucket parameter when scheduling the tasks. The bucket variation parameter may be set to 50%, for example, indiating that the actually scheduled processing time per week should be at least 50% and at m ost 150% of the value defined by the mean me bucket parameter. These values define a minimum bucket 48 processing >rne and a maximum bucket processing time. Ahtematively, any other value may be used for the bucket vacation parameter dependig on the particular req urements. In order for a resource to finish a complex p task according to a further 5 example, the resource may need to paint the same area with different materials however in order to start painting the second layer the resource nay have to wait one day for the paint to dry out, The paintig task could take net four hours with two two-hours blocks spread to two working shifts. Therefore, different task categories may require different time utilization factors of the resources. Jt is riot required that '10 the time bucket variation parameters (ine utilization) are the samne for all tasks. Defining the mninimurm time bucket processing time parameter of 50% of the value defined by the mean time bucket parameter and the maximum at 10% of the vae defined by the mean time bucket parameter may not be the optimum for all task categories. Therefore, the inimum and maximum parameters are exemplarily 15 given and they ma change according to task types When assigning tasks to available resources one or more of the following rules may be considered: 1) If a task is spread over multiple scheduling tme blocks, the scheduling time blocks should be consecutive scheduling time blocks, i.e. there should be no 20 interruption, 2) The minimum bucket processing time will be first assigned to each of scheduling tim)e blocks, therefore resulting in a am block 3) Once the minimum bucke processing tine is inserted into the man block, then the remaining processing tine will be inserted until the maximum bucket 25 processing time is reached with an increment defined in an incremental bucket processing time parameter and/or unit the total processing time is completely assigned, 4)ifthreisstllprocessing tieto be scheduled then a o-cad tailblc will be started and the tasifs assignment duration will be extended scheduling time 30 block by scheduling time block, until all of the remaining processing time is assigned to the available capacity of the respective resource . in the following e xample, a task which is planned to take 32 hours to complete in 1$ workdayss is added to the schedule The scheduling time block may be defined 49 as a week having five workdays. Aczordingiy, the scheduling period parameter is determined to define rour week (16/5 up-rounded), The mean time bucket parameter defines eight hours per week, where the mmimum and the maximum bucket processing times may be set to four hours per week and 12 hours per week, $ respectively. The total resource capacity may be determined to be 20 hours per week. The available resource capacity (in hours) pr week prior to scheduling particular task may be as follows in the mdividual weeks (scheduling time blocks STB31 to STB6) 10 ST8. i ST.2 F585.3. 3T84 5 S--5 S---~6 &!4 i |1 10 Table 4 Accordingly, the available resource capacity in the first weex (STB) is a hours end so on, as shown in Table 4. 15S The rain block for the task will be a four week long block, For this block to be a valid block for scheduling, it must allow the algorithm to schedule a minimum of four hours to each week, If we look at the available capacities from Week 1 (ST81) to 4 (ST64), it can be seen That it is possible to assign four hours to each week which corresponds to the minimum bucket processing time The result of the 20 assigned processing time (in hours) within the main block is as follows; I T T2 i ST81 Y1B~lsTas.~ss Tab-e 5A In a next step, the assigned processing time is increased by an incremental 25 bucket processing time of O,5 hours unti either the maxirmurn bucket processing time (12 hours in this example) is reached or the available capacity is finished Subsequent iterations of these steps are shown in the Tabies 58 to 5E. Iteration 1 STB1 i SFB2 |3ST3 STB4 SF25 575F8 454--- ------- 4--- ---- - ------ 4 - ..- -- 3 00 heratioIn 2: QIB1 ST$2 1TB3 s---- -T 4 4 5 Table 5C ~teration 3. Sf31 STh2 STB3 STB4 Si STB56 4 4 5 3 5 - - --------
......
__ __ _ _ _ _ _ 5 Tbe 5"D Iteration 4: SThC STB2 ST 83 ST 54 STS $T$6 Table SE 10 By the end of citation 4, the main bock (dened by the scheduir g period parameter, I.e. four weeks in the present example) is completely fil1e by allocating processing time to all available capacity within this block Nw, the task duration w l be extended week by week, until al of the rerainng processng fime allocated 15 Iteration 5: Sf81 STB2 STB3 STB4 B, 5 T o - ----- ---- 4 :~ _ 5 4 Table 5F Iterations -13: ------------------- -- - --- ------- - - - ST81 SfB2 STB3 ST84 Sf85 SiB6 Table 5G 20 At the end of iterabion 13, the available capacity of the fifth week (STBS) has -also been completely used, and there are stil five hours of processing time which have not been allocated yet This time is assigned to the sixth week (SfB6) in iterations 14 to 16. as shown in Tables 5H to 5K. 25 Iteration 14: SF81 STB2 |ST3 STB4_h | STB5 ST6i 6 4 14 15 8 i 4 Table SH $1 5S5I 5Y2 TSTEI S5TEI I $TBS ST&8 6 j4 4 j5!8 45 Table 5i iteration 1$: STS1 SB T3 iSB STB5 STB6~~ 5 Table 5K After 16 S teratns ail of the processing time of this task is afiocated. The task's duration has now become six weeks. This means that given the crrent load of this resource, it is able to finish the task in six weeks rather than the minimum 10 number of four weeks defined in the scheduling period parameter, If in the above example the available capacity in the third week was onty three hours then the new task would not be able to be scheduled until the fourth week as there wcuid not have been enough consecutive weeks with the minimum capacity of four hours available 15 The available capacity of the resources wil continue to be used as tasks are scheduled according to the process priority list and task pricnty fist while testing a single combination from all combmnations in the resource suitability set as described above. The process of optimizing a schedule rnay include three process categories: 20 assessment processes, volume processes, and other processes. The assessment processes have an assessment parameter greater than zero. The volume processes have a volume parameter greater than zero but either do not have an assessment parameter, or the assessment parameter is set to zero. Remaining processes fail into the other processes group, 25 The benefit of optimizing the schedule for different groups of processes is different For the assessment processes. the benefit of the processes are measured by the assessment parameter and the volume processes provide a benefit to the organization measured by the volume parameter. for instance. Therefore the score calculation for different process groups may be based on those parameters. The 30 initial process rankings may also be based on those parameters similarly. The scheduling algorithm evaluates, for example, a score value for each process, once all of its tasks are assigned to a set of resources. The calculaton of 52 the score value may be different for each process depending on the process group defined above for example For the assessment processes, the score value may be determined based on the internal weighting parameter and the elapsed time untk the process is finished For the volume processes, the score value may be determined based on the volume parameter and/or the internal volume parameter and the elapsed time until the process is finished. For the cher type of processes, the score value may be determined based on the elapsed time until the process is finished, only. One or more steps of this scheduling algorithm or at least snte of its aspects may be at least party implemented in a step ST5200 described in more dea in 0 connection with Figs, 6 and 7, below. The elapsed time until a process is completed s exemplarily defined as time interval from the current time when the evaluation is performed until the point in time when the process is planned to be finished according to the established scheduling. In one exapIa, the score value for the assessment processes is calculated 15 by divdng the intemal weighting parameter by the time interval between the current point in time and the planned point n time for finishing the process. The score value for the volume processes is exemplarily calculated by dividing the volume parameter by the time interval between the current point in time and the planned point in time for finishing the process, For the ot-er processes, the score value may be 20 calculated as the reciprocal of the time interval between the current point in time and the planned point in tune for finishing the process, for example. Diding the assessment or the voume parameter to the elpsed time facilitates the calculation of the potental benefit provided to the organization per unit time, This provides a simple but yet powerful metric to evaluate the benefit of the 25 opimization of the schedule. If based on the resource task assignments of the process it is going to take significant time to finish the process but in retun it yields ess profit to the organration by scheduling this process to finish earlier, this will be a less preferable resource assignment set, However, it may be more advantageous in the end for the profitability of the whole solution set. i.e the cumulative benefit for 30 scheduling all processes according to the resource assignment given in the scheduling set, Hence, the sums of the scores of al processes are compared with the result scores of the other resource-ask assignment sets In the example discussed in connection with Table 3, above, the solution set 53 122 has 12 possible resource-task assignment sets based on the defned task parameters and resource profiles. Table BA shows aU possible resource-task assignment sets (Opt 1 to Opt 12) that can occur. A pluraity of resource-task assignment sets, such as all possitue resource-task assignment sets, together form 5 the saluon set 122. as shown in Table SA, for example Process ID T ak p 2 pt O t 4 ppt 6 Opt 7 Ot8 Op 9Opt 1OQpt 1P pt 1 0100 R2 R1 R R 2 R RR2 2 13 R3 R3 R3 R R 0100 009IPR3oR R R 3 r3iR3 3 R3 3 PR3 3 R 01000113 R3 R3 R3 R~3 R3 R3 R3 R R 3 3 R -- ------ - - - - - > -- - - +--------- ---------- ----- --.---------- 100 2R R -R33 R- -8 R R0 R9 1200 ~1222!R3 R3 R'3'R3~R R S 88 R S R9 R 9 R --- --- ~- -----------. 400 14O4i I R3 R3 R3 R R R P 3 3~ R3 R3 R3 1400 1413 R3 R3 P3 R R3 R 3R R3iR3 RR3R3 R3 1600 12 R3 R3R R4 R R R 4 15 R R R4 R R4R4 R3 R3 R4 R4 Table (A 10 For each of the processes withn each resource-task ass gnment set a schedule parameter is evaluated which, for example, is based on the time interval between the current time when evaluating the schedule parameter and the point in time at which the respective process is planned to be fiished according to the estabhshed resource-task assignment set (Opt I to Opt 12), ie, according to the 15 schedunng within the resourcedask assignment set. In one example implementation, the schedule parameter represents said trne interval. This time internal may be measured in months, weeks. days, hours, minutes, seconds, or any other appropriate unit of time. Tabie SB shows an example b-ased on the solution set shown in Table SA, 20 where the values indicated in Tabie EB for each process withn each resource-task assignment set (Opt 1, Opt 2, - , Opt 12) may represent the point in time at which the respective process is planned to be finished according to the scheduling in the respective resource-task assignment set In ts example, this pont in time is given 54 as a date. For exarrple in the rst resource-task assignment set (Opt i) process 0100 is scheduled to be finished on February 16th, white process 1500 is scheduled to be finished on March th, in the given exampWe, the current time is assumed to be February 6th, Accordingly, the schedule parameter for a certain process (0100 5 1200, 1400, 1500) within a certain resource-task assignment set (Opt 1, opt 12) may be evaluated as the number of days between the current date (February 6th) and the scheduled finishing date for said process within said resource-ask assignment set As can be seen from Table 6A, the schedule parameter of process 0100 for the first resourcetask assignment set Opt 1 is 10 days or the value "10' or 10 any value corresponding thereto. ProcS O- 1P tOP t4Ot 7 Opt ---- Op- 9- O..O.1..p Or27 Fe 4 Fe 2 ( r 2 --- -- - ----- ..... 1. Feb2.. 1500 106-Mar 03-Mar[I4-Feb 14-&e7 bt 2 4i4 Fe e~trb 7Feb24-Fet 4 4b iF.ebi Tab e 48 15 Further in another exanple a score value may be determined for each process as described in more detail below. Exemplariiy, the score value may be determined by dividing for each process the weighting parameter of the process by te schedule parameter established for the individual resource assignments, Table 6C shows an example of such score values establshed for the plurality of processes 20 and the plurality of resource-task assignment sets based on the schedule parameters retrieved from the example described in connection wit Table G2 above. For each process (0100, 1200, 1400, 15004 Table 60 shows the ighting parameter and a plurality of score values each of which has been established based on the weighting parameter assigned to the process and the schedule parameter 25 determined for a particular resource-task assignment set The weighting parameter for process 0100, for example, has a value "10000" With a schedule par-ameter of "10" defined for this process in the first resourcetask assignment set Opt 1, this results in a score vaue of 10000/10 1000, as indicated in Table 60. Further, fr each resource assignment a control parameter may be 5S determined by summing up the scre values of all processes within each of the resource-task assignment sets and the resource-task assignment set having the largest control parameter may be selected, As indicated in Table 8, the control parameter for the first resouroe-bsk assignment set Opt 1 is "1068', Based on these 5 control parameters the resourcetask assignment set Opt S having the largest control parameter of "1689" may be selected among all estabished resource-ask assignment sets, which together from the solution set. in an example imnplementaor for each different group of processes a separate control parameter may be determined iProcessa w t eightmg lopt 1 Opt 2 opt 3 Opt 4rOpt ejopt Opt 7 OptaOpt 9 opt 10oIpt 11Opt 12 Par-mete J - 010 1000 001429 1000 142 1000 1429 1 000 i 1429 W00 142t 1000 1429 429110001 no'~ s000 19 1200 1000 %$2.fS ?A 125 ~2501 125 j250 S0,9111 9091 11. ---------- _ - -~-'~'------ - ~ - ----- ---- 400 100 4.6 .5 476 56 7 7.49C,9 14 99 7.4 9 714 1500 10 0.36 4 251 1.25 0.480 56 115 1 2 04 3"It 1 2h 125 Control Parameter 1068 15o 1091150 1331 10s9 ss Weble 6 Exernplardiy, the optmization of the schedule comprises three major optimization phases, with each major optimization phase comprising three minor 5 phases. Each major optimization phase may optimize, for example, a certain set of processes al having the same process status parameer. Scheduling, for example, starts with scheduling the processes having the status parameter representing ar "n-Progress" status, and continues with the "Firmn processes, for example. Finally the processes having "Early-Start" "Scheduled and 'Unschedukd" status are 20 optimized. Example implementations of these three major phases are aiso described as steps STS000, ST$000, and ST7000 in connection with Fig, 5, below. Three minor phases based on the process groups are optimized within each maior phase. For example. each of the major phase processes are opdrized in three minor phases ased on the weighing parameter and/or the assessment parameter of the process. The three major optmization phases and three minor phases are listed below in the priority order which they are run, for example. Ati minor phases within a major optimization phase are run for example before the next or optimization phase is run, For example, all processes wh a status of In progress' are scheduled for assessment processes, volume processes and other processes before the next major optimization phase (a. al "Firm" processes) are run. Exemplarily, before the optimization phases are stared the following 5 processes and/or task lists are estabAshed for the respective major optimzation phase: 1) in-Progress process lists (for the first major optimization phase) may define and/or fist a) assessment processes that are in 1n-Progress' status 10 b) volume processes that are in "ln-rogress" status c) other processes that are Ln "inPogress" status 2) F rrn process (fsts (or the second major optimizaton phase) may define andior list: 15 a) assessment processes that are in t Firm' status b) volume processes that are in "Firm" status c) other processes that are in "'Fir status 3) Phase M Project Lists (for the third major optimizaion phase) may define 20 and/or list: a) assessment processes that are in "Eary Start" "Scheduled" or "Unscheduled" status b) volume processes that are in "Early a cheded or UnscheduieC status 25 c) other processes that are in "Early Start Schedued or Unscheduled"status During the first major optmization phase, the 'Inerogress" processes are scheduled. Since they have been already started, the scheduing algorithm tries to schedule them first to ensure continuity in the process execution. Exemplarily, this 30 optimization phase does not try to find out the best r esource to task assignment" combinations, Le. the best resourceTasK assignment set; but t may use the previous resource-ask assignment set to add the tasks to the schedules of the resources, for example. Exemplarily, the following steps may be carried out for al 57 process groups (assessment processes, volume processes and other processes): 1) Retrieve the task Is exempiardiy extracted for this phase as listed above; 5 2) Schedue the tasks to resources whae keeping assignments of tasks to resources; 3) Check ani assignment status; 4) Perform poskschedulng settlement to finalize the task and process status: 10 5) Merge assignments with the results of the previous optimizations: 6) Copy the schedules of the resources from the sluton set backtO tothe main schedules. 7) Add the tasks that could not be assigned to the globa list of unassigned tasks. if a process and its tasks loose their scheduled status (ln-Progresst "Firm" Eady-Start" or "Scheduledt for example), due to a tasK in the process that could not be scheduled. all assignment for this process may be removed from the resource task assignment set, for example, As a consequence the "balance' of the resource task assignment set is changed, since there might be sore other tasks that are 20 added to the schedules of the resources after those tasks have been scheduled that have been subsequently removed. if the schedunig agorithm just removes the assignments from the schedules of the resources, this causes gaps in the schedules of the resources and, therefore, reduces the utilization of the resources, Therefore, as long as sone tasks are de-assigned due to some other tasks in the same process 25 that could not be scheduled, the optirnlation may be re-run untii no more de assignments are necessary, for example. Accordingly, the first processes that wili go in the schedules are the ones n "nProgress" status, since they have been already started, the scheduling algorithm tries to schedule them first to ensure continuity in the project. The first major 30 optmization phase exemplarily inserts the tasks to the schedules of the resources that have already been assigned and are currently workig on the task, Since the processes are i progress, the scheduling engine does not change any assignments for the In-Progress processes, this includes all tasks withm a project that is in 5$ progress but have not yet started (i e. tasks with a status of Firm for an In-Progoress process). in the following. the second maor optimrzation phase according to an example is described in more detail Exemplary, the second major optimization 5 phase optimizes the "Fim" processes. Exemplarijy. the assignments of tasks to resource have not yet been fixed for these processes, which means they wil be re optimized. Since the process status is "Frm twi always keep its status even If the process fails out of a "Firm" zone, which is a given perd of time after the scheduling run that may be defined in the firm pend duraton parameter. It is advantageous to 0 re-optimize the task-resource assignments of these processes because due to the work load caused by the in-Progress processeshe previous set of resources assigned to the Firm processes might not be able to start working on the *Frm processes on time in this case, it is worth to try out some new combinations to see whether there ;s a resource-ask combination that could deliver a Firm process 15 earlier. Exernplaridy, the following steps are carried out for al process groups (assessment processes, volume processes and other processes) Retrieve the task it extracted for h phase as listed above, fr 20 example; 2) Schedule the tasks to resources to try all task resource assignment combinations, i.e., all resource-task assignment sets 3) Check the assignment status; 4) Perform post-scheduling settlement to finalze the task and process 25 status Merge assignments wth the results of the previous optimizaions: 6) Copy the schedules of the resources from the solution set back to main schedules 7) Add The tasks that could not be assigned to the globas of 30 unassigned tasks, When scheduling processes with a status of 'Firn al tasks within the processes are re-optimized and may be assigned a new resource combination if this provides a more optimum solution based on available resource capacity. Once a process has a status of 'Firm" it wi continue to retain This status regardless of where he process is scheduled in the future. in the following, the third majr opmization phase, according to one example 5 is described in more detail Exemplarly, the third major optimization phase optimizes the rest of the processes, which have "Early Start', Scheduled' and/or Unschedued, for example, i a process has the "EartStrt" status, this means that one or more tasks within a process have been started earlier than it was expected which is not earlier than the end of the "Firm' period. Processes having a 0 "Scheduled" status exemplarily have been actually scheduled in the previous schedule run. However, they are not supposed to be start within the firm time period, "Unschedued" processes are generally the processes that have been newly set up. Since they are the newest processes among the others, they wArt be scheduled as last together with the "Early Start" and hSchedulea" processes, for 15 example. Exempiarity, the following steps are came out for all process groups (assessment processes, volume processes and other processes) 1) Retrieve the task list extracted for this phase as listed above, for 20 example 2) Schedule the tasks to resources to try all task resource assignment combinations, [a., all resourcelask assignment set; 3) Check the assignment status; 4) Perform post-scheduing settlement to finab e the task and process 25 statkl 5) Merge assignments with the results of the previous cptmzations: 6) Copy toe schedules of the resources from he solution set back to main schedules; 7) Add the tasks that could not be assigned to the global list of 30 unassigned tasks Curing the minor optimization phases (or minor scheduling phases), priority is given to processes in the following order within each of the three major optimization 60D phases (or major scheduling phase): 1~ Assessment processes (Sub-Phase a) - This represents all processes wthin a major scheduling phase that have a weighting parameter greater than zero, S2 Volume processes (Sub-Phase b) -This represents a processes within a major scheduling phase that have a weighting parameter equal to zero and a volume parameter greater than zero. 3) Other processes (Sub-Phase c) - This represents all processes within a major scheduhng phase that have a weighting parameter equal to zero and a 10 vome prameer eqa to zero A step of pos-cheduling settlement may comprise re-optrimzing the schedule after tasks have been removed from the schedule. This step may compnse re optimizing the s schedule for "Un-scheduixC processes, For example the step of 1$ post-scheduling settlement is comprised in the step of optmizing the schedule. If a single task within a process cannot be scheduled to a resource, as a scheduhng rua the assignments of the other tasks within the same process may become invalid If a task in a process cannot be scheduled. the whole process cannot be finished This step of post-scheduing settlement may be at least party implemented in the steps 20 ST5500 and/or ST5000 described in more detail in connection with Fig, 6, below Exemplarily. a task wim not be assigned to a resource., if there is no resource availae in the preferred location, which has the required available resource capacity; and/or it here is no resource available in the preferred location. which has the required capability of perform that task depending on the task category. for 25 example: and/cr if the schedules of ait of the suitable resources are full within a certain advance planning time. If a process and its tasks loose their scheduled status fIn-Progresst *Firmo, Early-$tart or Scheduled", for example), due to a task in the process that could not be scheduled, all assignrnents for this process may be removed from the solution 30 set, for example As a consequence the "balance" of the solution set is changed: since. there might be some other tasks that are added to the schedule of the resources after those tasks have been scheduled that have been subsequently removed. If the scheduling agorithm just removes The assinments from the schedules of the resources, this causes gaps in the schedules of the resources and therefore reduces the utilization of the resources. Therefore, as long as some tasks are de-assigned due to some other tasks in the same process that could not be scheduled the opttmton may be re-run untI no more degassignments are 5 necessary, for example, Fig 5 is a flow dagramr of another example method of alocating processes to resources. The method may jciude one or more of the following steps. A step ST1000 of determining completed tasks and processes; and/or a step 8T2000 of building priorntized process and task lists; and/or a step S'3000 of reflecting actual 10 hours to tasks; and/or a step $14000 of processing Qn-Hod tasks and reflecting reported actual hours to them: andtor a step ST5000 of scheduling in-Progress" processes (Phase ); and/or a step ST6000 of scheduling "Firm processes (Phase I); and/or a step ST7000 of scheduling "Unscheduled. "Scheduled. and Eary Start* processes (Phase Mt); and/or a step ST000 of saving the selected resource 1$ task assignment set to a database, such as the database 100 or 110, for example; and/or a step 3T9000 of displaying results. An implementation need not execute the above enumeraton of the method steps in the chronological order shown. During the step $11000 of determining completed tasks and processes for 20 each process in a list of active processes, the underlying tasks are checked to determine whether there are any tasks that are marked as being completed, if a task is found to be completed, its status is set to the value "Completed' or a value corresponding thereto The step $T2000 of building prioritized process and task lists may comprise 25 the step of setting up and/or retrieving priority lists for the processes and tasks as described above in connection with Figs 4A and 48 and in connection with Tables 2A, 28, and 2C, for example During the step ST300O of reflecting actual hours to tasks, task report data as desenbed above may be received and/or processed as previously described above, 30 During the step ST4000 of processing *0n-Holdttasks and reflecting reported actual hours to them, the tasks which have "On-Hold' status are analyzed. If the task restart parameter of a task that has been put or-hold is set to 1lndeinitex this means that this task cannot be restated and wili continue to have the same status 82 For the on-hold tasks, which do have a restart ine parameter equal to or greater then the schedule start tme parameter, the requested start parameter for those tasks will be set to the restart time parameter and they wiT be included in the schedulng with the status parameters they did pssss prior to being put on-hold. 5 The on-hold tasks which are processed by the scheduling algorithm will continue to appear as "On-Holt atough they are included in the schedule and assigned to resources, It is possible that for a tas< which is put on-hold, a resource might have commenced the task and worked on it therefore, the remaining hours for the task may need to be adjusted by considering the actual hours worked on the task prior to 10 being put onAnod The step ST5000 of scheduling 1-Progress" processes (Phase i the step ST60C of scheduimg Firm" processes (Phase IX and the step $T?000 of scheduling Unscheduedn "ScheduWed, and "Early Start" processes (Phase lH) each corresponds to one of the three maor optimization phases according to an optimization of the schedule described above, respectively The step s$T5000 of scheduling "in-Progress^ processes may comprise one or more of the following steps: a step of setting up and/or retrieving priority lists for processes and tasks, such as for processes and task that are going to be processed as part of the current scheduling phase, as described in detail above; end/or a step 20 of identifying a resource suitability set. as desenbed in detail above: and/or a step of scheduling tasks to available resource capaciies as described in detail above; and/or a step of optirming the schedule, as described in detail above; and/or a step of updating the process status parameter and/or the task status parameter, as described in detail above, 25 Fig. 6 is a flow diagram of an example impementaon of the process of scheduling in-progress processes of 1g 5. Vith reference to Fig 6, the step ST5000 of scheduling 1n-Progress" processes may aiematively comprise one or more of the following steps: a step ST5100 of retrieving process and task lists for the current phase: and/or a step $T5200 of schedutng tasks to resources; end/or a step 30 ST5300 of checking assignment status; and/or a step ST5400 of finalizing task and process status: and/or a step ST5600 of Post Scheduling Settement; and/or a step $T5700 of adding assignments to a master schedule solution set; and/or a sepST5800 of add a task that could not be scheduled to a global st of unscheduled tasks. An impementation need not execute the above enumeraion of the method steps in the chronological order shown During the step ST5100 of retrievng process and task lista for the current 5 phase, ai processes that are going to be scheduled within the current phase wi be retrieved fror the database. Fohewing the processes, their tasks wil be retrieved from the database and inserted into a task priority list according to the priority ranking of the enclosing processes The step $T5200 of scheduling tasks to resources may be implemented as 10 described with respect to Tables A-6C above During the step ST5300 of checking assignment status, the status of the tasks according to their scheduled star times is checked,. in one example implementation, the task status parameters are determined as described above. For each process the process status parameter is updated based on task status parameters 15 (TaskStatus) of the tasks comprised in the process as desnred in detad above During the step ST-400 of fnaizing task and process status, The process status is determined based on the task assignments, The step ST5600 of Post Scheduling Settlement may comprises a step ST5500 of determining whether unscheduled tasks stl axist and a step STS600 of 20 removing unscheduled tasks from the task lst. The step ST5600 of Post Scheduling Settlement comprises the step of post-scheduling settlement as described. The step S1700 of adding assignment to a master schedule solution set comprses a step of addIng the finalized task assignments, for example the finalized resource-task assignment sets, for the current phase to a master schedule solution 25 set which comprises the task assignments. he, the resource-task assignment sets, of al phases. During the step ST9000 of displaying results. the results of the scheduling agorithmn together with the metrics showing the overall benefit of the opumizaton wil be displayed to the user Additionally, the resource assignments for each task, the 30 process delivery dates, and hourly, daily, or weekly assignment panning, for example, for each task are made visible to the user Fig. 7 is a flow dIagram of an example implementation of the process of scheduling tasks to resources of Fig. 6, Wth reference to Fig 7, the step STS200 of 64 scheduling tasks to resources may comprise one or more of the following steps a step ST5210 of identfying the resource suitablity set; and/or a step T5220 of determining the a solution set where the solution set may comprise a plurality o resource-task assgnnent sets, such as all different resource-task assignment se W that are posse for the identified resource suitabilty set: and/or a step ST3230 o selecting the first resource-task assignment set within the solution set as a current resource-task assignment set; and/or a step ST5231 of selecting the next resource task assignment set within the solution set as the current resources, assignren set and/or a step ST5240 of vaidating the current resource-task assignment se 10 and/or a step 3T5245 of determining whether the current resource-task assignmen set is the last resourcetask assignment set within the solution set; and/or a step ST5250 of selecing the first taskresource assignment wnhn the current resource task assignment set as the current task-resource assignment and/or a step STS251 of selecting the next task-resource assignment within the current resource-task 15 assignment set as the current task-resource assignment: and/or a step ST5260 of scheduig the task to the resource according to the current task-resource assignment; and/cr a step 175285 of determining whether the task defined in he current task-resource assignment is the last task withm a process: and/cr a step ST5270 of evaluatng the score value for the process and adding said score value to 20 the control parameter of the current resource-task assignment set and/or a step ST5275 of determining whether the current task-resource assignment is the last task-resource assignment wi the current resource-task assignment set; and/or a step S75280 of determining whether the control parameter of the current resource-task assignment set is greater than a stored maximum control parameter; 25 and/or a step ST5290 of strong the current resource-task assignment set as the optimum resource-task assignment set and storing the control parameter of the current resource-task assignment set as the maximum control parameter, in the step $5210 of determining the resource suitability set, the set of suitable resources for each task may be determined. The step ST5210 of 30 determining the resource suitabblly set may be implemented as described above with reference to Table 3, for example. The step S1523 sectino the nextresourcetak assignme wthin the souion set aste current resource-a assignment set may be performed ithe 65 current resource-task assignment set is determined as not being the last resource task assignment set withn the souton set in the step ST5245. in step $T524 the current resource-task assignment set is validated according to bundle constraints, The assignment of soni hurdled tasks wdthn the 5 resource-task assignment set may already be fixed, since the tasks have In Progress' status Therefore, other tasks that belong to the same bundle should be assigned to tne same resource The step ST1240 verifies whether the combination which is generated by the algorthm conforms to such bundle constraints. If the resource-task assignment set is deternined to be not vald in step ST5240, the 1 method preferable proceeds to step ST5245, as indicated in Fig, 7. Otherwise, ie. if the current resource-task assignment set is determined to be valid in accordance to the bundle constraints the method proceeds to step $T5250 of selecting the first tasresouce assignment within the current resources assignment set. The step ST5251 of selecting the next taskresource assignment within the 15 current resource-task assignment set as the current task-resource assignment may be performed if the current task-resource assignment is determined to be not the last task-resource assignment within the current resourcetask assignment set in the step $T5275. The step ST5260 of scheduing the task to the resource according to Fig. 7 20 may comprise a step of scheduling task to available resource capacities as described with reference to Tables 4. and 5, above The step ST527C of evaluating the score value for the process and adding said score value to the control parameter of the current resource-task assignment set may be performed if in step ST5265 the task defined in the current task-resource 25 assignment is determined to be the last task within the process which the task belongs to. If in step ST5265 the task deemed in the current task-resource assignment is determined not to be the last task within the process which the said task belongs to, than the processing proceeds to step $15275 of determining whether the current task-resource assignment is the last task-resource assignment 30 within the current resource-task assignment set if the current task-resource assignment is the last task-resource assignment within the current resource-ask assignment set, the processing proceeds to step ST5280 of determinmg whether the control parameter of the current resource-tas assignment set is greater than a 6 stored maximum control parameter, if this is the case, then the method proceeds to step ST5290. Others, Ke i case in step ST5280 the control parameter of the current resource-task assient nt set is determined not to be greater than the stored maximum control parameter, the method proceeds to step $15245 as indicated in mang i o t- The steps ST6000 of scheduling TFirm" processes (Phase Ii) and $17000 ci scheduling "Unschedule' "Schedule& and "Eardy Start processes (Phase !") and may be perored analogous to the step ST5000 of scheduling in-Progress processes (Phase 0. ie. details described for step ST5000 in connection with igs. 5 10 7may pply to the steps ST000 and ST7000 also, The work allocation model nav also be used in other fields and rnodel other ypes of work, such as business services and the lke. By way of an example, an applicabon of the work allocation model to the service sector, and particular for alOWcatin work request for procurement services, wilt be described with reference to 15 Figs. 8 - 12. In th pariLar example, the processes being organized are represented by projects each of which covers a clents wor request Each project belongs to a category such as "IT "Travet ^Facilities & Services" or "Proessna Services. for example, In one example, it is intended to maxiize the total savings for a clent by advantageously alocating the client's work request to the available 2 procurement resource capacities. The process volume parameter assigned to each project in this example may be represented by an Estimate Basehne Spend for each project as described below The etfJency parameter for each project may be received from a user or a database as a Svings Estimate percentage of a Savings Estimate Potential that may depend on the project category and an Estimated 25 Savings Levet such as "Low. "Medium or High for example, descrtbad below. Based on the Estimated Baseline Spend and the Savings Estimate Pot<ntia a Savings Estimate value is determined that represents the assessment parameter described above The (internal weightung parameter stores Adjusted Savings described below and a Business Criticaity for each project is stored in the criticality 30 parameter, Fig SA is a flow diagram of an example work alIocation model applied in a service sector environment for allocating work requests for procurement services The example work alloation process comprises four main steps: a Manage Procurement Demand process 200, a Manage Resource Capacity process 210, an Opimize Work Allocation process 220, and a Manage Project Deivery process 230. The Manage Procurement Demand process 200 includes a capture work request and project setup process 202 and a review and priorities project process 5 204 The Manage Procurement Demand process 200 focuses on capturing work requests, and setting up and prioritizng project demand, Activities include receiving sourcing work requests and determining if the requests wW require more than a predetermined tine to complete, in one example, the predetermined time is four hours. Requests requing less than four hours are completed on a first in, first out 10 basis where the resource has available non-scheduled capacity to complete the request, Requests requiring greater than four hours to complete are entered into a work allocation model and a new project is setup to satisfy the work request. The Manage Resource Capacity process 210 includes an update resource profile process 212 and an update resource capacity process 214. The Manage 15 Resource Capacity process 210 focuses on determining and managing resource capability and available resource capacity to satisfy procurement demand, Activites include review penodic status reports, reviewing resource capabihty reports, and updating resource profiles for team resources The Optimize Aork Atiocation process 220 includes a build preliminary 20 schedule process 222, a work allocation meeting process 224, a refine schedule process 226. and a build final schedule process 228. The Optimize Work Aication process 220 focuses on assigning resource capacity to work requests with the highest potential benefit based on the list of project priorities. Activities include generating a preliminary project schedule based on initial project priority list: 25 conducting a work allocation meeting to review project schedule and make adjustments to either project priorities, or project setups to overcome schedule project delays; and refining project priority list and project setup parameters based on agreed outcomes or work allocation meetig and generates final project The Manage Project Delvery process 230 includes a communicate work 30 allocation process 232, a track project actuals 234, and a review performance process 236, The Manage Project Delivery process 230 focuses on effectively communicating work location to resources and on tracing and managing the delivery of woric Activitis include generatog reports to communicate fna!resource assignments and rneeing outcomes and distrbutes to aH meeting attendees; communicating resource assignments to team members and highlight any key changes to the schedue; resources executing against the resource assignment schedule and record their actual time and estimated time to complete tasks at the 5 end of each week; and generating KP reports to review team performance and identify potential areas for improvement. Fig. BB is an entity relationship diagram showing related functionalities of an example work avocation moe. The example work adocation model for use in the war location process comprises five main areas of functionality: demand 0 management 300, resource management 310, project scheduling 320, projectstatus entry 330, and reporting 340 Demand management 300 is focused on capturing cient work requests; setting up and pIanning projects to satisy cent demand; classifWaton of client demand to enable scheduling to available resources poritizing projects based on 15 project savings potential and adjusting project priority based on overall business needs; viewing project setup and priority. Resource management 310 is focused on classification of resource skil profiles, category experience and location to match available resources to project tasks: definition of a resources weekly capacity avaiable for scheduled projects; 20 entering of planned resource vacations and public holidays by work location; viewing resource p rof ies. Project schedulng 320 is focused on scheduling task demands to available capacity; displaying scheduled project start and end dates; displaying resource assignments by tasks and perods, 25 Project status entry 330 is focused on capturing the time spent by a resource completing a scheduled task, the estimated working time and the estimated number of elapsed working days for the resource to complete the tasks in the future; time spent by resources on non-chedued work by activity type: viewing historical status entry by resource 30 Reporting 340 provide users with a flexible and easy to use tool for reporting information generated by the work allocation model The reports resent information in clear format that is easy to understand and provides the information required to effectively support the process based on selected report filtering criteria 9 Each of the functional areas is discussed m more detail below. in one example, demand management 300 includes the functionality of captuing Clent wor requests, which capture a clear description of the work request the scope of the work request; name and contact details of the person requesting the 5 work requestor; the language that the project should be completed in; the criticality of the request to the client, the project start and end dates requested by the client; and spend category and initia! spend estimate associated with the request Demand management 300 may also include the functionality of generating nital project savings estimate, which provides an initial savings estimate, 10 representing the assessment parameter for each project based on the estimated level of savings that can be achieved (low, med, high). This intal savings estimate is used only to determine the initial priority of a project to initaily schedule the project and does not represent the actual savings that are committed to be delivered. The initial savings estimate is calculated as the inhial spend eshmated' X 'Savings 15 Etinate % where the Savings Eshmate %' is based on the selected Estimated Savings Lever and the selected 'Category Type, as shown in Table 7 below, The Es1mated Savings Level is defined as Low'K 'Med, and Nigh' based on a set of defined criteria. Sovi1s stimaroe (X~e~o~ 1 Lev 1!&L I HfhI iT _5%__ 7% 1 91% r2% 12% 20 Sarfes 5% 3% _ Table 7 For exane to determine the initial savings estimate for a project with following assigned parameters: initial Spnd Estirnate $100000 to $5,0000; 25 Spend Category= 'IT'; Estimated Savings Level MHigh' The following calculations are performed: Initial Spend Estimate ( , + ,0 0 00) / 2 = $3,000,000 Savings Eshmate Potential 9% for 'IT' Category with 'High Estimated 30 Savings Level 70 rotial Savings Estimate = $ 3 000,000x9% = $270 000 Accordngly. the assessment parameter for the project as shown in Table 7 is $270 000. 5 Demand management 300 may also include the functionality of defining project level parameters to delne the prmye project and the project owner The primary project location represents the location pnmardy responsible for the delivery of the project For Exampe, if a work request is raised in Germany and the project is scheduled for compleion by resources in both Germany and Bratislava 10 then the primary location is Germany. In one example, the primary project boca'ion is not used when scheduling the project as the location dimension used in the scheduling afgorithm is defined at the task level abowing projects to be spt and scheduled across multiple locations The project owner is the person with overall accountabiiy for delivery of a 15 project. In one example, the project owner field is not used when scheduhng the project which means the project owner may not necessary be scheduled the project if this is not the optimum resource assignment, While the project owner may not be scheduled the project, they are however responsible for overseeing the overall delivery of the project and is normally a more senior member of a team, such as a 20 team lead. Demand management 300 may also ince the functionality of selecting project tasks and standard taskestimates. This involves selecting the set of tasks required to complete the project All tasks should be selected from a standard task list, with each task Paving a Standard Processing Time which represents the 25 estimated time spent completing a task in absolute hours being stored as the capacity requirement parameter for the task, and a Standard Elapsed Tine which represents the estimated total elapsed time in weeks to complete a task based on the selected task complexity, e g, low, med, or high. The Standard Elapsed Time my be stored as the time frame parameter for the task, 30 The Standard Processing Time and the Standard Elapsed Time nay be derived historical based on the actual times taken to complete various tasks with differing levels of complexity. These standard estimates are then used to schedule a project into the future and to establish scheduled start and end dates for all tasks in a 71 project arnd for the overa project, Resources assigned to a task should focus on corpleingaR tasks within the alloated time to avoid delays ir delvernno the project and in delivery future projects that have been scheduled to a resource. By w t ay of example, the standard processmga time and the standard elapsed 5 time for the tasks listed below in Table 8 is determined based on task complexity The task comrplexity may be represented by the task volume parameter. 1 Cdlictsrtdanae a 4 odcanur asq . H Table S 10 Table 9 below a arn example task estimate matrix used to determine standard processing time and the standard elapsed time based on task complexty TE oesabThtce Dayi~i as ~ ~ ~ N 'vsksi ' Cod ky-ad am I d176 3 Vahdood industrysanats 40 2 ca par__ 20 3 _ _ _ _ _ AQ Cx todar ___Table 10 20 -- at -------- e ---- ____------ ZIEI- -- h -a l ------ 15 ~ ~~~~~~~~~~~
--
a--ed- o-- th ab--a-x-tesadr roesn n dtesadr aepsed~~~~~~~~~ -ih or- ea- taki-ssoninTbeIblw D 4 -~~r -t~t4 - £ 20 72 Demand management 300 mlay also mclude the functionality of setting task parameters., Each task may have a preferred location selected where the task should be competed and an indication as to whether or not category experience is required to complete the task. Defining a project by a set of tasks, by lOatior by S category experence is how demand is defined so it can be matched to available resources ron the selected locaton, wIth the necessary skil profit and category experience If a resource profile is not available for an entity to perform the task, it may be assumed that an infinite amount of capacity exists at the entity to complete the task. This enables tasks due for completion bythe entity to be scheduled as part 10 of the overai project and for the scheduled start and end dates. and task dependencies to be communicated to the entity Demand management 300 may also include the functionalty of forced resource assignments for a specific resource to be manual assigned to a specific task. This functionality may be used in exceptional cae- where a specific resource 15 must complete a task, as manualy forcing the assignment of resources to speciffe tasks wil reduce the optimization potential of the schedung algorithm by reducing the potentlat number of task to resource combinations Denand management 300 may also induce the functionality of setng task dependences to allow dependencies between tasks within a single project to be 20 setup so the tasks are able to be scheduled wth consideration to other dependent tasks within the project A task dependency exists between one or more tasks, and a dependent tasks can not be scheduled to start unti after the scheduled end date of all predecessor tasks. Demand management 300 rnay also include the functionahty of to create 25 bundled groups of tasks within a single project so al tasks in the bundled group are assigned to a single resource, The purpose of this functionality is to create logical grouping of tasks that could be assigned to a smgle resource, For example, a project containing seven tasks may have three tasks that could be completed by a single resource located off-shore, and four tasks that could be completed by a single 30 resource on-shore. Bundling the tasks into tow groups and defining the tasks parameters accordingly (i~e preferred locadon as either on-shore or off-shore) will enable the project to be split across two resources in two different ocatons. Faiure to bundle tasks could result in the seven tasks being assigned to seven different 73 resources which is obviously not .a practical solution, When initaly setting up a project with multige tasks, the default configuration may be for al tasks to be crated within a single bundle, This ensures that the default is for al tasks in a project to be cornpieted by a single resource. S Demand management 300 may also include the functonaity of de-assigning a resource from a task to remove an signed resource from a task as there may be times when the assigned resource should not or can not complete a task, For example, if a resource is currently working on a project. and a higher proriy project is requested which requires that specc resources skls to comte, then the option 10 should exist to de~assign the resource from his current task so he has available capacity to complete the higher priority project Another option may be to piace the taSK that is current in-progress to an ,,-hold status with a restart date set for some time in the future so the resources cacity is freed up to work on the project of higher priority, 15 Demand management 300 may also include the functionality of canceling a task or project. If a task within a project or an entire project is no longer going to be completed, the canceling functionality enables users to cancel eithethehe task or the entire project. When canceing a task within a project there can be a check to ensure that the task is not part of a dependency within the proct If the task is part 20 of a dependency the user should first remove the project dependencies before canceling the tasks. Also if a project or task is current in progress there should be a warning message to inforrn the user that the task or project they are attempting to cancel is already in progress. Demand management 300 may also include the functionality of placing a task 25 or a project on-hold to place either a task within a project, or an enire project on hold. Tasks or projects may be plaCed orhold if extemal factors limit the ability to progress further with the project or task, or in order to free-up the capacity of a resource assigned to the task to work on projects with a higher priority The user may set a task or project to a status of on-hold either indefinitely, or unt a specific 30 point in time in the future when the task or project can be recomnenced in the future When placing a task or project on-hold indefinitey the task or project will not be considered for scheduling until a specific restart date ha been set Once a specific re-start date has been set for the future, the task or project will then be rescheduled 74 to commence on the specfd date, with the status remaining as on-hold until the week that the proect is scheduled to restart Demand management 300 may also include the functionality of setting projects as &Ready to be Schedule so that projects are only considered for scheduling once the users has indicated that the project is Ready to be scheduled Before this point the project remains in a status of 'New Request' allowing the resource to continue setting up a project over a period of time. When setting a project as 'Ready to be scheduled' The system should perform a check on the valdity of the parameters used in setting up the project to ensure that the project has at 10 least one vald scheduling solution, e g. al rasks / task bundles in the project must have at least on vMid resource combnabon that rnatches the location, task profile and category experience required to complete the task. If a valid combination does not exist the project should not be able to be set to a status of <Ready to be scheduled'. The user must then address the resource constraint by either adjusting 5 the profile of a user to match the requirements of the. project, or adjust the parameters used in the projects to match the profiles of the available resources. Demand management 300 may also include the functionality of Prioribzmg Projects. Projects may be initial prioritized based on Initial Savings Estmate, then <Initial Spend Estmate, then Business Criticality' While this cteron should be 20 used to initially priortze projects. users may aiso have the ability to re-prioritize projects based ori feedback from project monitoring. For example, if there is a project with zero spend and zero savings then its initial priority ranking will be low compared with other projects having both savings and spenc This project, however, may be critical to a cent's operations. The cent will then have the choice to re 25 prioritize this project relative to al other projects that are either in-progress, or in the project pipeline. Moving a project above another project in the priority list means that the project is of higher importance and as a result should be scheduled to available capacity before the lower ranked project when scheduled in the same scheduling priority phase whih is based on the status of the project. 30 The following example rules may be implemented to allow effective priontizing and re-prioritization of projects: 1) For projects to be re-prortized an additional fld should be created call the Adjusted Savings This value represents the perceived value of a project 75 For exaraple, if a project with initial Savngs Estinated equal to $0 is re-prioritied above a project with an 'Inibal Savings Estimated' equal to $100, then the project with zero savings is perceived to have a value of at least $1.00 as this is the savings potent al of the proec t it replaced. 5 2) All new projects wil intall set raal Estrnated Savings equal to Adjusted Savings Estimate before any manualy priority adjustment is made 3) Projects wi!l be sored by Adjusted Savings< then by lnitial Spend Estimate, then by Business Criticality 4) If a project that has a priority ranging lower than five is adjusted to 10 priority ranking five, the Adjusted Savings field should be set to equal to the Adjust Savings value for project five which it has now been moved below, with al' projects with priority less than project fve being assigned the Adjusted Savings project of the project diectly under them in the priority list 5) The Priority Ranking fild wil! be assigned sequential from one 1$ through to N for a set of N projects based on the sort order of Adjusted Savings, Initial Spend Estimate and Business Criticality 6) Any newly created projects will have Adjusted Savings equal to Initial Estimated Savings and should be inserted into the complete set of N projects based onAdjusted Savings, Iitial Spend Estimate, and Business Criticalay 20 7) The Adjusted Savings field is only used to rank projects and should not be made visible to the ser For example. an initial set of 10 projects are created and sorted based on initial Savings Estimate, then Initial Spend Estimate, then Busmess Criticalty as shown in Table 11 below 25 7E.
Ptiwrily Pnjeora Adjusrej - ~ ~ -f f -- ---- ~" - - ------- . ...... ~IJ~N &tU~jQ Rankhn ~ ~~ No- aig andr >23; sf V I en e,2 t$Qf~,, 20 90 t0L0 .&6T90 id T 000 $$01o2s Jm 000 $05 $ so . s'u Table 11 _Project number 900 is manually adjusted to the Second highest prhority S pro act and the Adjusted Savings is set to $800,000 which is the Adjusted Savings Vatue of the project which project %00 was prioritized above. Ah projects ranked below project 900 are then moved down one project ranking arnd the lAdjusted Savings' values are moved to the project directly beneath Them, as shown in Table 12 below. 10 -_3__ 1 t A L 000.0000e $ 900 $0 0 ______ 50 00 2 00 A) £2000 112,)000o 5C $200 $2 iJ026 ear 2o $0 S000UO able 12 se eulto the nte Savins Es PPEs Poject 1.AdtstedJ Ba Thee Esimm T three new projects are inserted into the ex stmg Project Priority ist based $orn Adjusted Sayings, litti Spend Estimate and Bsmess Crt canty, as showanin TabIe4below ___0_ R 0 1 U0 0.00,e5 _25,000__ 20 $%0W {0 W 0 r'flTX090 1100 $3t~$C~Co~o~t J$50OD30$ $O0fl 000 G$2050C __00_ 4)30 $500.00 $t00.000 $IflOfOC:0 1] T50j O $20 0C0 $7.0$C&X0 3 12 00 50 ___ 0 $'Qk.00 0 13 10___ 50 | 5$2,00>0 10 Note the project 1100 is rarged above project 300 because it has a ho gher lniti Spend Estimate and equivalent Adjusted Savings: project 1200 is ranked below project 900 because it has a higher Adjusted Savings; and project 1300 is ranked above project 800 because it has a higher initial Spend Estimate an d 15 equivalent Adjusted Savings, Project 1300 is mnanually adjusted to the highest ranked project and the Adjusted Savings is set to $L000.0O00, while all projects ranked below project 1300 are moved down one project ranking and there 'Adjusted Savings' vaiue are moved to the project directly beneath Therm as shown in Tabie 15 below. 20 - 7--------- Eat W0st05,00 i I 4-------- - .4 0 0 $...,.00 $0.0.0 3..... 601 'V r) i jo0 j!000 *0 1 700 O 5U %tOUC $200 00 C00000 80~ $20 SC t T Cble m5 __00_$___r yi Q~f) 0. N In one example, resource management 310 may include the functionality of S adding a new resource to add a new resource in the work Ocaton model Each resource should have a nominated work location; work ievel; emal address; user ID and password; avaiabie capacity for scheduled work, and resource skill profile. Resources should also be able to be flagged as inactive, This ensures that work is not scheduled to resources that can no longer have work scheduled to them, for 10 example if an employee leaves the organization. Resource management 310 may also include the functional of defining a resource's available capacity. In one example, a resource's available capacity may be defined by two variables; 1) the number of hours that a resource works in a single week; and 2) the percentage of ime that a resource should have reserved for 15 activities that are not scheduled by the work allocation model (Qe. Non-Scheduled Time Reserve). Non-scheduled actities include team meetings, unplanned leave and work requests requiring less than tour hours to complete, For example, resource A is a highly skilled sourcing specialist contacted to work 40 hours per week. As resource A is a souring specialist the majonty of his 20 time should be spent working on savings or cost avoidance projects. For reason resource A's non-scheduled time reserve is only set to 20%, i.e. 80% of resources X working bme shuld be spent on scheduled sourcing project work Therefore the total available capacity that resource A has for work that is scheduled by the work allocation model 40 hours x (1 2.0%) 32 hours per week M0 Resource management 310 may also include the functonalty of donning a resources skil profde. A resources siI profle should be defined by 1) the tasks that a resource is able to have scheduled to them and the categories that a resource is able to work on Tasks should be selected from a standard lst of tasks that can 5 be scheduled withn The work allocation mode, and categories should be selected from the standard list of categories that commodities are classied by for the cient Resource management 310 may also include the uncionaity of viewing al resources for viewing a list of ad resources in a single view. When a resource in the list is highlighted a summary of their task profile and category experience should be 10 displayed in the bottoR half of the screen Resource management 310 may' also include the functionality of entering planned absences resulting from training. holiday vacation etc. When entering a planned absence the start and end date should be entered to ensure work is not scheduled to the resource whie they are not avaiable, As resources may at times 15 be partally avaiable the functionality should exist to allow the percentage of ire that a resource may be partially available during a planned absence to be entered In one example, project scheduling 320 may include the functionaly of scheduling optimizaiorn. Optimizing a schedule may result in savings, and in one example the optimization of a schedule generates a display that shows the Savmgs 20 per Day and Spend per Day that the proposed optmized schedule would provide This enables the impact of changes in either project setup or priority to be quantfied by comparing Savings and Spend per Day results for mulple scheduling scenarios with different project setup and project pnorty. In one implementation, the user may run multiple schedules within a week to enable modeling of alternate sceranos n 25 order to refine the final schedule. project scheduling 320 may also include the functionalty of refimrng project setup and project priorties. A user may have two possible options available when refining a schedule: adjusting project priorities or changing the parameters used to setup a project. in order for the schedule to be easily refined with multiple 30 scheduling scenarios able to quickly run, a user may access a project setup environment for an individual prot and the project priority list Project scheduling 320 may also include the functionality of viewing scheduled and unscheduled projects. Once the schedule has been generated users may view the resuts of the schedule at a project leveM information that may be displayed at a project level ar. Priority Ranking; Project Name: Project Location Requested Start Date; Requested End Date: Scheduled Start Date; Scheduled End Date; Project Status; Delay between Requested End Date and Scheduled End Date. 5 Users should also be able to easily identify al projects which were unable to be scheduled in order to know where constraints for individual projects need to be removed. Project scheduling 320 rnay aso include the tunctonality of viewing task assignrents and viewing weekly task assignments. Once the schedule has been 10 generated users may easily view the results of the schedule at a task level. information that may be displayed at a task level may include: Project Name; Task Name. Assigned Resource; Resource Locanon, Scheduied Start Date; Scheduled End Date; Planned Hours (for total task); Task Stws. Users should also be able to view the allocation of planned hours for a task by week, For Example if a task is 15 scheduled across three weeks with a total planned duration of 30 hours, The user may view how the 30 hours are distributed across the three weeks. Project scheduling 320 may also include the functionality of de-assigning a resource from a task. When viewing task assignments, the user may have the option to remove the assignment of a resource from a single task if the resource 20 assignment needs to be changed, Once the user had de-assigned a resource fror a task, the user nay enter the project setup and force a resource assignment of an alternate resource before re-unning the schedule to ensure the same resource is not once again assigned to the task when the schedule is run. In one example, project status entry 330 may include the functionality o 25 weekly status entry for each weekly cycle. Each resource ray enter status for a tasks they have worked on in a given week, The resource may enter, save and change entries before finally submitting the status entry for the week, In one example, entering status for each weekly cycle includes four tire categories. The first category is time for assigned projects and tasks, Assigned 30 projects and tasks are the tasks that have been assigned to a specific resource. Users may review the total planned Hours for the task; the total cumulative actual hours already spent on the task; the remaining hours that may be spent on the task; and the planned hours for the week that time is being entered. When entering status, users rnv enter the actual hrs s spent on te task during the week; the estimated time to complete the task; and the estimated elapsed days to complete the task. When tasks are complete. users may flag ther as complete so they are no longer considered for scheduling. The second category is time for prots and tasks not yet assigned. This funczi'onaity is useul for projects which have been entered into the work allocation rnodel and the user has already started working on the task before it is actually scheduled This functionaty may be used for projects f high priority that are expedited. Users may enter the actual hours spent on the task during the week, the 10 estimated time to complete the task; and the estimated elapsed days to complete The task, Users may also flag a task as complete The third category is entenng time for tasks assigned to others. Users may enter actual hours spent on a task during the week for task not assigned to them f they have spent time working on the task 15The fourth category is entering time for non-scheduled activities Users may enter actual hours spent on a nor-scheduied task during the week. A non-scheduled task may be a task that does not have a defined work effort or elapsed days to complete or that otherwise cannot be scheduled For example, a non scheduled task may include team meetings or unplanned leave, Capturing actual hours for 20 non-scheduled tasks provides visibility into how resources are allocating all of there time in a week, Reporting 340 may generate reports in a variety of ways. For example, users may generate individual reports or may generate reports based on variable filter crteria. Reports may be exported to different formats, such as P0F or spreadsheet 25 formats, Scheduling client sourcng work requests against available. capacity may be based on classifications of demand and supply so the work requests can be matched against each available capacity to identify resources to complete specific types of work. in one example implementabon, upon receipt of a work request, a project is 30 setup in the work allocation model to satisfy this request. There may be a one to one reiaionship between a cent sourcing request and a project within the mode. When setting up the project all tasks required Wthin the project to satisfy the request may be entered and all dependencies between tasks in the project setup to allow the 82 correct scheduling order for tasks w thin a project to occur. A project is then setup comprising multiple tasks to satisfy nh work requests. Each task within a project ws pnmardy defined by a task nare; a preferred nation; and category experience requirements Also al dependencies between tasks in the project may be setup to 5 allow the correct scheduling order for tasks with a project to occur, Each resource is then defined by ther resource profie which contains their location, the tasks they are qualified to complete. and the categories they can complete. Task name, category experience, and location are thus three common parameters that are used to match available resource capacity (supply) with projects that are setup to satisfy clent 0 sourcin rkrequess demand) A number of hierarchy structures ray be used in the model to effectively optimize the schedubng of demand and supply across multiple locations, in one implementation, data hierarchies are conihgured to provide a structured approach to defining the vertical relationships between key data within the models Example data 5 hierarchies may include project hierarchy 400, task hierarchy 410, and geographic hierarchy 420. As shown in an example project hierarchy 400 of Qg 9A, each project may contain one or more tasks that need to be completed in order to satisfy the request A single project may be created to satisfy a single work request As shown in 20 Fig 92, al tasks wtin a project may be classified as either "Scheduied' or "Nons Scheduled" according to an example task hierarchy 410 Scheduled Tasks are tasks with standard work effort and elapsed time estimate enabng the task to be with a defined start and end date. When defining scheduled tasks the user may select whether category experience is required to complete the task. in 25 one example, when category experience is required, only resources with the category experience required to complete the task and the required task profile can be considered Non-Scheduied Tasks are tasks which are not scheduled as part of a project because they do not have any standard work effort or elapsed time estimates. Users 30 may record actual tme spent completog non-scheduled tasks when completing their weekly status reports to capture how resources are actually allocating their me. Fig. OC represents another example task hierarchy 410 that exists in the work allocation model Tasks represent the actual base level activities that may be 83 performed in order for a client sourcing request to be completed, with each scheduled task having an associated dei:verable. Projects rnay be defined by the set of tasks that are to be completed in order to satisfy a client request Resources may also defined by the set of tasks they are qualfied to complete, e.g., a resource S task profile. The task hierarchy 410 enables identification of tasks at the base 1ev, eg. level 3, when either selecting tasks as pad of a project or when setting p the task profile of a resource, Dnling down through the hierarchy provides a logical grouping of al tasks so that tasks are more easily identified. 40 The task hierarchy 410 also enables actual time recorded at the task level to be aggregated to a higher level for reporting purposes, For example, rather than reporting the percentage split of ime spent across each task within the model time can be reported as a percentage of ime splt across each of the seven sourcng steps, a percentage of time spilt across contract management, sourcing and vendor 15 management, etc. Fig, $D represents an example geographic hierarchy 420, Locations may be grouped inlto onshore locations and offshore locations. Resources within the model may be aligned tQ a sigle location that s classified as either onshore or offtore. When defining a project to satisfy a work request the tasks within a project may 20 have a specific preferred location where the tasks may be completed, For example if a task must be completed in a German on-shore location, then the location requirement is be specified in the task parameters when setting up a project In the model, This will result in the task being able to only be assigned to a resource located in Germany. 25 Tasks may also be defined as being able to be completed in eAther 'Any Onshore Location" or "Any Offshore Locaon". This results in all availableresources located in Onshore or Ofmshore locations respectvely being considered to complete he tasks, Where the location that The task is performed is not important *Any Locaion" may be selected which wil result in al APS resources global being 30 considered to compie to the task Fig. 10 is a data element diagram for the example work allocation model The data element diagram includes a summary of the data elements 502 manuany entered into the work alocaton model by the users, funchons 504 84 performed by the work afocaton model to process this data, and reports 506 and data views available for the user to extract and view information generated by the work alocaton modet The work allocation mdel rmay optimize the scheduling of work requests with S avadable resource capacity. An optimization process may compute all possible resources assignmenis to project tasks and select the resources assignment solution that generates the largest potential value in the Shortest period of time to the clien In one example, tne optimton process comprises five steps: buiding the project and task priority list: identifying the scheduling solution set: scheduling tasks to 10 available resource capacity; opumizing the schedule and updating the project and task status. In the example service sector implementation, projects may be prioritized based on an Adjusted Savings Estimate criterion, then on an Initial Spend Estimate criterion, and than on a business Citicajity criterion. These criteria are used to IS generate the priority order that projects may be scheduled, Prioritization i also based on he dependencies between tasks within each specific project. For each project listed in priority order the next level is to prioritize the order irn which tasks within a project are scheduled. The only factor that drves the order of the task list within a project is the dependencies between The tasks. 20 The prioritizaton based on these criteria and dependencies is siilr to the prioritization process described with respect to Tables 11-15 and Figs. 4A and 4B above. Once the project priority and ordered task list have been created, the complete sat of resources able to complete each task may beidentified. The 25 identifiation of possible resources able ocorpletea task achieved by matching the task, preferred location and category expenence of a specific task with the task profile, category experience and location of resource such as described with respect to Table 3 above. Ukewise, scheduiing tasks to available resource capacity and may be achieved by a process such as the process descnbed with respect to Tables 30 SA - 5K above In the example service sector implementation, the scheduling of tasks within projects to available resources may also be optimized by an optimization process For optimization, projects may be categorized into three possible groups: savings 85 projects, spend prgects, and other projects. Saving projects. which correspond to assessment processes in as described in the previous example, each have a savings potential that is specified when setting up the project. Spend projects, which correspond to volume processes described in 5 the previous example. have an initial spend estimate but do not have a savings potential. Finally, all other projects may be generally categorized as "Other 2 projects, The scheduling algorithm evaluates a score for each proja, once al of its tasks are assigned to a set of resources. The calculation of the score may be different for each project type For the savings projects, the benefit may be defined 10 as "e'ivenn the maximum savings in the shortest amount of time For the spend projects, the benefit may be defined as delivering the maximum spend in the shortest amount of time For the other type of projects, the benefit may be defied as delivering the projects in the shortest amount of time. The score for the savings projects (savings score) rnay be calculated dividing 5 the adjusted savings value by the number of elapsed days until the project completon The number of elapsed days unti the project completion represents the schedule paraieter for each project, The score for the spend projects (spend score), may be calculated by dividing the adjusted spend vlue by the number of elapsed days unftu the project completion, 20 For example, the solution set in Tauc 16 below has twelve possible tasks to resource assignment cornbinatcns based on the defined task parameters and resource profhes Qtrr~ C eoa Poenw Wo 4I ~ I ID I Loa-won" ?......... ------- ----- .... ------ ;-~. .5 . . _,,7 ," ------ -- --- -- --- -- --- - -- -- -- --- -- --- ----. -- .- .- 5-- PAt . 4suvWv5O ~-m T P 4 o*pss. sqls $ ~ I(er~. i 5Table1 abe 17 latsn possibe task to resurce assgnments combinations ps b - c n fr - t d a scrs(rcs sest vaus o ac rjc te de ogte o h .' .3 .1 .~ ... ..C .s .... tl~~~~~k3~~ ....... ------ f 44 K 4 J f WI - . .. - . . *- ------ - ----- -- crierin i e nta seec ths~be vt resource assignments therges artrov posiber cobatis xapl whe resre assignmentl for optteigh woulstd be 2 Tniated bytehges1oto armtrson nTbe1 - 4--------- "4<'>' ~ ~ ~ r 4,o ev. $444'> C, r., ,,4 .. >. e' Z- -I 10 ~ ~ ----------- ." ~fi .. ........ ------ ,- ~ > 14 3>> ' -- 44 * , Thus hesv~ ~r tec otao a e~~itd~d sqh adwsed avigs ptenialby the elapse d dy atlt'poeti opee h score (poesassmntvle)frechpoetaten adddt., hefr h The sum of he scre may rpeethecnolpaeer. Thecto para'meter. this exmlehe resourc sinetfronegtwudb seected as i rvdstemxmmaon fptnilsvnspr ,a 87 opt3~ a.3o 3-~~~~~~~~ -c ---- mtX ss~n
-
- - - - -- - . 4 2 '.'-' / d -- - --- 2 ---- --- - K oo-- 2 U & 4 3o n . Table 19 When evauating non-savings projects, the same process may be apped however th& adjusted d spend value is used rather than the adjusted savings value S when determining The score for alflnon-savings proets Projects may be optMized in three major phases with each major phase comprising three minor optimization phases. Optimization of the projects according to these scheduling phases is as described above, in this example the three major phase and corresponding three minor phases are as follows 1) inProgress Project Lists (Phase I) a. Savings Projects that are in "in-Progress status b. Spend Projects that are in "in-Progress" status c, Other projects that are in In-Progress" status 2) Firm Project Lists (Phase ) -a Savings Prjects that are in"Furn, status I Spend Projects that are in WFirmr status . Other projects that are in "Firm* status ) Rema ning Project Lists (Phase ml P) a. Savings Projects that are in "Eary Start Schedued 20 Utnscheduladc status b, Spend Projects that are in "Early Start, "Scheduld o "Unscheduled' status c. Other projects that are in "Early Start", "Scheduled" or ns cheduled" status 25 In one example iptementation-, the minor scheduling phases ensure priority is given to projects in the following order within each of the three major scheduling phases: 1) Savings Projects: Projects within a major scheduling phase that have an Adjusted Savings greater that Zero 8 2) Spend Projects: Projects wThin a major scheduling phase that have Adjusted Savings equal to zero and an Adjusted Spend greater than zero and 3) Other projects: Projects within a major scheduling phase that have an Adjusted Savings equal to zero and an Adjusted Spend equal to zero Optimization m ay be repeated for scheduled and unscheduled projects, As previously described, a task may not be assigned to a resource if there s no resource available Additionally, a project and its tasks may lose their scheduled 10 status (eg. inProgress, FIrm, Early-Start or Scheduled) if a particular task in the project can not be scheduled. in such situation, the assignments may need to be removed from the solution Set that may cause schedulng gaps, Thus, as long as some tasks are deoassigned due to other tasks in the same project not being scheduled, the optmization process may be repeated until de-assignments are no longer necessary. Fig. 11 shows a flow diagram representing an exemplary process for determining a status of a project Step ST40 begins a major (X) and minor (Y) optimization phase. Step ST41 optimizes the projects according to the corresponding major and minor phase Step 142 reflects the status of tasks to 20 projects, Thereafter, step ST43 determines if tasks have been removed from the solution set. If tasks have been removed from the solution set, then tne process returns to step S141 otherwise; step ST44 updates the project status history Thereafter, step ST45 updates project dates, and step $T46 reflects projects status to tasks 25A solubon set ra; be periodically updated for all project and task status Fig, 12 shows a state transition diagram for tasks and projects and the potential categories and transitions, Periodic updates may include updates to scheduled start and end dates, original planned start and end dates, and actual start dates at the project and task levet A standard lfe cycle of a task or project begins wit a .30 new request status 200, Projects that are in the process of being setup and not eady to be sched uled may be associated with a new request status 600 One the project or task is ready to be schedule the status is changed to an unscheduled status 202 to indicate that the project or task not yet scheduled is to be scheduled during the next scheduling process, Once the project or task is schedule its status is changed to the scheduled status 604. Thereafter, once the project is due to start within a given Tme perod, e"g. two weeks, the status is changed to a firm status 606 A firm status indicates te o assigned resources are xed for the project, the start and end dates can be committed to a client, and the project wl now have scheduing priority over projects with a status. of "scheduled " Upon commencement of the project or task, the status is changed to an in progress status 60. Projects or tasks with a status of in-progress may receive 10 pfority over other projct when optimizng teproect schedule. Projects ~w status of 'ln-progress' get pnority over afl other projects when generating the project schedule. Finally, upon compfetio upon upon cancelation of a project or task, the status is changed to cance/completed status 610. 5 Status vanattons may also occur during a project or task tfe cycle. For example, a project or task having a status of unscheduled 602, scheduled 604 or rm 606 may be changed to canceied/ompleted status 610, Alternatively, projects or tasks for which work has started before the scheduled start date or before a change to the irm status receive an early start status 612. Projects or tasks having an early status may be scheduled with the same priority as projects with a scheduled status. Finaly, projects or tasks having a status of firm or in-progress may be placed on-hold, at whch tire the status is changed to the on-hok status 614. In one example, project and task stats and schedule dates may be updated 25 according to the folowig sequence- updating project status based on scheduled task status; updating task status based on overall project status updating task scheduled dates based on change in task status from a previous period (eg, one week), and updating project scheduled dates based on changes in project status the previous period 30 Table 22 summarizes how overall project status is determined according to the status of the underling tasks within a project once task status has been updated for the given peod.
Project Status s -ne - ~- Unschedu ed uede -- E -start -an S -c --ed tasis_ ae Sceduked t - o ne - -- -r task Firm' 3 eat urne ----- -a-k- ------ --O n-----Ho di ~te~d asks- Table 22 Task status may be updated based 5 summarizes how the new statusofapoetitberfct:bckois correspondmgo tasks once the schedlhaben etrndadnwprjt statuses have been generd. Thetistrow ndicates the new proet statusta w~ e reflected to is ndedyni tass n h is osn niae ak sttu rirtreflectig theproject status -~~~~~ ------ -- ~ ' ' - - - - - - ~ Cam eed ogss F S Uincheduled 4" Nc Av § 2nge ae dcang! ,s n Cas ~ NA N~h N~A N A No ChJange N / A h a n e xN AN AU n s h e d u l e scheandded aySan N/A Prgen Poriess Nc Chiange x 1.UscheudN/A, NA\ N/ANA u2~fifold sN/A NA N/A N N A N/ Task schedule dates may also be updated based on changes in task status from a previous period. Table 24 illustrates the how the scheduled start and end dates, origmal planned start and end dates, and actual start dates are updated based on the changing of task status frcrm a previous period to the current period.
SOidTask Status New Status Sc~ed Sat S~~r4 AcoStart Origdoa3tart OrigPanEnd Unschedtwed Unsceduled No No ____ _Scheded Not oosst5eNosbe Not posbeNotose Notpi yESta Not acsslteiNoy oss b o osbeNot possibe Nt o. d .Pos .Ngpo Not pos-bN Tiposib eNot poss..i ___ ___er N91 p et LN mi g Ntposs 7eo s No ossue Not pos<e Comp eted Not poss b e Not possibieJ NtOs eI eNot posamla n^Hod ___No No____ No No No SQeul unsohaete Detet Oe3e No No No Sclsteo No No No Saytt No No No____ N___ r N Nto N4o Upae Ude 9ess~ No ossibt Not p00as I Nc 6}kNto~sb~Ntpsil ed____ orLk Not poss ole Nt pas _eN oses o On Nold - -- Not poss-b- Eay tar UnscMedad Delete Neoete 'No No No hedued~ No 4 poss4Ne Not oat ls e Not pas b Not po sibe -------- -------- -No No No N - NO ______FimNot oossbe 2 ot oossible Not possbeNtss Ntps i *r----es---- UI. U N o---e-t-- odtes Co mpleted NjotN Noq yoss bie Not poscso Not ptss b oNo pssb_ O-1-o0d No No No No Notpsie FirmUnschedued Doeie Delt NNo ____ No __Schedued No pss e NMS possPe'wjLpgssuc Nottpssb e Not noss btee Erdy StadtNot p Ns Not postl No pas0eN!osbeNOt ooss flae _____ rmFn No No _No Noo lsProgress Not ooss el NIl oossb o Ntoto ibe IT t . Not goos~' _________ ;I Not rasssi e Not poss ibe Not pas Ntpssibie N osste On-Hokdi No______No No ON lwr ars Usohedued Not oossbt No r' N ot~ieI~KK posbe 4 orsil No ________ chedL A. Noepss e e Not poss e Not pass bie No OSa Nt poss ibl i SSa .o .....
e Ne - Nble ____Eam No osbeNot possibe Not no&sbe a gosieNopobe r -- t -ossfl-------ble Not po---ie Not pos i -- e _________ omp eress Io os Not ooss Nojtt oss ue NoNc po ssueNotaosos 4 ooer Not possihe Not passlbte Not Possible Not possible NnpossbN Com __IO-Hed No4osl Not pea Not possibleissb Not possie Not posse Compete k0 .d No4t posgoIe Not pcssble Not possoNe Not possible N4 os af Scherlt Not possible 4Not possible No___ pola Not poss be NoSipssbi
--
rm--t o s N s t No gpos arn NtNot ot _____Notposs be Ntosble INotposs be Completed Not possible Not possibe N ottposs e Not pose Not possa _______ ndoid N *os~ Not possble at oe Not oosstle Not possibcr Ta bie 24 Project scheduled dates may be updated based on changes in project status fromi a previous period, Once aU task level& dates have ben updated, dates relating to the scheduling information at the project level may be updated based on the 5 change of status at the project level. Tabie 25 summarizes the possible changes. 9 2 ---------
-
Se -ad N : Upat NaN --1 pot ____ srat - -- I - ------ ------ e Sct~~~edut--- -4P~ ----- N Ms N~ N ~L~o \to Mhsee Not posbt es N t ... InPo~es Not N\toss ------- -N- ---- --o-o- S- ---------- -------- r o ...... otp . o - Not ----- 4o -- No0sst Nt pos! oosia opsae t t h rr e h i le 2 i with reference to the examples set forth above. those of ordinary skill in the art may effect alterations, modifications and va nations to the examples without departing from the scope of the irnention. 10 Throughout this specification and the cila which follow, unless the oontex requires otherwise, the word acomprise" and variations such as comprisese~ and ctomprising" wilt be understood to imply the inclusion of a stated integer or step or group of mnrteer or steps but not te exz usidrn of any other integer or Step cor group of mntegers or steps nr but

Claims (24)

1. A computer-implemented method for allocating processes to a plurality of resources, the method including: receiving, by one or more computers, a process specification defining a plurality of processes, each process having an associated assessment parameter and including at least one task belonging to a task category; determining for each process an internal weighting parameter based on the assessment parameter; ordering the processes depending on the weighting parameter; assigning to each process a ranking parameter depending on the ordering; modifying the ranking parameter of a selected process; and modifying the weighting parameter of the selected process depending on the weighting parameter of at least one other process; analyzing, by the one or more computers, an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category in at least one task location; establishing, by the one or more computers, a first resource-task assignment set defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories and the task locations, wherein the first resource-task assignment set defines a first scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes a first schedule parameter depending on the scheduling of the tasks belonging to the respective process; establishing, by the one or more computers, a second resource-task assignment set that is different to the first resource-task assignment, defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories and the task locations, wherein the resource-task assignment set defines a second scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes at least a second schedule parameter depending on the scheduling of the tasks belonging to the respective process; 96 evaluating, by the one or more computers, and for each of the first and second resource-task assignment sets, a control parameter that indicates a completion time associated with the resource-task assignment set, and that depends on the weighting parameter and the schedule parameter for the resource-task assignment set; selecting, by the one or more computers, one of the first and second resource-task assignment sets depending on a selection criterion for the control parameters; and allocating, by the one or more computers, the tasks to the resources according to the selected resource-task assignment set.
2. A method according to claim 1, wherein: the process specification includes for at least one task, a capacity requirement parameter defining the required resource capacity for carrying out the task, and a time frame parameter defining a period of minimum time required for carrying out the task; and wherein the tasks are scheduled depending on the task capacity requirement parameter and the time frame parameter.
3. A method according to claim 2, wherein the time frame parameter defines a plurality of time frame periods, each time frame period defining a minimum portion of a total processing time to be carried out.
4. A method according to any one of the preceding claims, wherein: receiving a process specification includes: receiving for each process a process volume parameter and an efficiency parameter; and the method further includes evaluating the weighting parameter for each of the processes based on the process volume parameter and the efficiency parameter.
5. A method according to any one of the preceding claims, wherein the method further includes: ordering the processes depending on the weighting parameter; 97 assigning to each process a ranking parameter depending on the ordering; modifying the ranking parameter of a selected process; and modifying the weighting parameter of the selected process depending on the weighting parameter of at least one other process.
6. A method according to any one of the preceding claims, wherein: the schedule parameters are evaluated based on the scheduled ending time for the last task within each process or the starting time for the first task within each process.
7. A method according to any one of the preceding claims, wherein: evaluating a control parameter for each of the resource-task assignment sets includes: evaluating for each of the processes scheduled a process assessment value depending on the corresponding schedule parameter and the weighting parameter assigned to the process; and summing the process assessment values of all processes scheduled.
8. A method according to any one of the preceding claims, wherein: establishing a first resource ordering and a second resource ordering different from the first resource ordering; and wherein establishing the first resource assignment includes successively assigning the tasks to the resources according to the first resource ordering, and establishing the second resource assignment includes successively assigning the tasks to the resources according to the second resource ordering.
9. A method according to any one of the preceding claims, wherein the task category indicates an action performed by the process in order to complete the task belonging to the task category.
10. A method according to any one of the preceding claims, wherein analyzing an available resource capacity for each of a plurality of resources further includes determining a standard use time and a non-scheduled time reserve parameter for each of the plurality of resources. 98
11. A method according to any one of the preceding claims, wherein a bundle parameter is assigned to one or more of the plurality of tasks, the bundle parameter defining a group of tasks within the process.
12. A system for allocating processes to a plurality of resources, the system including: one or more computers; and a computer-readable medium coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations including: receiving, by the one or more computers, a process specification defining a plurality of processes, each process having an associated assessment parameter and including at least one task belonging to a task category; determining for each process an internal weighting parameter based on the assessment parameter; ordering the processes depending on the weighting parameter; assigning to each process a ranking parameter depending on the ordering; modifying the ranking parameter of a selected process; and modifying the weighting parameter of the selected process depending on the weighting parameter of at least one other process; analyzing, by the one or more computers an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category; establishing, by the one or more computers, a first resource-task assignment set defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories, wherein the first resource-task assignment set defines a first scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes a first schedule parameter depending on the scheduling of the tasks belonging to the respective process; establishing, by the one or more computers, a second resource-task assignment set that is different to the first resource-task assignment set, defining an assignment of the plurality of tasks to the plurality of resources 99 depending on the task categories, wherein the second resource-task assignment set defines a second scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes at least a second schedule parameter depending on the scheduling of the tasks belonging to the respective process; evaluating, by the one or more computers, for each of the first and second resource-task assignment sets, a control parameter that indicates a completion time associated with the resource-task assignment set, and that depends on the weighting parameter and the schedule parameter for the resource-task assignment set; selecting, by the one or more computers, one of the first and second resource-task assignment sets depending on a selection criterion for the control parameters; and allocating, by the one or more computers, the tasks to the resources according to the selected resource-task assignment set.
13. A system according to claim 12, wherein: the process specification includes for at least one task a capacity requirement parameter defining the required resource capacity for carrying out the task; a time frame parameter defining a period of minimum time required for carrying out the task; and wherein the tasks are scheduled depending on the task capacity requirement parameter and the time frame parameter.
14. A system according to claim 13, wherein the time frame parameter defines a plurality of time frame periods, each time frame period defining a minimum portion of a total processing time to be carried out.
15. A system according to any one of claims 12 to 14, wherein the instructions for receiving a process specification cause the one or more computers to perform operations further including: receiving for each process, a process volume parameter and an efficiency parameter; and 100 wherein the instructions cause the one or more computers to perform operations further including evaluating the weighting parameter for each of the processes based on the process volume parameter and the efficiency parameter.
16. A system according to any one of claims 12 to 15, wherein the instructions cause the one or more computers to perform operations further including: ordering the processes depending on the weighting parameter; assigning to each process a ranking parameter depending on the ordering; modifying the ranking parameter of a selected process; and modifying the weighting parameter of the selected process depending on the weighting parameter of at least one other process.
17. A system according to any one of claims 12 to 16, wherein the schedule parameters are evaluated based on the scheduled ending time for the last task within each process or the starting time for the first task within each process.
18. A system according to any one of claims 12 to 17, wherein evaluating a control parameter for each of the first and second resource assignments includes: evaluating for each of the processes scheduled a process assessment value that is based on a product of the corresponding schedule parameter and the weighting parameter assigned to the process; and summing the process assessment values of all processes scheduled.
19. A system according to any one of claims 12 to 18, wherein the instructions cause the one or more computers to perform operations including: establishing a first resource ordering and a second resource ordering different from the first resource ordering; and wherein establishing the first resource assignment includes successively assigning the tasks to the resources according to the first resource ordering, and establishing the second resource assignment includes successively assigning the tasks to the resources according to the second resource ordering. 101
20. A system according to any one of claims 12 to 19, wherein the task category indicates an action performed by the process in order to complete the task belonging to the task category.
21. A system according to any one of claims 12 to 20, wherein analyzing an available resource capacity for each of a plurality of resources further includes determining a standard use time and a non-scheduled time reserve parameter for each of the plurality of resources.
22. A system according to any one of claims 12 to 21, wherein a bundle parameter is assigned to one or more of the plurality of tasks, the bundle parameter defining a group of tasks within the process.
23. A computer program product, tangibly embodied in a machine-readable medium, the computer program product including instructions that, when read by a machine, operate to cause a data processing apparatus to perform functions including: receiving, by one or more computers, a process specification defining a plurality of processes, each process having an associated assessment parameter and including at least one task belonging to a task category; determining for each process an internal weighting parameter based on the assessment parameter; ordering the processes depending on the weighting parameter; assigning to each process a ranking parameter depending on the ordering; modifying the ranking parameter of a selected process; and modifying the weighting parameter of the selected process depending on the weighting parameter of at least one other process; analyzing, by the one or more computers, an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category; establishing, by the one or more computers, a first resource-task assignment set defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories, wherein the first resource-task assignment set defines a first scheduling of the tasks depending on the available 102 resource capacities, and evaluating for each of the processes a first schedule parameter depending on the scheduling of the tasks belonging to the respective process; establishing, by the one or more computers, a second resource-task assignment set that is different to the first resource-task assignment set, defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories, wherein the second resource-task assignment set defines a second scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes at least a second schedule parameter depending on the scheduling of the tasks belonging to the respective process; evaluating, by the one or more computers, for each of the first and second resource-task assignment sets, a control parameter that indicates a completion time associated with the resource-task assignment set, and that depends on the weighting parameter and the schedule parameter for the resource-task assignment set; selecting, by the one or more computers, one of the first and second resource-task assignment sets depending on a selection criterion for the control parameters; and allocating, by the one or more computers, the tasks to the resources according to the selected resource-task assignment set.
24. A computer implemented method according to claim 1, or a system according to claim 12, or a computer product according to claim 23, substantially as herein before described with reference to the accompanying Figures. 1 a. A computer-implemented method for allocating processes to a plurality of resources, the method including: receiving a process specification defining a plurality of processes, each process having an associated weighting parameter and including at least one task belonging to a task category; analyzing an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category; 103 establishing a first resource-task assignment set defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories, wherein the first resource-task assignment set defines a first scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes a first schedule parameter depending on the scheduling of the tasks belonging to the respective process; establishing a second resource-task assignment set defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories, wherein the second resource-task assignment set defines a second scheduling of the tasks depending on the available resource capacities, and evaluating for each of the processes at least a second schedule parameter depending on the scheduling of the tasks belonging to the respective process; evaluating a control parameter for each of the first and second resource-task assignment sets depending on the weighting parameters and the first and second schedule parameters; selecting one of the first and second resource-task assignment sets depending on a selection criterion for the control parameter; and allocating the tasks to the resources according to the selected resource-task assignment set. 2a. A system for allocating processes to a plurality of resources, the system including: a process specification interface for receiving a process specification that defines a plurality of processes, each process having an associated weighting parameter and including at least one task belonging to a task category; a capacity analysis module for analyzing an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category; a resource assignment module for establishing at least a first and a second resource-task assignment set, each defining an assignment of the plurality of tasks to the plurality of resources depending on the task categories, wherein the first resource-task assignment set defines a first scheduling of the tasks depending on the available resource capacities and the second resource-task assignment set defines a second scheduling of the tasks depending on the available resource capacities; 104 a scheduling evaluation module for generating a first schedule parameter depending on the first scheduling of the tasks belonging to the respective process and a second schedule parameter depending on the second scheduling of the tasks belonging to the respective process; a control module for evaluating a control parameter for each of the first and second resource-task assignment sets depending on the weighting parameters and the schedule parameters; a selection module for selecting one of the first or second resource-task assignment sets depending on a selection criterion for the control parameter; and an allocation module for allocating the tasks to the resources according to the selected resource-task assignment sets. 3a. A computer-implemented method for allocating projects to a plurality of resources, the method including: receiving a project specification defining a plurality of projects, each project having an associated adjusted savings parameter and including at least one task belonging to a task category; analyzing an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category; establishing a first resource-task assignment set of the plurality of tasks to the plurality of resources depending on the task categories, wherein the resource-task assignment set defines a scheduling of the tasks depending on the available resource capacities, and evaluating for each of the projects a first schedule parameter depending on the scheduling of the tasks belonging to the respective project; establishing a second resource-task assignment set of the plurality of tasks to the plurality of resources depending on the task categories, wherein the resource-task assignment set defines a scheduling of the tasks depending on the available resource capacities, and evaluating for each of the projects at least a second schedule parameter depending on the scheduling of the tasks belonging to the respective project; evaluating a control parameter for each of the resource-task assignment sets depending on the adjusted savings parameter and the first and second schedule parameters; 105 selecting one of the first and second resource-task assignment sets depending on a selection criterion for the control parameter; and allocating the tasks to the resources according to the selected resource-task assignment set. 4a. A system for allocating projects to a plurality of resources, including: means for receiving a project specification defining a plurality of projects, each project having an associated adjusted savings parameter and including at least one task belonging to a task category; means for analyzing an available resource capacity for each of a plurality of resources, each resource capable of performing tasks within at least one task category; means for establishing a first resource-task assignment set of the plurality of tasks to the plurality of resources depending on the task categories, wherein the first resource task assignment set defines a scheduling of the tasks depending on the available resource capacities, and for evaluating for each of the projects a first schedule parameter depending on the scheduling of the tasks belonging to the respective project; means for establishing a second resource-task assignment set of the plurality of tasks to the plurality of resources depending on the task categories, wherein the resource-task assignment set defines a scheduling of the tasks depending on the available resource capacities, and for evaluating for each of the projects at least a second schedule parameter depending on the scheduling of the tasks belonging to the respective project; means for evaluating a control parameter for each of the resource-task assignment sets depending on the adjusted savings parameter and the first and second schedule parameters; means for selecting one of the first and second resource-task assignment sets depending on a selection criterion for the control parameter; and means for allocating the tasks to the resources according to the selected resource-task assignment set. 5a. A process allocation system, including: software stored in computer-readable media including instructions that upon execution cause a processing device to: 106 access a data store storing process specification data for a plurality of processes, the process specification data including weighting parameters for each process and tasks associated with the processes: analyze an available resource capacity for a plurality of resources, each resource capable of performing at least one of the tasks associated with the processes; generate resource assignment sets, each resource assignment set assigning the tasks associated with the processes to the resources; generate a corresponding schedule parameter for each resource assignment set based on the assigned tasks associated with each process; generate a control parameter for each resource assignment set, the control parameter based on the corresponding weighting parameters and the corresponding schedule parameter; and select one of the resource assignment sets and allocate tasks to the resources according to the selected resource assignment set, the selection based on a selection criterion for the control parameter.
AU2015203175A 2006-07-31 2015-06-12 Work allocation model Abandoned AU2015203175A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2015203175A AU2015203175A1 (en) 2006-07-31 2015-06-12 Work allocation model

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP06015914.2 2006-07-31
US11/461,077 2006-07-31
AU2013200568A AU2013200568A1 (en) 2006-07-31 2013-02-01 Work allocation model
AU2015203175A AU2015203175A1 (en) 2006-07-31 2015-06-12 Work allocation model

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU2013200568A Division AU2013200568A1 (en) 2006-07-31 2013-02-01 Work allocation model

Publications (1)

Publication Number Publication Date
AU2015203175A1 true AU2015203175A1 (en) 2015-07-09

Family

ID=53626152

Family Applications (1)

Application Number Title Priority Date Filing Date
AU2015203175A Abandoned AU2015203175A1 (en) 2006-07-31 2015-06-12 Work allocation model

Country Status (1)

Country Link
AU (1) AU2015203175A1 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017093808A1 (en) * 2015-12-01 2017-06-08 Afiniti Europe Technologies Limited Techniques for case allocation
US10496438B1 (en) 2018-09-28 2019-12-03 Afiniti, Ltd. Techniques for adapting behavioral pairing to runtime conditions in a task assignment system
US10623565B2 (en) 2018-02-09 2020-04-14 Afiniti Europe Technologies Limited Techniques for behavioral pairing in a contact center system
CN111401693A (en) * 2020-02-25 2020-07-10 山东师范大学 Flexible workshop scheduling optimization method and system with robot transportation
US10757262B1 (en) 2019-09-19 2020-08-25 Afiniti, Ltd. Techniques for decisioning behavioral pairing in a task assignment system
US10757261B1 (en) 2019-08-12 2020-08-25 Afiniti, Ltd. Techniques for pairing contacts and agents in a contact center system
US11050886B1 (en) 2020-02-05 2021-06-29 Afiniti, Ltd. Techniques for sharing control of assigning tasks between an external pairing system and a task assignment system with an internal pairing system
US11144344B2 (en) 2019-01-17 2021-10-12 Afiniti, Ltd. Techniques for behavioral pairing in a task assignment system
US11250359B2 (en) 2018-05-30 2022-02-15 Afiniti, Ltd. Techniques for workforce management in a task assignment system
US11258905B2 (en) 2020-02-04 2022-02-22 Afiniti, Ltd. Techniques for error handling in a task assignment system with an external pairing system
US11356556B2 (en) 2016-06-08 2022-06-07 Afiniti, Ltd. Techniques for benchmarking performance in a contact center system
US11445062B2 (en) 2019-08-26 2022-09-13 Afiniti, Ltd. Techniques for behavioral pairing in a task assignment system
CN115564322A (en) * 2022-12-06 2023-01-03 连连(杭州)信息技术有限公司 Business processing method and device, electronic equipment and storage medium
US11611659B2 (en) 2020-02-03 2023-03-21 Afiniti, Ltd. Techniques for behavioral pairing in a task assignment system
US11954523B2 (en) 2020-02-05 2024-04-09 Afiniti, Ltd. Techniques for behavioral pairing in a task assignment system with an external pairing system

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113095662A (en) * 2015-12-01 2021-07-09 阿菲尼帝有限公司 Techniques for case distribution
US10958789B2 (en) 2015-12-01 2021-03-23 Afiniti, Ltd. Techniques for case allocation
US10708432B2 (en) 2015-12-01 2020-07-07 Afiniti Europe Technologies Limited Techniques for case allocation
US9924041B2 (en) 2015-12-01 2018-03-20 Afiniti Europe Technologies Limited Techniques for case allocation
CN113095662B (en) * 2015-12-01 2024-03-19 阿菲尼帝有限公司 Techniques for case distribution
WO2017093808A1 (en) * 2015-12-01 2017-06-08 Afiniti Europe Technologies Limited Techniques for case allocation
US10135988B2 (en) 2015-12-01 2018-11-20 Afiniti Europe Technologies Limited Techniques for case allocation
CN113095652B (en) * 2015-12-01 2022-06-03 阿菲尼帝有限公司 Techniques for case distribution
CN113095652A (en) * 2015-12-01 2021-07-09 阿菲尼帝有限公司 Techniques for case distribution
US11695872B2 (en) 2016-06-08 2023-07-04 Afiniti, Ltd. Techniques for benchmarking performance in a contact center system
US11363142B2 (en) 2016-06-08 2022-06-14 Afiniti, Ltd. Techniques for benchmarking performance in a contact center system
US11356556B2 (en) 2016-06-08 2022-06-07 Afiniti, Ltd. Techniques for benchmarking performance in a contact center system
US10623565B2 (en) 2018-02-09 2020-04-14 Afiniti Europe Technologies Limited Techniques for behavioral pairing in a contact center system
US11972376B2 (en) 2018-05-30 2024-04-30 Afiniti, Ltd. Techniques for workforce management in a task assignment system
US11250359B2 (en) 2018-05-30 2022-02-15 Afiniti, Ltd. Techniques for workforce management in a task assignment system
US10860371B2 (en) 2018-09-28 2020-12-08 Afiniti Ltd. Techniques for adapting behavioral pairing to runtime conditions in a task assignment system
US10496438B1 (en) 2018-09-28 2019-12-03 Afiniti, Ltd. Techniques for adapting behavioral pairing to runtime conditions in a task assignment system
US11144344B2 (en) 2019-01-17 2021-10-12 Afiniti, Ltd. Techniques for behavioral pairing in a task assignment system
US11019214B2 (en) 2019-08-12 2021-05-25 Afiniti, Ltd. Techniques for pairing contacts and agents in a contact center system
US10757261B1 (en) 2019-08-12 2020-08-25 Afiniti, Ltd. Techniques for pairing contacts and agents in a contact center system
US11418651B2 (en) 2019-08-12 2022-08-16 Afiniti, Ltd. Techniques for pairing contacts and agents in a contact center system
US11778097B2 (en) 2019-08-12 2023-10-03 Afiniti, Ltd. Techniques for pairing contacts and agents in a contact center system
US11445062B2 (en) 2019-08-26 2022-09-13 Afiniti, Ltd. Techniques for behavioral pairing in a task assignment system
US11196865B2 (en) 2019-09-19 2021-12-07 Afiniti, Ltd. Techniques for decisioning behavioral pairing in a task assignment system
US10757262B1 (en) 2019-09-19 2020-08-25 Afiniti, Ltd. Techniques for decisioning behavioral pairing in a task assignment system
US11736614B2 (en) 2019-09-19 2023-08-22 Afiniti, Ltd. Techniques for decisioning behavioral pairing in a task assignment system
US10917526B1 (en) 2019-09-19 2021-02-09 Afiniti, Ltd. Techniques for decisioning behavioral pairing in a task assignment system
US11611659B2 (en) 2020-02-03 2023-03-21 Afiniti, Ltd. Techniques for behavioral pairing in a task assignment system
US11936817B2 (en) 2020-02-03 2024-03-19 Afiniti, Ltd. Techniques for behavioral pairing in a task assignment system
US11258905B2 (en) 2020-02-04 2022-02-22 Afiniti, Ltd. Techniques for error handling in a task assignment system with an external pairing system
US11206331B2 (en) 2020-02-05 2021-12-21 Afiniti, Ltd. Techniques for sharing control of assigning tasks between an external pairing system and a task assignment system with an internal pairing system
US11115535B2 (en) 2020-02-05 2021-09-07 Afiniti, Ltd. Techniques for sharing control of assigning tasks between an external pairing system and a task assignment system with an internal pairing system
US11954523B2 (en) 2020-02-05 2024-04-09 Afiniti, Ltd. Techniques for behavioral pairing in a task assignment system with an external pairing system
US11677876B2 (en) 2020-02-05 2023-06-13 Afiniti, Ltd. Techniques for sharing control of assigning tasks between an external pairing system and a task assignment system with an internal pairing system
US11050886B1 (en) 2020-02-05 2021-06-29 Afiniti, Ltd. Techniques for sharing control of assigning tasks between an external pairing system and a task assignment system with an internal pairing system
CN111401693B (en) * 2020-02-25 2023-09-22 山东师范大学 Flexible workshop scheduling optimization method and system with robot transportation
CN111401693A (en) * 2020-02-25 2020-07-10 山东师范大学 Flexible workshop scheduling optimization method and system with robot transportation
CN115564322B (en) * 2022-12-06 2023-09-19 连连(杭州)信息技术有限公司 Service processing method and device, electronic equipment and storage medium
CN115564322A (en) * 2022-12-06 2023-01-03 连连(杭州)信息技术有限公司 Business processing method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
AU2015203175A1 (en) Work allocation model
US8185422B2 (en) Work allocation model
US8190463B2 (en) System and method for managing mobile workers
Shi et al. Enterprise resource planning for construction business management
US8296170B2 (en) Process management system and method
EP1887498A1 (en) Work allocation model
US6233493B1 (en) Computer-implemented product development planning method
US8234149B2 (en) Methods and systems for employing dynamic risk-based scheduling to optimize and integrate production with a supply chain
US7139719B1 (en) System for scheduling product planning
US5963911A (en) Resource allocation
US20050216324A1 (en) System and method for constructing a schedule that better achieves one or more business goals
US7685113B2 (en) Demand breakout for a supply chain
US7069229B1 (en) Method and apparatus for planning and monitoring multiple tasks and employee work performance based on user defined criteria and predictive ability
US20080167930A1 (en) Method and structure for end-to-end workforce management
WO2002021373A2 (en) System and method for managing mobile workers
CA2455494A1 (en) Resource management method and apparatus
US20070271128A1 (en) Web based management information system
O'Brien et al. Design of the decision process for strategic investment in advanced manufacturing systems
AU2013200568A1 (en) Work allocation model
AU2007203220A1 (en) Work allocation model
JP2003271219A (en) Method and system of production planning based on priority by order
Erenguc et al. Integrating quality as a measure of performance in resource-constrained project scheduling problems
Pritsker et al. Production scheduling using FACTOR
WO2005091181A1 (en) A system and method for constructing a schedule that better achieves one or more business goals
O’Brien 4D CAD and dynamic resource planning for subcontractors: case study and issues

Legal Events

Date Code Title Description
MK5 Application lapsed section 142(2)(e) - patent request and compl. specification not accepted