Large-scale optimization with the primal-dual column generation method