[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
Re: [Help-glpk] [What is the easiest way to use COIN LP as solver in GLPK ?]
Mon, 04 Jul 2011 18:20:56 +0400
> 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);
> 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.
Description: Text Data