mathematical optimization python