创建模型(实例)抽象模型
Create model (instance) Abstract Model
我正在使用 Pyomo 4.4.1 (VOTD) (CPython 2.7.12),我在一个抽象模型中。如果我使用:instance = model.create('datos.dat')
我得到:
WARNING: DEPRECATION WARNING: the Model.create() method is deprecated. Call
Model.create_instance() to create a concrete instance from an abstract
model. You do not need to call Model.create() for a concrete model.
Model unknown
但它 returns 很好的解决方案!
我更改了这一行,写成:Model.create_instance(datos.dat)
但我得到一个错误:
results = opt.solve(instance)
NameError: name 'instance' is not defined
谁能帮帮我?
谢谢,玛丽亚
正确:"deprecation warning" 是一个方法、属性或函数正在更改的警告,旧方法将在未来的版本中删除。因此,目前,旧方法(在这种情况下,create()
仍然像往常一样工作,但您应该开始努力更改模型以使用新界面(在这种情况下 create_instance()
) 以便您的模型在未来的版本中继续工作。
也就是说,您仍然需要将 create()
或 create_instance()
的结果分配给一个变量,您稍后可以将其传递给求解器。所以,你会想要这样的东西:
instance = model.create_instance('datos.dat')
opt = SolverFactory('cbc')
solver_results = opt.solve(instance)
这些只是 Python 个变量,因此您可以轻松完成
a = model.create_instance('datos.dat')
b = SolverFactory('cbc')
c = b.solve(a)
Pyomo 示例通常使用 instance
、opt
(或 solver
)和 results
来帮助使示例更加清晰。
我正在使用 Pyomo 4.4.1 (VOTD) (CPython 2.7.12),我在一个抽象模型中。如果我使用:instance = model.create('datos.dat')
我得到:
WARNING: DEPRECATION WARNING: the Model.create() method is deprecated. Call
Model.create_instance() to create a concrete instance from an abstract
model. You do not need to call Model.create() for a concrete model.
Model unknown
但它 returns 很好的解决方案!
我更改了这一行,写成:Model.create_instance(datos.dat)
但我得到一个错误:
results = opt.solve(instance)
NameError: name 'instance' is not defined
谁能帮帮我?
谢谢,玛丽亚
正确:"deprecation warning" 是一个方法、属性或函数正在更改的警告,旧方法将在未来的版本中删除。因此,目前,旧方法(在这种情况下,create()
仍然像往常一样工作,但您应该开始努力更改模型以使用新界面(在这种情况下 create_instance()
) 以便您的模型在未来的版本中继续工作。
也就是说,您仍然需要将 create()
或 create_instance()
的结果分配给一个变量,您稍后可以将其传递给求解器。所以,你会想要这样的东西:
instance = model.create_instance('datos.dat')
opt = SolverFactory('cbc')
solver_results = opt.solve(instance)
这些只是 Python 个变量,因此您可以轻松完成
a = model.create_instance('datos.dat')
b = SolverFactory('cbc')
c = b.solve(a)
Pyomo 示例通常使用 instance
、opt
(或 solver
)和 results
来帮助使示例更加清晰。