[Couenne] Input for COUENNE

Tim Mullin tim.mullin at biosylve.com
Tue Mar 6 17:39:27 EST 2012


Pietro:

 

Thank you for your very prompt and detailed response to my questions on the care and feeding of COUENNE.  You've covered a lot of ground in your response, so I'll try to condense my supplementary questions under discrete headings:

 

1. Translating gms to nl files

In fact, I have access to neither GAMS nor AMPL currently.  I wrote a .gms file generator to provide input to SparsePOP (using the SparsePOP manual and GAMS tutorial), then found I could also use it to submit optimization problems to BARON.  From the example .mod file you provided, it seems that my generator could easily be modified to spit out something in that format, so I guess I need to then look at access to AMPL as a .nl converter?

 

2. COUENNE and the 14-tree "toy" problem

The ex14.gms file I provided currently results identical (correct) solutions when submitted to either BARON or SparsePOP.  The correct solution is easy to find manually, but both solvers agree.  Not so with COUENNE, warning (in the ex14.txt file) "no objective function found" and stating "Integer solution of 0 found by Couenne Rounding NLP after 0 iterations".  I'm not sure about the significance of these messages, but I note that the values offered by COUENNE for x1 through x14 are NOT correct.  In the correct solution, x9, x11 and x12 should all equal 1, and all others equal -1 (easily reproduced by submitting my ex14.gms to BARON).  I'm not sure what is going on with COUENNE and why it does not seem to solve correctly.  Obviously, I need to understand how to fix this, if we are to continue with larger-scale problems.

 

3. What is a "reasonably good solution"

We have both operational and research applications for this model.  Operationally, time is not a huge factor, and we can afford to let the solver run for long periods (hours, days), if that will achieve something closer to a "true optimum" for a real situation.  For research purposes, we are generally interested in incorporating the solver into Monte Carlo simulations where execution times beome rather important.  In this case, finding the true optimum is not so important, provided that the solution is a "good" one.  What is "reasonably good"?  Here were are looking for a solution with exactly N variables equal to 1, and the rest equal to -1.  Anything short of this would require some sort of improvement through heuristics or some other strategy.  I think this needs experience with some of the approaches you’ve suggested to determine the best.

 

4.  Problem size

Both SparsePOP and BARON easily solved our ex14.gms “toy” problem, suggesting that our formulation works as intended and that our .gms file is correct.  Both crash when asked to solve “real-scale” problems.  The number of variables for these problems would generally be less than 500 (we can truncate our selection list by some "smart" preconditioning).  However, the number of terms in equation e2 will always be greater, sometimes much greater (say, up to 10x).  Not really any way around this, as this is defined by the nature of the pedigree -- the more relatives, the greater the number of terms.  I understand that equation e2 is a challenge for any solver but it is also the heart of the solution.

 

5.  Alternative solvers


More information about the Couenne mailing list