Python 异常:@错误:Gekko中的最大方程长度

Python 异常:@错误:Gekko中的最大方程长度,python,optimization,numpy-ndarray,gekko,Python,Optimization,Numpy Ndarray,Gekko,我正在使用Gekko进行投资组合优化。我使用每项资产的收益及其协方差矩阵作为输入。我正在尝试的代码是 # Initialize Model m = GEKKO(remote=True) #initialize variables w=m.Array(m.Var,23) for i in range(23): w[i].value = 0.04347826 w[i].lower = 0.0 w[i].upper = 1.0 #Equations m.Equation

我正在使用Gekko进行投资组合优化。我使用每项资产的收益及其协方差矩阵作为输入。我正在尝试的代码是

# Initialize Model
m = GEKKO(remote=True)

#initialize variables
w=m.Array(m.Var,23)

for i in range(23):
    w[i].value = 0.04347826
    w[i].lower = 0.0
    w[i].upper = 1.0


#Equations
m.Equation(0.18 >= (np.dot(w.T,np.dot(covariance_ar, w)))**0.5)
m.Equation(np.sum(w[0:23]) == 1.0)
m.Equation(w[7]+w[9]+w[11] >= (np.sum(w[7:13])*0.3))
m.Equation(w[7]+w[9]+w[11] <= (np.sum(w[7:13])*0.7))
m.Equation(w[11]+w[12] >= 0.0)
m.Equation(w[11]+w[12] <= (np.sum(w[7:13])*0.15))


#Objective
m.Obj(-(np.sum(return_ar.T @ w)))

#Solve simulation
m.solve() # solve on public server

#Results
for i in range(23):
    print('w['+str(i)+']='+str(w[i].value))
#初始化模型
m=GEKKO(远程=True)
#初始化变量
w=m.Array(m.Var,23)
对于范围(23)内的i:
w[i].值=0.04347826
w[i]。下限=0.0
w[i].上限=1.0
#方程式
m、 方程(0.18>=(np.dot(w.T,np.dot(协方差,w))**0.5)
m、 方程(np.和(w[0:23])==1.0)
m、 方程(w[7]+w[9]+w[11]>=(np.和(w[7:13])*0.3))
m、 方程(w[7]+w[9]+w[11]=0.0)
m、 方程式(w[11]+w[12]15000个字符
把线分解成多个方程


您能否帮助我制定代码约束,使其生效。

我无法运行您的代码,因为它缺少值,因此我必须使用示例值对其进行修改

#初始化模型
从gekko进口gekko
将numpy作为np导入
m=GEKKO(远程=True)
#初始化变量
w=m.Array(m.Var,23)
对于范围(23)内的i:
w[i].值=0.04347826
w[i]。下限=0.0
w[i].上限=1.0
#方程式
协方差=np.random.rand(23,23)
m、 方程(0.18>=(np.dot(w.T,np.dot(协方差,w))**0.5)
m、 方程(m.sum(w[0:23])==1.0)
m、 方程(w[7]+w[9]+w[11]>=(m.sum(w[7:13])*0.3))
m、 方程(w[7]+w[9]+w[11]=0.0)
m、 方程(w[11]+w[12]=(wCw)**0.5)
m、 方程(m.sum(w[0:23])==1.0)
m、 方程(w[7]+w[9]+w[11]>=(m.sum(w[7:13])*0.3))
m、 方程(w[7]+w[9]+w[11]=0.0)

m、 等式(w[11]+w[12]感谢John的回复。但是,运行您共享的代码也会给我一个创建文件的错误:infiasibilities.txt使用命令apm_get(server,app,'infiasibilities.txt'))要检索文件@error:Solution Not Found,同一组方程式在其他软件包中给出了有效的结果,请您帮助使用Gekko。我提供的代码使用随机数作为矩阵,因此某些组合可能不可行。您是否使用更新后的矩阵?我尝试使用随机矩阵以及更新后的矩阵矩阵。两者都给出了相同的错误。谢谢。谢谢你的帮助。我尝试了解算器,但它不起作用。通过注释出约束,我发现CWC部分正在创建不可行性。链接到该项目,你可以做的一件事是平方约束的两侧,如
m.Equation(0.18>=(wCw)**0.5)
变成
m.方程(0.18**2>=wCw)
。这有帮助吗?