help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] [What is the easiest way to use COIN LP as solver in GLP


From: nicolas.derhy
Subject: Re: [Help-glpk] [What is the easiest way to use COIN LP as solver in GLPK ?]
Date: Mon, 4 Jul 2011 16:57:16 +0200

Thank you for your answer !

I watched your attached file : if I have correctly understood, it transforms a 
GLPK problem into a Cplex problem, solves it with Cplex and gets the optimal 
solution.
I also find in the CointUtils project the method CoinMpsIO::readGMPL which 
converts a GLPK problem into a Coin problem (I think it corresponds to what you 
evoke when you said "both Coin and Symphony allow using the glpk model 
translator").

Finally, I think it would be much easier for me to use the write/read methods 
of glpk. Maybe it will be less efficient than using CoinMpsIO::readGMPL but I 
won't have to modify a large part of my code !

Thank you very much for your answer.  


-----Message d'origine-----
De : Andrew Makhorin [mailto:address@hidden 
Envoyé : lundi 4 juillet 2011 16:21
À : address@hidden; Derhy Nicolas (GDF SUEZ SA)
Objet : Re: [Help-glpk] [What is the easiest way to use COIN LP as solver in 
GLPK ?]

> I am using GLPK in C++ programs like :
>         glp_prob *lp = glp_create_prob();
>       glp_tran *tran = glp_mpl_alloc_wksp();
> 
>       glp_mpl_read_model(tran, "..\\MyModel.mod", 1); 
>       glp_mpl_read_data(tran, "..\\MyModel.dat");
>       glp_mpl_generate(tran, NULL);
>       glp_mpl_build_prob(tran, lp);
>       glp_simplex(lp, NULL);
>       glp_mpl_postsolve(tran, lp, GLP_MIP);
> 
>         glp_create_index(lp);
>         int index = glp_find_col(lp, "MyVariable");
>         double optimalValue = glp_get_row_prim(lp, index);
>         
> When using with big input data, the solving time becomes very 
> important. So, I would like to use another solver like CLP. For 
> example, in the above source, it would replace the ligne 
> "glp_simplex(lp, NULL);" by the call of the new solver.
> 
> I found references for Symphony or Osi but I did not find clear 
> examples doing what I am looking for.
> Maybe, someone have met this problem or you could have valuable 
> advices or suggestions that I could test...

AFAIK, both Coin and Symphony allow using the glpk model translator.

Another way is to output the mip data into a file, say, in free mps format, 
call an external solver, and load the solution back into the glpk problem 
object. To simplify the interface between glpk and the external solver you may 
use api routines glp_write_prob, glp_read_mip, and glp_write_mip described in 
the glpk reference manual.

If the external solver has its own api, you also may write an interface module; 
see an example attached.


GDF SUEZ Mail Disclaimer: http://www.gdfsuez.com/disclaimer/disclaimer-fr.html





reply via email to

[Prev in Thread] Current Thread [Next in Thread]