[Coin-symphony] Three questions

Ted Ralphs tkralphs at lehigh.edu
Sat Oct 29 17:28:07 EDT 2005


Hi Francois,

I just wanted to add a little to what Menal said in response to your 
questions:

> 1. I think that in SYMPHONY/include/BB_constants.h, SYM_INFINITY may be 
> too small. In one of my mixed integer problems, all of the variables are 
> much smaller. However, some of the largest coefficients in the 
> constraint matrix are bigger, around 192*2^26 but no more than that. 
> They are in the columns of continuous variables. Is it safe and useful 
> to increase the value of SYM_INFINITY ?

The MPS standard actually specifies 10^20 as the value of "infinity." I 
can't tell you exactly which solvers comply to this standard and which 
don't, but as Menal pointed out, if you change the value of 
SYM_INFINITY, this may have unintended side effects when using some 
solvers, but it should be OK for SYMPHONY itself. In any case, though, 
my guess is that such large coefficients will cause numerical problems 
with most solvers, even ones that recognize the value as finite.

> 2. If I tell Symphony to keep a warm start, solve it and then tighten 
> the integer variables's upper and lower bounds, can Symphony use the 
> warm start information for a warm re-solve?

We are working on that now.

> 3. Finally, I appreciate it when Symphony tells me that a solution has 
> been found or that there is none, but is there a way to tell it not to 
> dump the whole solution vector on the screen? I think I use the default 
> verbosity, which would be 0 .

Do you want to turn off the printing of the solution when one is found 
during the solution process or just suppress the printing of the 
solution once the solution process has terminated? By default, it should 
only print the solution at the end. As Menal pointed out, setting 
verbosity to -1 will turn off absolutely all output, but there isn't 
currently a way to suppress the printing of the solution at the end, but 
still print out the result of the solution process. However, you could 
easily suppress the printing by modifying the source code yourself. For 
instance, you could go to line 689 of src/Master/master_wrapper.c (in 
the current CVS version of SYMPHONY), which is:

if (env->par.verbosity >0){

and change the zero to a "1" or whatever you like.

Alternatively, you could use the interactive solver by just invoking 
symphony with out any command-line parameters. You could then load and 
solve the problem and only display the information you want at the end.

Let me know if one of these solutions is sufficient. There are many 
other options if you want more flexibility.

Cheers,

Ted
-- 
Dr. Ted Ralphs
Assistant Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2



More information about the Symphony mailing list