A general purpose Lagrangian heuristic applied to the train loading problem