Adjoint-based optimization of a foam EOR process