我如何安装用于pyomo的coin或优化套件的预构建二进制文件?



我想在pyomo中使用Coin-or优化套件的求解器。正如我在网站上看到的,有重建二进制文件。我已经下载并解压了它们。但是我现在如何将它们集成到python中呢?二进制文件是如何安装的?或者仅仅将.exe文件文件移动到我的bin文件夹中就足够了吗?我是否遗漏了任何依赖项?提前感谢

我找到了这个信息,但真的不知道该怎么办:

预构建二进制文件大多数平台的二进制文件都可以从Bintray下载。二进制文件也可以安装在特定的平台上,如下所示。AMPL还提供了一些求解程序的可执行文件供下载。我们正在研究其他一些更好的获取二进制文件的方法,比如conda包,并将随着事情的进展保持这个README的更新。安装程序窗户这里有一个Windows GUI安装程序,用于安装与Visual Studio兼容的库(您需要安装免费的Intel编译器可重新分发库)。

我将下载的文件复制到我的python venv目录中,但解算器不起作用。执行下面的minlp:

import pyomo.environ as pyo
domain = [0.0216, 0.0285]
model = pyo.ConcreteModel('oddball domain')
model.I = pyo.Set(initialize=range(2))   # x index
model.DI = pyo.Set(initialize=[0, 1])   # domain index
model.vals = pyo.Param(model.DI, initialize=domain)
model.x = pyo.Var(model.I, model.DI, domain=pyo.Binary)
model.obj = pyo.Objective(expr=sum(model.x[i, di]*model.vals[di]
for i in model.I
for di in model.DI), sense=pyo.maximize)

def only_one(m, i):
return sum(m.x[i, di] for di in m.DI) <= 1

model.C1 = pyo.Constraint(model.I, rule=only_one)    
model.pprint()
solver = pyo.SolverFactory('couenne')
results = solver.solve(model)
print(results)

我得到的couenne和bonmin这些错误:

Traceback (most recent call last):
File "L:TrentmannMasterarbeit4_BeispielepyomoDHNetwork_gekoppelt_Ganzzahlig_def.py", line 597, in <module>
result = opt.solve(model, tee=True)
File "C:Usersga87cesAnaconda3envspyomolibsite-packagespyomooptbasesolvers.py", line 513, in solve
self.available(exception_flag=True)
File "C:Usersga87cesAnaconda3envspyomolibsite-packagespyomosolverspluginssolversASL.py", line 116, in available
return self.version() is not None
File "C:Usersga87cesAnaconda3envspyomolibsite-packagespyomooptbasesolvers.py", line 422, in version
self._version = self._get_version()
File "C:Usersga87cesAnaconda3envspyomolibsite-packagespyomosolverspluginssolversASL.py", line 105, in _get_version
if results.stdout.strip().split()[-1].startswith('ASL('):
IndexError: list index out of range
Process finished with exit code 1

我目前也在写硕士论文,需要解决这个问题。我去AMPL的网站https://ampl.com/products/solvers/open-source-solvers/下载了"AMPL &求解程序演示包'。您唯一需要做的就是解压缩zip文件,并将解压缩文件夹的路径添加到您的系统path中。

Pyomo将使用您已经拥有的代码找到求解器。如果你想使用商业求解器,它不是开源的和免费的,你可以在AMPL获得一个30天的测试许可证。