Implemented most part of the NonlinearProgram. I have a problem to pass the eval function to snopt, as my eval function should be method of the NonlinearProgram class