update heuristic