opencobra / cobratoolbox

The COnstraint-Based Reconstruction and Analysis Toolbox. Documentation:
https://opencobra.github.io/cobratoolbox
Other
251 stars 313 forks source link

Undefined variable in solveCobraQP #1690

Open jacobmartin2022 opened 3 years ago

jacobmartin2022 commented 3 years ago

Using gurobi as the QP (and LP) solvers, I get an error on line 766:

resultgurobi = gurobi(gurobiQP,param);

since the variable param is not defined in the case where gurobi is the solver.

tpfau commented 3 years ago

Looking at the code, this variable is defined. What version of the toolbox are you using and what is the exact error message?

jacobmartin2022 commented 3 years ago

I believe I have the most current version -

$ git log -n 1

commit 800dcfe40dcd298fce347bb9dc72a74f4bff09a3 (HEAD -> master, origin/master, origin/HEAD) Merge: 6c49aaf f7ab727 Author: Ronan M.T. Fleming ronan.mt.fleming@gmail.com Date: Wed Nov 25 21:32:26 2020 +0000 Merge pull request #1687 from opencobra/develop Develop

And the error message is just

Unrecognized function or variable 'param'.

At line 766 of solveCobraQP.m - it looks like 'param' is only defined in the case of 'mosek' for solver, and I'm using gurobi.

Let me know if you need more information.

Thanks for the help, Jake

On Sat, Dec 5, 2020 at 1:39 PM Thomas Pfau notifications@github.com wrote:

Looking at the code, this variable is defined. What version of the toolbox are you using and what is the exact error message?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1690#issuecomment-739360774, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIRQZPJ6ZSFF3DDTEL4YSYLSTKEAVANCNFSM4UN55ZIQ .

tpfau commented 3 years ago

You are right. Seems like an 's' was omitted here. I created a pull request. Until that PR goes in, just modify the line by changing param to params

rmtfleming commented 3 years ago

Hi Thomas, thanks, PR merged with develop, Regards, Ronan

On Mon, 7 Dec 2020 at 18:05, Thomas Pfau notifications@github.com wrote:

You are right. Seems like an 's' was omitted here. I created a pull request. Until that PR goes in, just modify the line by changing param to params

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1690#issuecomment-740084801, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQMEORQOOCVBD4RVUZZOGTSTUKQHANCNFSM4UN55ZIQ .

--

Mr. Ronan MT Fleming B.V.M.S. Dip. Math. Ph.D.

Assistant Professor, Division of Systems Biomedicine and Pharmacology, Leiden Academic Centre for Drug Research, Faculty of Science, Leiden University. https://www.universiteitleiden.nl/en/staffmembers/ronan-fleming & H2020 Project Coordinator, Systems Medicine of Mitochondrial Parkinson’s Disease, http://sysmedpd.eu & Adjunct Lecturer, School of Medicine, National University of Ireland, Galway.

Peer-reviewed publications: https://goo.gl/FZPG23 Mobile: +353 852 109 806 Skype: ronan.fleming

(This message is confidential and may contain privileged information. It is intended for the named recipient only. If you receive it in error please notify me and permanently delete the original message and any copies.)

jacobmartin2022 commented 3 years ago

Thank you!

Unfortunately, now that that's fixed, I'm having an issue that seems to be unique to using the gurobi solver for QP problems - when I start with changeCobraSolver('pdco','QP'), I don't have any problems.

The example I'm using is here (taken from Paul Jensen's gapsplit code):

sol = solveCobraQP(model,param.Results.solverParams{:});

which gives

Error using gurobi

Gurobi error 10003: Element 0 of a double array is Nan or Inf. Error in solveCobraQP (line 713) resultgurobi = gurobi(gurobiQP,params);

Again, this seems to work using pdco as the QP, so I'm unsure if this is an issue with gurobi or with the solveCobraQP script.

I've attached the workspace when I call solveCobraQP as a .mat file.

Thanks again, Jake

On Mon, Dec 7, 2020 at 12:05 PM Thomas Pfau notifications@github.com wrote:

You are right. Seems like an 's' was omitted here. I created a pull request. Until that PR goes in, just modify the line by changing param to params

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/opencobra/cobratoolbox/issues/1690#issuecomment-740084801, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIRQZPM34W7NG7REFDU7JY3STUKQHANCNFSM4UN55ZIQ .