[Symphony] LP solver (Clp) won't stop after TM_time_limit & 2 newbie questions

Ashutosh Mahajan asm4 at lehigh.edu
Mon Jan 26 08:40:48 EST 2009


On Mon, 26 Jan 2009, lebodicp at insa-rouen.fr wrote:

> Hello,
> 
> ...
> 
> >> -I didn't realize using sym environment rather than osi would prevent me
> >> from using Cgl cuts. Now that the code is written, what would be the
> >> easiest way to get Cgl cuts to work? Would it be possible to (1)export
> >> to
> >> mps (2)read the mps file with another program that uses osi? What would
> >> be
> >> the best way?
> >
> > This behaviour is unexpected.  what version of symphony are you using and
> > on
> > which platform? you can increase the verbosity level by using '-v 10' and
> > see if
> > cuts are actually generated. did you also modify
> > user_generate_cuts_in_lp()
> > function? if so, can you post it as well?
> 
> I didn't modify user_generate_cuts_in_lp().
> I have updated SYMPHONY to 5.1.10, it does now generate cgl cuts. Maybe it
> did before, though for a given problem, the separation time indicated a
> few ms, and now it is over a second. Still, the manual indicates that "to
> use CGL cuts, OSI interface has to be used", but I don't use OSI. Anyhow,
> I'm glad it works now.

i think the manual and your observations both OK. when the manual says that
"OSI interface has to be used" it means that symphony must be compiled so that
it calls the lp-solver through that lp-solver's OSI interface. this is the default
configuration. so you see cuts even though you are not using symphony's osi
because you are still using clp's OSI.

if however, you compile symphony so that it uses cplex or osl as the LP
solver, then you would not see any cuts.

> 
> I have questions, however, on how the cgl flags work in the parameter file.
> -Does setting generate_cgl_cuts to 1 set every generate_cgl_*_cuts to 1,
> or does it just make them default?
> -From what I've seen, SYMPHONY still uses, say, foo cuts, when setting
> generate_cgl_cuts to 1 and generate_cgl_foo_cuts to 0. If
> generate_cgl_cuts is set to 0 and generate_cgl_foo_cuts is set to 1, no
> cuts are generated. Is this a desired behavior? How can I fine-tune cgl
> cuts?
> -For my application, only probing and MIR cuts are generated. Setting
> generate_cgl_cuts to 1 produces:
>

the cut settings are as follows:

-1 = do not generate any cuts.
 0 = use default settings.
 1 = ...

mentioned in SYMPHONY/include/sym_constants.h, line 454. so if you want to
turn off foo cuts, then set it to -1.


> ******************************************************************************
> Now displaying the relaxed solution ...
> Receiving/creating cuts...
> 16 probing cuts added
> 75 2-MIR cuts added
> generate_cgl_cuts: Number of Coefficients = 2	Max = 1.000000, Min = 1.000000
> generate_cgl_cuts: Number of Coefficients = 2	Max = 1.000000, Min = 1.000000
> ...
> ******************************************************************************
> 
> In the parameter file, additionaly setting
> generate_cgl_lift_and_project_cuts to 0 or 1 now produces:
> ***********************************************************************************
> Now displaying the relaxed solution ...
> Receiving/creating cuts...
> 16 probing cuts added
> 75 2-MIR cuts added
> Clp6003E Matrix has 172 large values, first at column 25, row 6886 is
> -1.79769e+308
> Clp3003W Analysis indicates model infeasible or unbounded
> Clp6003E Matrix has 172 large values, first at column 25, row 6886 is
> -1.79769e+308
> Clp0004I Stopped due to errors - objective value 0
> Clp0032I Errors objective 0 - 0 iterations time 0.012
> ...
> ***********************************************************************************
> 
> The separation time is then remarkably higher. Should I submit this as a
> bug of cgl or is this SYMPHONY related?

i would suggest not using lift and project cuts at all for now. there are 2-3
implementations of lift and project in the cut generation library and im not
sure if symphony is using the right one or if it is calling it correctly.


> 
> Thanks for your time.
> Regards,
> 
> Pierre

--
regards
Ashutosh Mahajan
http://coral.ie.lehigh.edu/~asm4




More information about the Symphony mailing list