13  求解器

生物系统的基于约束的重建和分析模型实际上只是一类离散优化问题的应用,通常用linear, mixed integeroptlang技术来解决。 Cobrapy 并没有实现任何算法来找到这些问题的解决方案,而是为这些技术创造了一种生物动机的概括,使人们更容易思考代谢系统是如何工作的,而不必过多关注如何制定优化问题。

实际的解决是由工具来完成的,如自由软件glpk或商业工具gurobicplex,它们都是通过optlang包作为通用程序员接口提供的。

当你定义了你的模型,你可以通过简单地分配给模型来切换求解器后端。解算器的属性。

from cobra.io import load_model
model = load_model('textbook')
model.solver = 'glpk'
# or if you have cplex installed
model.solver = 'cplex'
SolverNotFound: cplex is not a valid solver interface. Pick one from glpk_exact, glpk, scipy.

有关如何配置和调优求解器的信息,请参阅optlang项目的文档,并注意model.solver 只是一个optlang中类似Model的一个对象

type(model.solver)
NameError: name 'model' is not defined

13.1 内部求解器接口

Cobrapy也包含自己的求解器接口,但这些接口现在已被弃用,并将在不久的将来被完全删除。有关如何使用这些工具的文档,请参阅 older documentation.