Claims
- 1. A method for automating resource management, comprising the steps of:
mapping a business process to an optimization model; analyzing the structure of said optimization model to obtain complexity information and relaxation ordering from said structure; and solving for an optimal assignment for said optimization model.
- 2. The method of claim I wherein said step of analyzing the structure further comprises:
performing a dependency separation on said optimization model; creating a dependency graph; and obtaining a relaxation order and complexity information from said dependency graph.
- 3. The method of claim 2 wherein said polynomial degree of said complexity information is approximately equal to the size of the largest clique in said dependency graph.
- 4. The method of claim 2 wherein said polynomial degree of said complexity information is equal to
- 5. The method of claim 4 wherein said step of obtaining a relaxation order further comprises:
choosing between a tree-decomposition method and a heuristic method to obtain said relaxation based on said complexity information.
- 6. The method of claim 2 wherein said step of obtaining a relaxation order from said dependency graph further comprises:
creating a decomposition tree based on the structure of said dependency graph; and performing vertex elimination on said dependency graph by iterating through the tree leaves, whereby a relaxation order is obtained through the order in which the vertices are eliminated.
- 7. The method of claim 6 wherein said step of performing vertex elimination further comprises:
finding a vertex that appears in exactly one leaf in said decomposition tree; removing said vertex; removing said leaf from said decomposition tree if said leaf is equal to its parent leaf after the removal of said vertex.
- 8. The method of claim 7 wherein said step of removing said vertex further comprises:
removing said vertex and all edges connected to said vertex from said dependency graph; and connecting all neighbor vertices of said vertex with edges.
- 9. The method of claim 6 wherein the polynomial degree of said complexity information is approximately equal to the tree-width of said decomposition tree.
- 10. The method of claim 2 wherein said step of obtaining a relaxation order further comprises:
using a heuristic to select the order of vertex removal.
- 11. The method of claim 10 wherein said step of using a heuristic further comprises:
setting a counter variable to a beginning value; choosing a vertex via a heuristic, numbering it by a choosing variable; incrementing said counter variable by one and assigning the result to said choosing variable; and performing vertex elimination on said chosen vertex by removing it from said dependency graph and connecting all of its neighbors, whereby a relaxation order is obtained through the order in which the vertices are eliminated.
- 12. The method of claim 11 wherein said heuristic chooses a vertex with the least degree.
- 13. The method of claim 11 wherein said heuristic chooses a vertex such that the number of edges created is least after relaxation of said vertex.
- 14. The method of claim 2 wherein said step of solving further comprises:
performing relaxation of each variable in said optimization model using said obtained relaxation order.
- 15. The method of claim 14 wherein said step of performing relaxation further comprises:
relaxing each of said variable until only the last variable remains; solving for the optimal assignment for said last variable; and using said optimal assignment for said last variable to solve recursively for other variables in said model.
- 16. The method of claim 15 wherein said step of relaxing preserves at least one optimal solution.
- 17. The method of claim 1 wherein said optimization model comprises:
a plurality of variables; a plurality of relationship functions; and an objective function.
- 18. The method of claim 17 wherein said plurality of variables represent a plurality of available resources that can perform the required tasks in said business process.
- 19. The method of claim 17 wherein said plurality of relationship functions represent consumer preferences in said business process.
- 20. The method of claim 17 wherein said objective function is an algebraic composition of said plurality of relationship functions.
- 21. The method of claim 1 wherein said step of analyzing the structure takes linear time.
- 22. The method of claim 1 further comprises the step of:
determining whether to perform said step of solving based on said obtained complexity information of said optimization model.
- 23. A method for automating resource management, comprising the steps of:
querying a directory service for information about a plurality of prospective resources that satisfy some given constraints; requesting the availability informing from each of said prospective resources; running an optimization algorithm with said collected information from said directory service; and making a reservation of the optimal resources as an atomic transaction.
- 24. The method of claim 23 wherein said step of running an optimization algorithm further comprises:
mapping said constraints and prospective resources to an optimization model; analyzing the structure of said optimization model to obtain complexity information and relaxation ordering from said structure; and solving for an optimal assignment for said resources in said optimization model.
- 25. The method of claim 23 wherein said step of making a reservation of the optimal resources as an atomic transaction further comprises:
asking to purchase, from each of said prospective resources, an option for a specific time block; waiting for a first confirmation from each of said prospective resources; sending a reservation to each of said prospective resources, if said first confirmation is received from each of said prospective resources; waiting for a second confirmation from each of said prospective resources.
- 26. The method of claim 25 further comprises the step of:
canceling all reservation to all prospective resources if said second confirmation is not received from each of said prospective resources.
- 27. The method of claim 23 wherein said directory service is a computer database on a computer network.
- 28. A computer program product comprising:
a computer usable medium having computer readable program code means embodied in said medium for causing a computer to automate resource management, said computer readable program code means comprising:
computer readable program code means for causing a computer to map a business process to an optimization model; computer readable program code means for causing a computer to analyze the structure of said optimization model to obtain complexity information and relaxation ordering from said structure; and computer readable program code means for causing a computer to solve for an optimal assignment for said optimization model.
- 29. The computer program product of claim 28 wherein said computer readable program code means for causing a computer to analyze the structure further comprises:
computer readable program code means for causing a computer to perform a dependency separation on said optimization model; computer readable program code means for causing a computer to create a dependency graph; and computer readable program code means for causing a computer to obtain a relaxation order and complexity information from said dependency graph.
- 30. The computer program product of claim 29 wherein said polynomial degree of said complexity information is approximately equal to the size of the largest clique in said dependency graph.
- 31. The computer program product of claim 29 wherein said polynomial degree of said complexity information is equal to
- 32. The computer program product of claim 31 wherein said computer readable program code means for causing a computer to obtain a relaxation order further comprises:
computer readable program code means for causing a computer to choose between a tree-decomposition method and a heuristic method to obtain said relaxation based on said complexity information.
- 33. The computer program product of claim 29 wherein said computer readable program code means for causing a computer to obtain a relaxation order from said dependency graph further comprises:
computer readable program code means for causing a computer to create a decomposition tree based on the structure of said dependency graph; and computer readable program code means for causing a computer to perform vertex elimination on said dependency graph by iterating through the tree leaves, whereby a relaxation order is obtained through the order in which the vertices are eliminated.
- 34. The computer program product of claim 33 wherein said computer readable program code means for causing a computer to perform vertex elimination further comprises:
computer readable program code means for causing a computer to find a vertex that appears in exactly one leaf in said decomposition tree; computer readable program code means for causing a computer to remove said vertex; computer readable program code means for causing a computer to remove said leaf from said decomposition tree if said leaf is equal to its parent leaf after the removal of said vertex.
- 35. The computer program product of claim 34 wherein said computer readable program code means for causing a computer to remove said vertex further comprises:
computer readable program code means for causing a computer to remove said vertex and all edges connected to said vertex from said dependency graph; and computer readable program code means for causing a computer to connect all neighbor vertices of said vertex with edges.
- 36. The computer program product of claim 33 wherein the polynomial degree of said complexity information is approximately equal to the tree-width of said decomposition tree.
- 37. The computer program product of claim 29 wherein said computer readable program code means for causing a computer to obtain a relaxation order further comprises:
computer readable program code means for causing a computer to use a heuristic to select the order of vertex removal.
- 38. The computer program product of claim 37 wherein said computer readable program code means for causing a computer to use a heuristic further comprises:
computer readable program code means for causing a computer to set a counter variable to a beginning value; computer readable program code means for causing a computer to choose a vertex via a heuristic, numbering it by a choosing variable; computer readable program code means for causing a computer to increment said counter variable by one and assigning the result to said choosing variable; and computer readable program code means for causing a computer to perform vertex elimination on said chosen vertex by removing it from said dependency graph and connecting all of its neighbors, whereby a relaxation order is obtained through the order in which the vertices are eliminated.
- 39. The computer program product of claim 38 wherein said heuristic chooses a vertex with the least degree.
- 40. The computer program product of claim 38 wherein said heuristic chooses a vertex such that the number of edges created is least after relaxation of said vertex.
- 41. The computer program product of claim 29 wherein said computer readable program code means for causing a computer to solve further comprises:
computer readable program code means for causing a computer to perform relaxation of each variable in said optimization model using said obtained relaxation order.
- 42. The computer program product of claim 41 wherein said computer readable program code means for causing a computer to perform relaxation further comprises:
computer readable program code means for causing a computer to relax each of said variable until only the last variable remains; computer readable program code means for causing a computer to solve for the optimal assignment for said last variable; and computer readable program code means for causing a computer to use said optimal assignment for said last variable to solve for other variables in said model.
- 43. The computer program product of claim 42 wherein said computer readable program code means for causing a computer to relax preserves at least one optimal solution.
- 44. The computer program product of claim 28 wherein said optimization model comprises:
a plurality of variables; a plurality of relationship functions; and an objective function.
- 45. The computer program product of claim 44 wherein said plurality of variables represent a plurality of available resources that can perform the required tasks in said business process.
- 46. The computer program product of claim 44 wherein said plurality of relationship functions represent consumer preferences in said business process.
- 47. The computer program product of claim 44 wherein said objective function is an algebraic composition of said plurality of relationship functions.
- 48. The computer program product of claim 28 wherein said computer readable program code means for causing a computer to analyze the structure takes linear time.
- 49. The computer program product of claim 28 further comprises:
computer readable program code means for causing a computer to determine whether to perform said step of solving based on said complexity of said optimization model.
- 50. A computer program product comprising:
a computer usable medium having computer readable program code means embodied in said medium for causing a computer to automate resource management, said computer readable program code means comprising:
computer readable program code means for causing a computer to query a directory service for information about a plurality of prospective resources that satisfy some given constraints; computer readable program code means for causing a computer to request the availability informing from each of said prospective resources; computer readable program code means for causing a computer to run an optimization algorithm with said collected information from said directory service; and computer readable program code means for causing a computer to make a reservation of the optimal resources as an atomic transaction.
- 51. The computer program product of claim 50 wherein said computer readable program code means for causing a computer to run an optimization algorithm further comprises:
computer readable program code means for causing a computer to map said constraints and prospective resources to an optimization model; computer readable program code means for causing a computer to analyze the structure of said optimization model to obtain complexity information and relaxation ordering from said structure; and computer readable program code means for causing a computer to solve for an optimal assignment for said resources in said optimization model.
- 52. The computer program product of claim 50 wherein said computer readable program code means for causing a computer to make a reservation of the optimal resources as an atomic transaction further comprises:
computer readable program code means for causing a computer to ask to purchase, from each of said prospective resources, an option for a specific time block; computer readable program code means for causing a computer to wait for a first confirmation from each of said prospective resources; computer readable program code means for causing a computer to send a reservation to each of said prospective resources, if said first confirmation is received from each of said prospective resources; computer readable program code means for causing a computer to wait for a second confirmation from each of said prospective resources.
- 53. The computer program product of claim 52 further comprises:
computer readable program code means for causing a computer to cancel all reservation to all prospective resources if said second confirmation is not received from each of said prospective resources.
- 54. The computer program product of claim 50 wherein said directory service is a computer database on a computer network.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Patent Application No. 60/377,093, filed on May 2, 2002, the disclosure of which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60377093 |
May 2002 |
US |