1. Field of the Invention
The present invention generally relates to a method and system for the resource scheduling, more specifically for automated scheduling of resources such as patients, medical personnel, medical equipment and medical facilities in a medical institution taking into account operational constraints.
2. Description of the Related Art
A system for resource scheduling is for example known from WO 2006/094890. It concerns a system for resource scheduling in a medical context that is advantageously able to provide a plurality of valid scheduling solutions instead of only a single valid scheduling solution. When such a resource scheduling system needs to calculate a solution space for a large scale scheduling task involving a large number of resources and/or applying to a large time period to be covered, such as for example is the case in a large scale medical institution handling a large number of patients, personnel, treatment plans, image acquisition devices, hospital rooms, etc., this solution space could result in response times of the scheduling system to rise above acceptable limits of for example a few seconds.
Thus there still exists a need for more efficient resource scheduling system that is able to flexibly provide the user with a plurality of valid scheduling solutions and overcomes the technical problem of requiring excessive computational power to do so.
According to a first aspect of the invention there is provided a data processing system for resource scheduling taking into account the availability of a set of resources, said data processing system configured to:
This allows to provide the user with a valid solution within the limits for an acceptable response time of the resource scheduling system, even when the calculation of the total solution space would exceed these acceptable limits. This is done without consuming large amounts of additional computing power and without compromising the quality and flexibility of valid scheduling solutions provided in simple cases for which the total solution space can be calculated within acceptable limits for the response time. It is thus clear that this data processing system allows for the technical effect of shorter computing times and less storage space as not all valid scheduling solutions must be calculated for large solution spaces. This makes it possible to perform resource scheduling on small computer systems which were previously not powerful enough for the purpose, or to calculate and display valid scheduling solutions for total solution spaces that could not be processed on any available computer system. Such computational resource efficiency thus constitutes a technical effect which goes beyond the normal physical interaction between a computer program and a data processing system. The data processing system must be considered technical per se. It is further clear that this data processing system, is provided with functional features, which configure it to perform calculations that cannot be performed by purely mental or mathematical means, and thus must be taken into account as features contributing technical character.
According to a preferred embodiment said data processing system is further configured to:
In this way the system provides the user with a valid scheduling solution within an acceptable response time and during review of this valid scheduling solution the system is able to calculate further alternative solutions in the background augmenting flexibility for the user.
According to a further preferred embodiment said data processing system is configured to calculate said initial solution space and/or said additional solution space as a subset of said total solution space, said subset being selected in function of a predetermined set of selection parameters.
According to still a further preferred embodiment that said selection parameters comprise one or more of the following:
Preferably the data processing system is further configured to calculate for each of said valid scheduling solutions a corresponding quality parameter in function of said selection parameters; and display only said additional valid scheduling solution for which said corresponding quality parameter exceeds said corresponding quality parameter of the already displayed valid scheduling solutions, when said total solution space is larger than said predetermined total solution space threshold.
According to a preferred embodiment the data processing system is further configured to calculate said quality parameter such that its value is maximized when the values of said selection parameters are minimized.
These preferred embodiments allow to optimize and automate to varying degrees the efficient selection of the initial solution space in order to provide as fast as possible valid scheduling solution alternatives that are closely related to an optimal scheduling solution.
Optionally the data processing system is further configured to calculate said additional solution threshold in function of the number of additional valid scheduling solutions, that are provided by said additional solution space, which have a corresponding quality parameter that exceeds said corresponding quality parameter of the already displayed valid scheduling solutions.
In this way the user is only signalled alternative solutions that were not yet displayed if they provide a higher quality option.
According to still a further preferred embodiment the data processing system is further configured to calculate said initial solution space by decomposing said resource scheduling into a plurality of Simple Temporal Problems.
Preferably the data processing system is further configured to calculate said initial solution space from said plurality of Simple Temporal Problems by means of operations on Simple Temporal Problem matrices representing said Simple Temporal Problems.
According to still a further preferable preferred embodiment the data processing system is further configured to perform said operations on said Simple Temporal Problem matrices by means of continuations, said continuations being configured to:
This allows to optimize the calculation of a large number of valid scheduling solutions associated with a large scale solution space and allows these calculations to be performed in parallel on a plurality of processors or processor cores in order to still further improve responsiveness. This implementation outperforms recursive implementations known from the prior art.
According to still a further preferred embodiment said data processing system is further configured to calculate said initial solution space by means of genetic algorithms.
This allows to automate the search for an optimal configuration of the method according to a preferred embodiment of the invention by automatically adjusting its threshold on the basis of the performance of the system resulting from processing a plurality of scheduling scenarios.
According to a second aspect of the invention there is provided a method of operating the data processing system of the first aspect of the invention.
According to a third aspect of the invention there is provided a computer program comprising software code adapted to perform the method according to the second aspect of the invention when executed by a computer.
According to a fourth aspect of the invention there is provided a computer readable storage medium comprising the computer program according to the third aspect of the invention.
The preferred embodiment of the data processing system 1 for resource scheduling as shown in
When a resource scheduling request is initiated at step 10 of the method as shown in
At the next step 12 of the preferred embodiment of the method shown in
According to the first method of operation however, instead of calculating the total solution space 30, which for these larger scheduling requests would lead to unacceptable delays, at step 18 an initial solution space 32 is calculated. This initial solution space 32 is a smaller subset of the total solution space 30 and its only requirement is that it must be able to provide at least one valid scheduling solution for the scheduling request at hand. As soon as this valid scheduling solution is calculated from this initial solution space 32 it will be displayed to the user of the system at step 20 thus enabling the required responsiveness even for these large scheduling requests. The initial solution space 32 can be calculated by making use of Temporal Reasoning techniques. According to such a preferred embodiment the activity calculator 62 will decompose the one or more activities of the resource scheduling request into a plurality of Simple Temporal Problems. The Simple Temporal Problems can be represented by means of Simple Temporal Problem matrices from which the initial solution space 32 can be calculated as operations on these Simple Temporal Problem matrices are able to provide reduced solution spaces for which it is certain that a valid scheduling solution exists. In order to still further optimise this process, according to the preferred embodiment shown in
As shown in
A suitable graphical user interface to support the efficient display of the valid scheduling solutions as available in the initial solution space 32 or additionally in an additional solution space 34 is schematically shown
The activity calculator 32 preferably additionally makes use of a predetermined set of selection parameters in order to reduce the total solution space 30 to a suitable subset from which the initial solution space 32 or the additional solution space 34 can be calculated. Such selection parameters could for example comprise a lead time, a resource count, a schedule duration, etc. Such a lead time is the time period from now up till the initiation of said valid scheduling solution; the resource count is the number of different resources involved in said valid scheduling solution; and the schedule duration being the time period between the initiation and the end of said valid scheduling solution. The initial solution space 32 can then be calculated so that these particular selection parameters are minimized for the valid scheduling solutions it comprises, this means it will preferably provide scheduling solutions that can start as soon as possible, involve a minimum amount of different resources such as personnel and equipment and take a minimum amount of time from start to finish. It is clear that additionally the user, as explained above with reference to
It is clear that according to alternative preferred embodiments other suitable selection parameters or combinations of selection parameters could be considered. One such example of such a selection parameter is a cost level, which means an estimation of the cost of a valid scheduling solution such that for example more cost-effective resources or resources which are more cost-effective during operation lead to a lower value for the cost parameter. Another example is fragmentation level, which means that solutions are preferred which make possible that the appointments in the schedules of individual resources are clustered in order to avoid too much space in between these appointments which causes fragmentation. Another example is resource priority, which means that to each resource a priority property is associated so that the selection of a specific resource from a plurality of suitable resources can be automatically determined. Still another example is Resource compatibility, which means that the system can be configured to prefer specific combinations of resources. A specific doctor could for example prefer a specific examination room even if there are other suitable examination rooms available, or this parameter could also be used to link together a group of people that form a team and prefer to cooperate. The system is in this way thus able to prefer valid scheduling solutions that provide the most compatible resources. Still another example for a selection parameter is location count, which means that the system will prefer solutions with resources that require a minimal amount of displacements.
This quality parameter also allows to adaptively adjust the threshold for providing additional valid scheduling solutions. The number of additional valid solutions provided by an additional solution space of which the quality parameter exceeds the corresponding quality parameter of the already displayed valid scheduling solutions is an indication for the likelihood that the globally optimal scheduling solution has been found. Certainty that this most optimal scheduling solution has been found can only be guaranteed when the total solution space has been completely calculated, however the percentage of additional solutions of higher quality than those already displayed can provide a measure for the likelihood that the alternatives close to the global optimal solution are among the options already displayed.
In order to optimize calculation of the initial solution space adaptively it is preferred to make use of genetic algorithms that will try a plurality of modifications on different configuration parameters and thresholds of the generic temporal engine 60 on a plurality of representative data sets and automatically evaluate the results in function of evaluation parameters such as for example the time required to process the entire solution space, the time required to calculate an initial solution space providing at least one valid scheduling solution and/or the time required to find the most optimal solution in function of the quality parameters. These genetic algorithms are able to make such adjustments even while the data processing system is in operation by processing real world or test case scheduling requests, for example during low load periods.
The data processing system 1 can be implemented as programming instructions stored it local memory 104 of the computing system 100 for execution by its processor 102. Alternatively the data processing system 1 could be stored on the storage element 108 or be accessible from another computing system 200 through the communication interface 112. Such a plurality of suitably connected computing systems could for example form a system or platform with client-server architecture in which the resource schedules are maintained centrally or distributed on one or more servers.
Although the present invention has been illustrated by reference to specific preferred embodiments, it will be apparent to those skilled in the art that the invention is not limited to the details of the foregoing illustrative preferred embodiments, and that the present invention may be embodied with various changes and modifications without departing from the scope thereof. The present preferred embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. In other words, it is contemplated to cover any and all modifications, variations or equivalents that fall within the scope of the basic underlying principles and whose essential attributes are claimed in this patent application. It will furthermore be understood by the reader of this patent application that the words “comprising” or “comprise” do not exclude other elements or steps, that the words “a” or “an” do not exclude a plurality, and that a single element, such as a computer system, a processor, or another integrated unit may fulfil the functions of several means recited in the claims. Any reference signs in the claims shall not be construed as limiting the respective claims concerned. The terms “first”, “second”, third”, “a”, “b”, “c”, and the like, when used in the description or in the claims are introduced to distinguish between similar elements or steps and are not necessarily describing a sequential or chronological order. Similarly, the terms “top”, “bottom”, “over”, “under”, and the like are introduced for descriptive purposes and not necessarily to denote relative positions. It is to be understood that the terms so used are interchangeable under appropriate circumstances and preferred embodiments of the invention are capable of operating according to the present invention in other sequences, or in orientations different from the one(s) described or illustrated above.
Number | Date | Country | Kind |
---|---|---|---|
12193955.7 | Nov 2012 | EP | regional |
This application is a 371 National Stage Application of PCT/EP2013/072997, filed Nov. 5, 2013. This application claims the benefit of U.S. Provisional Application No. 61/729,638, filed Nov. 26, 2012, which is incorporated by reference herein in its entirety. In addition, this application claims the benefit of European Application No. 12193955.7, filed Nov. 23, 2012, which is incorporated by reference herein in its entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2013/072997 | 11/5/2013 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
61729638 | Nov 2012 | US |