Limited-memory BFGS Optimization