Easy (non)linear optimization in Python with symbolically-defined objectives/constraints
symopt makes it easy to define and solve (non)linear constrained optimization problems in Python. It uses the power of SymPy to automate the error-prone and time-consuming task of writing functions to evaluate an optimization problem's objective function and nonlinear constraints (to say nothing of their first and second derivatives!). symopt then provides a standardized interface to solve the problem through nonlinear optimization backends including SciPy and Ipopt.