On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming