import pyomo.environ as pyo
from itertools import compress
pyomo_solvers_list = pyo.SolverFactory.__dict__['_cls'].keys()
solvers_filter = []
for s in pyomo_solvers_list:
try:
solvers_filter.append(pyo.SolverFactory(s).available())
except (ApplicationError, NameError, ImportError) as e:
solvers_filter.append(False)
pyomo_solvers_list = list(compress(pyomo_solvers_list,solvers_filter))
3条答案
按热度按时间cfh9epnr1#
Pyomo不与任何求解器一起发布,而是提供了各种各样的接口给需要调用的求解器。因此,没有求解器的主列表。
你可以用终端命令
pyomo help -s
得到一些近似于所需行为的东西。你也可以检查SolverFactory('glpk').available() == True
的各种求解器。AMPL和GAMS都在他们的网站上提供了求解器列表。由于Pyomo能够连接到任何一种问题格式,你也可以将其作为参考。请记住,相关的求解器仍然需要安装在你的系统上。
wyyhbhjk2#
根据陈琪的回复,我想出了这个蛮办法:
cwxwcias3#
已经解决了这里的创作者!https://or.stackexchange.com/questions/7145/how-to-install-ipopt-on-google-colab-for-pyomo
在建模代码中: