使用cvxpy进行多变量优化

时间:2019-01-04 17:09:56

标签: python cvxpy

  • X是m矩阵(给定矩阵)的T
  • B是n乘T的矩阵(变量1)
  • A是n×m矩阵(变量2)

我要最小化|| X-A * B ||强制性规范,然后使用Python / cvxpy

找到A和B

我在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()

需要在python上使用cvxpy或任何其他工具以最小化多目标函数

0 个答案:

没有答案