在Python上解决优化问题的问题

2024-05-16 02:30:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Gurobi solver解决Python上的一个优化问题。有一个约束条件,我试图用一列n×n矩阵乘以一个1×n变量向量:

代码如下:

sigma1m = np.matrix(sigma1)

gamma1 = model.addMVar(n, name="gamma1")

for i in range(n):

    model.addConstr(gamma1 * sigma1m[:,i] == 0)

在这种情况下,n=22,sigma1是从一些数据中获得的22×22协方差矩阵(sigma1=dfpart1.cov()。gamma1是由22个元素组成的变量向量

TypeError:只有大小为1的数组才能转换为Python标量


Tags: 代码namemodelnp矩阵向量matrixsolver
1条回答
网友
1楼 · 发布于 2024-05-16 02:30:37

错误“只有大小为1的数组才能转换为Python标量”表示您正在分配数组而不是标量

model.addConstr(gamma1 * sigma1m[:,i] == 0)

在这行中,gamma1可能成为标量而不是向量,请检查

相关问题 更多 >