cvxoptというライブラリを使うと二次計画問題を解くことができます.

pip install cvxoptでインストールできるはずなんですが

$ pip install cvxopt
...
...
...
    building 'umfpack' extension
    clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include -I/usr/local/include -I/Users/yassu/.pyenv/versions/3.8.0/include/python3.8 -c src/C/umfpack.c -o build/temp.macosx-10.14-x86_64-3.8/src/C/umfpack.o
    src/C/umfpack.c:23:10: fatal error: 'umfpack.h' file not found
    #include "umfpack.h"
             ^~~~~~~~~~~
    1 error generated.
    error: command 'clang' failed with exit status 1

というエラーが起こりました.

Macでは brewで suite-sparseというパッケージをインストールするとumfpackが入ります.

すなわち brew install suite-sparseでこの問題を解決できます:

$ brew install suite-sparse

同じ問題で悩んでる人がいたら 参考にしてもらえると嬉しいです.