We consider a constrained optimal control problem, which we formulate in classical and in relaxed form. In order to approximate this problem numerically, we apply various discretization schemes on either of these two forms and study the behavior in the limit of discrete optimality and necessary conditions for optimality. We then propose discrete mixed gradient penalty methods that use classical or relaxed discrete controls and progressively refine the discretization, thus reducing computing time and memory. In addition, when the discrete adjoint state is not defined or difficult to calculate, we propose discrete methods that use approximate adjoints and derivatives. The result is that in relaxed methods accumulation points of generated sequences satisfy continuous strong relaxed optimality conditions, while in classical methods they satisfy weak optimality conditions.