Re: [eclipse-clp-users] Customizing Eplex

From: Kish Shen <kisshen_at_cisco.com>
Date: Mon, 28 Jun 2010 15:36:14 +0100
Wit Jakuczun wrote:
> Dear ECLiPSe users,
>     I have a question regarding eplex library. I would like to use this
> library but our projects but I need to have it customised. As far as I have
> checked there is a possibility to add some solver's parameters for
> commercial solvers. I have found none for cbc. Moreover I would like to use
> the latest version of cbc solver.
> 
> I would need help with pointing out ECLiPSe source files (with possibly some
> coding hints) that would be necessary to be modified so I would be able to:
> 1) have access to the latest version of cbc solver (compiled from sources)
> 2) be able to set some of its parameters (from ECLiPSe's code level)
> 

Hi Wit,

What exactly do you mean by "customised"? Both CPLEX and XPRESS provide 
many parameters that allow the user to fine tune the behaviour of the 
solver. For CLP and CBC (and probably Symphony and the other open source 
solvers, but I am less familiar with them), there are only a much 
smaller set of parameters -- CBC has only 10 parameters. See

http://www.coin-or.org/Doxygen/Cbc/_osi_solver_parameters_8hpp.html#cf0c820dfa5579b09eae30a7335eb20f

All the interesting ones (the tolerances and limits) are already 
accessible by the optimizer_param option of eplex_set/get.

 From what I can tell, CBC is also designed more as a tool kit for 
writing your own MIP solver than as a MIP solver itself, but some effort 
was spent by John Forrest (he was the main person behind both CBC and 
CLP) in using CBC to write CBCSolver, a standalone MIP solver. We 
switched to using CBCSolver rather than CBC directly over a year ago.
There are some command line parameters you can pass to CBCSolver (such 
as which optimisation method to turn on or off) that is currently not 
accessible by the eplex user, although I have been thinking of doing so, 
probably via optimizer_param option.

So if you want to customise CBC, you can essentially write your own MIP 
solver using the CBC library, in C++. I found the documentation for CBC 
to be quite sparse, so you really need to know what you are doing if you 
do this.

As for eplex, there is:

<ECLIPSEDIR>/documents/internal/seplex_impl.html

which documents the eplex implementation.

Cheers,

Kish



-- 
This e-mail may contain confidential and privileged material for the
sole use of the intended recipient. Any review, use, distribution or
disclosure by others is strictly prohibited. If you are not the intended
recipient (or authorized to receive for the recipient), please contact
the sender by reply e-mail and delete all copies of this message.
Cisco Systems Limited (Company Number: 02558939), is registered in
England and Wales with its registered office at 1 Callaghan Square,
Cardiff, South Glamorgan CF10 5BT.
Received on Mon Jun 28 2010 - 14:36:23 CEST

This archive was generated by hypermail 2.2.0 : Thu Feb 02 2012 - 02:31:58 CET