Optimization 正确地提出了CVXOPT的一个求积优化问题

Optimization 正确地提出了CVXOPT的一个求积优化问题,optimization,tensor,cvxopt,quadratic-programming,Optimization,Tensor,Cvxopt,Quadratic Programming,我试图最小化函数| | Cx-d | | | | | | | | | | | | | | | u2^2,有约束Ax,很难理解你的问题(未知变量;提到np.log和其他东西背后没有任何原因;视图之间的任意更改,如ASo)。问题是:到底出了什么问题?上面的结构看起来不错,而p(这是qp标准格式中的Q)。解算器无需抱怨。我不清楚,在没有看到工作代码和/或堆栈跟踪的情况下,问题是什么。如果你提到Q,就不清楚你指的是哪个Q。因此:尝试提供细节(如果始终坚持使用cvxopt;我强烈建议使用cvxpy:mor

我试图最小化函数| | Cx-d | | | | | | | | | | | | | | | u2^2,有约束Ax,很难理解你的问题(未知变量;提到np.log和其他东西背后没有任何原因;视图之间的任意更改,如ASo)。问题是:到底出了什么问题?上面的结构看起来不错,而p(这是qp标准格式中的Q)。解算器无需抱怨。我不清楚,在没有看到工作代码和/或堆栈跟踪的情况下,问题是什么。如果你提到
Q
,就不清楚你指的是哪个
Q
。因此:尝试提供细节(如果始终坚持使用cvxopt;我强烈建议使用cvxpy:more clean(数学)建模、自动重写/标准化+凸性证明、连接更多解算器).Hi@sascha,在进一步阅读了线性代数之后,我现在明白了平方矩阵是一种独特的解决方案。我最初发布这个问题是因为我对线性代数缺乏理解,但阅读和咨询一些数学家会有所帮助。我会接受你的建议,转而使用cvxpy,这对我来说很好。
* C is a (138, 22) matrix
* d is a (138,) vector
* A is a (138, 22) matrix
* b is a (138, ) vector of zeros
C = matrix(np.matmul(w, b).astype('double'))
b = matrix(np.matmul(w, np.log(dwi)).astype('double').reshape(-1))

P = C.T * C
q = -C.T * b
G = matrix(-constraints)
h = matrix(np.zeros(G.size[0]))
dt = np.array(solvers.qp(P, q, G, h, dims)['x']).reshape(-1)