1. A method of obtaining a set of probabilistic functions for configuring a search algorithm including one or more procedural components, said method comprising: (a) providing 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 one of the probabilistic functions; (b) selecting current probabilistic functions; (c) 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, wherein the probabilistic function associated with each traversal split node is defined by a respective set of one or more numerical trace values, said set of one or more numerical trace values being associated with a plurality of branches representing routing options through said tree structure, wherein the set of numerical trace values guides the decision of choosing one branch of the plurality of branches at the traversal split node; (d) evaluating the candidate algorithms by forming for each candidate algorithm a respective quality index; and (e) obtaining modified probabilistic functions based on the quality indices and returning to step (c) until a termination criterion is met, wherein the modified probabilistic functions are obtained by adjusting a relative weight of the numerical trace values associated with the plurality of branches at the traversal split node, based on numeric trace values of at least one of the traversal split nodes chosen by one of the candidate algorithms and its quality index in the current iteration, to modify the probability of the branch being chosen in the next iteration by returning to step (c) to produce candidate algorithms using the adjusted numerical trace values; wherein said search algorithm is a search algorithm for solving a combinatorial-optimization problem and said quality index is representative of the quality of performance of the combinatorial-optimization problem by the corresponding candidate algorithm.