CVXPY 转子平衡问题的约束

Constraints for Rotor Balancing Problem with CVXPY

我是一名机械工程师,数学背景很浅。我很想使用 CVXPY 编写有关转子平衡问题的简单代码。令人惊讶的是它的工作方式如此简单和强大。我的问题如下:


获取矩阵 ALPHA(M,N)A(M,1)

的用户输入后
W=cvxpy.Variable((N,1),complex=True)    
objective2=cvxpy.Minimize(cvxpy.norm((ALPHA*W+A),"inf"))
prob2.solve()

W 很复杂,因为它 returns 平衡转子的每个 N 平面的重量和角度。

我的问题是如何对 W 施加约束。例如,如何确保 W 小于每个 N 平面的特定值?

在获得约束质量矩阵的用户输入后 wc(N,1) 以下代码似乎可以解决问题:

const=[]
const +=   [cp.norm(W2[i])<=wc[i]for i in range (N) ]
prob3=cp.Problem(objective2,const)
prob3.solve()