take NLP interface from Pajarito and rewrite algorithm
the NLP functionality was removed from Pajarito and placed here, then the code was rewritten to improve readability, efficiency, and maintainability.
the NLP functionality was removed from Pajarito and placed here, then the code was rewritten to improve readability, efficiency, and maintainability.