Automatic Dantzig–Wolfe reformulation of mixed integer programs