Pyomo Ipopt没有return的解决办法
Pyomo Ipopt does not return solution
我的脚本是:
from __future__ import division
import numpy
import scipy
from pyomo.environ import *
from pyomo.dae import *
from pyomo.opt import SolverFactory
m=ConcreteModel()
m.x3=Var(within=NonNegativeReals)
m.u=Var(within=NonNegativeReals)
def _con(m):
return m.x3 >=3
m.con=Constraint(rule=_con)
def _con2(m):
return 4 >= m.u >=1
m.con2=Constraint(rule=_con2)
m.obj=Objective(expr=m.x3*m.u)
opt = SolverFactory("Ipopt", executable = "/Ipopt-3.12.6/bin/ipopt")
results = opt.solve(m)
results.write()
尽管这是一个非常简单的问题,尽管程序指出
它找到了最优解,
解数为0,没有显示任何解
有什么想法吗??
非常感谢。
在最新版本的 Pyomo 中,解决方案默认加载到模型中。结果对象应用于检查状态信息。如果您想查询解决方案,可以通过直接访问模型组件并检查它们的值来实现,或者您可以执行以下操作:
m.solutions.store_to(results)
results.write()
我的脚本是:
from __future__ import division
import numpy
import scipy
from pyomo.environ import *
from pyomo.dae import *
from pyomo.opt import SolverFactory
m=ConcreteModel()
m.x3=Var(within=NonNegativeReals)
m.u=Var(within=NonNegativeReals)
def _con(m):
return m.x3 >=3
m.con=Constraint(rule=_con)
def _con2(m):
return 4 >= m.u >=1
m.con2=Constraint(rule=_con2)
m.obj=Objective(expr=m.x3*m.u)
opt = SolverFactory("Ipopt", executable = "/Ipopt-3.12.6/bin/ipopt")
results = opt.solve(m)
results.write()
尽管这是一个非常简单的问题,尽管程序指出 它找到了最优解, 解数为0,没有显示任何解
有什么想法吗??
非常感谢。
在最新版本的 Pyomo 中,解决方案默认加载到模型中。结果对象应用于检查状态信息。如果您想查询解决方案,可以通过直接访问模型组件并检查它们的值来实现,或者您可以执行以下操作:
m.solutions.store_to(results)
results.write()