Automatic assignment of hardware/software resources to different entities using machine learning based on determined scores for assignment solutions
Abstract
Task/resources are randomly assigned a number of times and a score for each solution of the random assignment is calculated. Using machine learning and artificial intelligence, a subset of the solutions is selected. Assignment of task/resource within the subset may be randomly changed, e.g., a task/resource assignment between two entities, a task/resource within the selected subset may be replaced with another task/resource (without swapping), etc. The additional solutions form a super solution with the selected subset and the score associated with the additional solutions are calculated. The process of selection of assignments, random changes to the assignment and calculating the scores associated with the new solutions is repeated a number of times until a certain condition is met, e.g., a number of iterations, time out, improvement between two iterations is less than a certain threshold, etc. Once the certain condition is satisfied, a solution is selected.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A computing device comprising:
one or more processors;
a non-transitory computer-readable medium storing machine learning algorithm instructions and an application including a random assignment generator, a score determiner, a subset solution selector, a mutation/mating generator, and an assignment finalizer that, when executed by the one or more processors of the computing device, cause the computing device to perform operations comprising:
randomly assigning, by the random assignment generator, a set including a plurality of hardware/software resources from a plurality of hardware/software resources to each of a plurality of requesters of hardware/software resources to form a hardware/software resources assignment solution, where a portion of the set including the plurality of hardware/software resources from the plurality of hardware/software resources randomly assigned to each of the plurality of requesters of hardware/software resources overlap;
determining, by the score determiner, a score associated with the hardware/software resources assignment solution, wherein the score is indicative of fitness of the hardware/software resources assignment solution;
repeating, by the random assignment generator, the random assigning of a set of hardware/software resources from the plurality of hardware/software resources to the plurality of requesters of hardware/software resources to form a hardware/software resources assignment solution and the determining of the score associated with the hardware/software resources assignment solution a number of times to form a set of solutions, each solution in the set of solutions having a respective score associated therewith;
selecting, by the subset solution selector, a subset of the set of solutions to form a subset of solutions based on an unsupervised machine learning of the scores of the plurality of hardware/software resources assignment solutions over the number of times;
creating, by the mutation/mating generator, additional solutions by changing hardware/software resource assignments within the subset of solutions, the changing of hardware/software resource assignments within the subset of solutions includes randomly swapping the sets of hardware/software resources from the hardware/software resource assignments within the subset of solutions between the plurality of requesters of hardware/software resources within the subset solutions, including (i) randomly swapping sets of hardware/software resources between different requestors within a same solution and (ii) randomly swapping sets of hardware/software resources between different requestors from a different solution;
determining, by the score determiner, scores associated with the additional solutions;
repeating, by the respective subset solution selector, mutation/mating generator, and score determiner, the selecting, the creating, and the determining of scores for further additional solutions, based on the unsupervised machine learning of the scores of the plurality of hardware/software resource assignments, until a certain criteria is met, the criteria being one or more of an expiration of a threshold period, a determined number of iterations, and an improvement from one iteration to a next iteration based on the determined score is less than a determined threshold;
finalizing, by the assignment finalizer, assigning of the plurality of hardware/software resources to the plurality of requesters by selecting a solution from a latest set of solutions of the further additional solutions when the certain criteria is met, wherein the selecting of the solution is based on a determined respective score associated with the further additional solutions when the certain criteria is met, where a portion of the selected solution including the plurality of hardware/software resources assigned to the plurality of requesters of hardware/software resources overlap and the selected solution is optimally finalized using machine learning;
utilizing the finalized assignment of the plurality of hardware/software resources to the plurality of requesters; and
executing an assignment of the plurality of hardware/software resources to the plurality of requesters as specified in the finalized assignment.
2. The computing device as described by claim 1 , wherein the score indicative of fitness of the assignment is based on a balance of work between the plurality of hardware/software resources, capacity associated with each of the plurality of hardware/software resources, bandwidth and physical distance associated with each of the plurality of hardware/software resources and requester pair, and a priority associated with the plurality of requesters of hardware/software resources.
3. The computing device as described by claim 1 wherein the operations further comprise randomly assigning a set of hardware/software resources from another plurality of hardware/software resources to each of a subset of requesters of the plurality of requesters, wherein the assigning the another plurality of hardware/software resources to the subset of requesters remains unchanged until the certain criteria is met.
4. The computing device as described by claim 1 , wherein the machine learning algorithm is an evolutionary algorithm.
5. The computing device as described by claim 1 , wherein the unsupervised machine learning is a genetic algorithm.
6. A computer-implemented method performed by a computing device including one or more processors and a non-transitory computer-readable medium, the non-transitory computer-readable medium storing machine learning algorithm instructions and an application including a random assignment generator, a score determiner, a subset solution selector, a mutation/mating generator and an assignment finalizer that, when executed by the one or more processors of the computing device, cause the computing device to perform the method comprising:
randomly assigning, by the random assignment generator, a set including a plurality accounts from a plurality of accounts to each of a plurality of representatives to form an account assignment solution, where a portion of the set including the plurality of accounts from the plurality accounts randomly assigned to each of the plurality of representatives overlap;
determining, by the score determiner, a score associated with the account assignment solution, wherein the score is indicative of fitness of the account assignment solution;
repeating, by the random assignment generator, the random assigning of a set of accounts from the plurality of accounts to the plurality of representatives to form an account assignment solution and the determining of the score associated with the account assignment solution a number of times to form a set of solutions, each solution in the set of solutions having a respective score associated therewith;
selecting, by the subset solution selector, a subset of the set of solutions to form a subset of solutions based on the machine learning algorithm instructions of the scores of the plurality of account assignment solutions over the number of times;
creating, by the mutation/mating generator, additional solutions by changing account assignments within the subset of solutions, the changing of account assignments within the subset of solutions includes randomly swapping the sets of accounts in the account assignments between the plurality of representatives within the subset solutions, including (i) randomly swapping sets of accounts between different representatives within a same solution and (ii) randomly swapping sets of accounts between different representatives from a different solution;
determining, by the score determiner, scores associated with the additional solutions;
repeating, by the respective subset solution selector, mutation/mating generator, and score determiner, the selecting, the creating, and the determining scores for further additional solutions, based on the machine learning algorithm of the scores of the plurality of account assignments, until a certain criteria is met, the criteria being one or more of an expiration of a threshold period, a determined number of iterations, and an improvement from one iteration to a next iteration based on the determined score is less than a determined threshold;
finalizing, by the assignment finalizer, assigning of the plurality of accounts to the plurality of representatives by selecting a solution from a latest set of solutions of the further additional solutions when the certain criteria is met, wherein the selecting the solution is based on a determined respective score associated with the further additional solutions when the certain criteria is met, where a portion of the selected solution including the plurality of accounts assigned to the plurality of representatives overlap and the selected solution is optimally finalized using machine learning;
utilizing the finalized assignment of the plurality of accounts to the plurality of representatives; and
executing an assignment of the plurality of accounts to the plurality of representatives as specified in the finalized assignment.
7. The method as described by claim 6 , wherein the score indicative of fitness of the assignment is based on expertise of respective representative, a balance of work between the plurality of representatives, distance associated with accounts and the plurality of representatives, and an account value.
8. The method as described by claim 6 wherein the operations further comprise randomly assigning, by the at least one processor, a set of accounts from another plurality of accounts to a subset of representatives of the plurality of representatives, wherein the assigning the another plurality of accounts to the subset of representatives remains unchanged until the certain criteria is met.
9. The method as described by claim 6 , wherein the machine learning algorithm is an unsupervised machine learning algorithm.
10. The method as described by claim 6 , wherein the machine learning algorithm is an evolutionary algorithm.
11. The method as described by claim 6 , wherein the machine learning algorithm is a genetic algorithm.
12. The method as described by claim 6 , wherein the method further comprises receiving a user input, wherein the user input is used in determining the score.
13. A non-transitory computer-readable medium having stored therein machine learning algorithm instructions and an application including a random assignment generator, a score determiner, a subset solution selector, a mutation/mating generator, and an assignment finalizer that, when executed by one or more processors of a computer, cause the computer to perform a method comprising:
randomly assigning, by the random assignment generator, a set of hardware/software resources from a plurality of hardware/software resources to each of a plurality of requesters of hardware/software resources to form a hardware/software resources assignment solution, where a portion of the set including the plurality of hardware/software resources from the plurality of hardware/software resources randomly assigned to each of the plurality of requesters of hardware/software resources overlap;
determining, by the score determiner, a score associated with the hardware/software resources assignment solution, wherein the score is indicative of fitness of the hardware/software resources assignment solution;
repeating, by the random assignment generator, the random assigning of a set of hardware/software resources from the plurality of hardware/software resources to the plurality of requesters of hardware/software resources to form a hardware/software resources assignment solution and the determining of the score associated with the hardware/software resources assignment solution a number of times to form a set of solutions, each solution in the set of solutions having a respective score associated therewith;
selecting, by the subset solution selector, a subset of the set of solutions to form a subset of solutions based on an unsupervised machine learning of the scores of the plurality of hardware/software resources assignment solutions over the number of times;
creating, by the mutation/mating generator, additional solutions by changing hardware/software resource assignments within the subset of solutions, the changing of hardware/software resource assignments within the subset of solutions includes randomly swapping the sets of hardware/software resources in the hardware/software resource assignments within the subset of solutions between the plurality of requesters of hardware/software resources within the subset solutions, including at least one of (i) randomly swapping sets of hardware/software resources between different requestors within a same solution and (ii) randomly swapping sets of hardware/software resources between different requestors from a different solution;
determining, by the score determiner, scores associated with the additional solutions;
repeating, by the respective solution selector, mutation/mating generator, and score determiner, the selecting, the creating, and the determining of scores for further additional solutions, based on the unsupervised machine learning of the scores of the plurality of hardware/software resource assignments, until a certain criteria is met, the criteria being one or more of an expiration of a threshold period, a determined number of iterations, and an improvement from one iteration to a next iteration based on the determined score is less than a determined threshold;
finalizing by the assignment finalizer, assigning of the plurality of hardware/software resources to the plurality of requesters by selecting a solution from a latest set of solutions of the further additional solutions when the certain criteria is met, wherein the selecting of the solution is based on a determined respective score associated with the further additional solutions when the certain criteria is met, where a portion of the selected solution including the plurality of hardware/software resources assigned to the plurality of requesters of hardware/software resources overlap and the selected solution is optimally finalized using machine learning;
utilizing the finalized assignment of the plurality of hardware/software resources to the plurality of requesters; and
executing, by the one or more processors, an assignment of the plurality of hardware/software resources to the plurality of requesters as specified in the finalized assignment.
14. The medium of claim 13 , wherein the score indicative of fitness of the assignment is based on a balance of work between the plurality of hardware/software resources, capacity associated with each of the plurality of hardware/software resources, bandwidth and physical distance associated with each of the plurality of hardware/software resources and requester pair, and a priority associated with the plurality of requesters of hardware/software resources.
15. The medium of claim 13 , wherein the instructions stored therein when executed cause a computer to perform a method further comprising randomly assigning a set of hardware/software resources from another plurality of hardware/software resources to each of a subset of requesters of the plurality of requesters, wherein the assigning the another plurality of hardware/software resources to the subset of requesters remains unchanged until the certain criteria is met.
16. The medium of claim 13 , wherein the machine learning algorithm is an evolutionary algorithm.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.