It's not Python specific, but a very good starting point would be, the "Decision Tree for Optimization Software" at http://plato.la.asu.edu/guide.html in particular http://plato.la.asu.edu/topics/problems/nlores.html#QP-problem -- Andrew McLean