gpt4 book ai didi

python - Pyomo 的 SolverFactory 无法创建 Ipopt (OSX) - 可能与 COIN-OR 有关

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:04 27 4
gpt4 key购买 nike

我正在尝试使用 Pyomo 来查找 OSX 上 Python 模型的最佳值。我从 https://github.com/shoibalc/recem 得到了脚本,并尽可能按照说明安装了 Pyomo 和 COIN-OR,更改了一些过时的或似乎在 OSX 上不起作用的东西。

引起问题的代码如下。

import pyomo
from pyomo.opt.base import *
from pyomo.opt.parallel import SolverManagerFactory
from DICE2007 import createDICE2007
from DICEutils import DICE_results_writer

global start_time
start_time = time.time()

dice = createDICE2007()
dice.doc = 'OPTIMAL SCENARIO'
opt = SolverFactory('ipopt',solver_io='nl')
tee = False
options = """
halt_on_ampl_error=yes"""
solver_manager = SolverManagerFactory('serial')

print '[%8.2f] create model %s OPTIMAL SCENARIO\n' %(time.time()-start_time,dice.name)

instance = dice.create()
print '[%8.2f] created instance\n' %(time.time()-start_time)

results = solver_manager.solve(instance, opt=opt, tee=tee, options=options, suffixes=['dual','rc'])

这会在最后一行(“结果”)崩溃,并显示以下错误消息:

The SolverFactory was unable to create the solver "ipopt" and returned an UnknownSolver object. This error is raised at the point where the UnknownSolver object was used as if it were valid (by calling method "solve").

The original solver was created with the following parameters: solver_io: nl type: ipopt _args: () options: {} _options_str: []

我对这一切都很陌生,但认为也许 Pyomo 无法访问它所需的 ipopt 文件,我认为该文件位于我下载的 COIN-OR 二进制文件中。我尝试将看似相关的文件添加到我的 PYTHONPATH 中,并将它们导入到脚本中,但这没有帮助。我接下来应该尝试什么来使这项工作正常工作,或者将脚本修改为可以工作的东西?

最佳答案

我的一位同事也遇到了同样的问题,他设法通过生成具有 IPOPT AMPL 可执行文件路径的求解器对象来解决该问题:

opt = SolverFactory('/route/to/ipopt',solver_io='nl')

关于python - Pyomo 的 SolverFactory 无法创建 Ipopt (OSX) - 可能与 COIN-OR 有关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28203570/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com