[Couenne] Preprocessing options

Pietro Belotti pbelott at clemson.edu
Fri Feb 3 17:41:50 EST 2012


Akshay,

> Does the implementation of feasibility pump work for non-convex MINLPs ? 
> I could see some options in the source code about it.

Yes, it was specifically created with nonconvex MINLPs in mind.

> Another question on building Couenne: why are there separate copies of 
> Couenne (and Bonmin etc. ) dir in home folder as well as home/build ? Is 
> the dir in build just a copy created during the building process ?

When you download the source code, all packages needed to build the solver 
(Bonmin, Ipopt, Cgl, Cbc, etc., and Couenne itself) are stored in the home 
folder. The home/build folder contains the compiled code, which is then 
used to create the executable solver itself,
home/build/Couenne/src/main/couenne. Bonmin is also available as
home/build/Bonmin/src/Apps/bonmin.

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,
>
> Does the implementation of feasibility pump work for non-convex MINLPs ? I could see some options in the source code about it.
>
> Another question on building Couenne: why are there separate copies of Couenne (and Bonmin etc. ) dir in home folder as well as home/build ? Is the dir in build just a copy created during the building process ?
>
> Akshay.
>
> Sent from my iPad
>
> On Feb 3, 2012, at 1:27 PM, Pietro Belotti <pbelott at clemson.edu> wrote:
>
>> 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