Многопараметрическая оптимизация с помощью cvxpy
- X - это матрица T на m (заданная матрица)
- B является матрицей T n (переменная 1)
- A - матрица размером n на m (переменная 2)
Я хочу минимизировать ||XA*B|| поддельные нормы и найти A и B для этого с помощью Python / cvxpy
Я сделал это на Matlab и отлично работает
Дискриминационное дезагрегационное разреженное кодирование для алгоритма дезагрегации энергии было успешно реализовано на Matlab, но его трудно использовать для больших выборочных наборов, поэтому необходимо реализовать его на python
импортировать cvxpy как cp импортировать numpy как np
n = 5
m = 4
T = 3
np.random.seed(1)
A = cp.Variable((n, m))
B = cp.Variable((T, n))
x = np.random.rand(T, m)
constraints = [A >= 0,
B >= 0]
obj = cp.Minimize(cp.norm(x - cp.matmul(B,A),"fro"))
prob = cp.Problem(obj,constraints)
prob.solve()
Необходимо использовать cvxpy или любой другой инструмент на python, чтобы минимизировать многоцелевую функцию