We present a branch-and-cut algorithm to solve the single commodity uncapacitated fixed charge network flow problem, which includes the Steiner tree problem, uncapacitated lot-sizing problems, and the fixed charge transportation problem as special cases. The cuts used are simple dicut inequalities and their variants. A crucial problem when separating these inequalities is to find the right cut ...