Supporting heuristic optimization too? Only objectives and variables would be needed and constraints would be superfluous. Objectives would probably have to support non-mathematical evaluation functions.
Objective and Constraint could probably inherit from a common base class.
use pyreverse -my -o pdf optlang
to generate a UML diagram
Looks like it is not ok to change sympy Symbol's name attribute (doesn't raise an error though). Checkout http://www.cuter.rl.ac.uk/ Should Variables be singletons?
http://jamie.curle.io/blog/my-first-experience-adding-package-pypi/