問題
プログラミング初心者です。
pythonで逐次二次計画法を用いた数理最適化を行いたいです。
cvxoptを使用しようと思うのですが調べても日本語で開設されたものは少なくcvxopt.solvers.qpの引数が何なのかよくわかっていない状態なので(目的関数と制約条件を連ねているのだろうという程度)、教えていただきいです。
また、エラーメッセージが出るのですが調べても何のことなのかわからないです。
コード
import
1import cvxopt 2from cvxopt import matrix 3 4P = matrix(np.diag([1,0])) #対角が[1,0]、それ以外が0で埋められた行列 5q = matrix(np.array([3,4])) 6G = matrix(np.array([[1,0],[0,1],[1,3],[2,5],[3,4]])) 7h = matrix(np.array([0,0,15,100,80])) 8 9sol=cvxopt.solvers.qp(P,q,G,h) 10print(sol) 11print(sol["x"]) 12print(sol["primal objective"]) 13
エラーメッセージ
raise TypeError("'q' must be a 'd' matrix with one column")
TypeError: 'q' must be a 'd' matrix with one column
知りたいこと
1.cvxopt.solvers.qpの引数の詳細
2.エラーに対する対処
回答1件
あなたの回答
tips
プレビュー