Optimization on large scale reservoir models may be prohibitive in terms of run-time. The adjoint based method is an efficient way to compute gradients in such systems. The presence of state constraints however may be detrimental to computational efficiency. In this paper we explore the use of adjoints and the interior point method for reservoir problems, in particular the optimal production setting problem with state constraints. State constraints typically include limits on water saturation in grid blocks close to producer wells or limits on water production rate. Results are encouraging since computational efficiency is maintained in the two examples which are studied in this paper.