"Knitro 12.0.0: Locally optimal solution" means that Knitro returned a solution that satisfied the conditions for local optimality, to within Knitro's tolerances. ("Local optimality" means that the solution is better than all nearby solutions.)
"feasibility error 3.26e-07" means that the solution satisfied the constraints and variables' bounds to within Knitro's tolerances; specifically, the solution slightly violated the constraints or the variables' bounds, but not by more than 3.26e-07. Knitro allows slight infeasibilities like this, since they do not make any difference when the solution is used in practice.
"ERROR evaluating objective gradient" means that Knitro was unable to compute the derivative of some objective or constraint function; for example, there might have been a division by zero or a square root of a negative number. Knitro automatically tries to recover from errors of this kind, so if Knitro eventually reports a "locally optimal solution" then you do not need to be concerned about error messages like this.
--
Robert Fourer
am...@googlegroups.com