Solve non-linear optimization with non-linear constraints
