Ограничения для проблемы балансировки ротора с CVXPY - PullRequest
0 голосов
/ 29 января 2020

Я инженер-механик с минимальным опытом по математике. Я испытал желание использовать 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 является сложным, так как он возвращает веса и его угол для каждой плоскости N, которая уравновешивает ротор.

Мой вопрос заключается в том, как наложить ограничение на W. Например, как убедиться, что W меньше определенного значения для каждой плоскости N?

1 Ответ

0 голосов
/ 04 февраля 2020

После получения пользовательского ввода для матрицы масс ограничений wc(N,1) следующий код, похоже, справился:

const=[]
const +=   [cp.norm(W2[i])<=wc[i]for i in range (N) ]
prob3=cp.Problem(objective2,const)
prob3.solve()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...