凸优化问题不遵循DCP规则

时间:2018-09-11 23:33:22

标签: convex-optimization cvxpy

我正在尝试使用cvxpy解决以下优化问题:

x和delta_x是(1,N)行向量。 A是一个(N,N)对称矩阵,b是一个标量。我正在尝试找到ay,这样它会在约束(x + y).A。(x + y).T-b = 0的情况下最小化(y-delta_x)的平方和。以下是我尝试解决的问题它。

x = np.reshape(np.ravel(x_data.T), (1, -1))
delta_x = np.reshape(np.ravel(delta.T), (1, -1))
y = cp.Variable(delta_x.shape)
objective = cp.Minimize(cp.sum_squares(y - delta_x))
constraints = [cp.matmul(cp.matmul(x + y, A), (x + y).T) == (b*b)]
prob = cp.Problem(objective, constraints)
result = prob.solve()

我不断收到错误“ cvxpy.error.DCPError:问题不遵循DCP规则”。

我遵循了答案here中所述的规则,但是我不理解如何构造适当的cvxpy最小化问题。任何帮助将不胜感激。 谢谢!

0 个答案:

没有答案