I'm working on a set of problems for which I can formulate binary integer programs. When I solve the linear relaxations of these problems, I always get integer solutions. I would like to prove that this is always the case. I believe that this involves proving that the constraint matrix is totally unimodular. Is there any sufficent conditions for binary matrices to be totally unimodular that might be of use for this?

1$\begingroup$ Related mathoverflow.net/questions/28135/… $\endgroup$ – Gjergji Zaimi Jul 11 '10 at 6:48
Here are some common ways of proving a matrix is TU.
The incidence matrix of a bipartite graph and network flow LPs are TU; these are standard examples usually taught in every book on TU.
The consecutiveones property: if it is (or can be permuted into) a 01 matrix in which for every row, the 1s appear consecutively, then it is TU. (The same holds for columns since the transpose of a TU matrix is also TU.)
Every "network matrix," defined as follows, is TU (and they are a fundamental building block of the set of all TU matrices, according to Seymour's theorem). The rows correspond to a tree $T = (V, R)$ each of whose arcs have an orientation (i.e. it is not necessary that exist a root vertex $r$ such that the tree is "rooted into $r$" or "out of $r$").The columns correspond to another set $C$ of arcs on the same vertex set $V$. To compute the entry at row $R$ and column $C = st$, look at the $s$to$t$ path $P$ in $T$, then the entry is:
 +1 if arc $R$ appears forward in $P$
 1 if arc $R$ appears backwards in $P$
 0 if arc $R$ does not appear in $P$
[You can see more in Schrijver's 2003 book.]
 GhouilaHouri showed a matrix is TU iff for every subset $R$ of rows, there is an assignment $s : R \to \pm 1$ of signs to rows so that the signed sum $\sum_{r \in R} s(r)r$ (which is a row vector the same width as the matrix) has all its entries in $\{0, \pm1\}$.
There are other ifandonlyif conditions like GhouilaHouri too (see Schrijver 1998) but the 4 conditions I gave above have been the most practical for me.

1$\begingroup$ Thanks for the info. You should consider contributing this to the wikipedia page on TU, the page is not very helpful at the moment. $\endgroup$ – AaronDefazio Sep 9 '10 at 10:50