We present dual heuristics for the directed cut
formulation of the Steiner problem in graphs. These heuristics
usually give tight lower and upper bounds, and are enough to
quickly solve two thirds of the instances from the literature.
For harder instances, we propose two exact algorithms using those
heuristics: branch-and-ascent, an implicit enumeration without LP
solving; and a branch-and-cut that starts from bases provided by
dual heuristics, which may be called afterwards to improve
convergence. These algorithms have a good practical performance
and solved several open instances, including the I320 series and
very large and degenerated problems from VLSI layout