1. A method of configuring one or more procedural components of a search algorithm for solving at least one combinatorial-optimization problem, the method employing for each procedural component a corresponding data structure representing ways of configuring the procedural component, the data structure comprising a plurality of nodes associated together in a tree structure, the plurality of nodes representing respective choices which are to be made to configure the procedural component, the method comprising: configuring the procedural component by traversing the tree structure by a traversal algorithm, wherein the plurality of nodes are labeled successively as a current node; and; representing, upon the current node, a choice which is to be made to configure the procedural component, receiving input making the choice represented by the current node.