CVXPY,最小二乘优化,错误的约束公式

CVXPY, least-squares Optimization, wrong constraint formulation

首先,如果我的问题没有意义,我很抱歉,我是 CVXPY 库的新手,我不是很明白:/

我正在尝试解决一个我认为很容易处理的最小化问题。 我得到了一个已知系数的 S 维 (9,7) 矩阵,已知系数的 B 维 (1,7),Alpha 维 (1,7) 我需要找到的,具有各种约束:

我需要优化 Alpha,例如:A @ Alpha-B=0。 我发现了 CVXPY 并认为最小二乘优化非常适合这个问题。

这是我写的代码:

Alpha = cp.Variable(7)
objective = cp.Minimize(cp.sum_squares(S @ Alpha - B))
constraints = [0 <= Alpha, Alpha<=1, np.sum(Alpha.value)==1]
prob = cp.Problem(objective, constraints)

result = prob.solve()

print(Alpha.value)

S= np.array([[0.03,0.02,0.072,0.051,0.058,0.0495,0.021 ],
 [0.0295, 0.025 , 0.1  ,  0.045 , 0.064 , 0.055 , 0.032 ],
 [0.02  , 0.018 , 0.16  , 0.032 , 0.054 , 0.064 , 0.025 ],
 [0.0195, 0.03  , 0.144 , 0.027 , 0.04  , 0.06  , 0.04  ],
 [0.02  , 0.0315, 0.156 , 0.0295 ,0.027 , 0.0615 ,0.05  ],
 [0.021 , 0.033 , 0.168 , 0.03  , 0.0265 ,0.063 , 0.09  ],
 [0.02  , 0.05  , 0.28  , 0.039 , 0.035 , 0.055 , 0.04  ],
 [0.021 , 0.03 ,  0.22  , 0.0305, 0.0255, 0.057 , 0.009 ],
 [0.0195, 0.008 , 0.2 ,   0.021 , 0.01 ,  0.048 , 0.0495]])

B=np.array([0.1015, 0.0888, 0.0911, 0.0901, 0.0945, 0.0909, 0.078 , 0.0913,
       0.0845])

我的问题如下:

None

我觉得这个表述不太好,但是我不知道怎么换一种方式来写呢? 或者也许问题没有解决方案? 谢谢你的时间

仅使用 sum(Alpha) == 1。您不应该在 CVXPY 表达式中使用 numpy 函数,您必须使用 https://www.cvxpy.org/tutorial/functions/index.html

中列出的 CVXPY 函数