code: public static <A, S, N extends HeuristicNode<A, S, Double, N>> AnnealingSearch<A, S, N> createAnnealingSearch(
  			SearchProblem<A, S, N> components, Double alpha, Double minTemp,
  			AcceptanceProbability acceptanceProbability, SuccessorFinder<A, S, N> successorFinder) {
  		return new AnnealingSearch<A, S, N>(components.getInitialNode(), components.getExpander(), alpha,
  				minTemp, acceptanceProbability, successorFinder);
  	}
docs: Instantiates an AnnealingSearch algorithm given a problem definition.
  
  @param components
  search problem definition with the components of the algorithm
  @param alpha
  coefficient of the geometric cooling schedule
  @param <A>
  type of the actions
  @param <S>
  type of the states
  @param <C>
  type of the cost
  @param <N>
  type of the nodes
  @return instance of
  {@link es.usc.citius.hipster.algorithm.localsearch.HillClimbing}
  for the problem definition