METHOD AND APPARATUS FOR AUTOMATIC CONFIGURATION OF META-HEURISTIC ALGORITHMS IN A PROBLEM SOLVING ENVIRONMENT
First Claim
1. A method of obtaining a set of probabilistic functions for configuring a search algorithm for solving a combinatorial-optimization problem, the search algorithm including one or more procedural components, the method employing for each procedural component a corresponding data structure representing options for configuring the procedural component, each data structure comprising a plurality of nodes associated together in a tree structure, a plurality of said nodes being traversal split nodes representing respective choices which are to be made to configure the corresponding procedural component, the traversal split nodes being associated with respective ones of the probabilistic functions,said method comprising:
- (a) selecting current probabilistic functions;
(b) producing one or more candidate algorithms, each candidate algorithm being produced by traversing the tree structures by performing a traversal algorithm in which a plurality of said nodes are labeled successively as a current node, and, upon the current node being a traversal split node, performing the associated current probabilistic function to make the choice represented by the current node;
(c) an evaluation step of evaluating the candidate algorithms; and
(d) obtaining modified probabilistic functions and returning to step (b) until a termination criterion is met.
1 Assignment
0 Petitions
Accused Products
Abstract
A methodology is presented to address the need for rapid generation and optimization of algorithms that are efficient in solving a given class of problems within the framework of a software environment. The environment incorporates an evolutionary learning methodology which automatically optimizes the configurations of procedural components of the algorithm. In this way, both the efficiency and the quality of algorithm development is enhanced significantly.
34 Citations
18 Claims
-
1. A method of obtaining a set of probabilistic functions for configuring a search algorithm for solving a combinatorial-optimization problem, the search algorithm including one or more procedural components, the method employing for each procedural component a corresponding data structure representing options for configuring the procedural component, each data structure comprising a plurality of nodes associated together in a tree structure, a plurality of said nodes being traversal split nodes representing respective choices which are to be made to configure the corresponding procedural component, the traversal split nodes being associated with respective ones of the probabilistic functions,
said method comprising: -
(a) selecting current probabilistic functions; (b) producing one or more candidate algorithms, each candidate algorithm being produced by traversing the tree structures by performing a traversal algorithm in which a plurality of said nodes are labeled successively as a current node, and, upon the current node being a traversal split node, performing the associated current probabilistic function to make the choice represented by the current node; (c) an evaluation step of evaluating the candidate algorithms; and (d) obtaining modified probabilistic functions and returning to step (b) until a termination criterion is met. - View Dependent Claims (2, 3, 4, 5, 6, 8, 10, 16)
-
-
7. (canceled)
-
9. (canceled)
-
11. A method of configuring a search algorithm for solving a combinatorial-optimization problem, the search algorithm including one or more procedural components, the method employing for each procedural component a corresponding data structure representing options for configuring the procedural component, each data structure comprising a plurality of nodes associated together in a tree structure, a plurality of said nodes being traversal split nodes representing respective choices which are to be made to configure the corresponding procedural component, the traversal split nodes being associated with respective ones of the probabilistic functions,
said method comprising: -
(a) selecting current probabilistic functions; (b) producing one or more candidate search algorithms, each candidate search algorithm being produced by traversing the tree structure by performing a traversal algorithm in which a plurality of said nodes are labeled successively as a current node, and, upon the current node being a traversal split node, performing the associated current probabilistic function to make the choice represented by the current node, (c) evaluating the candidate search algorithms, and (d) obtaining modified probabilistic functions and returning to step (b) until a termination criterion is met. - View Dependent Claims (13)
-
-
12. (canceled)
-
14. A computer system arranged to configure a search algorithm for solving a combinatorial-optimization problem, the search algorithm including one or more procedural components,
the computer system having a processor arranged to employ for each procedural component a corresponding data structure representing options for configuring the procedural component, each data structure comprising a plurality of nodes associated together in a tree structure, a plurality of said nodes being traversal split nodes representing respective choices which are to be made to configure the corresponding procedural component, the traversal split nodes being associated with respective ones of the probabilistic functions, said processor being arranged to perform a set of steps: -
(a) select current probabilistic functions; (b) produce one or more candidate search algorithms, each candidate search algorithm being produced by traversing the tree structure by performing a traversal algorithm in which a plurality of said nodes are labeled successively as a current node, and, upon the current node being a traversal split node, performing the associated current probabilistic function to make the choice represented by the current node, (c) evaluate the candidate search algorithms; (d) obtain modified probabilistic functions; and (e) return to step (b) until a termination criterion is met.
-
-
15. A computer program product containing computer program instructions operative, upon being read by a computer system, to cause the computer system to configure a search algorithm for solving a combinatorial-optimization problem, the search algorithm including one or more procedural components,
said program instructions causing a processor of the computer system to employ for each procedural component a corresponding data structure representing options for configuring the procedural component, each data structure comprising a plurality of nodes associated together in a tree structure, a plurality of said nodes being traversal split nodes representing respective choices which are to be made to configure the corresponding procedural component, the traversal split nodes being associated with respective ones of the probabilistic functions, said program instructions causing said processor to perform a set of steps: -
(a) select current probabilistic functions; (b) produce one or more candidate search algorithms, each candidate search algorithm being produced by traversing the tree structure by performing a traversal algorithm in which a plurality of said nodes are labeled successively as a current node, and, upon the current node being a traversal split node, performing the associated current probabilistic function to make the choice represented by the current node, (c) evaluate the candidate search algorithms, and (d) obtain modified probabilistic functions and returning to step (b) until a termination criterion is met.
-
-
17. A computer system arranged to obtain a set of probabilistic functions for configuring a search algorithm for solving a combinatorial-optimization problem, the search algorithm including one or more procedural components,
the computer system having a processor arranged to employ for each procedural component a corresponding data structure representing options for configuring the procedural component, each data structure comprising a plurality of nodes associated together in a tree structure, a plurality of said nodes being traversal split nodes representing respective choices which are to be made to configure the corresponding procedural component, the traversal split nodes being associated with respective ones of the probabilistic functions, said processor being arranged to perform a set of steps: -
(a) select current probabilistic functions; (b) produce one or more candidate algorithms, each candidate algorithm being produced by traversing the tree structures by performing a traversal algorithm in which a plurality of said nodes are labeled successively as a current node, and, upon the current node being a traversal split node, performing the associated current probabilistic function to make the choice represented by the current node; (c) evaluate the candidate algorithms; and (d) obtain modified probabilistic functions, and (e) return to step (b) until a termination criterion is met.
-
-
18. A computer program product containing computer program instructions operative, upon being read by a computer system, to cause the computer system to obtain a set of probabilistic functions for configuring a search algorithm for solving a combinatorial-optimization problem, the search algorithm including one or more procedural components,
said program instructions causing a processor of the computer system to employ for each procedural component a corresponding data structure representing options for configuring the procedural component, each data structure comprising a plurality of nodes associated together in a tree structure, a plurality of said nodes being traversal split nodes representing respective choices which are to be made to configure the corresponding procedural component, the traversal split nodes being associated with respective ones of the probabilistic functions, said program instructions causing said processor to perform a set of steps: -
(a) select current probabilistic functions; (b) produce one or more candidate algorithms, each candidate algorithm being produced by traversing the tree structures by performing a traversal algorithm in which a plurality of said nodes are labeled successively as a current node, and, upon the current node being a traversal split node, performing the associated current probabilistic function to make the choice represented by the current node; (c) evaluate the candidate algorithms; and (d) obtain modified probabilistic functions, and (e) return to step (b) until a termination criterion is met.
-
Specification