Learning to Branch in Mixed Integer Programming