Add scipy and ipopt as alternative solvers to the optimal_poisson example