See www.pyomo.org