Adjoint-based model predictive control for optimal energy extraction in waked wind farms. (March 2019)