/// <summary>
 /// Gets the heuristic value for the given conditions (in the context of backward search).
 /// </summary>
 /// <param name="conditions">Conditions to be evaluated.</param>
 /// <returns>Heuristic value for the specified conditions.</returns>
 protected override double GetValueImpl(IConditions conditions)
 {
     RelaxedProblem.SetGoalConditions(conditions);
     HeuristicSearch.Start();
     return(HeuristicSearch.GetSolutionCost());
 }