ipopt退出,出现以下错误jacdim:M = 1,N = 0,NO = 1

问题描述

我有一个python函数,我试图在Pyomo模型中调用传递值。我希望pyomo模型将使用python函数,但退出时会出现以下错误

jacdim:得到M = 1,N = 0,NO = 1

错误:求解器(ipopt)返回非零返回码(1) 错误:请参阅上面的求解器日志以获取诊断信息。

ApplicationError:求解器(ipopt)无法正常退出

示例代码为:


def mult(a,b):
    c = a * b
    return(c)

model.a = Var(initialize=1)
model.y = Expression(expr = 6)
def add(model):
    x = mult(value(model.a),3)
    return(x)

model.value1 = Expression(rule=add)

modelinit_cond1 = Constraint(expr=(model.value1 == model.y))
model.obj=Objective(expr=1)

opt = SolverFactory('ipopt');
opt.options['max_iter'] = 3000
results = opt.solve(model,tee=True)
results.write()

注意:这只是为了说明我正在尝试实现的操作。但是代码或多或少都在同一行。

预先感谢您的帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)