[Couenne] Preprocessing options

Pietro Belotti pbelott at clemson.edu
Fri Feb 3 13:27:35 EST 2012


Akshay,

if you have integer variables (I assume you do) you may want to try the 
feasibility pump (although it is quite time consuming) with

feas_pump_heuristic yes

> If I set Ipopt to be invoked only at root node, does this mean that 
> iterative rounding heuristics are applied at root node only ?

No, that option controls the number of calls to Ipopt within the node 
solver, not the rounding heuristic.

> Is there a way to play around with the Couenne heuristics ?

The rounding-based heuristic has no options, while the feasibility pump 
has quite a few. The manual hasn't been updated on it yet, but you can 
find their description in the last method in
Couenne/src/heuristics/CouenneFeasPumpConstructors.cpp

Regards,
Pietro

--
Pietro Belotti
Dept. of Mathematical Sciences
Clemson University
email: pbelott at clemson.edu
phone: 864-656-6765
web:   http://myweb.clemson.edu/~pbelott

On Fri, 3 Feb 2012, Akshay Gupte wrote:

> Pietro,
>
> Thanks for the advice. I will try tuning these parameters. If I set 
> Ipopt to be invoked only at root node, does this mean that iterative 
> rounding heuristics are applied at root node only ? Is there a way to 
> play around with the Couenne heuristics ? I was having trouble getting 
> good solutions on some instances where BARON could find them early on.
>
> Akshay.
>
> Sent from my iPad
>
> On Feb 2, 2012, at 10:24 PM, Pietro Belotti <pbelott at clemson.edu> wrote:
>
>> Akshay,
>>
>> bound reduction techniques are not applied to single variables but 
>> rather to the whole problem, so applying them to a subset of variables 
>> would not be possible. However, the most expensive bound reduction 
>> procedures can be turned off. Edit or create the option file 
>> couenne.opt (which has to be in the directory where you run Couenne) 
>> with the following lines:
>>
>> feasibility_bt  yes # the fast bound propagation
>> redcost_bt      yes # based on reduced costs
>> aggressive_fbbt no # probing
>> optimality_bt   no # LP-based
>>
>> log_num_local_optimization_per_level 1 # maximum BB depth until which to use the NLP solver
>>
>> variable_selection osi-simple
>>
>> num_cut_passes 1
>> convexification_points 2
>>
>> The first four lines avoid the two most expensive bound reduction 
>> (probing and LP-based) but keep the fastest ones (try setting them to 
>> "no" as well if necessary). The fifth limits the number of calls to 
>> Ipopt. The sixth uses normal (infeasibility-based) branching rather 
>> than strong branching, while the last two limit the generation of 
>> linearization cuts.
>>
>> Hope this helps.
>>
>> Regards,
>> Pietro
>>
>> --
>> Pietro Belotti
>> Dept. of Mathematical Sciences
>> Clemson University
>> email: pbelott at clemson.edu
>> phone: 864-656-6765
>> web:   http://myweb.clemson.edu/~pbelott
>>
>> On Thu, 2 Feb 2012, Akshay Gupte wrote:
>>
>>> Hi all,Are there specific options to control preprocessing in Couenne 
>>> ? Couenne seems to be branching on very few nodes in a reasonably long 
>>> time for some of my large-scale models. I am looking at ways to 
>>> control the number of variables whose bounds are tightened at each 
>>> node and other preprocessing steps. I could not find anything specific 
>>> in the Couenne or Bonmin manual that addresses this.
>>> Does anyone know where (and if its easy) to tweak the source code ?
>>> Akshay.
>>> ---------------------------------------------------------------
>>> Akshay Gupte
>>> Ph.D. student, Operations Research
>>> School of Industrial & Systems Engineering
>>> Georgia Institute of Technology
>>> ---------------------------------------------------------------
>


More information about the Couenne mailing list