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, 25 Jul 2011 13:46:08 +0200

Hi Andrew,

It has been a while for the last message of this discussion because I had no 
time to test your solution.
Today I try to solve my gmpl problem with coin by using some of the glpk 
methods you mentioned. 
I succeed in generating the free mps file corresponding to my problem and then 
I call coin like : clp.exe -import Test.mps -solve -solution solution.txt

Now, I want to get back the solution into my glpk objects : my problem is that 
the format of the output file generated by coin (solution.txt) does not match 
the format readable by glpk methods (glp_read_sol).

Is there a direct way to achieve this or do I have to convert coin solution 
file into a new file format readable by glpk ?

Nicolas

-----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]