The present invention relates to scheduling software, and more particularly the manner in which such software operates to generate predicted schedule parameters. Scheduling software is known per se. The functions of scheduling software include the receipt of data entered by a user and relating to resources required to perform a series of inter-related tasks, the ordering or scheduling of tasks in accordance with rules generated by the user, and also the calculation of values of various parameters for the resources for a complete schedule from the data entered by the user for individual tasks. Typically, the most common resource is a total project time calculated from a plurality of time values attributed to individual tasks by the software user, though other resources may be the subject of calculations. The most typical parameter is a total of some kind of resource, although not necessarily an absolute ‘total’ value. For example, in more sophisticated schedules, users are able to enter alternative values for the resources, such as maximum and minimum values and probabilities associated with each, so that the scheduling software may calculate a most probable total value for a particular resource.
The present invention relates to the mathematical basis upon which values for are calculated. According to the present invention, there is provided scheduling software scheduling software adapted to:
A further aspect to the present invention provides method of scheduling consumption of a resource comprising the steps of:
Embodiments of the present invention will now be described, by way of example, and with reference to the accompanying drawings, in which:
Referring now to the accompanying drawings,
Referring now to
A further function of scheduling software is to calculate a parameter for one or more resources. In the present example the parameter is the total time required to complete all of the scheduled tasks. Given that each of the tasks has two time values, a minimum predicted time and a maximum predicted time, there are, accordingly, several genus of total that may be generated. Examples of such parameters are the maximum total time—which in the present example would be 30 weeks (20 weeks for the performance of DESIGN SET and DESIGN CHAR. added to 10 weeks for the performance of SET BUILD), or minimum total time, which would, in the present example, be 15 weeks. Clearly it is not necessary to use scheduling software to calculate such parameters in the trivial example illustrated, but in the case of a more realistic project involving a large number of interrelated tasks, the calculation of maximum or minimum total time is non-trivial to perform ‘manually’.
Alternative parameters can be calculated. However, in existing scheduling software, the basis upon which this is performed is not always correct. For example DESIGN SET and DESIGN CHAR. are tasks scheduled to be performed simultaneously, each taking a minimum of 10 weeks and (equally probably) a maximum of 20 weeks. Existing scheduling software operates to generate a probable time for completion of both tasks—bearing in mind that both DESIGN CHAR. and DESIGN SET must be completed before commencing SET BUILD—of 15 weeks, by taking a mean for both tasks. This is incorrect. Each of the two tasks has two possible outcomes, so that, when performed simultaneously, there are four possible outcomes as follows:
OUTCOME 1:
OUTCOME 2
OUTCOME 3
OUTCOME 4
It can be seen that, because both the DESIGN CHAR. and DESIGN SET tasks must be performed before the SET BUILD task, of the four possible outcomes only one will result in the time to the SET BUILD task being 10 weeks. Put another way, the probability of the time to SET BUILD being 10 weeks is not 0.5, which would be the case if the mean time to set build were predicted at 15 weeks, but 0.25; while the probability of the time to set build being 20 weeks is 0.75. Thus, if one were to calculate a mean on the basis of these probabilities, the mean time to SET BUILD would reflect this probability distribution, and would be 17.5 weeks.
It follows that the use of the function ‘mean’ as a basis for calculating a parameter (whether total, or some other parameter) is not valid.
In accordance with the present invention, parameters in scheduling software are calculated on the basis of a function which is an algebra homomorphism. In the case of the simple illustrated example one can consider the four possible outcomes for the time to completion of the two tasks DESIGN SET and DESIGN CHAR. as a probability distribution P:
P(10)=0.5 and P(20)=0.5
in other words, in isolation, each of the times is as probable as the other. Accordingly, if one takes the mean of the two times one obtains the result of 15 weeks. However, when expanded so that the combined effect of the interaction of the two outcomes is taken into account as a joint probability distribution the result looks very different, in that outcomes on a simultaneous pair are as follows:
Functions which do display the property of algebra homomorphism include:
(a) Maximum value of a parameter (here ‘total’)
That is, for a given plurality of data sets having alternate values for resources (in this example, time), to calculate the maximum total value of the resource.
(b) Minimum value of parameter (here ‘total’)
For a plurality of data sets having alternate values for resources (again, in this example, time), to calculate the minimum total value of the resource.
(c) Truncation.
A function which omits all of occurrences within a probability distribution beyond a chosen limit. More rigourously expressed:
For some variable resource T, given P take PT (i.e. P truncated)
{PT(t)=P(t)|0≦t≦T}
Yet further functions displaying the property of algebra homomorphism, of which explicit expression is omitted for brevity, including a function in accordance with which samples of a probability distribution are taken in blocks (known sub-sampled truncated).
In the illustrated example the scheduling software generated an order for tasks in the form of actions to be performed in view of the allocation of a resource, which in the examples shown was time. The function of scheduling software is not, however, limited to scheduling the performance of actions but has general applicability to the performance of any activity constrained to any extent by the provision of one or more resources, which may alternatively be one or more of, for example, money, raw materials and personnel. As stated above, the examples shown were, in essence, trivial since they were easily capable of human resolution, and are not intended to be representative of either the complexity of the number and interactive relationship between the task, nor of the number of resources; the scheduling of tasks which, together, are dependent for their performance upon a plurality of resources is also possible.
Further, in the example illustrated (and further examples discussed herein) the parameter calculated was the total—whether most probable, maximum or minimum. In a real-life scenario, the calculation of other parameters is equally possible, such as for example parameters based on a derivative of some other quantity, such rate of consumption of one resource with respect to some other quantity (which may be time, or some other resource, for example), for example. The invention is not limited to the calculation of a single parameter, and several parameters may be calculated, each depending upon more than one interrelated resource, as the case requires.
Number | Date | Country | Kind |
---|---|---|---|
0424130.3 | Oct 2004 | GB | national |