Matlab16,Linux 16.04,Gurobi 6.5.2
我想在Matlab上使用Cobra toolobox,所以我也按照要求安装了Gurobi。 但是当我尝试这段代码时(正如研究文章中的解释:什么是FBA?Orth,Palsson)我收到了错误
代码
model = readCbModel('ecoli_core_model.xml')
optimizeCbModel(model)
错误
`使用solveCobraLP时出错(第107行) 找不到解算器。调用changeCobraSolver(solverName)
optimizeCbModel中的错误(第213行) solution = solveCobraLP(LPproblem); `
在changeCobraSolver.m中,它说Gurobi是一个正确的解决者。显然,Matlab和Gurobi没有联系。
我在路径中添加了.../gurobi652/linux64/matlab
,我尝试了(在此解释http://www.gurobi.com/documentation/6.5/refman/matlab_setting_up_the_guro.html)一个函数。我工作了。
我尝试安装Gurobi Mex(此处http://www.convexoptimization.com/wikimization/index.php/Gurobi_Mex:_A_MATLAB_interface_for_Gurobi),但我找不到Gurobi_mex.c
昨天optimizeCbModel
工作但我不知道我做了什么以及改变了什么。
答案 0 :(得分:0)
我注意到,如果我尝试testAll
,那么optimizeCbModel
会成功(至少没有错误)。我认为我们需要先initCobraToolbox
。
答案 1 :(得分:0)
确保首先位于MATLAB目录的CobraToolbox文件夹中。呼叫initCobraToolbox
changeCobraSolver('gurobi','all')
读取和优化功能现在都应该可以使用。
您可能会发现.mat文件更容易用于输入模型。这些可以在cobratoolbox->测试->模型->垫子
下找到希望这会有所帮助